農林漁牧網

您現在的位置是:首頁 > 農業

乾貨盤點,人臉識別技術背後的那些常見誤區

2022-06-14由 砍柴網 發表于 農業

怎麼一眼看出特徵值

作為人工智慧領域少有的演算法研究和商業應用都相當成熟的技術,人臉識別近幾年火熱異常。但由於其技術門檻較高,一些新入門的開發者往往對人臉識別存在很多認知誤區,如簡單地認為識別率越高,演算法越好;可檢測的關鍵點越多,識別比對效果越出色……接下來筆者就以自身使用虹軟視覺開放平臺免費離線SDK ArcFace3。0做開發的經歷來為大家講講,要如何避開這些誤區。

這裡先簡單介紹一下ArcFace3。0,該SDK對人臉識別、活體檢測、年齡檢測、性別檢測等核心演算法模型進行了全面升級,其演算法魯棒性大幅提升,接入門檻顯著降低,可同時支援Windows、iOS、Android(包含Android10)、Linux,效能與開發效率也有了整體提升,同樣秉承了開放平臺免費、離線的核心,進而成為了廣大開發者落地AI應用的利器。

乾貨盤點,人臉識別技術背後的那些常見誤區

常見誤區一:“人臉檢測”就是“人臉識別”?

事實上,“人臉檢測”只是人臉識別完整流程中的一個環節。在用攝像頭採集含有人臉的影象或影片流後,首先就需要用人臉檢測技術自動檢測、提取當中的人臉,隨後才能進入人臉影象預處理及最核心的人臉特徵提取環節。

但在實際商業化落地中,人臉檢測也可獨立於人臉識別進行使用。譬如瀘州雲龍機場就佈置了智慧零售服務機器人,可以透過人臉檢測功能自動尋找顧客並提供服務。其智慧零售服務機器人就是採用了虹軟視覺開放平臺的人臉識別演算法。

虹軟推出的ArcFace3。0 SDK囊括了人臉檢測、性別檢測、年齡檢測等技術,結合使用可應用於商業迎賓機器人、自動廣告機等產品。

常見誤區二:人臉識別的準確率越高越好嗎?

理想狀態下,“人臉識別準確率”當然越高越好,但演算法在產品化使用時會受到逆光、暗光、強光、識別角度等諸多因素的影響。相同演算法,在實驗室環境中與不同的實際應用環境中,所表現出的識別準確率都存在一定差異。因此,脫離使用場景單純考量演算法的識別準確率參考價值不大。

業界更多會採用“認假率(FAR,又稱誤識率,把某人誤識為其他人)”和“拒真率(FRR拒真率,本人註冊在底庫中,但比對相似度達到不預定的值)”,來作為評判演算法的依據。另外還有識別速度、活體攻擊成功率、人臉檢測成功率等維度,也可作為評判演算法優劣的參考依據。

儘管FAR和FRR都越低越好,但兩個指標是一個蹺蹺板,一個指標的降低會意味著另一個指標會升高,所以需要實現兩者間的平衡。

人臉識別演算法一般會設定一個閾值作為評判透過與否的標準,該閾值一般是用分數或者百分比來衡量。當人臉比對的相似度值大於此閾值時,則比對透過,否則比對失敗。每個閾值都可以統計對應的FAR/FRR,不同閾值的FAR/FRR值可繪成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服務端開發技巧,以及對常見問題的答疑,建議感興趣的開發者朋友可以登陸虹軟開放平臺官網觀看學習。