僅僅在幾年前,程序員要開發(fā)一款人臉識(shí)別應(yīng)用,就必須精通算法的編寫。但現(xiàn)在,隨著成熟算法的對外開放,越來越多開發(fā)者只需專注于開發(fā)垂直行業(yè)的產(chǎn)品即可。
由調(diào)查機(jī)構(gòu)發(fā)布的《中國AI產(chǎn)業(yè)地圖研究》中也有一組有趣的數(shù)據(jù),目前中國的AI企業(yè)中,有近8成集中在應(yīng)用層,其中AI行業(yè)解決方案占比高達(dá)40.7%,從上下班的人臉識(shí)別考勤,到金融App的人臉身份核驗(yàn),再到醫(yī)院和政務(wù)大廳的人臉識(shí)別取號(hào),以及車站的人臉核驗(yàn)檢票……
目前市面上既有OpenCV等開源算法庫,很多芯片廠商的產(chǎn)品也自帶簡單算法,同時(shí)專業(yè)算法大廠也會(huì)開放相關(guān)技術(shù),如提供免費(fèi)、離線人臉識(shí)別SDK的虹軟視覺開放平臺(tái)等。對于開發(fā)者而言,面對多種算法,如何進(jìn)一步了解算法性能至關(guān)重要。因此,本文將從算法原理、應(yīng)用場景、關(guān)鍵指標(biāo)一一進(jìn)行介紹。
人臉識(shí)別算法原理簡述
在介紹關(guān)鍵性能指標(biāo)之前,我們需要厘清人臉識(shí)別的技術(shù)原理。
所謂人臉識(shí)別(Face Recognition),是對圖像中的人臉進(jìn)行檢測、識(shí)別和跟蹤。當(dāng)前的人臉識(shí)別,通常是利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對海量的人臉圖片進(jìn)行學(xué)習(xí),然后對輸入圖像提取出對應(yīng)的人臉特征值。
人臉特征值是面部特征所組成的信息集。人類記憶和辨別一張臉,主要是靠肉眼可見的特征,譬如國字臉、雙眼皮、黑眼睛、藍(lán)色頭發(fā)、塌鼻梁……但人工智能不同,主要是利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對海量的人臉圖片進(jìn)行學(xué)習(xí)。它們能夠抽象出人類難以理解的面部特征,因而在識(shí)別能力上超越人類。
人臉特征值是一組空間向量,也是人臉比對的依據(jù)。同一張臉不同照片提取出的特征值,在特征空間里距離很近,不同人的臉在特征空間里相距較遠(yuǎn)。換言之,距離近的就有更大可能是同一個(gè)人。
另外需要注意,人臉識(shí)別和人臉檢測并非同一技術(shù)。人臉檢測是人臉識(shí)別完整流程中的一個(gè)環(huán)節(jié)。在用攝像頭采集含有人臉的圖像或視頻流后,首先就需要用人臉檢測技術(shù)自動(dòng)檢測、提取當(dāng)中的人臉,隨后才能進(jìn)入人臉圖像預(yù)處理及最核心的人臉特征提取環(huán)節(jié)。
在實(shí)際商業(yè)落地中,人臉檢測也可獨(dú)立于人臉識(shí)別進(jìn)行使用,典型應(yīng)用如近期在海內(nèi)外大熱的AI測溫機(jī),只在檢測到人臉時(shí)激活測溫模塊,從而降低產(chǎn)品長期運(yùn)行的損耗與能耗,該過程就無需對人臉進(jìn)行識(shí)別。
【了解這些指標(biāo),你也能評價(jià)算法】
在理想狀態(tài)下,人臉識(shí)別準(zhǔn)確率越高越好,但算法在產(chǎn)品化時(shí)會(huì)受到逆光、暗光、強(qiáng)光、識(shí)別角度等諸多實(shí)際因素的影響。因此,脫離使用場景單獨(dú)考量算法的識(shí)別準(zhǔn)確率參考價(jià)值不大。
那么我們又該如何合理且有效的判斷一款算法呢?業(yè)內(nèi)知名免費(fèi)算法平臺(tái)——虹軟視覺開放平臺(tái)推出的《從零學(xué)習(xí)人臉識(shí)別》系列技術(shù)公開課中,對算法測試的關(guān)鍵指標(biāo)進(jìn)行了詳細(xì)介紹。開發(fā)者朋友可以百度搜索 "虹軟人臉公開課",在第三期"人臉檢測算法介紹"和"人臉識(shí)別算法介紹"中進(jìn)行詳細(xì)了解。
人臉識(shí)別關(guān)鍵指標(biāo):
多數(shù)情況下,我們以基于FAR(錯(cuò)誤接受率,又稱誤識(shí)率,即把某人誤識(shí)為其他人的概率)和FRR(錯(cuò)誤拒絕率率,即本人注冊在底庫中,但比對相似度達(dá)到不預(yù)定的值)的DET曲線作為評判參考。
(1)錯(cuò)誤拒絕率(FAR)
相似度值范圍內(nèi)等分為若干檔,得到若干個(gè)不同的閾值 S,計(jì)算不同閾值 S 的 FRR 如下:FRR(S) = 同人比對相似度中低于閾值S的數(shù)量 / 同一人比對總數(shù) × 100%;
(2)錯(cuò)誤接受率(FRR)
相似度值范圍內(nèi)等分為若干檔,得到若干個(gè)不同的閾值 S,計(jì)算不同閾值 S 的 FAR 如下:FAR(S) = 非同人比對相似度中不低于閾值S的數(shù)量 / 非同人比對總數(shù) ×100%;
理想狀況下,F(xiàn)AR和FRR都越低越好,但兩個(gè)指標(biāo)是一個(gè)蹺蹺板,一個(gè)指標(biāo)的降低通常意味著另一個(gè)指標(biāo)會(huì)升高,所以需要實(shí)現(xiàn)兩者間的平衡。一般認(rèn)為在FAR達(dá)到市場正常水準(zhǔn)時(shí),F(xiàn)RR越低,該人臉識(shí)別算法性能就越好。
目前,市場上大部分場景會(huì)根據(jù)自身安全性要求,制定不同標(biāo)準(zhǔn)。比如在門禁場景下,要求FAR低于十萬分之一,此時(shí)FRR越低,算法效果越好。以下圖為例,算法1效果就好于算法2。
人臉檢測關(guān)鍵指標(biāo):
評價(jià)一款人臉檢測算法,也有檢測率、誤報(bào)率、FPS、IOU四個(gè)指標(biāo)。
一般情況下,我們同樣希望檢測率越高越好,誤報(bào)率越低越完美,但這兩者需要一個(gè)最優(yōu)的平衡,我們可以用ROC曲線解決這一問題。
(1)True Positive:檢測出來確實(shí)是人臉,但實(shí)際上仍然是人臉的
(2)False Positive:檢測出來是人臉,但實(shí)際上是背景的
(3)False Negative:檢測出來是背景,但實(shí)際上是人臉的
(4)True Negatives:檢測出來是背景,實(shí)際上就是背景的
除了算法模型本身,我們也還可以從工程和應(yīng)用等角度提升整體人臉識(shí)別效果。
應(yīng)用角度:研發(fā)質(zhì)量模型,對檢測到的人臉質(zhì)量進(jìn)行評價(jià),質(zhì)量較差則不識(shí)別,如虹軟視覺開放平臺(tái)的FQ(人臉圖像質(zhì)量檢測算法)
工程角度:施加場景限制,比如刷臉解鎖,人臉閘機(jī),會(huì)場簽到時(shí),都要求用戶在良好的光照條件下正對攝像頭,以避免采集到質(zhì)量差的圖片。
發(fā)布評論請先 登錄
相關(guān)推薦
評論