文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190041
中文引用格式: 黃海新,張東. 基于深度學習的人臉活體檢測算法[J].電子技術應用,2019,45(8):44-47.
英文引用格式: Huang Haixin,Zhang Dong. Face liveness detection algorithm based on deep learning[J]. Application of Electronic Technique,2019,45(8):44-47.
0 引言
隨著時間的推移,生物特征識別技術在不斷地發(fā)展,并且已經(jīng)廣泛使用到諸如指紋識別和虹膜識別的身份認證技術等領域。其中,人的面部都有很大的差異,具有不容易丟失、不容易竊取、對用戶友好等廣泛優(yōu)點,容易被大眾所接受。人臉識別技術應用較廣泛,很好地幫助了人們的生活和工作,如:案件偵破、上班打卡。但是人臉識別系統(tǒng)仍然容易受到攻擊,由于社交媒體的普及,面部圖像和視頻很容易獲得[1],例如演示攻擊可以記錄一個人的面部信息,在屏幕上重放,甚至通過3D人臉[2]或者VR[3]偽造來記錄人的面部信息,這帶來了極具挑戰(zhàn)性的安全問題。身份信息真實性的驗證十分重要,因此活體檢測技術也是研究的重中之重?;铙w檢測是一種防止欺騙手段欺騙攝像頭的技術,是捕獲人的特征信息來判斷信息的來源是不是來自真實活體上。隨著生物識別技術不斷的發(fā)展,在工作和生活中活體檢測被重視程度也逐漸增加,這一領域的研究成果也取得了很大的進步,更多的研究人員致力于活體檢測。
現(xiàn)實的生活場景中,身份信息欺詐方式主要有3種:
(1)人臉照片:在生活中獲取一個人的圖片是很便捷的,在微信和微博等社交媒體便可獲得。欺騙的手段就是利用照片以模仿成人臉部的3D效果。
(2)人臉視頻:面部視頻能充分地模仿人臉,是最具欺詐性的,因為高清攝像頭拍攝的視頻會清晰完整記錄人臉的面部信息,最重要的是視頻將包含面部動作、面部表情和眨眼等功能,能很好地模仿真實人臉。
(3)面部三維模型欺騙:通過對人臉的三維建模,可以模仿人臉的運動特征,頭部的基本運動、講話、眨眼睛等動作都可以很好地模仿出來。因此,人臉照片和人臉視頻是主要的欺騙手段。
國內(nèi)外研究成果有很多,國內(nèi)外學者也慢慢注意到活體檢測這一領域,在這個領域的研究也是投入了大量的精力,國內(nèi)和國際期刊和國際會議上涉及的生物識別論文數(shù)量也在增加,并且提出了許多算法。如今,區(qū)分活體人臉檢測的方法有:
(1)基于面部運動信息:對于靜態(tài)人臉圖片,人臉的面部照片是二維結構,真實人臉的面部是三維結構,本質(zhì)上有著很大的區(qū)別,運動信息也是有著天差地別。CHOUDHARY T[4]等人根據(jù)人臉的運動信息區(qū)別做了活體檢測實驗,首先,檢測面部器官(眼睛、鼻子、嘴等)作為檢測的特征點,然后,基于運動的面部估算出這些特征點的三維坐標,真實人臉的結構是3D結構,欺騙人臉是2D結構。
(2)基于紋理信息分析:研究人員根據(jù)真實人臉的虛擬成像形成了虛假人臉這一線索,對區(qū)分照片的紋理性差異這一方向展開了研究。TAN T[5]區(qū)分活體人臉和虛假人臉的方法是基于傅里葉頻譜。ANJOS A[6]、MAATTA J[7]等人對LBP對面部特征提取的有效性進行了分析;MAATTA J通過應用LBP提取和使用SVM進行分類訓練來提取面部特征。2012年MAATTA J等人提出了改進算法,將LBP、Gabor wavelet和HOG 3種特征進行融合。這3種方式需要計算空間較大,提取特征較多,增加了計算難度。
(3)基于多模態(tài)特征分析:通過人臉照片實現(xiàn)活體檢測,欺騙手段種類較多且復雜,具有很大威脅性,隱患較大,如果結合多模態(tài)特征,如:眼睛、鼻子、耳朵、語音、指紋或虹膜等,活體檢測的準確率也會隨之增加。PAN G[8]等人結合人的面部動作眨眼和現(xiàn)實場景線索進行判別。為增加人臉活體判別的準確率,各種方法層出不窮,研究人員提出將虹膜和人臉相結合、人臉結合語音等多種結合方式的檢測方法,雖然這種方法可以提高識別精度,但對設備要求較高,成本較高。
本文提出的基于深度學習的活體檢測方法對活體人臉照片進行預處理,人臉照片的特征提取應用的是卷積神經(jīng)網(wǎng)絡,并且將這些特征進行訓練,然后經(jīng)過Sofmax分類器進行真假判別,并在公開的數(shù)據(jù)集上進行驗證。該方法無需用戶的主動配合,訓練過程簡單,驗證準確率高,降低了算法的難度。
1 基于深度學習的活體檢測方案
對于真實人臉和人臉成像,肉眼很難分辨出來,如圖1所示。事實上活體人臉是一個很復雜的三維結構,每個角度的面部光的反射都是不同的,因此會產(chǎn)生不同的反射和陰影;真實的人臉是三維結構,照片人臉是平面結構,因此面部特征有明顯的不同;因為每個像素點會有不同,經(jīng)過卷積神經(jīng)網(wǎng)絡提取的特征會有很大的差異性,這一差異可以用來判別是真實人臉還是照片人臉。因此本文提出基于深度學習的活體檢測方法來解決人臉活體照片判別這一問題。
首先,對數(shù)據(jù)集進行分類。一種是真實的人臉,另一種是照片人臉。在Keras深度學習框架之下,使用Tensor-Flow作為后端,采用Python語言編程對真實人臉和照片人臉這兩類圖片進行切割,切割成RGB格式的圖片,大小為64×64,并將數(shù)據(jù)集劃分為驗證集、訓練集、測試集?;谏疃葘W習的人臉活體檢測算法流程圖如圖2所示。
將訓練集樣本進行預處理,將訓練集圖片進行隨機的水平旋轉(zhuǎn),調(diào)整圖片水平旋轉(zhuǎn)的偏移幅度,使圖片的數(shù)目和種類增多,達到對數(shù)據(jù)增強的效果,能更好地提取人臉圖片的特征。
2 CNN卷積神經(jīng)網(wǎng)絡
卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)屬于前饋網(wǎng)絡,能從二維結構的圖片中提取面部特征,反向傳播算法用于優(yōu)化網(wǎng)絡結構并解決網(wǎng)絡中的未知參數(shù)。卷積神經(jīng)網(wǎng)絡的基本結構包括輸入層(Inputlayer)、卷積層(Convolytional layer)、最大池化層(Pooling layer)以及全連接層(Dense layer)。CNN通常應用到圖像處理,本文所用的卷積神經(jīng)網(wǎng)絡模型如圖3所示。該模型由4個卷積層、2個抽樣層(池化層)、1個全連接層組成。
2.1 卷積層
卷積層是進行平滑卷積,由一個可調(diào)參數(shù)的卷積核和上一層的卷積之后得到的特征圖進行平滑計算,加上偏置項得到一個輸出,然后用激活函數(shù)進行激活得到最終的卷積輸出結果,對整張圖片的卷積計算輸出新的特征圖[9],如式(1)~式(2)所示:
2.2 抽樣層
將圖像送入卷積神經(jīng)網(wǎng)絡之后,神經(jīng)網(wǎng)絡會將照片的特征進行提取,這些特征是具有很多信息的,由神經(jīng)網(wǎng)絡提取的特征用于分類。提取的特征可以用分類器訓練,但通常產(chǎn)生大量的計算。因此,在卷積之后,最大合并方法用于降維操作。這些特征區(qū)域被劃分為n×n個小塊,并且這些小區(qū)域的最大值被用作卷積特征,并且這些特征在維數(shù)減少操作之后更容易分類。輸出函數(shù)和最大值法、均值法如式(3)~式(5)所示:
2.3 全連接層
全連接層:使用Softmax完全連接,獲得的激活函數(shù)值是由卷積神經(jīng)網(wǎng)絡提取的圖像特征。應用較多的分類方法如式(6)所示:
3 實驗結果
對本文中的算法進行測試,應用的是南京大學公開的數(shù)據(jù)集NUAA[10],該公開的數(shù)據(jù)集在人臉活體檢測領域應用較廣,測試文本中的算法對于真實面部和虛假面部之間的區(qū)分是有效的。數(shù)據(jù)庫中有正反兩種圖片實例,正例是由高清攝像頭采集的15個人真人人臉圖像,反例是對這15個人的照片在攝像頭前進行拍攝的。反例樣本由兩種方式拍攝:一種是使用傳統(tǒng)方法將它們印刷在相紙上,其普通尺寸分別為6.8 cm×10.2 cm(小)和8.9 cm×12.7 cm(較大);另一種使用普通的彩色HP打印機在70 g A4紙上打印每張照片。數(shù)據(jù)集中的所有照片經(jīng)過人眼定位處理,使得圖片的大小一樣。15人正例樣本為5 708張照片,反例樣本為6 906張照片。正反樣例共計12 614張照片。從12 614張照片中隨機選取6 000張照片作為訓練集,使用3 000張照片作為測試集,并使用3 000張照片作為驗證集。訓練集、測試集、驗證集的圖片都是隨機選取的,里面包含正例和反例,這樣訓練起來樣本特征具有多樣性,對特征的提取更有利,并且能夠提高識別的準確率。將訓練集和測試集進行數(shù)據(jù)分配,如表1所示。
對于算法的有效性測試,本文將結果和傳統(tǒng)的算法LBP和GLCM應用SVM進行分類的算法進行比較,另外還與GLCM加上小波分析的改進算法進行比較,如表2所示。表中TP是真實人臉檢測的準確率,TN代表虛假人臉檢測正確率。
根據(jù)表2模型預測結果可知,CNN模型在NUAA數(shù)據(jù)集上對真實人臉的識別準確率達到了98.90%,識別率最高。GLCM準確率相比基于LBP特征由93.87%上升到94.27%,GLCM及小波特征準確率相比GLCM由94.27%上升到96.97%。CNN準確率相比GLCM及小波特征由96.97%上升到98.90%。
結合圖4和圖5可知,基于CNN模型在NUAA數(shù)據(jù)集上可以準確識別出真實人臉和假冒人臉。由圖4模型損失可知,訓練損失下降,測試損失下降,證明訓練過程沒有過擬合。根據(jù)圖5所示,模型的訓練準確率和測試準確率都很高,這表明本文的算法在NUAA數(shù)據(jù)集上有很好的識別率和穩(wěn)定性。
4 結論
本文結合深度學習對活體人臉的識別提出基于深度學習的人臉活體檢測方法,該方法很好地提取人臉特征,提高了識別的準確性。在實際應用中考慮到有更多的干擾因素,例如:拍攝光照、面部表情、相機像素等,這將是后續(xù)研究的重點。
參考文獻
[1] MARCEL S,NIXON M S,LI S Z.Handbook of biometric anti-spoofing[M].Springer,2014.
[2] MANJANI I,TARIYAL S,VATSA M,et al.Detecting silicone mask-based presentation attack via deep dictionary learning[J].IEEE Transactions on Information Forensics and Security,2017,12(7):1713-1723.
[3] XU Y,PRICE T,F(xiàn)RAHM M.Virtual U:defeating face live-ness detection by building virtual models from your public photos[C].Usenix Security Symposium,2016:497-512.
[4] CHOUDHURY T,CLARKSON B,JEBARA T,et al.Multimodal person recognition using unconstrained audio and video[C].AVBPA 99,Washington DC,1999:176-181.
[5] LI J,WANG Y,TAN T,et al.Live face detection based on the analysis of Fourier spectra[C].Biometric Technology for Human Identification.International Society for Optics and Photonics,2004.
[6] CHINGOVSKA I,ANJOS A,MARCEL S.On the effectiveness of local binary patterns in face anti-spoofing[C].Biometrics Special Interest Group,2012.
[7] MAATTA J,HADID A,PIETIKAINEN M.Face spoofing detection from single images using micro-texture analysis[C].International Joint Conference on Biometrics.IEEE,2011.
[8] PAN G,SUN L,WU Z,et al.Eyeblink-based anti-spoofing in face recognition from a generic webcamera[C].IEEE 11th International Conference on Computer Vision(ICCV),2007:1-7.
[9] 黃睿,陸許明,鄔依林.基于TensorFlow深度學習手寫體數(shù)字識別及應用[J].電子技術應用,2018,44(10):6-10.
[10] TAN X,LI Y,LIU J,et al.Face liveness detection from a single image with sparse low rank bilinear discriminative model[C].European Conference on Computer Vision.Springer,Berlin,Heidelberg,2010.
作者信息:
黃海新,張 東
(沈陽理工大學 自動化與電器工程學院,遼寧 沈陽110159)