人臉識(shí)別算法SDK
電話(微信):13632514967
一、產(chǎn)品概述
隨著人們對(duì)安全問題的不斷重視,生物特征識(shí)別技術(shù)以其可靠性,有效性和安全性得到了越來越多的關(guān)注。人臉識(shí)別技術(shù)作為生物特征識(shí)別技術(shù)的一種,以其獨(dú)特的友好性,近年來已成為了國際上的一個(gè)重點(diǎn)課題,視覺科技是以視覺算法為核心,專注于高精度,小型化的人臉識(shí)別技術(shù),公司所研發(fā)的人臉識(shí)別模型在刷臉支付,智慧園區(qū)、智慧校園等多領(lǐng)域應(yīng)用廣泛。
人臉識(shí)別 SDK V1.0 標(biāo)準(zhǔn)版是視覺針對(duì)各種線下識(shí)別場景封裝的“業(yè)務(wù)型”人臉識(shí)別算法SDK,主要封裝了人臉識(shí)別通用功能,如人臉檢測、活體檢測、人臉?biāo)阉鞯?,方便客戶二次開 發(fā)??蛻艏瓤梢宰杂山M合原子化接口,也可基于封裝的應(yīng)用模式做集成開發(fā)。
二、功能模塊
標(biāo)準(zhǔn)版SDK客戶端支持安卓系統(tǒng),主要用于人臉識(shí)別終端設(shè)備,例如;人臉門禁機(jī)、電子班牌、刷臉支付終端、人臉考勤機(jī)等。方便,快捷,快速精準(zhǔn)的處理和反饋給戶所識(shí)別的結(jié)果。
客戶端SDK功能
功能名稱 |
功能描述 |
輸入 |
輸出 |
人臉檢測 |
檢測人臉(跟蹤模式下實(shí)時(shí)跟蹤人臉 ),是所有人臉?biāo)惴ú僮鞯那爸貌襟E |
BGR格式的人臉照片 |
人臉數(shù)據(jù)列 表,單個(gè)人臉數(shù)據(jù)包括;人臉框的位置及大小、5個(gè)關(guān)鍵點(diǎn)等 |
質(zhì)量檢測 |
檢測人臉照片質(zhì)量,保證照片質(zhì)量,提升識(shí)別率 |
BGR格式的人臉照片、人臉關(guān)鍵點(diǎn) |
人臉的質(zhì)量維度,包含;模糊度、姿態(tài)等 |
活體檢測 |
檢測照片中的人臉是否為活體,用于判斷是否存在攻擊行為,支持單目活體檢測、雙目活體檢測 |
BGR格式的可見光人臉照片、BGR格式的紅外人臉, 照片、人臉關(guān)鍵點(diǎn) |
活體分?jǐn)?shù) |
人臉?biāo)阉?/span> |
根據(jù)識(shí)別的人臉,從人臉庫中搜索出最與之相似的N個(gè)人臉 |
人臉特征值、TopN |
N個(gè)人臉數(shù)據(jù)、人臉數(shù)據(jù)包括;人臉ID,相似度等 |
特征提取 |
提取人臉照片中的人臉特征存入底庫中,用于人臉?biāo)阉骷叭四槺葘?duì) |
BGR格式的人臉照片,人臉關(guān)鍵點(diǎn) |
人臉特征值 |
人臉對(duì)比 |
比對(duì)兩張人臉照片的相似度 |
BGR 格式的兩張人臉照片 |
相似度 |
底庫管理 |
底庫管理,包括;添加、刪除、修改、查詢?nèi)四樚卣?,用于人臉?biāo)阉?/span> |
/ |
/ |
三、核心模塊
人臉識(shí)別技術(shù)是以身份檢索或校驗(yàn)為目標(biāo),通過從給定的靜態(tài)或動(dòng)態(tài)圖像中提取人臉信息等手段,與數(shù)據(jù)庫中已知身份人臉進(jìn)行匹配的過程。影響人臉識(shí)別的關(guān)鍵因素有兩個(gè);人臉底庫、識(shí)別算法。
底庫是一個(gè)用于識(shí)別的人員數(shù)據(jù)集合,集合是由多個(gè)人員數(shù)據(jù)組成,每個(gè)人員的數(shù)據(jù)由人員編碼、 人員分組、人員信息及多張人臉特征組成,將這些人臉特征與人臉 ID 關(guān)聯(lián)在一起,搜索時(shí),匹配到某個(gè)人臉特征,即搜到了相關(guān)聯(lián)的人員編碼及其對(duì)應(yīng)的人員信息。幾個(gè)字段解釋如下;
關(guān)鍵字段 |
解釋 |
人臉特征 |
是通過人臉特征提取算法將一張人臉照片提取為一個(gè)可用于識(shí)別算法的特征值。通常情況下一張照片即可準(zhǔn)確完成人臉識(shí)別,為了支持特殊場景,允許一個(gè)人 員添加多張人臉照片提取的特征保存到底庫中,比如;添加戴眼鏡照和不戴眼鏡照,化妝照和不化妝照。 |
人員編碼 |
由客戶應(yīng)用指定的唯一用戶 ID,客戶應(yīng)用可以通過此 ID 找到對(duì)應(yīng)人臉的相關(guān)信息。 |
人員分組 |
用于客戶應(yīng)用根據(jù)人臉分組做特定業(yè)務(wù)邏輯處理。 |
人臉信息 |
由客戶應(yīng)用定義內(nèi)容,比如,人員名稱或其他數(shù)據(jù)。 |
底庫是通過人臉注冊建立的,人臉注冊流程如下
1)獲取人臉照片,可從服務(wù)端下載或本地拍照獲取。
2)檢測人臉質(zhì)量,底庫的人臉質(zhì)量是影響識(shí)別準(zhǔn)確率的關(guān)鍵因素之一。可以根據(jù)場景選擇不同的質(zhì)量分?jǐn)?shù)作為入庫標(biāo)準(zhǔn),低于標(biāo)準(zhǔn)的照片將不能入庫。
3)提取人臉特征,用特征提取模型提取照片中的人臉特征。
4)人臉特征入庫,將從人臉照片中提取到的人臉特征及人臉 ID、人臉分組、人臉信息添加到底庫中。人臉 ID要確保和人臉照片關(guān)聯(lián)一致,以免出現(xiàn)人臉照片與人臉信息不匹配。
人臉識(shí)別
典型的人臉識(shí)別流程如下圖:
基于攝像頭的人臉識(shí)別是按幀處理的,每幀處理的第一步是將攝像頭的視頻流格式轉(zhuǎn)換成算法支持的格式,再送到算法中檢測并識(shí)別人臉。
人臉檢測時(shí),檢測到的每個(gè)人臉會(huì)有一個(gè)跟蹤的ID,該ID用于在視頻流的連續(xù)幀中關(guān)聯(lián)同一個(gè)人臉,后續(xù)的識(shí)別過程都是基于該ID進(jìn)行的。
識(shí)別過程包括人臉質(zhì)量檢測、特征提取、人臉?biāo)阉?、活體檢測等,前一個(gè)步驟通過,才能執(zhí)行后一個(gè)步驟。所有步驟都執(zhí)行通過,人臉識(shí)別才完成。
人臉識(shí)別過程中每幀人臉跟蹤信息都會(huì)以事件的形式通知到應(yīng)用層,人臉跟蹤信息包括:人臉框大小、位置、識(shí)別到的人員信息等,應(yīng)用層可以根據(jù)這些信息畫人臉框或做其他處理。
四、算法性能
檢測最小人臉尺寸 |
30*30 像素 |
識(shí)別最小人臉尺寸 |
60*60 像素(識(shí)別不帶活體)/80*80 像素(識(shí)別帶活體) |
人臉姿態(tài) |
正常姿態(tài) 小角度姿態(tài) 大角度姿態(tài) |
召回率 |
標(biāo)準(zhǔn)環(huán)境下, 10000 人底庫 |
誤識(shí)率 |
0.5% |
活體檢出率 |
99 %@0.5 拒真率 |
注:識(shí)別模型會(huì)持續(xù)更新,每次更新識(shí)別模型需要重新抽取特征 |
相關(guān)精度指標(biāo)
場景 |
指標(biāo) |
名稱介紹 |
識(shí)別
|
召回率 |
視頻中目標(biāo)人出現(xiàn) 100 人次,正確識(shí)別 99 人次,召回率是 99% |
準(zhǔn)確率 |
識(shí)別次數(shù)是 100 次,其中 99 次為正確識(shí)別,準(zhǔn)確率是 99% |
|
誤識(shí)率 |
1@10 萬底庫,即 10 萬底庫情況下,100 張圖像產(chǎn)生了 1 次誤識(shí)別,誤識(shí)率 1% |
|
漏識(shí)率 |
1-召回率 |
活體檢測及人臉識(shí)別測試
活體檢測
正樣本:真人的人臉
負(fù)樣本:非真人的照片(照片、手機(jī)、面具等)
通過率:設(shè)定一個(gè)閾值,給定 M 個(gè)正樣本,其中模型輸出的分?jǐn)?shù)高于閾值的樣本
(即檢測為真人的正樣本)數(shù)量為m個(gè),通過率=m/M
拒絕率:設(shè)定一個(gè)閾值,給定N個(gè)負(fù)樣本,其中模型輸出的分?jǐn)?shù)低于閾值的樣本(檢測為攻擊的負(fù)樣本)數(shù)量為n個(gè),通過率=n/N
活體的效果依賴因素也非常多,包括圖片質(zhì)量、現(xiàn)場環(huán)境、活體閾值等。尤其需要指出的是,活體識(shí)別對(duì)于不同材質(zhì)的攻擊手段的防范能力是有差別的,下表給出了常見情況的檢測標(biāo)。
人臉識(shí)別
正樣本集:本人比對(duì)本人負(fù)樣本集:本人比對(duì)他人
通過率=比對(duì)通過的正樣本數(shù)(比對(duì)相似度高于閾值的數(shù)量)/正樣本集總數(shù)誤識(shí)率=比對(duì)通過的負(fù)樣本數(shù)(比對(duì)相似度高于閾值的數(shù)量)/負(fù)樣本集總數(shù)
測試平臺(tái) |
3516dV300 |
|
測試圖像分辨率 |
480*640 (注:測試分辨率和實(shí)際面板機(jī)原始輸入不一樣,實(shí)際面板機(jī)原始輸入最大沒有限制) |
|
人臉尺寸 |
60*60(識(shí)別不帶活體) 80*80(識(shí)別帶活體) |
|
多人支持 |
可支持多人,算法不做人臉個(gè)數(shù)限制 |
|
耗時(shí)定義 |
從數(shù)據(jù)輸入模型到輸出結(jié)果花費(fèi)的時(shí)間 |
|
SDK 產(chǎn)品規(guī)格 |
||
最大底庫 |
10 萬 |
|
推薦底庫 |
1萬 |
|
人臉檢測 |
人臉檢測耗時(shí) |
<35ms |
人臉檢測跟蹤耗時(shí) |
<18ms |
|
活體 |
雙目CPU 模型耗時(shí) |
<65ms |
1:N人臉識(shí)別 |
特征提取耗時(shí) |
<45ms |
人臉 search 耗時(shí) |
<5ms(3K 底庫) <25ms(1W 底庫) |
|
文件大小 |
算法庫+模型 |
<45M |
內(nèi)存使用情況 |
識(shí)別加活體 |
<250M |
識(shí)別 |
<240M |
測試結(jié)果
1)活體檢測
雙目活體
拒絕率 |
通過率 |
在3516dV300上的平均耗時(shí) |
99.6 |
95.83 |
65ms |
2)人臉識(shí)別
1:n 人臉?biāo)阉?/b>
誤識(shí)率 |
通過率 |
閾值 |
0.1 |
99.7 |
0.82 |
五、硬件平臺(tái)
人臉識(shí)別SDKV1.0標(biāo)準(zhǔn)版作為線下場景的通用 SDK,將逐步增加對(duì)各類平臺(tái)的兼 容 適 配 , 包含但不限于 : Arm Android 、 Arm Linuxx86 Linux 、 x86Windows 、Hisi3516DV300。硬件的配置、操作系統(tǒng)等都會(huì)影響到算法的實(shí)際使用效果:
客戶端
客戶端的性能影響整體的識(shí)別速度,一般來說算法的性能和主頻成正比,為保證良好的用戶體驗(yàn),視覺根據(jù)不同配置的硬件平臺(tái),推出了高、低版本的 SDK,以滿足不同終端設(shè)備的適配需求。如下給出了建議搭配硬件配置的列表
SDK 版本 |
硬件 |
操作系統(tǒng) |
配置型號(hào) |
識(shí)別耗時(shí) |
高配版 |
3516dV300 |
linux |
CPU:雙核 900M + 1T NPU 內(nèi)存:1G RAM+4G ROM |
250ms |
低配版 |
全志A64 |
Android 6.0 及以上版本 |
CPU:4核 1.2GHZ 內(nèi)存:2G RAM+4G ROM |
550ms |
六、授權(quán)模式
人臉識(shí)別 SDKV1.0 支持USB模組與MIPI模組(帶芯?)授權(quán)
USB攝像頭模組/MIPI模組(帶加密IC)
客戶從視覺指定的攝像頭模組供應(yīng)商獲取USB攝像頭模組,對(duì)接到自己的主板,導(dǎo)入人臉識(shí)別SDK,即可實(shí)現(xiàn)人臉識(shí)別授權(quán)。
其他授權(quán)方式,根據(jù)客戶產(chǎn)品狀況洽談。