設計原則、測試指標……系統梳理人臉算法測試的硬核技巧
對視覺AI領域的開發者而言,選到一款合適算法,堪稱項目成功了一半:算法與項目需求匹配,可以顯著提升開發效率、減少后期磨合調試,快速實現產品落地,
然而什么樣的算法才叫“合適”?優秀的算法模型需要投入大量且全面的數據用以訓練,同樣,在測試算法時,開發者需要結合實際應用場景,先設計算法測試集,再用充足的數據進行測試,這才能得出算法是否適合項目的準確評判。
虹軟視覺開放平臺除提供免費、離線的人臉識別等算法外,也致力于打造系統化的開發者培訓體系,為全行業輸送高質量人才,官網最近上線了“從零學習人臉識別“之《人臉識別算法測試》培訓課程,從一線實戰角度系統闡述了算法測試的要點。
【算法測試集設計原則】
無論是算法訓練,還是針對應用場景進行測試,都需要大量場景數據的支撐。正如虹軟視覺開放平臺的ArcFace人臉識別SDK,在算法研發時就考慮了樓宇、工地、社區、校園和景區等一系列場景的共性及個性,并進行針對訓練,因此在百余個垂直行業的細分領域中得到了普遍應用。
同樣,設計算法測試集的第一步是分析具體應用場景,再根據場景特點抽象出場景屬性。譬如樓宇、工地、社區、校園和景區等常見應有場景,這些場景需要關注的屬性就各不相同。

當算法應用在工地上,我們需要考慮算法在室外頂棚環境下的表現、IPC設備高度對識別效果的影響、排隊及多人臉狀況下算法識別速度,同時工地場景下識別目標通常為戴安全帽的成年人,也就需要格外這類群體的識別效果。
當應用場景在學校時,就需要主要考慮快速成長過程中兒童和青少年的識別效果;部署場景在社區和景區時,就需要考慮各個年齡段的識別效果……所有場景屬性都需要因地制宜,結合實際情況來總結,但總體遵循內部因素和外部因素兩大原則:
內因包括人臉姿態、妝容、身高、性別、表情、年齡、人種等,外因則包括室內/室外、光線方向、攻擊道具、妝容道具、光照強度、設備高度、背景、遮擋等。

此外,測試素材集需要同時具備正樣本、負樣本,所謂正樣本是指與真值對應的目標類別,負樣本則是與真值不對應的其他所有目標類別,這樣才能比對判斷算法是否進行正確識別。

以“智慧樓宇門禁場景”為例,我們就需要全面模擬目標場景的應用環境,考慮場景、屬性、設計和規模四大要素:場景上需要囊括室內/室外、樓宇/樓層/辦公室等常見環境;屬性上對外模擬采集環境須涵蓋全屬性,對內需要針對性采集人員選取須涵蓋全屬性;在素材設計上要模擬模擬真實用戶的行為動作,譬如快走、慢走、跑步,以及戴帽子、眼鏡或首飾引起的遮擋;素材規模上則需要根據測試需求決定,譬如實際場景常為暗光環境,就需要多采集暗光素材,同時測試集整體大小也要足夠完成算法指標的評定。
測試素材的采集同樣有嚴格要求:首先,我們必須選取目標設備進行采集,這樣才不會因為硬件設備的變化導致測試結果有偏差;其次,注冊照需要在正常光環境下采集,即光線在面部反光均勻、沒有明顯的陰影、反光現象,光線強度沒有明顯的分化現象環境,識別照則需要模擬實際應用場景下的抓拍照;再次,素材要進行清洗,測試集要求是無噪點且準確的;最后,需要標記每張素材的屬性,包括內部屬性和外部屬性。
【人臉識別算法評測方法】
在理想狀態下,人臉識別準確率越高越好,但算法在產品化時會受到光線、遮擋、圖片質量、遮擋等外部因素,以及人臉姿態、年齡、性別、人種和表情等內部因素的綜合影響。因此,評價一款算法是否適用于產品,需要結合實際場景并進行測試后才能做出評價。
多數情況下,我們以基于FAR(錯誤接受率,又稱誤識率,即把某人誤識為其他人的概率)和FRR(錯誤拒絕率率,即本人注冊在底庫中,但比對相似度達到不預定的值)的DET曲線作為評判參考。
理想狀況下,FAR和FRR都越低越好,但兩個指標是一個蹺蹺板,一個指標的降低通常意味著另一個指標會升高,所以需要實現兩者間的平衡。一般認為在FAR達到市場正常水準時,FRR越低,該人臉識別算法性能就越好。
在實際測試時,開發者需要根據對應項目建立相應的測試集,采集場景需要貼近實際使用場景;盡可能涵蓋識別目標的全屬性,包括性別、膚色、發型等因素;屬性權重按照評測偏重點分配;測試集本身也需要有足夠的容量,來保證測試結果可信。
另外,還有一些常見的評測常見指標,在評價人臉檢測算法好壞時,我們會考慮以下四個指標,其他條件不變時,查全率越高越好,漏檢率和誤檢率越低越好,IOU則是重合面積越大效果越好,但為了提高效率,超過設定閾值后可直接合并,視為同一個人臉框:
查全率=正確檢測的人臉數/標注的總人臉數
漏檢率=1-正確檢測的人臉數/標注的總人臉數
誤檢率=錯誤檢測的人臉數/標注的總人臉數
IOU=檢測出來的人臉框A/實際的人臉框B
在評價活體檢測算法時,我們則考慮真人誤檢率和假體誤檢率,其他條件不變時,這兩者都是越低越好:
真人誤檢率 = 錯誤判斷為真人數量/活體檢測總次數
假體誤檢率 = 錯誤判斷為假體數量/活體檢測總次數
了解相關測試原則和方法之后,很多開發者仍然難以順利進行算法選型,這往往是受限于實際條件,譬如缺乏專門的采集場地、采集人員,或者無法采集大規模測試集。
需要快速進行算法評測時,可以因地制宜,創造簡易條件,譬如就地選取盡可能貼近使用場景的場地,省去場地租金、搭建成本,同時邀請公司員工充當采集人員。盡管從簡,測試集規模原則上仍然需要覆蓋全屬性。
【算法評測需軟硬一體】
前文提到,采集素材時最好選用目標設備,合適硬件、攝像模組采集有利于優化素材集。實際上,在項目開發的過程中,算法與硬件的磨合經常耗時日久,這往往是阻礙產品落地的重要因素。
為此,虹軟開放平臺則提供配套的軟硬件資源對接平臺——產業鏈市場,上架了豐富的攝像頭模組、開發板、整機、行業解決方案供需求方選擇。同時,所有上線產品都經過虹軟視覺開發平臺的認證與調優,實現軟硬件的整合優化,確保算法運行高效流暢,大幅縮短產品落地時間。
想要完整學習《人臉識別算法測試》培訓課程的開發者,請搜索“從零學習人臉識別“或登陸虹軟視覺開放平臺官網公開課頁面瀏覽。