Face Recognition 人臉識別該如何測試
- 2019 年 10 月 11 日
- 筆記
01
測量人臉識別的主要性能指標有
1.誤識率(False;Accept;Rate;FAR):這是將其他人誤作指定人員的概率;
2.拒識率(False;RejectRate;FRR):這是將指定人員誤作其它人員的概率。
電腦在判別時採用的閾值不同,這兩個指標也不同。一般情況下,誤識率FAR;隨閾值的增大(放寬條件)而增大,拒識率FRR;隨閾值的增大而減小。因此,可以採用錯誤率(Equal;Error;Rate;ERR)作為性能指標,這是調節閾值,使這FAR和FRR兩個指標相等時的FAR;或FRR。

02
影響人臉識別性能的因素&解決方法
(1)背景和頭髮:消除背景和頭髮,只識別臉部圖象部分。
(2)人臉在圖象平面內的平移、縮放、旋轉:採用幾何規範化,人臉圖象經過旋轉、平移、縮放後,最後得到的臉部圖象為指定大小,兩眼水平,兩眼距離一定。
(3)人臉在圖象平面外的偏轉和俯仰:可以建立人臉的三維模型,或進行三維融合(morphing),將人臉圖象恢復為正面圖象。
(4)光源位置和強度的變化:採用直方圖規範化,可以消除部分光照的影響。採用對稱的從陰影恢復形狀(symmteric;shape;from;shading)技術,可以得到一個與光源位置無關的圖象
03
採集場景
正常場景下,在合適的光源下,採集人臉的正面,包含正常完整的人臉輪廓,毫無遮擋的五官,清晰的被拍照設備拍到,這樣才能夠準確的捕捉到特徵,並判斷出來。
但對於測試同學來講,還要考慮異常場景的表現,即任何可能造成拍不到,拍不清晰,判斷不出是人臉,或者不完整的表現。詳細場景比如:
1) 人臉沒有正對攝影機,角度有傾斜。
2) 拍照環境過暗或者過黑。
3) 有佩戴黑框眼鏡或墨鏡拍照。
4) 頭髮有明顯遮住眼睛或臉部輪廓。
5) 攝影機內包含多張人臉。
另外判斷拍攝的樣品是否包含人臉時,原理上一般會通過樣品學習、或者是參考模版來,比如先設計一個標準人臉的模版,包含標準的特徵、有一定的結構分布、相對規律的膚色分布。
那麼針對這個原理,在測試時需要考慮不同膚色,或者是面部特徵過於複雜的案例,比如黑人、比如臉上有皺紋的老人。
再看人臉比對。
實際應用場景中,人臉比對的本質是照片的比對。比對兩張臉中,其中一張臉一般來自於當前場景拍攝的照片,另一張照片一般來自於公安部或者資料庫中的照片。
公安部或資料庫的照片是用來作為比對標準的,也是固定且一般不可隨意篡改的。但採集照片的環節容易出現各種各樣的漏洞,容易被一些不法分子利用虛假照片、他人照片、網路照片等進行攻擊。
因此,從測試角度來看,需要覆蓋到這些非法採集照片的行為,比如:
1) 翻拍後的照片。
2) 長相相似度很高的非本人的照片
3) 軟體合成的虛擬人臉
4) 基於證件照PS的照片
等等。
04
照片採集方式
目前市面上主流的幾種抗攻擊的照片採集方式主要有三種:活體檢測、連續檢測、3D檢測。
1) 活體檢測:判斷用戶是否為正常操作,通過指定用戶做隨機動作,一般有張嘴、搖頭、點頭、凝視、眨眼等等,防止照片攻擊。判斷用戶是否真實在操作,指定用戶上下移動手機,防止影片攻擊和非正常動作的攻擊。
2) 3D檢測:驗證採集到的是否為立體人像,能夠防止平面照片、不同彎曲程度的照片等。
3) 連續檢測:通過連續的檢測,驗證人臉運動軌跡是否正常,防止防止跳過活體檢測直接替換採集的照片,也能夠防止中途切換人。
其中活體檢測是現在應用最廣的一種抗攻擊人臉數據採集方式。
因為不管是直接對照片檢測,還是對活體進行檢測,最終的目的都是採集人臉不同角度的照片。因此如果活體檢測沒有與連續性檢測和3D 檢測結合使用,也會存在一些漏洞。
這些漏洞即是測試的重點:
1) 拍攝人臉正面、側面、張嘴、閉眼等照片,用不同角度的靜態照片繞過本人現場檢測。
2) 錄製各種動作影片,按照一定的標準拼接起來,繞過本人現場檢測。
電腦只會告訴我們比對的兩張臉的相似程度,是80%或者是20%,但不會告訴我們這兩張臉是否為同一個人。
因此人臉比對有一個閾值的概念。設置相似度大於x%的時候,視為人臉比對通過,小於x%的時候,視為人臉比對不通過。設定閾值的過程就是模型評估。
閾值設定過低,則人臉比對通過率高,誤報率可能也會升高。
閾值設定過高,則人臉比對通過率低,誤報率可能也會降低也可能會增高。
因此在人臉識別的測試中,除了要關注通過率,還要關注誤報率。這兩項也可以統稱為是查准率。

舉個例子:
有8個樣本,分別拿十張照片與資料庫證件照進行人臉比對,其中3個確實是人證統一,另外四個人證不同。比對的結果相似度如下:
假設閾值設定60%,則人臉比對通過率=4/8=50%,誤報率=1/8=12.5%。
假設閾值設定70%,則人臉比對通過率=2/8=25%,誤報率=1/8=12.5%。
假設閾值設定50%,則人臉比對通過率=5/8=62.5%,誤報率=2/8=25%。
目前人臉識別在金融、教育、景區、出入境、機場等領域已經大量應用,方便的同時也帶來了一些問題,怎麼做好人臉識別的測試,還是一個需要思考和深挖的課題。