文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190041
中文引用格式: 黃海新,張東. 基于深度學(xué)習(xí)的人臉活體檢測算法[J].電子技術(shù)應(yīng)用,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 引言
隨著時間的推移,生物特征識別技術(shù)在不斷地發(fā)展,并且已經(jīng)廣泛使用到諸如指紋識別和虹膜識別的身份認(rèn)證技術(shù)等領(lǐng)域。其中,人的面部都有很大的差異,具有不容易丟失、不容易竊取、對用戶友好等廣泛優(yōu)點(diǎn),容易被大眾所接受。人臉識別技術(shù)應(yīng)用較廣泛,很好地幫助了人們的生活和工作,如:案件偵破、上班打卡。但是人臉識別系統(tǒng)仍然容易受到攻擊,由于社交媒體的普及,面部圖像和視頻很容易獲得[1],例如演示攻擊可以記錄一個人的面部信息,在屏幕上重放,甚至通過3D人臉[2]或者VR[3]偽造來記錄人的面部信息,這帶來了極具挑戰(zhàn)性的安全問題。身份信息真實(shí)性的驗(yàn)證十分重要,因此活體檢測技術(shù)也是研究的重中之重。活體檢測是一種防止欺騙手段欺騙攝像頭的技術(shù),是捕獲人的特征信息來判斷信息的來源是不是來自真實(shí)活體上。隨著生物識別技術(shù)不斷的發(fā)展,在工作和生活中活體檢測被重視程度也逐漸增加,這一領(lǐng)域的研究成果也取得了很大的進(jìn)步,更多的研究人員致力于活體檢測。
現(xiàn)實(shí)的生活場景中,身份信息欺詐方式主要有3種:
(1)人臉照片:在生活中獲取一個人的圖片是很便捷的,在微信和微博等社交媒體便可獲得。欺騙的手段就是利用照片以模仿成人臉部的3D效果。
(2)人臉視頻:面部視頻能充分地模仿人臉,是最具欺詐性的,因?yàn)楦咔鍞z像頭拍攝的視頻會清晰完整記錄人臉的面部信息,最重要的是視頻將包含面部動作、面部表情和眨眼等功能,能很好地模仿真實(shí)人臉。
(3)面部三維模型欺騙:通過對人臉的三維建模,可以模仿人臉的運(yùn)動特征,頭部的基本運(yùn)動、講話、眨眼睛等動作都可以很好地模仿出來。因此,人臉照片和人臉視頻是主要的欺騙手段。
國內(nèi)外研究成果有很多,國內(nèi)外學(xué)者也慢慢注意到活體檢測這一領(lǐng)域,在這個領(lǐng)域的研究也是投入了大量的精力,國內(nèi)和國際期刊和國際會議上涉及的生物識別論文數(shù)量也在增加,并且提出了許多算法。如今,區(qū)分活體人臉檢測的方法有:
(1)基于面部運(yùn)動信息:對于靜態(tài)人臉圖片,人臉的面部照片是二維結(jié)構(gòu),真實(shí)人臉的面部是三維結(jié)構(gòu),本質(zhì)上有著很大的區(qū)別,運(yùn)動信息也是有著天差地別。CHOUDHARY T[4]等人根據(jù)人臉的運(yùn)動信息區(qū)別做了活體檢測實(shí)驗(yàn),首先,檢測面部器官(眼睛、鼻子、嘴等)作為檢測的特征點(diǎn),然后,基于運(yùn)動的面部估算出這些特征點(diǎn)的三維坐標(biāo),真實(shí)人臉的結(jié)構(gòu)是3D結(jié)構(gòu),欺騙人臉是2D結(jié)構(gòu)。
(2)基于紋理信息分析:研究人員根據(jù)真實(shí)人臉的虛擬成像形成了虛假人臉這一線索,對區(qū)分照片的紋理性差異這一方向展開了研究。TAN T[5]區(qū)分活體人臉和虛假人臉的方法是基于傅里葉頻譜。ANJOS A[6]、MAATTA J[7]等人對LBP對面部特征提取的有效性進(jìn)行了分析;MAATTA J通過應(yīng)用LBP提取和使用SVM進(jìn)行分類訓(xùn)練來提取面部特征。2012年MAATTA J等人提出了改進(jìn)算法,將LBP、Gabor wavelet和HOG 3種特征進(jìn)行融合。這3種方式需要計算空間較大,提取特征較多,增加了計算難度。
(3)基于多模態(tài)特征分析:通過人臉照片實(shí)現(xiàn)活體檢測,欺騙手段種類較多且復(fù)雜,具有很大威脅性,隱患較大,如果結(jié)合多模態(tài)特征,如:眼睛、鼻子、耳朵、語音、指紋或虹膜等,活體檢測的準(zhǔn)確率也會隨之增加。PAN G[8]等人結(jié)合人的面部動作眨眼和現(xiàn)實(shí)場景線索進(jìn)行判別。為增加人臉活體判別的準(zhǔn)確率,各種方法層出不窮,研究人員提出將虹膜和人臉相結(jié)合、人臉結(jié)合語音等多種結(jié)合方式的檢測方法,雖然這種方法可以提高識別精度,但對設(shè)備要求較高,成本較高。
本文提出的基于深度學(xué)習(xí)的活體檢測方法對活體人臉照片進(jìn)行預(yù)處理,人臉照片的特征提取應(yīng)用的是卷積神經(jīng)網(wǎng)絡(luò),并且將這些特征進(jìn)行訓(xùn)練,然后經(jīng)過Sofmax分類器進(jìn)行真假判別,并在公開的數(shù)據(jù)集上進(jìn)行驗(yàn)證。該方法無需用戶的主動配合,訓(xùn)練過程簡單,驗(yàn)證準(zhǔn)確率高,降低了算法的難度。
1 基于深度學(xué)習(xí)的活體檢測方案
對于真實(shí)人臉和人臉成像,肉眼很難分辨出來,如圖1所示。事實(shí)上活體人臉是一個很復(fù)雜的三維結(jié)構(gòu),每個角度的面部光的反射都是不同的,因此會產(chǎn)生不同的反射和陰影;真實(shí)的人臉是三維結(jié)構(gòu),照片人臉是平面結(jié)構(gòu),因此面部特征有明顯的不同;因?yàn)槊總€像素點(diǎn)會有不同,經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)提取的特征會有很大的差異性,這一差異可以用來判別是真實(shí)人臉還是照片人臉。因此本文提出基于深度學(xué)習(xí)的活體檢測方法來解決人臉活體照片判別這一問題。
首先,對數(shù)據(jù)集進(jìn)行分類。一種是真實(shí)的人臉,另一種是照片人臉。在Keras深度學(xué)習(xí)框架之下,使用Tensor-Flow作為后端,采用Python語言編程對真實(shí)人臉和照片人臉這兩類圖片進(jìn)行切割,切割成RGB格式的圖片,大小為64×64,并將數(shù)據(jù)集劃分為驗(yàn)證集、訓(xùn)練集、測試集?;谏疃葘W(xué)習(xí)的人臉活體檢測算法流程圖如圖2所示。
將訓(xùn)練集樣本進(jìn)行預(yù)處理,將訓(xùn)練集圖片進(jìn)行隨機(jī)的水平旋轉(zhuǎn),調(diào)整圖片水平旋轉(zhuǎn)的偏移幅度,使圖片的數(shù)目和種類增多,達(dá)到對數(shù)據(jù)增強(qiáng)的效果,能更好地提取人臉圖片的特征。
2 CNN卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)屬于前饋網(wǎng)絡(luò),能從二維結(jié)構(gòu)的圖片中提取面部特征,反向傳播算法用于優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)并解決網(wǎng)絡(luò)中的未知參數(shù)。卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)包括輸入層(Inputlayer)、卷積層(Convolytional layer)、最大池化層(Pooling layer)以及全連接層(Dense layer)。CNN通常應(yīng)用到圖像處理,本文所用的卷積神經(jīng)網(wǎng)絡(luò)模型如圖3所示。該模型由4個卷積層、2個抽樣層(池化層)、1個全連接層組成。
2.1 卷積層
卷積層是進(jìn)行平滑卷積,由一個可調(diào)參數(shù)的卷積核和上一層的卷積之后得到的特征圖進(jìn)行平滑計算,加上偏置項得到一個輸出,然后用激活函數(shù)進(jìn)行激活得到最終的卷積輸出結(jié)果,對整張圖片的卷積計算輸出新的特征圖[9],如式(1)~式(2)所示:
2.2 抽樣層
將圖像送入卷積神經(jīng)網(wǎng)絡(luò)之后,神經(jīng)網(wǎng)絡(luò)會將照片的特征進(jìn)行提取,這些特征是具有很多信息的,由神經(jīng)網(wǎng)絡(luò)提取的特征用于分類。提取的特征可以用分類器訓(xùn)練,但通常產(chǎn)生大量的計算。因此,在卷積之后,最大合并方法用于降維操作。這些特征區(qū)域被劃分為n×n個小塊,并且這些小區(qū)域的最大值被用作卷積特征,并且這些特征在維數(shù)減少操作之后更容易分類。輸出函數(shù)和最大值法、均值法如式(3)~式(5)所示:
2.3 全連接層
全連接層:使用Softmax完全連接,獲得的激活函數(shù)值是由卷積神經(jīng)網(wǎng)絡(luò)提取的圖像特征。應(yīng)用較多的分類方法如式(6)所示:
3 實(shí)驗(yàn)結(jié)果
對本文中的算法進(jìn)行測試,應(yīng)用的是南京大學(xué)公開的數(shù)據(jù)集NUAA[10],該公開的數(shù)據(jù)集在人臉活體檢測領(lǐng)域應(yīng)用較廣,測試文本中的算法對于真實(shí)面部和虛假面部之間的區(qū)分是有效的。數(shù)據(jù)庫中有正反兩種圖片實(shí)例,正例是由高清攝像頭采集的15個人真人人臉圖像,反例是對這15個人的照片在攝像頭前進(jìn)行拍攝的。反例樣本由兩種方式拍攝:一種是使用傳統(tǒng)方法將它們印刷在相紙上,其普通尺寸分別為6.8 cm×10.2 cm(小)和8.9 cm×12.7 cm(較大);另一種使用普通的彩色HP打印機(jī)在70 g A4紙上打印每張照片。數(shù)據(jù)集中的所有照片經(jīng)過人眼定位處理,使得圖片的大小一樣。15人正例樣本為5 708張照片,反例樣本為6 906張照片。正反樣例共計12 614張照片。從12 614張照片中隨機(jī)選取6 000張照片作為訓(xùn)練集,使用3 000張照片作為測試集,并使用3 000張照片作為驗(yàn)證集。訓(xùn)練集、測試集、驗(yàn)證集的圖片都是隨機(jī)選取的,里面包含正例和反例,這樣訓(xùn)練起來樣本特征具有多樣性,對特征的提取更有利,并且能夠提高識別的準(zhǔn)確率。將訓(xùn)練集和測試集進(jìn)行數(shù)據(jù)分配,如表1所示。
對于算法的有效性測試,本文將結(jié)果和傳統(tǒng)的算法LBP和GLCM應(yīng)用SVM進(jìn)行分類的算法進(jìn)行比較,另外還與GLCM加上小波分析的改進(jìn)算法進(jìn)行比較,如表2所示。表中TP是真實(shí)人臉檢測的準(zhǔn)確率,TN代表虛假人臉檢測正確率。
根據(jù)表2模型預(yù)測結(jié)果可知,CNN模型在NUAA數(shù)據(jù)集上對真實(shí)人臉的識別準(zhǔn)確率達(dá)到了98.90%,識別率最高。GLCM準(zhǔn)確率相比基于LBP特征由93.87%上升到94.27%,GLCM及小波特征準(zhǔn)確率相比GLCM由94.27%上升到96.97%。CNN準(zhǔn)確率相比GLCM及小波特征由96.97%上升到98.90%。
結(jié)合圖4和圖5可知,基于CNN模型在NUAA數(shù)據(jù)集上可以準(zhǔn)確識別出真實(shí)人臉和假冒人臉。由圖4模型損失可知,訓(xùn)練損失下降,測試損失下降,證明訓(xùn)練過程沒有過擬合。根據(jù)圖5所示,模型的訓(xùn)練準(zhǔn)確率和測試準(zhǔn)確率都很高,這表明本文的算法在NUAA數(shù)據(jù)集上有很好的識別率和穩(wěn)定性。
4 結(jié)論
本文結(jié)合深度學(xué)習(xí)對活體人臉的識別提出基于深度學(xué)習(xí)的人臉活體檢測方法,該方法很好地提取人臉特征,提高了識別的準(zhǔn)確性。在實(shí)際應(yīng)用中考慮到有更多的干擾因素,例如:拍攝光照、面部表情、相機(jī)像素等,這將是后續(xù)研究的重點(diǎn)。
參考文獻(xiàn)
[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深度學(xué)習(xí)手寫體數(shù)字識別及應(yīng)用[J].電子技術(shù)應(yīng)用,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.
作者信息:
黃海新,張 東
(沈陽理工大學(xué) 自動化與電器工程學(xué)院,遼寧 沈陽110159)