周 航,蔡茂國,唐劍蘭,徐 翔
(深圳大學(xué)電子與通信工程學(xué)院,廣東 深圳 518000)
人臉識別技術(shù)是身份識別的一種重要手段,已廣泛應(yīng)用于日常生活中,如工作考勤簽到、人臉支付、公共刑事調(diào)查追蹤、金融機構(gòu)門禁、自動駕駛和機器人識別等。但與傳統(tǒng)指紋、虹膜等生物識別技術(shù)相比,人臉圖像由于網(wǎng)絡(luò)的傳播,在給生活帶來便利的同時也帶來了一定的安全風(fēng)險,即攝像頭識別的不是真實的活體人臉,而是人臉圖像的二次采集,如人臉照片的高清打印[1],具有代表性的人臉視頻重放攻擊[1]和3D面具攻擊[2],對識別系統(tǒng)的安全性構(gòu)成嚴(yán)重威脅。
目前人臉活體檢測技術(shù)為四大類:交互式人臉活體檢測、額外硬件設(shè)備的人臉活體檢測、傳統(tǒng)手工提取的人臉活體檢測,基于深度學(xué)習(xí)的人臉活體檢測算法。其中交互式人臉活體檢測算法主要利用活體人臉的宿主是有生命的人類,可以按照設(shè)備的指示做出點頭、搖頭、向左看、做表情等動作,甚至根據(jù)設(shè)備提示朗讀任意一段文字等聲音,而假體面孔則很難做到。Wang等人[3]通過檢測人臉嘴部區(qū)域的二值變化范圍進行唇語識別,輔以語音識別來獲取用戶反應(yīng)的語音信息,共同判斷用戶是否按照要求讀出隨機給出的語句。Singh等人[4]通過眨眼和張嘴的動作來判斷是否為活體,主要是計算眼睛和牙齒的HSV(色調(diào)、飽和度、值)以確定眼睛嘴巴是否做出相應(yīng)動作。Ng等人[5]引導(dǎo)用戶完成隨機面部表情并通過計算多幀圖像的SIFT流能量來判斷是否完成指定面部表情?;谌藱C交互的方法通過精心設(shè)計的交互動作,可以有效降低類間差異對算法性能的影響。因此,它具有較高的識別率和良好的通用性,然而人臉防欺騙檢測方法需要從多幀圖像中識別用戶是否完成了的動作,與基于單幀的算法相比,計算量大,所需時間長。而且它要求活體高度合作,檢測過程繁瑣,用戶體驗不好,因此違背了人臉識別技術(shù)的便利性和天然優(yōu)勢。
使用特定硬件或傳感器的人臉活體檢測算法主要依賴于3D結(jié)構(gòu)光傳感器、近紅外(IR)傳感器、熱紅外傳感器等。通常,此類特定傳感器極大促進了活體檢測的精確性。例如,3D結(jié)構(gòu)光可以通過檢測深度圖來區(qū)分3D人臉攻擊和2D平面攻擊[6],而IR傳感器可以輕松檢測視頻重放攻擊(因為電子顯示器在IR照明下幾乎呈現(xiàn)一致的黑暗)[7-9],熱紅外傳感器可以檢測活體面部的特征溫度分布[10]。盡管這些算法的識別精度較高,但由于硬件傳感器昂貴以及算法對硬件的適配成本導(dǎo)致此類算法在實際應(yīng)用中并不具有普遍性。
傳統(tǒng)手工設(shè)計特征表達的人臉活體檢測算法主要利用假體圖像在二次采集的過程中會丟失信息,并夾雜一定的噪聲。此類算法根據(jù)活體與假體的先驗知識差異來提取特征,并將提取出的特征輸入合適的分類器進行分類。常見的檢測方法包括基于紋理的方法[11-15]、基于圖像質(zhì)量的方法[16-18]、基于生命信息的方法[19],文獻[20-23] 利用遠(yuǎn)程光學(xué)體積描記術(shù)(Remote Photo plethysmo graphy,rPPG) 信號檢測待測對象是否具有心率,并以此判斷是否為活體人臉。雖然基于手工設(shè)計提取的方法在某些場景下也能取得不錯的準(zhǔn)確率,但由于手工設(shè)計特征作為淺層特征,表達能力一般,不能有效表征活體人臉和假體人臉之間的多重差異導(dǎo)致模型的泛化能力較弱。
近年來隨著卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等特征提取器的日益強大,通過設(shè)計特定的網(wǎng)絡(luò)結(jié)構(gòu)直接從圖片中提取可識別信息,然后利用訓(xùn)練好的模型直接區(qū)分有生命特征和無生命特征成為主流的方法。Yang等人[24]在2014首次將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到人臉活體檢測上,他設(shè)計了十三層的卷積神經(jīng)網(wǎng)絡(luò)從單模RGB圖片中抽取特征進行訓(xùn)練來判斷活體真假,但該算法使用的數(shù)據(jù)集攻擊類型單一,削弱了網(wǎng)絡(luò)的泛化能力。Parkin等人[25]分別設(shè)計了18層、34層、50層殘差網(wǎng)絡(luò)來判斷活體增加,雖然取得了不錯的準(zhǔn)確率,但是模型復(fù)雜度高,計算量大,實時性低,對終端設(shè)備要求較高。
為了提高人臉活體檢測系統(tǒng)的準(zhǔn)確度,同時減少計算量,增加實時性,本文提出了一個基于FeatherNet的改進活體檢測模型,網(wǎng)絡(luò)輸入結(jié)構(gòu)由Depth和IR圖像組成多模態(tài)輸入,并且在網(wǎng)絡(luò)訓(xùn)練中進行特征級融合,增強了人臉活體特征的互補性,同時在網(wǎng)絡(luò)中加入了注意力機制網(wǎng)絡(luò)SENet,在提高活體檢測精度的同時并不會降低檢測的實時性,實驗結(jié)果表明本文方法具有良好的檢測效果。
目前大部分深度神經(jīng)網(wǎng)絡(luò)算法都是使用單模態(tài)RGB圖像作為網(wǎng)絡(luò)輸入,這種算法輸入圖像單一,在復(fù)雜環(huán)境中容易過擬合。為了克服單模態(tài)信息的局限性,本文將Depth圖像和IR圖像作為網(wǎng)絡(luò)的輸入,可以從多個不同模態(tài)的人臉圖像中提取高層語義的特征表達,不僅能夠提高活體檢測的準(zhǔn)確度,而且對于改善算法的泛化性和魯棒性也有重大意義。
真人在攝像頭的成像實際是由皮膚反射的光線被攝像頭的傳感器所捕捉導(dǎo)致的,RGB圖像對自然光的強弱變化比較敏感,而近紅外圖像具有光照不變性,不同強弱的自然光照對紅外成像幾無影響,針對此特性把IR圖像作為算法網(wǎng)絡(luò)的一端輸入可有效提高不同光照場景下的人臉活體檢測算法準(zhǔn)確率。除此之外,近紅外線還有在光滑表面例如油脂面,玻璃鏡面無法成像的特性,此特性可以有效解決高清光滑打印圖片攻擊和電子屏幕重放攻擊。圖1為IR圖像示例。
真實人臉和假體人臉在攝像機面前的本質(zhì)區(qū)別在于假體人臉是真實人臉圖像的二次采集產(chǎn)生的,這其中會造成人臉關(guān)鍵信息(如紋理,圖像質(zhì)量等)的損失以及噪聲的增加。許多傳統(tǒng)方法就是利用這種特性來設(shè)計算法的。此外不論是高清打印照片攻擊還是視頻重放攻擊它在真實攝像頭的成像都是二維,而真實人臉的成像是三維帶有深度特征的圖像,通過Depth模態(tài)圖像作為網(wǎng)絡(luò)的一端進行訓(xùn)練可以準(zhǔn)確的提取出活體與假體人臉的深度特征差異。如圖2。
圖2 Depth圖像
注意力機制[26](Attention Mechanism)模仿人類視覺機制,忽略相對無關(guān)區(qū)域特征,在活體檢測中讓網(wǎng)絡(luò)學(xué)習(xí)更加值得關(guān)注的特征,如眼睛,嘴巴,鼻子等區(qū)域。SEBlock模塊旨在通過使網(wǎng)絡(luò)能夠動態(tài)調(diào)制各通道的權(quán)重,從而重新校準(zhǔn)特征來提高網(wǎng)絡(luò)的表征能力。圖3為SEBlock原理圖。
圖3 SEBlock圖像
SE-FeatherNet網(wǎng)絡(luò)結(jié)構(gòu)主要綜合了以下幾種思想,利用Depth和IR圖像的特性提取特征并進行特征融合以獲得更加泛化多樣的特征,基于squeeze and excitation結(jié)構(gòu)的輕量級注意力機制以及FeatherNet的Stream module(流模塊),在許多目標(biāo)檢測中許多網(wǎng)絡(luò)算法如ResNets、DenseNet、MobileNetV2為了降低特征圖的維度,減少計算量防止過擬合都是使用全局平均池化層(global average pool,GAP)。但在活體檢測分類中使用GAP會對準(zhǔn)確性產(chǎn)生不利影響,因為與目標(biāo)檢測不同,跟人臉相關(guān)的圖像中心區(qū)域的特征權(quán)重應(yīng)高于邊緣區(qū)域,尤其是鼻子,眼睛,嘴巴等地方。一種可以區(qū)分區(qū)域權(quán)重的常見做法是使用全連接層,但是如今應(yīng)用在手機等嵌入式設(shè)備的算法對網(wǎng)絡(luò)實時性要求較高,而且參數(shù)的增多也會降低網(wǎng)絡(luò)的泛化性,流模塊(Stream module)能夠較好的解決這個問題。Stream Module由深度可分離卷積[27](depthwise convolution,DWConv)和1×1的卷積層組成,先使用步長大于1的DWconv層進行下采樣后展平變成一維的特征圖,如下式
(1)
其中FDm展平后的一維特征圖,K為深度可分離卷積核,F為輸入特征映射圖,尺度大小為,H×W×M(H,W,M分別為高度,寬度和通道數(shù)),i,j表示核K的空間位置。然后通過1×1卷積進行線性激活作為特征輸出層,最后通過Softmax函數(shù)激活從而真假分類,圖4為具體網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖4 SE-FeatherNet結(jié)構(gòu)圖
圖5 混淆矩陣
目前網(wǎng)絡(luò)上公開的大部分人臉反欺騙照片數(shù)據(jù)集不論是受試人員數(shù)量(≤170)、模態(tài)(≤2)以及攻擊種類方式都是比較匱乏單一的,這不利于活體檢測的算法的研究發(fā)展,尤其是數(shù)據(jù)集規(guī)模太小會存在算法性能的偶然性判斷。本文使用的CASIA-SURF[28]數(shù)據(jù)集是目前網(wǎng)絡(luò)公開最大的一個圖像數(shù)據(jù)集,它收集了由Intel RealSense SR300 拍攝的1000名不同年齡段受試者的21,000個視頻。對視頻每10幀采樣1幀作為樣本共計得到得到96584張人臉圖像,其中假體29393張,活體67191張,每張圖像都有RGB,IR,Depth3種模態(tài)。共有6中攻擊類型:分別為
1) 將摳除了眼睛的A4紙平鋪在臉上。
2) 將摳除了眼睛的A4紙彎曲的放在臉上。
3) 將摳除了眼睛和鼻子的A4紙平鋪在臉上。
4) 將摳除了眼睛和鼻子的A4紙彎曲的放在臉上。
5) 將摳除了眼睛和鼻子和嘴巴的A4紙平鋪在臉上。
6) 將摳除了眼睛和鼻子和嘴巴的A4紙彎曲的放在臉上。
人臉活體檢測本質(zhì)是一個二分類問題,活體為負(fù)例(negative,陰性),假體為正例(positive,陽性),常用混淆矩陣來表示:
TN表示實際為活體預(yù)測也為活體的數(shù)量,TP表示實際為假體預(yù)測也為假體的數(shù)量,FP表示實際為活體預(yù)測為假體的數(shù)量,FN表示實際為假體預(yù)測為活體的數(shù)量,檢測正確率(Accurary,ACCR)是最常見的評價指標(biāo),通常ACCR越高,性能越好:定義如下
(2)
錯誤接受率(False Acceptance Rate,FAR)表示被錯誤分類的假體占所有假體樣本的比例;錯誤拒絕率(False Rejection Rate,FRR)表示被錯誤分類的活體占所有活體樣本的比例;等錯誤率(Equal Error Rate,EER)表示利用像本數(shù)據(jù)進行測試得到的ROC受試曲線上FAR和FRR相等時的值;半錯誤率(Half Total Error Rate,HTER)為FRR與FAR的均值;定義如下
(3)
(4)
(5)
真正類率TPR(True Positive Rate)表示把假體樣本正確判斷為假體的比例,與錯誤接受率成反比,TPR@10e-2FRR表示當(dāng)FRR為10e-2級別時TPR的數(shù)值,之所以采用這種形式是因為在不同的FRR度量下的TPR值是不同的,這個數(shù)值越大,算法性能越強。
本實驗將RGB圖剔除,在數(shù)據(jù)集中選取70%的圖片作為驗證和測試的集合,其次在集合中按照相同的方式隨機抽取10%的圖片作驗證集,剩下的作為測試集,所以整個訓(xùn)練集、測試集以及驗證集所占比例為0.3:0.6:0.1。模型訓(xùn)練的硬件環(huán)境為Intel Xeon E3-1225處理器,內(nèi)存16G,搭載Tesla K40C顯卡,顯存為12G,軟件環(huán)境為在系統(tǒng)中搭建Pytorch的Python3.6環(huán)境進行訓(xùn)練,batch size為32,學(xué)習(xí)率為0.01,使用SGD優(yōu)化算法,總共迭代100個epoch。具體實驗環(huán)境配置見表1。
表1 本文環(huán)境配置
在實驗中本文算法與FishNet150、FeatherNet、MobileNetV2、MobileLiteNet54模型進行對比實驗,訓(xùn)練集的準(zhǔn)確率與Loss如下圖6、7,驗證集的準(zhǔn)確率如圖8。
圖6 訓(xùn)練集準(zhǔn)確率
圖7 訓(xùn)練集損失
圖8 驗證集準(zhǔn)確率
從訓(xùn)練集準(zhǔn)確率曲線和損失函數(shù)曲線可以得到,盡管本文所提出的方法收斂速度并沒有其它幾種方法快,但是其它模型或多或少會有一些比較大的抖動,魯棒性并不高,而這種魯棒性對于活體檢測復(fù)雜多變的環(huán)境影響是非常大的。
從驗證集準(zhǔn)確率曲線圖可以看出盡管每種方法在訓(xùn)練集上的準(zhǔn)確率都比較高,但是在驗證集的上卻不盡相同,比如MobileLiteNet54網(wǎng)絡(luò)收斂較快,但是準(zhǔn)確率不高并且產(chǎn)生了過擬合,其它網(wǎng)絡(luò)不論是準(zhǔn)確率還是穩(wěn)定性都跟本文方法有一定的差距。為了進一步比較各模型的性能,本文選取各模型在驗證集上準(zhǔn)確率最好的參數(shù)模型,分別在測試集上進行驗證,結(jié)果如表2。
表2 各模型測試集數(shù)據(jù)
由表2數(shù)據(jù)可知,本文算法在各個評價標(biāo)準(zhǔn)都比較均衡,在準(zhǔn)確率ACC、半錯誤率EER、HTER相比其它算法都要較好的表現(xiàn),但真正類率TPR@FRR這一數(shù)值上與MobileNetV2仍有細(xì)微的差距,但較其它算法仍然一定的優(yōu)越性。
由于在復(fù)雜環(huán)境下單RGB模態(tài)的圖像不能很好的表征活體與假體人臉之間的差異性,本文在FeatherNet的基礎(chǔ)上提出了一種IR、Depth多模態(tài)融合的深度卷積神經(jīng)網(wǎng)絡(luò)算法,有效增強提取特征的互補性以及增強了網(wǎng)絡(luò)的泛化能力,并針對人臉圖像中心區(qū)域的特征權(quán)重應(yīng)當(dāng)高于邊緣區(qū)域,使用Stream module代替GAP的同時降低了網(wǎng)絡(luò)的參數(shù)量,可以滿足移動手機等嵌入式設(shè)備算力低和實時性高的要求,并在網(wǎng)絡(luò)中增加了自注意力機制模塊SEBlock進一步提取人臉特征。通過對比實驗,不論是準(zhǔn)確率、泛化性還是參數(shù)大小都有一定的優(yōu)勢。
但受限于數(shù)據(jù)集的種類和算力,針對3D打印面具的攻擊,本文算法的準(zhǔn)確率并不高,在今后的研究中會加強這一部分的研究并設(shè)計出更實用的算法模型。