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