?

結合多模態和注意力機制的人臉活體檢測算法

2023-10-29 01:32蔡茂國唐劍蘭
計算機仿真 2023年9期
關鍵詞:活體人臉假體

周 航,蔡茂國,唐劍蘭,徐 翔

(深圳大學電子與通信工程學院,廣東 深圳 518000)

1 引言

人臉識別技術是身份識別的一種重要手段,已廣泛應用于日常生活中,如工作考勤簽到、人臉支付、公共刑事調查追蹤、金融機構門禁、自動駕駛和機器人識別等。但與傳統指紋、虹膜等生物識別技術相比,人臉圖像由于網絡的傳播,在給生活帶來便利的同時也帶來了一定的安全風險,即攝像頭識別的不是真實的活體人臉,而是人臉圖像的二次采集,如人臉照片的高清打印[1],具有代表性的人臉視頻重放攻擊[1]和3D面具攻擊[2],對識別系統的安全性構成嚴重威脅。

目前人臉活體檢測技術為四大類:交互式人臉活體檢測、額外硬件設備的人臉活體檢測、傳統手工提取的人臉活體檢測,基于深度學習的人臉活體檢測算法。其中交互式人臉活體檢測算法主要利用活體人臉的宿主是有生命的人類,可以按照設備的指示做出點頭、搖頭、向左看、做表情等動作,甚至根據設備提示朗讀任意一段文字等聲音,而假體面孔則很難做到。Wang等人[3]通過檢測人臉嘴部區域的二值變化范圍進行唇語識別,輔以語音識別來獲取用戶反應的語音信息,共同判斷用戶是否按照要求讀出隨機給出的語句。Singh等人[4]通過眨眼和張嘴的動作來判斷是否為活體,主要是計算眼睛和牙齒的HSV(色調、飽和度、值)以確定眼睛嘴巴是否做出相應動作。Ng等人[5]引導用戶完成隨機面部表情并通過計算多幀圖像的SIFT流能量來判斷是否完成指定面部表情?;谌藱C交互的方法通過精心設計的交互動作,可以有效降低類間差異對算法性能的影響。因此,它具有較高的識別率和良好的通用性,然而人臉防欺騙檢測方法需要從多幀圖像中識別用戶是否完成了的動作,與基于單幀的算法相比,計算量大,所需時間長。而且它要求活體高度合作,檢測過程繁瑣,用戶體驗不好,因此違背了人臉識別技術的便利性和天然優勢。

使用特定硬件或傳感器的人臉活體檢測算法主要依賴于3D結構光傳感器、近紅外(IR)傳感器、熱紅外傳感器等。通常,此類特定傳感器極大促進了活體檢測的精確性。例如,3D結構光可以通過檢測深度圖來區分3D人臉攻擊和2D平面攻擊[6],而IR傳感器可以輕松檢測視頻重放攻擊(因為電子顯示器在IR照明下幾乎呈現一致的黑暗)[7-9],熱紅外傳感器可以檢測活體面部的特征溫度分布[10]。盡管這些算法的識別精度較高,但由于硬件傳感器昂貴以及算法對硬件的適配成本導致此類算法在實際應用中并不具有普遍性。

傳統手工設計特征表達的人臉活體檢測算法主要利用假體圖像在二次采集的過程中會丟失信息,并夾雜一定的噪聲。此類算法根據活體與假體的先驗知識差異來提取特征,并將提取出的特征輸入合適的分類器進行分類。常見的檢測方法包括基于紋理的方法[11-15]、基于圖像質量的方法[16-18]、基于生命信息的方法[19],文獻[20-23] 利用遠程光學體積描記術(Remote Photo plethysmo graphy,rPPG) 信號檢測待測對象是否具有心率,并以此判斷是否為活體人臉。雖然基于手工設計提取的方法在某些場景下也能取得不錯的準確率,但由于手工設計特征作為淺層特征,表達能力一般,不能有效表征活體人臉和假體人臉之間的多重差異導致模型的泛化能力較弱。

近年來隨著卷積神經網絡、循環神經網絡等特征提取器的日益強大,通過設計特定的網絡結構直接從圖片中提取可識別信息,然后利用訓練好的模型直接區分有生命特征和無生命特征成為主流的方法。Yang等人[24]在2014首次將卷積神經網絡應用到人臉活體檢測上,他設計了十三層的卷積神經網絡從單模RGB圖片中抽取特征進行訓練來判斷活體真假,但該算法使用的數據集攻擊類型單一,削弱了網絡的泛化能力。Parkin等人[25]分別設計了18層、34層、50層殘差網絡來判斷活體增加,雖然取得了不錯的準確率,但是模型復雜度高,計算量大,實時性低,對終端設備要求較高。

為了提高人臉活體檢測系統的準確度,同時減少計算量,增加實時性,本文提出了一個基于FeatherNet的改進活體檢測模型,網絡輸入結構由Depth和IR圖像組成多模態輸入,并且在網絡訓練中進行特征級融合,增強了人臉活體特征的互補性,同時在網絡中加入了注意力機制網絡SENet,在提高活體檢測精度的同時并不會降低檢測的實時性,實驗結果表明本文方法具有良好的檢測效果。

2 相關工作

目前大部分深度神經網絡算法都是使用單模態RGB圖像作為網絡輸入,這種算法輸入圖像單一,在復雜環境中容易過擬合。為了克服單模態信息的局限性,本文將Depth圖像和IR圖像作為網絡的輸入,可以從多個不同模態的人臉圖像中提取高層語義的特征表達,不僅能夠提高活體檢測的準確度,而且對于改善算法的泛化性和魯棒性也有重大意義。

2.1 IR圖像

真人在攝像頭的成像實際是由皮膚反射的光線被攝像頭的傳感器所捕捉導致的,RGB圖像對自然光的強弱變化比較敏感,而近紅外圖像具有光照不變性,不同強弱的自然光照對紅外成像幾無影響,針對此特性把IR圖像作為算法網絡的一端輸入可有效提高不同光照場景下的人臉活體檢測算法準確率。除此之外,近紅外線還有在光滑表面例如油脂面,玻璃鏡面無法成像的特性,此特性可以有效解決高清光滑打印圖片攻擊和電子屏幕重放攻擊。圖1為IR圖像示例。

2.2 Depth圖像

真實人臉和假體人臉在攝像機面前的本質區別在于假體人臉是真實人臉圖像的二次采集產生的,這其中會造成人臉關鍵信息(如紋理,圖像質量等)的損失以及噪聲的增加。許多傳統方法就是利用這種特性來設計算法的。此外不論是高清打印照片攻擊還是視頻重放攻擊它在真實攝像頭的成像都是二維,而真實人臉的成像是三維帶有深度特征的圖像,通過Depth模態圖像作為網絡的一端進行訓練可以準確的提取出活體與假體人臉的深度特征差異。如圖2。

圖2 Depth圖像

2.3 注意力機制SEBlock

注意力機制[26](Attention Mechanism)模仿人類視覺機制,忽略相對無關區域特征,在活體檢測中讓網絡學習更加值得關注的特征,如眼睛,嘴巴,鼻子等區域。SEBlock模塊旨在通過使網絡能夠動態調制各通道的權重,從而重新校準特征來提高網絡的表征能力。圖3為SEBlock原理圖。

圖3 SEBlock圖像

2.4 網絡結構

SE-FeatherNet網絡結構主要綜合了以下幾種思想,利用Depth和IR圖像的特性提取特征并進行特征融合以獲得更加泛化多樣的特征,基于squeeze and excitation結構的輕量級注意力機制以及FeatherNet的Stream module(流模塊),在許多目標檢測中許多網絡算法如ResNets、DenseNet、MobileNetV2為了降低特征圖的維度,減少計算量防止過擬合都是使用全局平均池化層(global average pool,GAP)。但在活體檢測分類中使用GAP會對準確性產生不利影響,因為與目標檢測不同,跟人臉相關的圖像中心區域的特征權重應高于邊緣區域,尤其是鼻子,眼睛,嘴巴等地方。一種可以區分區域權重的常見做法是使用全連接層,但是如今應用在手機等嵌入式設備的算法對網絡實時性要求較高,而且參數的增多也會降低網絡的泛化性,流模塊(Stream module)能夠較好的解決這個問題。Stream Module由深度可分離卷積[27](depthwise convolution,DWConv)和1×1的卷積層組成,先使用步長大于1的DWconv層進行下采樣后展平變成一維的特征圖,如下式

(1)

其中FDm展平后的一維特征圖,K為深度可分離卷積核,F為輸入特征映射圖,尺度大小為,H×W×M(H,W,M分別為高度,寬度和通道數),i,j表示核K的空間位置。然后通過1×1卷積進行線性激活作為特征輸出層,最后通過Softmax函數激活從而真假分類,圖4為具體網絡結構圖。

圖4 SE-FeatherNet結構圖

圖5 混淆矩陣

3 實驗與分析

3.1 數據集介紹

目前網絡上公開的大部分人臉反欺騙照片數據集不論是受試人員數量(≤170)、模態(≤2)以及攻擊種類方式都是比較匱乏單一的,這不利于活體檢測的算法的研究發展,尤其是數據集規模太小會存在算法性能的偶然性判斷。本文使用的CASIA-SURF[28]數據集是目前網絡公開最大的一個圖像數據集,它收集了由Intel RealSense SR300 拍攝的1000名不同年齡段受試者的21,000個視頻。對視頻每10幀采樣1幀作為樣本共計得到得到96584張人臉圖像,其中假體29393張,活體67191張,每張圖像都有RGB,IR,Depth3種模態。共有6中攻擊類型:分別為

1) 將摳除了眼睛的A4紙平鋪在臉上。

2) 將摳除了眼睛的A4紙彎曲的放在臉上。

3) 將摳除了眼睛和鼻子的A4紙平鋪在臉上。

4) 將摳除了眼睛和鼻子的A4紙彎曲的放在臉上。

5) 將摳除了眼睛和鼻子和嘴巴的A4紙平鋪在臉上。

6) 將摳除了眼睛和鼻子和嘴巴的A4紙彎曲的放在臉上。

3.2 模型評價標準

人臉活體檢測本質是一個二分類問題,活體為負例(negative,陰性),假體為正例(positive,陽性),常用混淆矩陣來表示:

TN表示實際為活體預測也為活體的數量,TP表示實際為假體預測也為假體的數量,FP表示實際為活體預測為假體的數量,FN表示實際為假體預測為活體的數量,檢測正確率(Accurary,ACCR)是最常見的評價指標,通常ACCR越高,性能越好:定義如下

(2)

錯誤接受率(False Acceptance Rate,FAR)表示被錯誤分類的假體占所有假體樣本的比例;錯誤拒絕率(False Rejection Rate,FRR)表示被錯誤分類的活體占所有活體樣本的比例;等錯誤率(Equal Error Rate,EER)表示利用像本數據進行測試得到的ROC受試曲線上FAR和FRR相等時的值;半錯誤率(Half Total Error Rate,HTER)為FRR與FAR的均值;定義如下

(3)

(4)

(5)

真正類率TPR(True Positive Rate)表示把假體樣本正確判斷為假體的比例,與錯誤接受率成反比,TPR@10e-2FRR表示當FRR為10e-2級別時TPR的數值,之所以采用這種形式是因為在不同的FRR度量下的TPR值是不同的,這個數值越大,算法性能越強。

3.2 結果分析

本實驗將RGB圖剔除,在數據集中選取70%的圖片作為驗證和測試的集合,其次在集合中按照相同的方式隨機抽取10%的圖片作驗證集,剩下的作為測試集,所以整個訓練集、測試集以及驗證集所占比例為0.3:0.6:0.1。模型訓練的硬件環境為Intel Xeon E3-1225處理器,內存16G,搭載Tesla K40C顯卡,顯存為12G,軟件環境為在系統中搭建Pytorch的Python3.6環境進行訓練,batch size為32,學習率為0.01,使用SGD優化算法,總共迭代100個epoch。具體實驗環境配置見表1。

表1 本文環境配置

在實驗中本文算法與FishNet150、FeatherNet、MobileNetV2、MobileLiteNet54模型進行對比實驗,訓練集的準確率與Loss如下圖6、7,驗證集的準確率如圖8。

圖6 訓練集準確率

圖7 訓練集損失

圖8 驗證集準確率

從訓練集準確率曲線和損失函數曲線可以得到,盡管本文所提出的方法收斂速度并沒有其它幾種方法快,但是其它模型或多或少會有一些比較大的抖動,魯棒性并不高,而這種魯棒性對于活體檢測復雜多變的環境影響是非常大的。

從驗證集準確率曲線圖可以看出盡管每種方法在訓練集上的準確率都比較高,但是在驗證集的上卻不盡相同,比如MobileLiteNet54網絡收斂較快,但是準確率不高并且產生了過擬合,其它網絡不論是準確率還是穩定性都跟本文方法有一定的差距。為了進一步比較各模型的性能,本文選取各模型在驗證集上準確率最好的參數模型,分別在測試集上進行驗證,結果如表2。

表2 各模型測試集數據

由表2數據可知,本文算法在各個評價標準都比較均衡,在準確率ACC、半錯誤率EER、HTER相比其它算法都要較好的表現,但真正類率TPR@FRR這一數值上與MobileNetV2仍有細微的差距,但較其它算法仍然一定的優越性。

4 結束語

由于在復雜環境下單RGB模態的圖像不能很好的表征活體與假體人臉之間的差異性,本文在FeatherNet的基礎上提出了一種IR、Depth多模態融合的深度卷積神經網絡算法,有效增強提取特征的互補性以及增強了網絡的泛化能力,并針對人臉圖像中心區域的特征權重應當高于邊緣區域,使用Stream module代替GAP的同時降低了網絡的參數量,可以滿足移動手機等嵌入式設備算力低和實時性高的要求,并在網絡中增加了自注意力機制模塊SEBlock進一步提取人臉特征。通過對比實驗,不論是準確率、泛化性還是參數大小都有一定的優勢。

但受限于數據集的種類和算力,針對3D打印面具的攻擊,本文算法的準確率并不高,在今后的研究中會加強這一部分的研究并設計出更實用的算法模型。

猜你喜歡
活體人臉假體
友愛的“手”
Not afraid of incompleteness,living wonderfully
當歸六黃湯治療假體周圍骨折術后低熱疑似感染1例
有特點的人臉
張帆:肝穿刺活體組織學檢查
讓活體肝移植研究走上世界前沿
活體器官移植,你怎么看?
三國漫——人臉解鎖
保留假體的清創術治療急性人工關節感染
“汪星人”要打“飛的”——話說活體空運
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合