趙一洲,王浩
(四川大學電子信息學院,成都 610065)
隨著人類數(shù)字時代的到來,人臉生物識別領域技術被廣泛應用在各大場合,如門禁系統(tǒng)、高鐵機場入口核查系統(tǒng)以及移動終端的解鎖系統(tǒng)等身份認證[1]。由于人臉識別系統(tǒng)最容易以照片、視頻和面具攻擊作為攻擊手段[2-3],高效快捷辨別真?zhèn)?,抵御欺騙攻擊確保系統(tǒng)安全一直是人臉識別領域需要克服的挑戰(zhàn)。針對欺騙攻擊和消除安全隱患,設計一個基于檢測精度高、耗時短、泛化能力強的人臉活體檢測至關重要。
近年來,為了識破這些假冒的攻擊方式,國內外研究學者已經提出多種不同的活體檢測方法,主要圍繞傳統(tǒng)圖像特征表達、主動式檢測以及深度學習三方面進行展開研究[4]。傳統(tǒng)圖像特征表達是最早的人臉活體檢測方法[5],主要是基于真實人臉和欺騙人臉紋理和光譜信息差異識別真?zhèn)?,例如:LBP、DOG、HOG、SIFT等特征,和SVM分類配合實現(xiàn)[6],基于手工特征表達雖然可以取得不錯的精度,但特征層次較低導致其泛化能力較弱。主動式人臉活體檢測方法[7],需要用戶配合完成一些指定動作,該方法耗時時間較長,也需要外界配合,不能滿足實時應用的需求。
真實人臉 面具攻擊
隨著深度學習在計算機視覺領域的廣泛應用,圖像所提取的深度特征相比傳統(tǒng)的手工特征,具有更豐富的語義信息,可進一步提高算法的魯棒性和泛化能力。人臉活體檢測首次采用卷積神經網絡(Convolution Neural Network,CNN)[8],以及Lucena等人采用遷移方法設計了FASNet(Face Anti Spoofing Network)[9]。上述基于特征提取的方法中,未考慮光照條件對活體檢測的精度影響。
針對上述問題,提出基于近紅外圖像的活體檢測方法,近紅外圖像基本不受外界光照影響,原理是真實的人臉和紙片、屏幕、立體面具等攻擊媒介的反射特性是不同的,所以成像不同,而這種差異在紅外波反射方面會更加明顯,對于照片和視頻攻擊有很好的抵御效果。張自友采用紅外圖像基于LBP和GLCM的方法區(qū)分[10]等傳統(tǒng)方法,以及2019年在人臉抗欺騙攻擊檢測挑戰(zhàn)提出FeatherNets輕量型網絡和模態(tài)融合的方法進行活體檢測識別[11]。為了解決計算和存儲成本的問題和滿足檢測精度和實時性的需求。鑒于深度學習算法近紅外圖像在活體檢測方面表現(xiàn)出來的優(yōu)勢,本文提出一種基于近紅外圖像的人臉活體檢測算法,在FeatherNets輕量型網絡基礎上改進其激活函數(shù)和注意力機制模塊,并擴充一些訓練和測試樣本提高算法的泛化能力,實驗結果表明此算法的有效性。
FeatherNets是一種輕量級的卷積神經網絡,并提出了一種新的流媒體模塊結構,該結構人臉識別任務中相比全局平均池化體現(xiàn)了更大的優(yōu)勢,深度卷積模塊(DWConv)可以更好地識別不同區(qū)域特征的重要性,例如人臉圖像的中心單元比邊緣單元更重要。
如圖1在流媒體模塊中,采用步長大于1的深度卷積層進行降采樣,將其輸出直接平展成一維特征向量計算過程由式(1)表示。
圖1 流模塊
FVn(y,x,m)=∑i,jKi,j,m·FINy(i),INx(j),m
(1)
式(1)的左邊,F(xiàn)V為平展特征向量,表示FV的第n個元素,對應深度卷積層s輸出特征映射的第m個通道中的(y,x)單元。式(1)的右邊,K為深度卷積核,F(xiàn)為大小為HWC的特征圖(H、W和分別表示特征圖高度、寬度和通道)。m為通道指數(shù),i和j表示核K的空間位置,INy(i)和INx(j)表示F中相應的位置。最后,將特征圖展開后,為了減少參數(shù)和預防過度擬合,并沒有添加全連接層。
FeatherNets包含了兩個不同的網絡FeatherNetA和FeatherNetB,主要區(qū)別就是網絡下采樣結構不同。如圖所示網絡模塊結構BlockA、BlockB和BlockC。BlockC和BlockB分別是我們的網絡FeatherNetA和FeatherNetB的下采樣模塊。本文選用FeatherNetB網絡架構為基礎網絡,主要介紹前兩個網絡模塊。BlockA用作網絡架構的主要構建塊,是利用逆殘差結構的思維,先擴張后壓縮的方式,用深層次卷積提取特征信息。BlockB中次要分支上引入了平均池化層,因為平均池化層能夠嵌入多尺度信息并在不同的接受域聚合特性,并且對計算成本影響較小情況下帶來性能收益。
表1中FeatherNetB結構中t是擴展因子,c為通道數(shù),SE是加入網絡結構的注意力機制模塊,NL代表使用的激活函數(shù)。網絡起初采用快速下采樣模式和較少的參數(shù)將特征圖大小迅速變小,從而解決了由于計算有限而導致特征嵌入弱和處理時間長的問題。
表1 FeatherNetB結構
實驗數(shù)據主要使用了CASIA-SURF數(shù)據集,是一個大型的多模態(tài)開源數(shù)據集,由3種模態(tài)數(shù)據(RGB、depth和IR)組成,包含了1000個不同年齡段人。攻擊方式包含去除眼睛、鼻子和嘴巴部位的A4紙以平鋪和彎曲兩種方式放置在志愿者臉上共六種,如圖3經過移除了背景區(qū)域的紅外人臉圖像。。由于紅外攝像頭在光線不足的情況下,對圖像成像影響很小,本文算法僅采用IR數(shù)據集進行訓練。
由于CASIA-SURF數(shù)據集輸入模型訓練的圖像都是移除背景后的人臉信息,模型學習到的信息較為單一,并且網上未有其他對應的近紅外公開數(shù)據集。為了提高模型的魯棒性和學習到更多的圖像特征,本文使用Intel RealSense 435i設備采集了一些人臉信息,包括20個活體人臉和30個照片人臉。志愿者在正常光照、光線不足兩種環(huán)境下各個角度的圖像和志愿者照片攻擊的圖像各20張,以及除志愿者外網上收集不同種族的照片打印,二者共2000張圖像,示例如圖4所示。
圖4 自采集數(shù)據集
考慮現(xiàn)實的復雜性,我們采集到的數(shù)據很難完全滿足正態(tài)分布,所以需要增加數(shù)據擾動,進一步提高模型的精確度以及泛化能力。對采集圖像進行隨機旋轉、平移和縮放等操作,最終在原有基礎上擴充5倍數(shù)據,并統(tǒng)一處理為分辨率224×224的圖像作為網絡輸入大小,以9:1的比例分別添加到公開數(shù)據集中訓練和測試中,本文將新添加的數(shù)據集命名為CASIA-SURF IR+,訓練和測試數(shù)據集分布如表2所示。
表2 數(shù)據集
激活函數(shù)是網絡結構的核心單元,由圖2中看出FeatherNets的每一個結構塊都應用了ReLU6激活函數(shù),ReLU6函數(shù)是分段線性函數(shù),計算簡單,避免了梯度消失的問題,定義公式(2)如下:
圖2 FeatherNets網絡結構
f(x)=min(max(0,x),6)
(2)
但同時也存在一個問題,ReLU6激活函數(shù)非線性很弱,并且在訓練過程中也會存在某些神經元永遠不會被激活的狀態(tài)。為解決此問題提出了Swish激活函數(shù)[12]。Swish激活函數(shù)具備無上界有下界、平滑、非單調的特性,由于ReLU6函數(shù)在為零的情況下突然發(fā)生改變,而Swish函數(shù)不會發(fā)生突然改變的情況,使得網絡訓練時候更加容易收斂,計算公式(3)如下:
swish(x)=x·sigmod(βx)
(3)
由于Swish的計算成本很高,為了滿足本文的輕量級網絡的需求,使得模型在訓練中變得更加輕便,在此基礎上對Swish簡單變形操作。使用h-sigmoid來構造Swish函數(shù)將得到h-swish(hard version of swish)函數(shù)[13],計算公式(4)如下:
(4)
圖5 函數(shù)對比圖
本實驗是將FeatherNetB結構中BlockB的激活函數(shù)變?yōu)閔-swish函數(shù),應用在不同的網絡層級中,效果不一樣,實驗如圖6所示。
圖6 函數(shù)在不同網絡層實驗對比柱狀圖
經由實驗驗證,h-swish激活函數(shù)相對于ReLU6函數(shù),無論應用在哪一層,準確率都有提升,在BlockB最后三層使用h-swish激活函數(shù),效果最佳。
注意力機制模塊作用相當于人腦在捕捉視覺圖像時,處理整個場景會選擇性聚焦于突出的部分。WOO S[14]提出CBAM(Convolutional Block Attention Module)解決在卷積池化過程中特征圖的不同通道和空間所占的重要性不同帶來的損失問題,并且在不顯著增加計算量和參數(shù)量的前提下能提升網絡模型的特征提取能力。注意力機制模塊主要分為通道注意力和空間注意力模塊兩個方面。
Mc(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F)))
(5)
(6)
空間注意力模塊中,首先,還是使用平均池化和最大池化對輸入特征圖進行通道壓縮操作,對輸入特征分別在通道維度上做了mean和max操作,最后得到了兩個二維的特征,將其按通道維度拼接在一起得到一個通道數(shù)為2的特征圖,之后使用一個包含單個卷積核的隱藏層對其進行卷積操作,要保證最后得到的特征在空間維度上與輸入的特征圖一致。該部分公式(7)和(8)表示如下:
Ms(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))
(7)
(8)
由于SE模塊只關注通道信息,CBAM模塊除此之外,還關注了空間信息,所以在FeatherNetB網絡架構中將SE模塊替換為CBAM模塊,能獲取到更重要的人臉信息。下表3是改進之后的FeatherNetB結構:
表3 改進后FeatherNetB結構
本文的實驗環(huán)境是在一臺操作系統(tǒng)為Ubuntu 16.04的工作站上運行。配備一個Intel Xeon E5-1650 v4六核處理器,主頻為3.6GHz,內存32GB,GPU為NVIDIA GeForce GTX 1080Ti,顯存11GB。
在實驗過程中,訓練改進的FeatherNetB網絡,參數(shù)設置如下:基礎學習率為0.01,batch size為32,每隔15個epoch衰減一次,衰減率為0.0001。優(yōu)化方法采用的動量(momentum),設置其系數(shù)為0.9。
針對人臉活體檢測分類,使用來自于生物識別防假體攻擊方面的標準文件ISO/IEC 30107-3的一套評價指標。評價其性能的指標有三個:APCER(Attack Presentation Classification Error Rate)、BPCER(Bona Fide PresentationClassification Error Rate)、ACER(Average Classification Error Rate)。計算公式如下:
(9)
(10)
(11)
(12)
其中APCER_PAI表示第PAI類欺騙攻擊的錯誤識別率,S表示欺騙攻擊的類別數(shù),N_PAI表示第PAI類欺騙攻擊的攻擊次數(shù),若第i次檢測判斷為假體人臉,則Resi為1;若判斷為活體人臉,則Resi為0。APCER表示物種攻擊被錯誤的歸類為真實的比例。BPCER是真實樣例被錯誤的歸類為攻擊的比例,NBF表示活體人臉檢測的次數(shù),ACER是平均錯誤率。
為了驗證采集數(shù)據集對檢測效果的影響,使用原有的FeatherNetB網絡,在保證其他參數(shù)不變的情況下,分別選取了訓練集和測試集不包含采集數(shù)據集和包含采集數(shù)據集的模型進行檢驗。結果如表4所示。
表4 驗證自采集數(shù)據集的有效性
經過實驗對比發(fā)現(xiàn),用同一數(shù)據集測試,訓練數(shù)據集樣本庫的擴充有效降低了模型的錯誤率。原始的測試數(shù)據集比擴充后測試數(shù)據集的錯誤率低,證明擴充測試數(shù)據集多樣性,能更好地驗證模型的好壞,結果表明,采用擴充后的數(shù)據集,泛化能力更強。
表5中訓練和測試包含自采集數(shù)據集作為本文訓練和測試數(shù)據。同時驗證激活函數(shù)及CBAM模塊對模型產生的影響,分別對比優(yōu)化前后模型的分類性能如表5。
表5 驗證改進的激活函數(shù)以及CBAM模塊對模型的影響
由實驗結果表明,改進注意力機制和激活函數(shù)對模型檢測精度影響相差不多,可注意力機制模塊的改進明顯學習到了更多真實樣例的特征,所以真實樣例被歸為錯誤的準確率有較高的提升。二者結合進一步提高了模型的檢測效果。
在驗證過程中,本文比較了不同網絡和本文方法在準確度和系統(tǒng)資源的占用情況。如圖表6所示,相對于MobileNetV2,本文模型無論在模型參數(shù)量還是浮點數(shù)上都具有優(yōu)勢。在與基礎網絡對比,參數(shù)量和浮點數(shù)分別增加了0.171%和0.494%,但錯誤率降低了1.7192%。
表6 不同模型的參數(shù)對比
本文針對紅外圖像的特性以及輕量型網絡的優(yōu)點,提出一種基于改進FeatherNetB網絡和近紅外的人臉活體檢測的方法。同時為了增強模型的魯棒性,在CASIA-SURF數(shù)據集的基礎上增加了不同光照和不同角度的真假人臉照片,通過實驗測試驗證了增加數(shù)據集的有效性。在保證模型參數(shù)量以及浮點數(shù)盡可能少的占用系統(tǒng)資源額情況下,在卷積網絡上改進其激活函數(shù)和注意力機制模塊,經過理論推導和實驗證明該方法提升了模型的精度和泛化能力。