目錄
1.人臉識別產(chǎn)品分析
2.BAT人臉功能對比
3.活體檢測
4.人臉識別SDK
5.人臉識別應(yīng)用漫談
前言
人臉識別屬于智能圖像下的一個分支瓦呼,這可能是迄今為止中文互聯(lián)網(wǎng)上講人臉識別最全的一篇文章茬高。這可能是互聯(lián)網(wǎng)上最適合產(chǎn)品經(jīng)理了解人臉識別產(chǎn)品的一篇文章。
1.產(chǎn)品分析的維度選擇:算法和工程化
產(chǎn)品分析的價值是幫助自己開展工作煤裙。have a skin in the game,很有利益攸關(guān)。
通過官網(wǎng)和試用去了解一個產(chǎn)品還不夠揖闸,你需要更加關(guān)注細(xì)節(jié)句灌。網(wǎng)上搜索到別人的觀點夷陋,同樣也不是你的分析產(chǎn)出。官網(wǎng)的產(chǎn)品功能胰锌,案例和使用場景介紹...是給老板看的骗绕,他看完之后決定要不要掏錢購買。而所謂人工智能的產(chǎn)品分析资昧,需要站在算法和工程化的角度酬土,甚至硬件也要涉及。接口文檔能幫助你清楚了解每一個功能是什么格带,性能怎么樣撤缴,以及背后的產(chǎn)品設(shè)計邏輯刹枉。
于是我把百度、騰訊和阿里人臉識別平臺所有的接口文檔和SDK文檔刷了一遍屈呕。
2.人臉識別功能對比
本次產(chǎn)品分析選取了阿里和騰訊的人工智能平臺的人臉識別產(chǎn)品作為參照物微宝。
百度門戶宣傳了人臉檢測,對比凉袱,查找和采集四個功能芥吟。
騰訊宣傳了人臉檢測與分析,人臉比對與驗證专甩,人臉檢索和多臉檢索钟鸵,五官定位和靜態(tài)活體檢測。
阿里是人臉檢測涤躲,比對棺耍,人臉查找1:N,人臉屬性种樱,人臉特征點定位蒙袍。
經(jīng)過閱讀和調(diào)研接口文檔,可以得出以下結(jié)論:
人臉檢測功能
-百度包含了人臉特征點定位和人臉屬性嫩挤;
-騰訊的人臉檢測功能包含了人臉屬性識別害幅;
-阿里的人臉檢測包含了人臉關(guān)鍵點定位。
人臉對比——1:1比對
百度可以選擇圖片質(zhì)量控制和活體檢測控制岂昭。阿里和騰訊都沒有在人臉比對中集成這兩個功能以现。其中,百度支持圖片以face_token的形式上傳约啊,官方宣稱是人臉圖片的唯一性標(biāo)識邑遏,問過算法小伙伴,可能是人臉特征值的唯一性標(biāo)識恰矩。
這里單獨說一下圖片質(zhì)量檢測记盒,它保證了采集人臉照片質(zhì)量,從而可以保證識別外傅、對比結(jié)果的準(zhǔn)確性纪吮,因而在人臉檢測、比對萎胰、采集碾盟、搜索中廣泛被使用“峦荩活體檢測比較復(fù)雜,下文有詳述晚胡。
人臉查找也即1:N比對
三家都沒有明說支持在多大的范圍內(nèi)進(jìn)行查找比對灵奖,可見大家都半斤八兩不好意思講嚼沿。上次聽百度的分享說在內(nèi)部測過,N到兩萬就有錯誤了瓷患。
阿里聲稱“提供sdk調(diào)用方式骡尽,支持無交互式或動作活體檢測,支持多平臺擅编,CPU攀细、GPU計算模式”,但并未見SDK相關(guān)信息爱态。
人臉采集功能
騰訊和阿里均未見相關(guān)介紹谭贪。
百度提供SDK采集和H5采集兩種方式。百度聲稱:
“SDK采集內(nèi)部支持高度可定制化參數(shù)锦担,對人臉檢測俭识、追蹤、采集洞渔、質(zhì)量模塊進(jìn)行個性化調(diào)整套媚、SDK內(nèi)部所有UI層代碼、音頻文件全部開源磁椒,可根據(jù)實際業(yè)務(wù)需求任意調(diào)整堤瘤、提供多端覆蓋,適應(yīng)各種應(yīng)用場景及設(shè)備類型需求浆熔”痉”
可見開放平臺的出現(xiàn),大大降低了應(yīng)用開發(fā)門檻蘸拔。
H5采集师郑,主要是通過拍照,可以快速驗證業(yè)務(wù)流程调窍,或者進(jìn)行線上人臉數(shù)據(jù)冷啟動宝冕,能力單一,因此需要通過一系列的接口驗證來完成各種采集條件的校驗邓萨。
其它功能
五官定位功能地梨,也即關(guān)鍵點定位,百度提供72個關(guān)鍵點缔恳,騰訊提供88個宝剖,阿里是105個。所以他們用的標(biāo)注數(shù)據(jù)都不一樣歉甚,能不能開源一下万细?
人臉屬性都差不多,無外乎性別纸泄、年齡赖钞、表情腰素、眼鏡、三維空間的姿態(tài)雪营,除了這些弓千,從人臉上也讀不出更多信息。
騰訊單獨把多臉檢索拉出來介紹献起,其實就是一張照片或視頻流包含多張臉的識別洋访,也即檢測出多張臉,采集谴餐,同時進(jìn)行多次的1:N識別姻政。
3.各種活體檢測
活體檢測就是判斷識別對象是不是活的人,其實非常有意思总寒,這個功能百度提供了大量接口功能說明扶歪。
首先看分類和是什么:
在線圖片活體檢測,通過API實現(xiàn)活體判斷摄闸,原理是基于圖片中人像的破綻(摩爾紋善镰、成像畸形等)來判斷目標(biāo)對象是否為活體,可有效防止屏幕二次翻拍等作弊攻擊年枕,可使用單張或多張判斷邏輯炫欺。
動作配合式活體檢測,一般集成在人臉采集SDK里熏兄,你用支付寶品洛、易付寶和滴滴時彈出的人臉識別校驗,就包含這種檢測摩桶。SDK實現(xiàn)活體判斷的方式是桥状,它給出指定動作要求,用戶需配合完成硝清,通過實時檢測用戶眼睛辅斟,嘴巴,頭部姿態(tài)的狀態(tài)芦拿,來判斷是否是活體士飒。支持7種預(yù)設(shè)動作,可自定義哪些生效以及檢測順序蔗崎。
視頻活體檢測酵幕,用戶通過API接口上傳一個現(xiàn)場錄制的視頻,錄制時讀出隨機(jī)分配的語音校驗碼缓苛。然后通過分析這個視頻的人臉信息以及語音校驗碼是否匹配芳撒,完成活體檢測判斷。
最后一大類是集成在人臉離線識別SDK中的活體檢測,有離線RGB活體檢測笔刹、離線近紅外活體檢測庐完、離線3D結(jié)構(gòu)光活體檢測,看名字就知道這種活體檢測對硬件設(shè)備要求較高徘熔。iPhone X的前置攝像頭就能投射出點陣紅外光,能夠采集到你面部的深度信息淆党。
再看優(yōu)缺點:
靜態(tài)活體檢測
是接入成本最低的使用方式酷师,只需提交一張人臉圖片即可。
但是它的活體檢測的果不是十分理想染乌,主要是由于:拍照時攻擊者可以設(shè)法減少后端算法判斷的線索山孔,并且在拍照時調(diào)用后置攝像頭進(jìn)行拍照,由于焦距不同荷憋,會使后置攝像頭拍攝的攻擊圖片更難分辨真假台颠。
另外拍照只上傳一張圖片,增加了誤判的可能性勒庄。
動態(tài)活體檢測
要求用戶配合做出一些面部動作串前,而隨機(jī)動作增加了攻擊的成本,大大降低打印照片等攻擊通過的概率实蔽,而這些正好對于后端檢測算法來說屬于較難案例荡碾。
動態(tài)活體檢測策略下,前端僅僅檢測動作的通過情況局装,并不對視頻和真人做出區(qū)分坛吁,所以需要進(jìn)一步的活體判斷,這時可以在前端完成動作過程中隨機(jī)抓取多張圖片铐尚,因此加大了攻擊暴露出破綻的可能性拨脉。
多張圖片可以提高采集到高質(zhì)量真人活體圖片的概率,因而可以采用一個更高的采信閾值宣增,而該閾值對應(yīng)的活體分?jǐn)?shù)攻擊圖片則很難達(dá)到玫膀。
不推薦單獨使用動態(tài)活體檢測,最好結(jié)合靜默圖片活體檢測一起使用统舀。
視頻活體檢測
上傳一段視頻并對其隨機(jī)抽幀分析匆骗,對隨機(jī)圖片進(jìn)行靜默圖片活體檢測,得出綜合攻擊情況分析結(jié)果誉简。
為確保視頻唯一性碉就,可以結(jié)合語音校驗碼接口使用,這樣更嚴(yán)謹(jǐn)闷串。
基于多幀進(jìn)行綜合的判斷瓮钥,可以采用更高的采信閾值,大大增加了作弊成本,也增加了暴露破綻的可能性碉熄。
通過語音校驗碼驗證視頻為非偽造桨武。
交互體驗方面,也較能為用戶所接受锈津,因為不用強(qiáng)制用戶動來動去的呀酸。
該方案劣勢在于:視頻上傳文件較大,整體驗證時間較長琼梆。
離線活體檢測
離線RGB活體檢測性誉、離線近紅外活體檢測、離線3D結(jié)構(gòu)光活體檢測就不說了茎杂,硬件要求較貴错览。一般人臉識別應(yīng)用的硬件基礎(chǔ)都是手機(jī)或iPad,因而這一塊很少會應(yīng)用到煌往。
還有一種離線活體檢測是離線的靜默活體倾哺,采用靜默活體的方式本地進(jìn)行活體判斷,不需要聯(lián)網(wǎng)所以速度快刽脖,但包太大羞海,而且準(zhǔn)確性不能保證,產(chǎn)品規(guī)劃時都排在后端功能里曲管,以接口形式提供服務(wù)扣猫。
4.人臉識別SDK
SDK是“速度快”的首字母縮寫:)可以快速幫助應(yīng)用開發(fā)者上手調(diào)用人臉識別平臺的各種服務(wù)。
按前后臺分類可以分為服務(wù)端SDK翘地,客戶端SDK申尤。前者的定位是便于用戶快速上手調(diào)用API,封裝了人臉識別所有API服務(wù)衙耕,用于更快捷地調(diào)用API接口昧穿。后者將人臉采集這個步驟放到前端解決,封裝了離線人臉檢測橙喘、采集时鸵、動作活體檢測等功能。
按語言版本分類可以分為Java SDK厅瞎,安卓SDK等等饰潜。
按功能分類有人臉采集的SDK,人臉識別的SDK...
按使用場景可以分為離線和在線的SDK和簸,在線的需要調(diào)后臺接口服務(wù)完成業(yè)務(wù)目標(biāo)彭雾,離線SDK自己就一條龍完成上籃,所以包也會比較大锁保,而且后者應(yīng)用在CPU計算平臺上薯酝,響應(yīng)速度半沽、處理性能也會遜色于GPU計算平臺。
SDK其實是軟件開發(fā)工具包的縮寫吴菠,Software Development Kit.
人臉識別SDK包含了眾多接口能力者填,這些能力在上文人臉識別功能對比模塊介紹了。
百度提供了服務(wù)端和客戶端的SDK做葵,騰訊僅提供服務(wù)端SDK占哟,阿里說提供但不見相關(guān)介紹。
百度客戶端SDK默認(rèn)配備4個產(chǎn)品線授權(quán)酿矢,3-6個月免費測試期重挑。學(xué)有余力的同學(xué),可以去創(chuàng)建幾個應(yīng)用玩一玩棠涮。
實際業(yè)務(wù)使用中,按照業(yè)務(wù)需要刺覆,客戶端SDK需要在線API配合完成全流程的業(yè)務(wù)集成严肪,例如,1:1谦屑、1:N識別需調(diào)用在線API接口驳糯。
百度僅一個人臉采集SDK,就提供了五種版本氢橙,這些版本不是按照終端類型劃分酝枢,而是通過適用場景和功能點進(jìn)行劃分:
通用版本『肥郑可做一定上層業(yè)務(wù)開發(fā)帘睦,用于所有場景。支持離線人臉檢測坦康、跟蹤竣付、關(guān)鍵點、質(zhì)量校驗滞欠、人臉捕獲古胆、UI層可定制、采集參數(shù)可調(diào)筛璧。
核身版本逸绎。適用于身份驗證等場景∝舶基于通用版棺牧,支持有動作活體檢測、支持帶UI層的人臉采集朗儒。
閘機(jī)版本陨帆。適用于閘機(jī)曲秉、門禁、考勤疲牵、簽到等快速通行的場景承二。基于通用版纲爸,優(yōu)化了質(zhì)量檢測模塊亥鸠,檢測速度更快。
登錄版本识啦。適用于APP人臉登錄负蚊、柜臺識別等場景⊥窍基于通用版家妆,UI層做了一定優(yōu)化,包括光線自動調(diào)節(jié)冕茅,人臉采集策略優(yōu)化等伤极。
多人臉版本。適用于小型的人臉抓拍場景姨伤,如考勤哨坪、零售分析等≌С基于通用版当编,支持多人臉檢測,自定義設(shè)置人臉檢測最大數(shù)量徒溪。
人臉識別SDK整體的流程是忿偷,對圖像或視頻流進(jìn)行處理,通過檢測人臉臊泌,在檢測的過程中判斷人臉是否滿足算法預(yù)設(shè)要求牵舱,例如臉的完整度、三維空間的角度缺虐、模糊程度芜壁、臉部遮擋情況、照片亮度等的校驗高氮,滿足要求則進(jìn)行扣臉截取慧妄,對照片進(jìn)行活體校驗,或離線或在線進(jìn)行1:1或者1:N識別剪芍。
5.人臉識別應(yīng)用漫談
實際應(yīng)用中比較好落地的是1:1識別塞淹,準(zhǔn)確率高,可以做身份校驗罪裹,這個目前應(yīng)用的最廣泛饱普。幾乎所有的金融APP运挫,例如支付寶,易付寶都接入這個功能套耕。1:1身份校驗?zāi)軌蛴行ё柚寡蛎h來薅羊毛谁帕。在其它金融風(fēng)控場景,例如銀行大廳辦理服務(wù)時冯袍,也會用到匈挖。
1:N的算法準(zhǔn)確率,目前在N超過2萬的時候康愤,就不太靠譜了儡循。那些聲稱自己在百萬級別公開數(shù)據(jù)集上跑出90%+準(zhǔn)確率的,數(shù)據(jù)可能是對的征冷,但一落地到實際應(yīng)用場景择膝,就歇菜了。為什么检激?因為實際場景光線環(huán)境復(fù)雜多變肴捉,識別對象戴著眼鏡、化妝呵扛、動來動去都會影響。
可以期待一下未來1:N有所突破筐带,采完一張臉之后能輕易從一百萬張人臉照片里找出你今穿,到時候你去商場,每個方向都裝了攝像頭伦籍,商家能采集到你的人臉蓝晒,知道你的軌跡動線,知道你在哪個商品前駐留帖鸦,知道你拿起了哪些商品又放下芝薇,回去給你家電視推相應(yīng)的廣告。這樣一個沒有隱私的人工智能時代作儿,是不是挺期待的解愤?
好消息是智能圖像這個領(lǐng)域隶垮,短期內(nèi)1:N,N突破10萬級別還不是很容易。
剛看到一個新聞?wù)fDeepMind推出AI可檢測超50種眼疾健盒,診斷準(zhǔn)確率94%,其實智能圖像還有更多的應(yīng)用火脉,不局限在人臉的識別上牵寺。我了解過一個動物保護(hù)者做的野生動物識別的應(yīng)用,還是非常有意義的妒蛇。
人臉識別屬于智能圖像下的一個分支机断,還有人體識別楷拳、車輛識別、OCR識別等等吏奸,很慚愧欢揖,在這個領(lǐng)域里做了一點微小的工作。做了一點羅胖口中的“知識的關(guān)聯(lián)方式的剝離工作”苦丁。如果你喜歡的話浸颓,請讓我知道。我準(zhǔn)備寫一些更多有意思的智能圖像應(yīng)用旺拉。
請不要轉(zhuǎn)載产上,或者經(jīng)過我的同意標(biāo)明來源再轉(zhuǎn)載。
參考: