趙一洲,王浩
(四川大學(xué)電子信息學(xué)院,成都 610065)
隨著人類數(shù)字時代的到來,人臉生物識別領(lǐng)域技術(shù)被廣泛應(yīng)用在各大場合,如門禁系統(tǒng)、高鐵機(jī)場入口核查系統(tǒng)以及移動終端的解鎖系統(tǒng)等身份認(rèn)證[1]。由于人臉識別系統(tǒng)最容易以照片、視頻和面具攻擊作為攻擊手段[2-3],高效快捷辨別真?zhèn)危钟垓_攻擊確保系統(tǒng)安全一直是人臉識別領(lǐng)域需要克服的挑戰(zhàn)。針對欺騙攻擊和消除安全隱患,設(shè)計一個基于檢測精度高、耗時短、泛化能力強(qiáng)的人臉活體檢測至關(guān)重要。
近年來,為了識破這些假冒的攻擊方式,國內(nèi)外研究學(xué)者已經(jīng)提出多種不同的活體檢測方法,主要圍繞傳統(tǒng)圖像特征表達(dá)、主動式檢測以及深度學(xué)習(xí)三方面進(jìn)行展開研究[4]。傳統(tǒng)圖像特征表達(dá)是最早的人臉活體檢測方法[5],主要是基于真實人臉和欺騙人臉紋理和光譜信息差異識別真?zhèn)危纾篖BP、DOG、HOG、SIFT等特征,和SVM分類配合實現(xiàn)[6],基于手工特征表達(dá)雖然可以取得不錯的精度,但特征層次較低導(dǎo)致其泛化能力較弱。主動式人臉活體檢測方法[7],需要用戶配合完成一些指定動作,該方法耗時時間較長,也需要外界配合,不能滿足實時應(yīng)用的需求。

真實人臉 面具攻擊
隨著深度學(xué)習(xí)在計算機(jī)視覺領(lǐng)域的廣泛應(yīng)用,圖像所提取的深度特征相比傳統(tǒng)的手工特征,具有更豐富的語義信息,可進(jìn)一步提高算法的魯棒性和泛化能力。人臉活體檢測首次采用卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)[8],以及Lucena等人采用遷移方法設(shè)計了FASNet(Face Anti Spoofing Network)[9]。上述基于特征提取的方法中,未考慮光照條件對活體檢測的精度影響。
針對上述問題,提出基于近紅外圖像的活體檢測方法,近紅外圖像基本不受外界光照影響,原理是真實的人臉和紙片、屏幕、立體面具等攻擊媒介的反射特性是不同的,所以成像不同,而這種差異在紅外波反射方面會更加明顯,對于照片和視頻攻擊有很好的抵御效果。張自友采用紅外圖像基于LBP和GLCM的方法區(qū)分[10]等傳統(tǒng)方法,以及2019年在人臉抗欺騙攻擊檢測挑戰(zhàn)提出FeatherNets輕量型網(wǎng)絡(luò)和模態(tài)融合的方法進(jìn)行活體檢測識別[11]。為了解決計算和存儲成本的問題和滿足檢測精度和實時性的需求。鑒于深度學(xué)習(xí)算法近紅外圖像在活體檢測方面表現(xiàn)出來的優(yōu)勢,本文提出一種基于近紅外圖像的人臉活體檢測算法,在FeatherNets輕量型網(wǎng)絡(luò)基礎(chǔ)上改進(jìn)其激活函數(shù)和注意力機(jī)制模塊,并擴(kuò)充一些訓(xùn)練和測試樣本提高算法的泛化能力,實驗結(jié)果表明此算法的有效性。
FeatherNets是一種輕量級的卷積神經(jīng)網(wǎng)絡(luò),并提出了一種新的流媒體模塊結(jié)構(gòu),該結(jié)構(gòu)人臉識別任務(wù)中相比全局平均池化體現(xiàn)了更大的優(yōu)勢,深度卷積模塊(DWConv)可以更好地識別不同區(qū)域特征的重要性,例如人臉圖像的中心單元比邊緣單元更重要。
如圖1在流媒體模塊中,采用步長大于1的深度卷積層進(jìn)行降采樣,將其輸出直接平展成一維特征向量計算過程由式(1)表示。

圖1 流模塊
FVn(y,x,m)=∑i,jKi,j,m·FINy(i),INx(j),m
(1)
式(1)的左邊,F(xiàn)V為平展特征向量,表示FV的第n個元素,對應(yīng)深度卷積層s輸出特征映射的第m個通道中的(y,x)單元。式(1)的右邊,K為深度卷積核,F(xiàn)為大小為HWC的特征圖(H、W和分別表示特征圖高度、寬度和通道)。m為通道指數(shù),i和j表示核K的空間位置,INy(i)和INx(j)表示F中相應(yīng)的位置。最后,將特征圖展開后,為了減少參數(shù)和預(yù)防過度擬合,并沒有添加全連接層。
FeatherNets包含了兩個不同的網(wǎng)絡(luò)FeatherNetA和FeatherNetB,主要區(qū)別就是網(wǎng)絡(luò)下采樣結(jié)構(gòu)不同。如圖所示網(wǎng)絡(luò)模塊結(jié)構(gòu)BlockA、BlockB和BlockC。BlockC和BlockB分別是我們的網(wǎng)絡(luò)FeatherNetA和FeatherNetB的下采樣模塊。本文選用FeatherNetB網(wǎng)絡(luò)架構(gòu)為基礎(chǔ)網(wǎng)絡(luò),主要介紹前兩個網(wǎng)絡(luò)模塊。BlockA用作網(wǎng)絡(luò)架構(gòu)的主要構(gòu)建塊,是利用逆殘差結(jié)構(gòu)的思維,先擴(kuò)張后壓縮的方式,用深層次卷積提取特征信息。BlockB中次要分支上引入了平均池化層,因為平均池化層能夠嵌入多尺度信息并在不同的接受域聚合特性,并且對計算成本影響較小情況下帶來性能收益。
表1中FeatherNetB結(jié)構(gòu)中t是擴(kuò)展因子,c為通道數(shù),SE是加入網(wǎng)絡(luò)結(jié)構(gòu)的注意力機(jī)制模塊,NL代表使用的激活函數(shù)。網(wǎng)絡(luò)起初采用快速下采樣模式和較少的參數(shù)將特征圖大小迅速變小,從而解決了由于計算有限而導(dǎo)致特征嵌入弱和處理時間長的問題。

表1 FeatherNetB結(jié)構(gòu)
實驗數(shù)據(jù)主要使用了CASIA-SURF數(shù)據(jù)集,是一個大型的多模態(tài)開源數(shù)據(jù)集,由3種模態(tài)數(shù)據(jù)(RGB、depth和IR)組成,包含了1000個不同年齡段人。攻擊方式包含去除眼睛、鼻子和嘴巴部位的A4紙以平鋪和彎曲兩種方式放置在志愿者臉上共六種,如圖3經(jīng)過移除了背景區(qū)域的紅外人臉圖像。。由于紅外攝像頭在光線不足的情況下,對圖像成像影響很小,本文算法僅采用IR數(shù)據(jù)集進(jìn)行訓(xùn)練。
由于CASIA-SURF數(shù)據(jù)集輸入模型訓(xùn)練的圖像都是移除背景后的人臉信息,模型學(xué)習(xí)到的信息較為單一,并且網(wǎng)上未有其他對應(yīng)的近紅外公開數(shù)據(jù)集。為了提高模型的魯棒性和學(xué)習(xí)到更多的圖像特征,本文使用Intel RealSense 435i設(shè)備采集了一些人臉信息,包括20個活體人臉和30個照片人臉。志愿者在正常光照、光線不足兩種環(huán)境下各個角度的圖像和志愿者照片攻擊的圖像各20張,以及除志愿者外網(wǎng)上收集不同種族的照片打印,二者共2000張圖像,示例如圖4所示。

圖4 自采集數(shù)據(jù)集
考慮現(xiàn)實的復(fù)雜性,我們采集到的數(shù)據(jù)很難完全滿足正態(tài)分布,所以需要增加數(shù)據(jù)擾動,進(jìn)一步提高模型的精確度以及泛化能力。對采集圖像進(jìn)行隨機(jī)旋轉(zhuǎn)、平移和縮放等操作,最終在原有基礎(chǔ)上擴(kuò)充5倍數(shù)據(jù),并統(tǒng)一處理為分辨率224×224的圖像作為網(wǎng)絡(luò)輸入大小,以9:1的比例分別添加到公開數(shù)據(jù)集中訓(xùn)練和測試中,本文將新添加的數(shù)據(jù)集命名為CASIA-SURF IR+,訓(xùn)練和測試數(shù)據(jù)集分布如表2所示。

表2 數(shù)據(jù)集
激活函數(shù)是網(wǎng)絡(luò)結(jié)構(gòu)的核心單元,由圖2中看出FeatherNets的每一個結(jié)構(gòu)塊都應(yīng)用了ReLU6激活函數(shù),ReLU6函數(shù)是分段線性函數(shù),計算簡單,避免了梯度消失的問題,定義公式(2)如下:

圖2 FeatherNets網(wǎng)絡(luò)結(jié)構(gòu)
f(x)=min(max(0,x),6)
(2)
但同時也存在一個問題,ReLU6激活函數(shù)非線性很弱,并且在訓(xùn)練過程中也會存在某些神經(jīng)元永遠(yuǎn)不會被激活的狀態(tài)。為解決此問題提出了Swish激活函數(shù)[12]。Swish激活函數(shù)具備無上界有下界、平滑、非單調(diào)的特性,由于ReLU6函數(shù)在為零的情況下突然發(fā)生改變,而Swish函數(shù)不會發(fā)生突然改變的情況,使得網(wǎng)絡(luò)訓(xùn)練時候更加容易收斂,計算公式(3)如下:
swish(x)=x·sigmod(βx)
(3)
由于Swish的計算成本很高,為了滿足本文的輕量級網(wǎng)絡(luò)的需求,使得模型在訓(xùn)練中變得更加輕便,在此基礎(chǔ)上對Swish簡單變形操作。使用h-sigmoid來構(gòu)造Swish函數(shù)將得到h-swish(hard version of swish)函數(shù)[13],計算公式(4)如下:
(4)

圖5 函數(shù)對比圖
本實驗是將FeatherNetB結(jié)構(gòu)中BlockB的激活函數(shù)變?yōu)閔-swish函數(shù),應(yīng)用在不同的網(wǎng)絡(luò)層級中,效果不一樣,實驗如圖6所示。

圖6 函數(shù)在不同網(wǎng)絡(luò)層實驗對比柱狀圖
經(jīng)由實驗驗證,h-swish激活函數(shù)相對于ReLU6函數(shù),無論應(yīng)用在哪一層,準(zhǔn)確率都有提升,在BlockB最后三層使用h-swish激活函數(shù),效果最佳。
注意力機(jī)制模塊作用相當(dāng)于人腦在捕捉視覺圖像時,處理整個場景會選擇性聚焦于突出的部分。WOO S[14]提出CBAM(Convolutional Block Attention Module)解決在卷積池化過程中特征圖的不同通道和空間所占的重要性不同帶來的損失問題,并且在不顯著增加計算量和參數(shù)量的前提下能提升網(wǎng)絡(luò)模型的特征提取能力。注意力機(jī)制模塊主要分為通道注意力和空間注意力模塊兩個方面。

Mc(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F)))
(5)
(6)
空間注意力模塊中,首先,還是使用平均池化和最大池化對輸入特征圖進(jìn)行通道壓縮操作,對輸入特征分別在通道維度上做了mean和max操作,最后得到了兩個二維的特征,將其按通道維度拼接在一起得到一個通道數(shù)為2的特征圖,之后使用一個包含單個卷積核的隱藏層對其進(jìn)行卷積操作,要保證最后得到的特征在空間維度上與輸入的特征圖一致。該部分公式(7)和(8)表示如下:
Ms(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))
(7)
(8)
由于SE模塊只關(guān)注通道信息,CBAM模塊除此之外,還關(guān)注了空間信息,所以在FeatherNetB網(wǎng)絡(luò)架構(gòu)中將SE模塊替換為CBAM模塊,能獲取到更重要的人臉信息。下表3是改進(jìn)之后的FeatherNetB結(jié)構(gòu):

表3 改進(jìn)后FeatherNetB結(jié)構(gòu)
本文的實驗環(huán)境是在一臺操作系統(tǒng)為Ubuntu 16.04的工作站上運行。配備一個Intel Xeon E5-1650 v4六核處理器,主頻為3.6GHz,內(nèi)存32GB,GPU為NVIDIA GeForce GTX 1080Ti,顯存11GB。
在實驗過程中,訓(xùn)練改進(jìn)的FeatherNetB網(wǎng)絡(luò),參數(shù)設(shè)置如下:基礎(chǔ)學(xué)習(xí)率為0.01,batch size為32,每隔15個epoch衰減一次,衰減率為0.0001。優(yōu)化方法采用的動量(momentum),設(shè)置其系數(shù)為0.9。
針對人臉活體檢測分類,使用來自于生物識別防假體攻擊方面的標(biāo)準(zhǔn)文件ISO/IEC 30107-3的一套評價指標(biāo)。評價其性能的指標(biāo)有三個: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ù)據(jù)集對檢測效果的影響,使用原有的FeatherNetB網(wǎng)絡(luò),在保證其他參數(shù)不變的情況下,分別選取了訓(xùn)練集和測試集不包含采集數(shù)據(jù)集和包含采集數(shù)據(jù)集的模型進(jìn)行檢驗。結(jié)果如表4所示。

表4 驗證自采集數(shù)據(jù)集的有效性
經(jīng)過實驗對比發(fā)現(xiàn),用同一數(shù)據(jù)集測試,訓(xùn)練數(shù)據(jù)集樣本庫的擴(kuò)充有效降低了模型的錯誤率。原始的測試數(shù)據(jù)集比擴(kuò)充后測試數(shù)據(jù)集的錯誤率低,證明擴(kuò)充測試數(shù)據(jù)集多樣性,能更好地驗證模型的好壞,結(jié)果表明,采用擴(kuò)充后的數(shù)據(jù)集,泛化能力更強(qiáng)。
表5中訓(xùn)練和測試包含自采集數(shù)據(jù)集作為本文訓(xùn)練和測試數(shù)據(jù)。同時驗證激活函數(shù)及CBAM模塊對模型產(chǎn)生的影響,分別對比優(yōu)化前后模型的分類性能如表5。

表5 驗證改進(jìn)的激活函數(shù)以及CBAM模塊對模型的影響
由實驗結(jié)果表明,改進(jìn)注意力機(jī)制和激活函數(shù)對模型檢測精度影響相差不多,可注意力機(jī)制模塊的改進(jìn)明顯學(xué)習(xí)到了更多真實樣例的特征,所以真實樣例被歸為錯誤的準(zhǔn)確率有較高的提升。二者結(jié)合進(jìn)一步提高了模型的檢測效果。
在驗證過程中,本文比較了不同網(wǎng)絡(luò)和本文方法在準(zhǔn)確度和系統(tǒng)資源的占用情況。如圖表6所示,相對于MobileNetV2,本文模型無論在模型參數(shù)量還是浮點數(shù)上都具有優(yōu)勢。在與基礎(chǔ)網(wǎng)絡(luò)對比,參數(shù)量和浮點數(shù)分別增加了0.171%和0.494%,但錯誤率降低了1.7192%。

表6 不同模型的參數(shù)對比
本文針對紅外圖像的特性以及輕量型網(wǎng)絡(luò)的優(yōu)點,提出一種基于改進(jìn)FeatherNetB網(wǎng)絡(luò)和近紅外的人臉活體檢測的方法。同時為了增強(qiáng)模型的魯棒性,在CASIA-SURF數(shù)據(jù)集的基礎(chǔ)上增加了不同光照和不同角度的真假人臉照片,通過實驗測試驗證了增加數(shù)據(jù)集的有效性。在保證模型參數(shù)量以及浮點數(shù)盡可能少的占用系統(tǒng)資源額情況下,在卷積網(wǎng)絡(luò)上改進(jìn)其激活函數(shù)和注意力機(jī)制模塊,經(jīng)過理論推導(dǎo)和實驗證明該方法提升了模型的精度和泛化能力。