人臉識別概述:人臉識別,是基于人的臉部特征信息進行身份識別的一種生物識別技術。人臉識別區別于其他生物特征識別方法的五項優勢,有非侵擾性、便捷性、友好性、非接觸性、可擴展性。
人臉識別技術原理:人臉識別的五大技術流程,包括人臉圖像的采集與預處理、人臉檢測、人臉特征提取、人臉識別和活體鑒別;目前人臉識別的主要方法,包括基于特征臉的方法、基于幾何特征的方法、基于深度學習的方法、基于支持向量機的方法和其他綜合方法。
2013 年,微軟亞洲研究院的研究者首度嘗試了 10 萬規模的大訓練數據,并基于高維 LBP 特征和 Joint Bayesian 方法在 LFW 上獲得了 95.17%的精度。這一結果表明:大訓練數據集對于有效提升非受限環境下的人臉識別很重要。然而,經典方法都難以處理大規模數據集的訓練場景。
2014 年前后,隨著大數據和深度學習的發展,神經網絡重受矚目,并在圖像分類、手寫 體識別、語音識別等應用中獲得了遠超經典方法的結果。香港中文大學的 Sun Yi 等人提出 將卷積神經網絡應用到人臉識別上,采用 20 萬訓練數據,在 LFW 上第一次得到超過人類 水平的識別精度,這是人臉識別發展歷史上的一座里程碑。 自此之后,研究者們不斷改進網絡結構,同時擴大訓練樣本規模,將 LFW 上的識別精 度推到 99.5%以上。人臉識別發展過程中一些經典的方法及其在 LFW 上的精度,都有一個 基本的趨勢:訓練數據規模越來越大,識別精度越來越高。
人臉識別流程
(1)人臉圖像的采集
采集人臉圖像通常情況下有兩種途徑,分別是既有人臉圖像的批量導入和人臉圖像的實時采集。一些比較先進的人臉識別系統甚至可以支持有條件的過濾掉不符合人臉識別質量要求或者是清晰度質量較低的人臉圖像,盡可能的做到清晰精準的采集。
既有人臉圖像的批量導入:即將通過各種方式采集好的人臉圖像批量導入至人臉識別系統,系統會自動完成逐個人臉圖像的采集工作。
人臉圖像的實時采集:即調用攝像機或攝像頭在設備的可拍攝范圍內自動實時抓取人臉圖像并完成采集工作。
(2)人臉圖像的預處理
人臉圖像的預處理的目的是在系統對人臉圖像的檢測基礎之上,對人臉圖像做出進一步的處理以利于人臉圖像的特征提取。
人臉圖像的預處理具體而言是指對系統采集到的人臉圖像進行光線、旋轉、切割、過濾、降噪、放大縮小等一系列的復雜處理過程來使得該人臉圖像無論是從光線、角度、距離、大小等任何方面來看均能夠符合人臉圖像的特征提取的標準要求。
在現實環境下采集圖像,由于圖像受到光線明暗不同、臉部表情變化、陰影遮擋等眾多外在因素的干擾,導致采集圖像質量不理想,那就需要先對采集到的圖像預處理,如果圖像預處理不好,將會嚴重影響后續的人臉檢測與識別。
(3)人臉檢測
一張包含人臉圖像的圖片通常情況下可能還會包含其他內容,這時候就需要進行必要的人臉檢測。也就是在一張人臉圖像之中,系統會精準的定位出人臉的位置和大小,在挑選出有用的圖像信息的同時自動剔除掉其他多余的圖像信息來進一步的保證人臉圖像的精準采集。
人臉檢測是人臉識別中的重要組成部分。人臉檢測是指應用一定的策略對給出的圖片或者視頻來進行檢索,判斷是否存在著人臉,如果存在則定位出每張人臉的位置、大小與姿態的過程。人臉檢測是一個具有挑戰性的目標檢測問題,主要體現在兩方面:
人臉目標內在的變化引起:(1)人臉具有相當復雜的細節變化和不同的表情(眼、嘴的 開與閉等),不同的人臉具有不同的外貌,如臉形、膚色等;(2)人臉的遮擋,如眼鏡、頭發和頭部飾物等。
外在條件變化引起:(1)由于成像角度的不同造成人臉的多姿態,如平面內旋轉、深度旋轉以及上下旋轉等,其中深度旋轉影響較大;(2)光照的影響,如圖像中的亮度、對比度的變化和陰影等;(3)圖像的成像條件,如攝像設備的焦距、成像距離等。
人臉檢測的作用,便是在一張人臉圖像之中,系統會精準的定位出人臉的位置和大小,在挑選出有用的圖像信息的同時自動剔除掉其他多余的圖像信息來進一步的保證人臉圖像的精準采集。人臉檢測重點關注以下指標:
檢測率:識別正確的人臉/圖中所有的人臉。檢測率越高,檢測模型效果越好;
誤檢率:識別錯誤的人臉/識別出來的人臉。誤檢率越低,檢測模型效果越好;
漏檢率:未識別出來的人臉/圖中所有的人臉。漏檢率越低,檢測模型效果越好;
速度:從采集圖像完成到人臉檢測完成的時間。時間越短,檢測模型效果越好。
(4)人臉特征提取
目前主流的人臉識別系統可支持使用的特征通常可分為人臉視覺特征、人臉圖像像素統計特征等,而人臉圖像的特征提取就是針對人臉上的一些具體特征來提取的。特征簡單,匹配算法則簡單,適用于大規模的建庫;反之,則適用于小規模庫。特征提取的方法一般包括基于知識的提取方法或者基于代數特征的提取方法。以基于知識的人臉識別提取方法中的一種為例,因為人臉主要是由眼睛、額頭、鼻子、耳朵、下巴、嘴巴等部位組成,對這些部位以及它們之間的結構關系都是可以用幾何形狀特征來進行描述的,也就是說每一個人的人臉圖像都可以有一個對應的幾何形狀特征,它可以幫助我們作為識別人臉的重要差異特征,這也是基于知識的提取方法中的一種。
(5)人臉識別
我們可以在人臉識別系統中設定一個人臉相似程度的數值,再將對應的人臉圖像與系統數據庫中的所有人臉圖像進行比對,若超過了預設的相似數值,那么系統將會把超過的人臉圖像逐個輸出,此時我們就需要根據人臉圖像的相似程度高低和人臉本身的身份信息來進行精確篩選,這一精確篩選的過程又可以分為兩類:其一是一對一的篩選,即對人臉身份進行確認過程;其二是一對多的篩選,即根據人臉相似程度進行匹配比對的過程。
(6)活體鑒別
生物特征識別的共同問題之一就是要區別該信號是否來自于真正的生物體,比如,指紋識別系統需要區別帶識別的指紋是來自于人的手指還是指紋手套,人臉識別系統所采集到的人臉圖像,是來自于真實的人臉還是含有人臉的照片。因此,實際的人臉識別系統一般需要增加活體鑒別環節,例如,要求人左右轉頭,眨眼睛,開開口說句話等。
人臉識別方法:
這里主要介紹基于深度學習的識別方法:
深度學習的出現使人臉識別技術取得了突破性進展。人臉識別的最新研究成果表明,深度學習得到的人臉特征表達具有手工特征表達所不具備的重要特性,例如它是中度稀疏的、對人臉身份和人臉屬性有很強的選擇性、對局部遮擋具有良好的魯棒性。這些特性是通過大數據訓練自然得到的,并未對模型加入顯式約束或后期處理,這也是深度學習能成功應用在人臉識別中的主要原因。
深度學習在人臉識別上有 7 個方面的典型應用:基于卷積神經網絡(CNN)的人臉識別方法,深度非線性人臉形狀提取方法,基于深度學習的人臉姿態魯棒性建模,有約束環境中的全自動人臉識別,基于深度學習的視頻監控下的人臉識別,基于深度學習的低分辨率人臉識別及其他基于深度學習的人臉相關信息的識別。
其中,卷積神經網絡(Convolutional Neural Networks,CNN)是第一個真正成功訓練多層網絡結構的學習算法,基于卷積神經網絡的人臉識別方法是一種深度的監督學習下的機器學習模型,能挖掘數據局部特征,提取全局訓練特征和分類,其權值共享結構網絡使之更類似于生物神經網絡,在模式識別各個領域都得到成功應用。CNN 通過結合人臉圖像空間的局部感知區域、共享權重、在空間或時間上的降采樣來充分利用數據本身包含的局部性等特征,優化模型結構,保證一定的位移不變性。
基于深度學習的人臉識別技術的廣泛應用 :
目前主流的人臉識別技術大多都是針對輕量級的人臉圖像數據庫,對于未來完全可預見的億萬級的人臉圖像數據庫則還不太成熟,因此需要重點研究基于深度學習的人臉識別技術。通俗意義上來講就是,目前國內人口有十三億之多,由實力雄厚的人臉識別公司牽頭在不久的未來建立起一個覆蓋全國范圍的統一的人臉圖像數據庫也是可以預見的,那么該人臉圖像數據庫存儲的人臉圖像的容量可能會達到數十億甚至是數百億的級別,這時候可能就會存在大量表征相似、關鍵特征點相似的人臉,如果沒有基于深度學習的人臉識別技術,建立更為復雜的多樣化的人臉模型,那么在實現精準和快速的人臉識別就會比較困難。
基于深度學習人臉識別方法的細分類:
人臉的表達模型分為2D人臉和3D人臉。2D人臉識別研究的時間相對較長,方法流程也相對成熟,在多個領域都有使用,但由于2D信息存在深度數據丟失的局限性,無法完整的表達出真實人臉,所以在實際應用中存在著一些不足,例如識別準確率不高、活體檢測準確率不高等。
3D人臉模型比2D人臉模型有更強的描述能力,能更好的表達出真實人臉,所以基于3D數據的人臉識別不管識別準確率還是活體檢測準確率都有很大的提高。
2D人臉識別模型比較有名的有FaceNet:
davidsandberg/facenet?github.com
這個是Facenet的官方github代碼地址,里面人臉檢測使用的是MTCNN模型,具體的介紹可以稍微再參考下我的這篇文章:
天山老霸王:用Pyqt5開發的基于MTCNN、FaceNet人臉考勤系統
注意:此模型未包含活體檢測,人臉提取特征是一個神經網絡,人臉檢測是一個神經網絡。
3D人臉識別現狀:
目前3D人臉識別在市場上根據使用攝像頭成像原理主要分為:3D結構光、TOF、雙目立體視覺。
3D結構光
3D結構光通過紅外光投射器,將具有一定結構特征的光線投射到被拍攝物體上,再由專門的紅外攝像頭進行采集。主要利用三角形相似的原理進行計算,從而得出圖像上每個點的深度信息,最終得到三維數據。
基于3D結構光的人臉識別已在一些智能手機上實際應用,如國外使用了超過10億張圖像(IR和深度圖像)訓練的FaceId;國內自主研發手機廠商的人臉識別。
TOF
TOF簡單的說就是激光測距,照射光源一般采用方波脈沖調制,根據脈沖發射和接收的時間差來測算距離。
采用TOF的方式獲取3D數據主要在Kinect上實現,Kinect在2009年推出,目的是作為跟機器的交互設備,用在游戲方面。主要獲取并處理的是人體的姿態數據。
雙目立體視覺
雙目是基于視差原理并由多幅圖像獲取物體三維幾何信息的方法。由雙攝像機從不同角度同時獲得被測物的兩幅數字圖像,并基于視差原理恢復出物體的三維幾何信息,從而得出圖像上每個點的深度信息、最終得到三維數據。
由于雙目立體視覺成像原理對硬件要求比較高,特別是相機的焦距、兩個攝像頭的平面位置,應用范圍相對3D結構光TOF少。
相比2D人臉識別,可以簡單理解為在RGB基礎上添加了深度信息,人臉的深度。
按深度信息使用的方法可以分為兩類:3D人臉識別、2D+人臉識別。
3D人臉識別
3D人臉識別處理的是3D的數據,如點云、體素等,這些數據是完整的,立體的,能表達出物體各個角度的特征,不管一個人正臉還是側臉,理論上都是同一個人。但是因為點云等3D數據具有數據量大、而且點云數據具有無序性、稀疏性等特點,3D人臉識別開發難度比較大。
2D+人臉識別
由于3D人臉識別開發難度比較大,于是有2D+人臉識別,其處理方式比較簡單,只是將3D的人臉數據分為2D的RGB數據+深度數據。處理的方法為先采用2D的人臉識別方法處理2D的RGB數據,然后再處理深度數據。這樣的處理實現起來就相對較快,因為目前的2D人臉識別有一套比較成熟的方法,特別是CNN出現后,2D的人臉識別在各挑戰賽、數據集上識別的準確率已經達到甚至超過人類的識別精度。
2D+人臉識別的方法能比較好將2D人臉識別的方法遷移過來,但是這樣人為的將深度信息跟RGB信息分開處理不如3D人臉識別準確率高。2D+人臉識別相對2D人臉識別準確率提高不會很大,但是在活體檢測的準確率上有一定的提高。
具體可以參考以下文章:
作者:天山老霸王
鏈接:http://www.lxweimin.com/p/91e3f3cd6262
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。