作為人工智能領(lǐng)域少有的算法研究和商業(yè)應(yīng)用都相當(dāng)成熟的技術(shù),人臉識別近幾年火熱異常。但由于其技術(shù)門檻較高,一些新入門的開發(fā)者往往對人臉識別存在很多認知誤區(qū),如簡單地認為識別率越高,算法越好;可檢測的關(guān)鍵點越多,識別比對效果越出色……接下來筆者就以自身使用虹軟視覺開放平臺免費離線SDK ArcFace3.0做開發(fā)的經(jīng)歷來為大家講講,要如何避開這些誤區(qū)。
這里先簡單介紹一下ArcFace3.0,該SDK對人臉識別、活體檢測、年齡檢測、性別檢測等核心算法模型進行了全面升級,其算法魯棒性大幅提升,接入門檻顯著降低,可同時支持Windows、iOS、Android(包含Android10)、Linux,性能與開發(fā)效率也有了整體提升,同樣秉承了開放平臺免費、離線的核心,進而成為了廣大開發(fā)者落地AI應(yīng)用的利器。
常見誤區(qū)一:“人臉檢測”就是“人臉識別”?
事實上,“人臉檢測”只是人臉識別完整流程中的一個環(huán)節(jié)。在用攝像頭采集含有人臉的圖像或視頻流后,首先就需要用人臉檢測技術(shù)自動檢測、提取當(dāng)中的人臉,隨后才能進入人臉圖像預(yù)處理及最核心的人臉特征提取環(huán)節(jié)。
但在實際商業(yè)化落地中,人臉檢測也可獨立于人臉識別進行使用。譬如瀘州云龍機場就布置了智能零售服務(wù)機器人,可以通過人臉檢測功能自動尋找顧客并提供服務(wù)。其智能零售服務(wù)機器人就是采用了虹軟視覺開放平臺的人臉識別算法。
虹軟推出的ArcFace3.0 SDK囊括了人臉檢測、性別檢測、年齡檢測等技術(shù),結(jié)合使用可應(yīng)用于商業(yè)迎賓機器人、自動廣告機等產(chǎn)品。
常見誤區(qū)二:人臉識別的準(zhǔn)確率越高越好嗎?
理想狀態(tài)下,“人臉識別準(zhǔn)確率”當(dāng)然越高越好,但算法在產(chǎn)品化使用時會受到逆光、暗光、強光、識別角度等諸多因素的影響。相同算法,在實驗室環(huán)境中與不同的實際應(yīng)用環(huán)境中,所表現(xiàn)出的識別準(zhǔn)確率都存在一定差異。因此,脫離使用場景單純考量算法的識別準(zhǔn)確率參考價值不大。
業(yè)界更多會采用“認假率(FAR,又稱誤識率,把某人誤識為其他人)”和“拒真率(FRR拒真率,本人注冊在底庫中,但比對相似度達到不預(yù)定的值)”,來作為評判算法的依據(jù)。另外還有識別速度、活體攻擊成功率、人臉檢測成功率等維度,也可作為評判算法優(yōu)劣的參考依據(jù)。
盡管FAR和FRR都越低越好,但兩個指標(biāo)是一個蹺蹺板,一個指標(biāo)的降低會意味著另一個指標(biāo)會升高,所以需要實現(xiàn)兩者間的平衡。
人臉識別算法一般會設(shè)定一個閾值作為評判通過與否的標(biāo)準(zhǔn),該閾值一般是用分數(shù)或者百分比來衡量。當(dāng)人臉比對的相似度值大于此閾值時,則比對通過,否則比對失敗。每個閾值都可以統(tǒng)計對應(yīng)的FAR/FRR,不同閾值的FAR/FRR值可繪成ROC曲線(Receiver Operating Curve),我們可以通過ROC曲線選定一個合理的閾值點。
常見誤區(qū)三:人臉關(guān)鍵點越多,人臉比對效果越好?
人臉關(guān)鍵點技術(shù)在人臉識別的一系列環(huán)節(jié)中,確實有所應(yīng)用。但它并不是使用在最核心的人臉比對中,而是在前置的人臉圖像預(yù)處理環(huán)節(jié)中。因此,確保人臉五官基礎(chǔ)關(guān)鍵點數(shù)量及準(zhǔn)確性即可,無需一味追求過多關(guān)鍵點的數(shù)量。
當(dāng)前主流的人臉識別算法,在進行最核心的人臉比對時,主要依靠人臉特征值的比對。所謂特征值,即面部特征所組成的信息集。我們辨別一個人的特征,可能會記住他是雙眼皮、黑眼睛、藍色頭發(fā)、塌鼻梁……但人工智能算法可以辨別和記住的面部特征會比肉眼所能觀察到的多很多。
人臉識別算法通過深度學(xué)習(xí),利用卷積神經(jīng)網(wǎng)絡(luò)對海量人臉圖片進行學(xué)習(xí),借助輸入圖像,提取出對區(qū)分不同人臉的特征向量,以替代人工設(shè)計的特征。每張人臉在算法中都有一組對應(yīng)的特征值,這也是進行人臉比對的依據(jù)。同一人的不同照片提取出的特征值,在特征空間里距離很近,不同人的臉在特征空間里相距較遠。
雖然人臉關(guān)鍵點不會直接作用于人臉比對,但在人臉圖像預(yù)處理環(huán)節(jié),依舊有重要作用。事實上,通過人臉檢測提取到人臉圖像質(zhì)量參差不齊,角度各異。而在虹軟ArcFace3.0算法中,利用人臉關(guān)鍵點技術(shù)可準(zhǔn)確定位出人臉五官位置,使用仿射變換將人臉統(tǒng)一“擺正”,盡量消除姿勢不同帶來的誤差,為算法準(zhǔn)確提取人臉特征值提供保障。
常見誤區(qū)四:用照片或者視頻能否通過人臉識別?
在成熟的人臉識別應(yīng)用中,都會加入活體檢測技術(shù)。所謂活體檢測,即驗證用戶是否為真實活體本人在操作,可有效抵御照片、視頻等常見的攻擊手段,是金融、政務(wù)等無人值守應(yīng)用中幾乎是標(biāo)配。
在交互方式上,活體檢測可分為靜默式和配合式,配合式需要結(jié)合搖頭、眨眼、唇語等方式配合,靜默式則不需要用戶配合動作,相比配合式算法層面要求更高,體驗更好。
目前市場上主流的而在靜默式活體檢測中,同樣以上文提及的虹軟視覺開放平臺為例,該平臺已經(jīng)免費開放了RGB單目活體檢測、IR活體檢測兩種算法,并在最新推出的ArcFace3.0中進行了模型更新,全面提升了算法魯棒性。其中的RGB單目活體采用普通RGB攝像頭即可,通過分析采集摩爾紋、成像畸形、反射率等人像破綻,從而獲得活體檢測所需要的識別信息,多維度的識別依據(jù)保證了識別的準(zhǔn)確性。而IR活體檢測,則是在此基礎(chǔ)上,充分利用了紅外成像中屏幕類無法成像的原理,進一步加強了電子屏的攻擊防范。
常見誤區(qū)五:大面積遮擋下還能進行人臉識別嗎?
在人臉識別領(lǐng)域中,大面積人臉遮擋一直是公認的識別難題,難點主要體現(xiàn)在:
第一,人臉識別算法主要依據(jù)人臉面部特征進行身份判定,臉部大量遮擋時,算法無法準(zhǔn)確檢測人臉位置、定位五官關(guān)鍵點,大大降低了識別效果。
第二,人臉識別算法使用的深度學(xué)習(xí)技術(shù)依賴海量的訓(xùn)練數(shù)據(jù),短期內(nèi)難以收集到大量面部遮擋的照片,并進行人工標(biāo)注;
第三,人臉識別算法包含多重模塊,面部遮擋影響的不僅僅是人臉比對模塊,還會影響到人臉檢測、跟蹤等多個模塊,對整個系統(tǒng)帶來很大的干擾影響。
能否在大面積遮擋的條件下進行人臉識別,對算法要求比較高。近段時間,虹軟視覺開放平臺針對個人防護中所造成的人臉大面積遮擋問題,進行了算法模型針對性升級,提升人臉可見區(qū)域權(quán)重,在局部特征增強方面設(shè)計了相應(yīng)策略,如加強了對眼睛、眉毛等重點區(qū)域的識別,大面積遮擋下的人臉識別準(zhǔn)確率達99.5%以上。
對于很多剛進入人臉識別領(lǐng)域的開發(fā)者而言,很多算法細節(jié)都需要親自上手感受過,才能明白個中精微之處。建議新手開發(fā)者可以嘗試虹軟視覺開放平臺免費開放的ArcFace3.0 SDK,下載即可使用,新版本對人臉識別、活體檢測、年齡檢測、性別檢測等核心算法模型進行全面升級,大幅提升算法魯棒性,顯著降低接入門檻,同時支持Windows、iOS、Android(包含Android10)、Linux,在性能和開發(fā)效率上進行了整體提升,還可以離線使用,對開發(fā)者來說非常實用。
實際使用中,開發(fā)者往往會提出一系列細節(jié)問題。為幫助開發(fā)者快速上手,前段時間虹軟工程師團隊推出了一系列課程,以技術(shù)解析和專項答疑等形式幫助開發(fā)者解決難題。前后幾期課程分別講解了安卓端AI應(yīng)用開發(fā)技巧,如何快速接入Windows版本的ArcFace 3.0 SDK,還有Java服務(wù)端開發(fā)技巧,以及對常見問題的答疑,建議感興趣的開發(fā)者朋友可以登陸虹軟開放平臺官網(wǎng)觀看學(xué)習(xí)。