隨著人臉識別終端設(shè)備的廣泛應(yīng)用,很多開發(fā)者在實踐中會產(chǎn)生疑惑:為什么同一款主板,運行性能相仿的算法時,系統(tǒng)資源占用會相差懸殊?為什么同樣配備了活體檢測,防攻擊能力卻可以差好幾個級別?
事實上,人臉識別算法在實際部署中存在一些編程開發(fā)策略,能對識別效果和識別速度產(chǎn)生顯著影響。虹軟視覺開放平臺推出的"從零學(xué)習(xí)人臉識別"技術(shù)公開課第七期——《人臉識別應(yīng)用方案(PC和設(shè)備端)》對此做了詳細(xì)闡述(完整課程可搜索"從零學(xué)習(xí)人臉識別"),將主要從人臉追蹤、雙目活體對齊、圖像質(zhì)量檢測和特征值提取技巧等進行系統(tǒng)性介紹。
一、有效降低系統(tǒng)資源占用的【人臉追蹤】
人臉追蹤是相當(dāng)重要的優(yōu)化策略之一,最大的用處是防止重復(fù)識別,降低資源占用,在需要同時檢測多張人臉等算力消耗較高的場景下,可以顯著提升識別速度。
從技術(shù)原理來說,算法在運行過程中,會檢測視頻系列幀前后的人臉移動情況和特征,從而進行追蹤和檢測。以虹軟視覺開放平臺的ArcFace免費人臉識別算法為例,當(dāng)人臉入框時,算法會根據(jù)檢測結(jié)果為該張人臉標(biāo)記一個FaceID。該人臉從進入畫面到離開畫面的整個過程中,F(xiàn)aceID不變,算法也不會重復(fù)提取特征值,避免重復(fù)識別導(dǎo)致資源無效占用。
二、提升活體檢測精確度的【雙目活體對齊】
作為甄別紙張照片、屏幕成像、人臉面具等偽造人臉攻擊的主要防守手段,活體檢測幾乎是人臉識別不可或缺的剛需功能。目前,虹軟免費人臉識別SDK可以同時支持RGB和IR紅外雙目活體檢測,既能通過分析采集摩爾紋、成像畸形、反射率等人像破綻來識別活體,也能基于紅外圖像天然濾除特定波段光線的特征,來抵御基于屏幕成像的假臉攻擊,在成本與性能上達(dá)到了較好的平衡。
但是,由于RGB攝像頭和紅外攝像頭是不同的模組,不可避免會在成像參數(shù)和組裝精度上有所不同。因此需要進行雙目對齊,以確保兩個鏡頭在活體檢測、人臉比對時,使用的是同一張人臉圖像。
一般來說,我們的策略是將RGB鏡頭所檢測到人臉框坐標(biāo),嵌套至紅外鏡頭采集的圖像中。如發(fā)現(xiàn)該人臉框與紅外圖像中的對應(yīng)人臉有所偏移,就需要對該人臉框坐標(biāo)進行調(diào)整。
人臉框嵌套只是最簡單的雙目對齊策略,在安卓系統(tǒng)上開發(fā)時,還需要用到鏡像、縮放、旋轉(zhuǎn)等對齊策略,這些都可以在虹軟視覺開放平臺所提供的官方Demo中得到參考。
三、提升識別效率的【圖像質(zhì)量檢測算法】
無感通行是人臉識別閘機、門禁等設(shè)備非常重要的賣點。要實現(xiàn)這一效果,除了與芯片算力、算法性能有關(guān),也需要用于識別的人臉圖像質(zhì)量合格。圖像質(zhì)量檢測能對攝像頭拍攝的人臉圖像進行評估,刨除低質(zhì)量圖片,只留下質(zhì)量較好的人臉圖像進行檢測。
在實際使用中,模糊、遮擋、大角度、逆光暗光等復(fù)雜環(huán)境問題,都會導(dǎo)致攝像頭拍攝的人臉圖像難以識別。未引入圖像質(zhì)量檢測的情況下,圖片質(zhì)量再差也會被系統(tǒng)送入人臉識別環(huán)節(jié),直到識別失敗后再進行下一次抓拍。人臉圖像檢測提供的篩選機制能避免系統(tǒng)做無用功,從而提升后續(xù)流程的效率。對比實驗中,增加圖像質(zhì)量檢測的人臉識別系統(tǒng),后續(xù)環(huán)節(jié)耗時平均減少約30%。
除影響識別效率外,圖像質(zhì)量檢測也能幫助用戶高效完成人臉識別底庫注冊,快速完成人工篩選難以完成的工作量的同時,也讓底庫注冊照的質(zhì)量更有保障。
四、加速系統(tǒng)運行的【特征值保存技巧】
在人臉識別算法的運行過程中,特征值的保存方式也對運行速度有所影響。如果照片底庫只有幾十張或者上百張,可以將特征值保存在緩存中,每次啟動程序都進行一次完整特征值提取。但注冊底庫達(dá)到數(shù)千甚至上萬張人臉照的規(guī)模時,提取完整特征值耗時就會較長,此時如果將特征值保存在數(shù)據(jù)庫中再用于人臉比對,對人臉識別速度會有明顯提升。
人臉識別開發(fā)是一個復(fù)雜工程,除核心算法的研發(fā)外,還涉及很多影響性能的技術(shù)細(xì)節(jié),掌握與否對最終產(chǎn)品影響極大。"從零學(xué)習(xí)人臉識別"系列課程將持續(xù)幫助開發(fā)者們查漏補缺,既夯實基礎(chǔ),也釋疑難題,從而成長技術(shù)全面的開發(fā)人員。