【博誠學堂】人(rén)臉識别技術背後的那些常見(jiàn)誤區

2020-07-17 14:51:07

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