封 筠,董祉怡,劉甜甜,韓超群,胡晶晶
1.石家莊鐵道大學 信息科學與技術學院,石家莊 050043
2.北京理工大學 計算機科學與技術學院,北京 100081
生物特征具有每個個體所獨有信息,符合人們對于現代科技產品的高效、便捷與安全要求。人臉識別作為目前使用最為普遍的生物特征識別技術之一,被應用于門禁安檢、在線支付、智能手機解鎖等身份認證場景之中。人臉特征偽造這一安全隱患若被忽視,則會造成客戶信息的泄露和財產損失,從而影響整個識別驗證系統的安全性。人臉活體檢測的目的是防止人臉識別系統受到非法人臉的攻擊,保護客戶的信息安全及財產安全。
目前常見的人臉欺騙攻擊方式主要為照片人臉攻擊、視頻回放攻擊和3D人臉面具攻擊。照片人臉攻擊是利用目標對象人臉的打印照片或呈現在電子設備屏幕上的照片;視頻回放攻擊是利用包含目標對象面部的視頻;3D人臉面具攻擊則指利用構造的3D模型人臉面具,欺騙人臉識別系統以達到非法入侵的目的。前兩種類型攻擊相較于3D模型攻擊具有易獲取、成本低的特點,其攻擊方式存在較多,因此對照片人臉攻擊、視頻回放攻擊的研究也更為廣泛。
現有的人臉活體檢測方法可以分為交互式人臉檢測和非交互式人臉檢測兩大類。交互式人臉活體檢測利用動作指令與用戶交互,系統通過判斷用戶是否準確完成了指定動作來辨別攝像頭前的人臉是活體人臉還是假體人臉。早期的交互式人臉活體檢測動作是固定的,這樣就可以通過預先錄制好的動作指令來攻破。為了解決該問題則產生了隨機動作指令算法,可以隨機對測試對象發出搖頭、點頭、眨眼、張嘴等命令。王先基等人從拍攝的視頻序列中檢測出面部關鍵區域并對其進行二值化處理,通過分析二值化圖像的變化與指定閾值作比較來判斷用戶是否完成了若干次的隨機指定動作,從而判斷是否為活體[1]。Ng等人通過計算圖像的尺度不變特征變換(scale-invariant feature transform,SIFT)能量值來判斷用戶是否完成了指定的隨機表情動作,從而判斷是否為活體[2]。張進等人將提取的姿態特征與支持向量機(support vector machine,SVM)分類器相結合,來判斷被檢測對象是否為真人[3]。
交互式人臉活體檢測雖然識別效果較好,但是需要用戶主動配合,不適用于用戶處于自然行為狀態的任務,應用范圍相對要窄,所以非交互式活體檢測應運而生。
非交互式人臉活體檢測主要分為基于紋理的方法、基于圖像質量的方法、基于生命信息的方法以及基于深度特征的方法等。其中,基于紋理的人臉活體檢測一直是研究的熱點。Matta等人從灰度圖的局部塊以及全局圖中抽取不同尺度的均勻局部二值模式(local binary patterns,LBP)算子的紋理特征直方圖,輸入SVM分類器進行活體人臉和假體人臉分辨[4]。由于灰度圖的紋理分析在低分辨率的人臉圖像中準確率不高,所以Boulkenafet等人將圖像從RGB顏色空間轉化為YCbCr(luma,chrominance blue,chrominance red)顏色空間并抽取各個通道的LBP紋理特征直方圖,結合顏色特征以及紋理特征進行活體人臉檢測[5],同時為了提升準確率和泛化能力,還利用加速穩健特征(speeded-up robust features,SURF)從HSV(hue,saturation,value)與YCbCr顏色空間的圖像中抽取顏色紋理特征[6]。
大部分假體人臉在二次成像后圖像質量都會有所損失,與活體人臉存在一定距離,基于圖像質量的方法主要利用圖像失真、反射屬性方面的差異分辨真假人臉。大部分基于圖像質量的方法關注照片類攻擊。Wen等人提取四個不同的特征(鏡面反射、模糊、色度矩和顏色多樣性)以形成特征向量,SVM分類器用于區分活體人臉和假體人臉[7]。但是對于高清彩色打印的紙張或者高清錄制視頻,質量失真不嚴重時難以區分。Li等人將圖像以質量維度聚類,然后基于每個聚類使用提取的圖像質量評估功能訓練多個質量指導的分類器,通過將圖像質量的評分映射到相應分類器的參數來學習回歸函數進行活體與假體人臉的檢測[8]。
基于生命信息的方法主要利用活體的生命特征,例如血液流動、臉部肌肉微運動、眨眼及心跳等,而假體人臉難以完美模仿此類生物特征,該類方法主要處理視頻序列以及3D面具的攻擊。Tiago等人利用視頻序列中的人臉轉動光流信息,但是光流分析法對光照敏感且魯棒性低[9]。Li等人利用遠程光學體積描記術rPPG信號來檢測待測對象心率狀態并以此判斷是否為活體人臉[10]。此類抽取心率、血流信息的方法多用于三維面具類假體人臉的檢測上,在良好光照條件下準確率較高,但是需要提供足夠長的高清人臉視頻以便能夠抽取到足夠好的rPPG信號,同時rPPG信號受外界環境光照、待測對象運動的影響大,方法魯棒性不強。
隨著深度學習方法的發展,研究者們開始利用深度學習技術來處理人臉活體檢測問題。Yang等人利用卷積神經網絡(convolutional neural network,CNN)從RGB人臉圖像中抽取深度特征,并使用Softmax進行分類,由于活體檢測的數據總量較少,數據間多樣性不豐富等問題,致使所用方法的識別準確性較低,跨數據庫的通用性不高[11]。Li等人將CNN與LBP相結合,利用人臉活體檢測數據微調預訓練好的VGG-face[12]模型,從獲取的卷積特征圖中抽取LBP特征并送入SVM進行檢測[13]。雖然目前越來越多的研究者傾向于利用深度學習的方法來解決活體人臉檢測問題,也取得了較好的效果,但是深度學習方法對數據的數量和豐富性都有較高的要求。
特征提取一直是人臉活體檢測的熱點內容,許多學者不斷嘗試使用較為有效的LBP及其改進的顏色紋理特征提取方法。由于簡單的LBP特征只反映了圖像局部區域中心點與鄰近點像素值間的大小關系而忽略了細節信息,所以需要對LBP算子進行了優化與改進。Nosaka等人提出了相鄰局部二值模式(co-occurrence of adjacent local binary pattern,CoALBP)算子[14],與LBP相比該算子包含了更多的空間信息,但是仍只考慮了中心點像素值以及與其相鄰像素值之間的大小關系,若具體差值不同時,也可得到完全相同的序列,從而忽略了差值大小包含的紋理信息。束鑫等人提出了差分量化局部二進制模式(different quantization local binary pattern,DQ_LBP)用于人臉活體檢測的研究[15]。DQ_LBP特征利用圖像局部中心點與周圍點之間的差值來細化局部二值模式的紋理信息,考慮了不同的差值包含的紋理信息,但是忽略了空間信息。本文針對以上兩個算子的存在問題提出了一種差分量化相鄰局部二值模式(different quantization co-occurrence of adjacent local binary pattern,DQ_CoALBP)算子,既包含了不同方向的信息,又量化了中心點與鄰近像素之間的差值信息,具有更多的空間信息和細節信息。實驗結果表明,DQ_CoALBP與局部相位量化(local phase quantization,LPQ)算子的融合在識別性能上有較大的提升,甚至比一些已有的卷積神經網絡模型更加有效,尤其是在Replay-Attack數據集上實現了零錯誤率檢測,可達到最佳性能。
局部紋理特征能夠有效地獲取圖像的局部細節特征。因此,在人臉活體檢測相關技術中,圖像紋理特征被廣泛使用。
LBP算子的統計方式往往忽略了鄰近算子的空間信息,導致不同的LBP算子排列形式有可能會得到相同的LBP統計直方圖。CoALBP作為LBP改進算子,對鄰近特征算子之間的空間關系進行統計,采用簡化LBP算子將原本的8個鄰域點縮減為4個,組合兩個鄰近的簡化LBP算子構成8位二進制編碼。簡化LBP算子分為LBP+和LBP×兩類,其中LBP+只計算中心點與其直接相連的四鄰域點,LBP×計算中心點與對角鄰域點,計算方式如圖1所示。

圖1 簡化LBP算子的兩種形式示例Fig.1 Two forms examples of simplified LBP descriptor
將CoALBP算子的計算方向規定為四個方向D={(0,Δa),(Δa,0),(Δa,Δa),(-Δa,Δa)},其中a為鄰域半徑,圖2為CoALBP算子對應的向下、向右、向右下與向左下這四個方向的具體描述。對四個方向的計算結果分別進行直方圖統計,再將四個統計直方圖依次連接起來,形成最終的CoALBP特征。
DQ_LBP算子借鑒LBP的構造過程來量化局部相鄰像素之間的差值,即將量化的差值附加在以2為底的指數中,使其在進行編碼時能夠考慮差值信息。因此,DQ_LBP算子的特征維度與LBP一致且包含更豐富的紋理信息。在運算前構造與中心點像素歸一化值為:


圖2 CoALBP算子的空間方向Fig.2 Spatial direction of CoALBP descriptor
其中,rc和rn(n=1,2,…,P)分別表示中心點的像素值和位于半徑R(R>0)圓上的P個鄰域像素值。max表示該算子所能表示的最大值,其大小取決于周圍點的選取個數P,可用max=2P-1表示(如果P=8,則max=255)。將A∈(0,1]作為附加信息添加到指數中,構造DQ_LBP算子:

為了使DQ_LBPP,R算子不會因為n值的大小而過多改變當前位的LBP信息,則構造約束函數C:

最終得到的DQ_LBP算子為:

若D Q_LBPP,R>max,則設置DQ_LBPP,R=max。
CoALBP算子忽略了局部中心點與相鄰點像素之間的差異信息,而DQ_LBP則沒有考慮鄰近算子的空間信息。本文綜合考慮上述兩種算子,將DQ_LBP思想融入CoALBP描述算子中,提出了DQ_CoALBP描述算子,其量化了CoALBP算子的四個方向局部相鄰像素之間的差值,相較于LBP算子既考慮了鄰近算子的空間信息,又加入了中心點與相鄰點像素之間的差異信息。圖3給出了DQ_CoALBP算子的四個方向(右、下、右下、左下)計算示意,由中心點像素(圖中對應標星位置)結合其鄰位像素組成DQ_CoALBP所需要的八位像素差值。圖3中采用LBP+作為簡化LBP特征。
如圖3所示,當計算右方向時,假設當前觀測像素點為r(i,j),第1位像素差值由像素點r(i-1,j)與像素點r(i,j)相減得到,第5位則是由像素點r(i-1,j+1)與像素點r(i,j+1)相減得到,其余位數的差值按照圖中框內右上角標號順序依次計算獲取;當計算下方向時,第5位則是由像素點r(i,j)與像素點r(i+1,j)相減得到;右下和左下方向可由此類推得到,最終獲取DQ_CoALBP計算所需的全部8位數據。
在獲取所需的八位差值數據后,按式(1)做相應位置的差值歸一化處理,這里n∈{1,2,…,8}表示圖3中的位置標號,rc表示rn對應位置的中心點像素,比如r(i-1,j)對應的中心點像素為r(i,j),r(i-1,j+1)對應的中心點像素為r(i,j+1)。約束因子C由式(3)計算得到,其中P=8。然后按式(5)計算得到右移的8位DQ_CoALBP值:

圖3 DQ_CoALBP算子計算示意圖Fig.3 Calculation diagram of DQ_CoALBP descriptor

同理,其余三個方向的DQ_CoALBP值可以由式(5)結合相應位置的像素差值進行計算,然后對四個方向的DQ_CoALBP值進行統計,將所獲取的四個直方圖統計向量拼接在一起,組成分類器所需的輸入特征向量。DQ_CoALBP算子提取人臉特征的計算流程如圖4所示。
為了提高人臉活體檢測算法的識別能力,本文將提出的DQ_CoALBP算子與LPQ算子相融合進行人臉活體檢測研究。
LPQ算子具有對圖像模糊不敏感的特性,利用離散的短時傅里葉變換來計算像素點局部M×M領域內的相位信息[16],其計算如式(6)所示:

其中,u表示頻率。局部傅里葉系數通過4個頻點u1=[a,0]T,u2=[0,a]T,u3=[a,a]T,u4=[a,-a]T來計算,a表示很小范圍,a=1/M。對于每個像素位置,通過向量表示:

傅里葉系數相位可以通過每個部分的實部和虛部的符號來表示,具體計算如式(8)所示:

其中,gj是向量G(x)=[Re(F(x)),Im(F(x))]的第j個部分,利用qj對其進行二進制編碼,獲得LPQ算子如式(9)所示:

色彩特征是區分活體人臉和假體人臉的重要特征,人臉在二次成像后會產生許多紋理差異,這種差異在色彩通道上表現更為明顯。HSV是一種基于色調(H)、飽和度(S)與亮度(V)的錐狀顏色空間模型;YCbCr是一種由亮度(Y)、藍色分量(Cb)與紅色分量(Cr)三種基向量組成的顏色空間模型。與RGB顏色空間相比,這兩種顏色空間不僅包含顏色信息,還包含有亮度、飽和度等信息。圖5和圖6為真實人臉和假體人臉分別在HSV和YCbCr色彩空間的分量直方圖。
本文先將圖像的色彩空間由RGB分別轉換成HSV、YCbCr色彩空間,然后分別從HSV色彩空間的H通道、S通道與V通道,以及YCbCr色彩空間的Y通道、Cb通道與Cr通道提取LPQ與DQ_CoALBP特征。
在人臉活體檢測系統設計時,應先對數據集中的視頻數據進行視頻幀截取和人臉檢測的預處理。人臉檢測運用了Dlib庫中基于方向梯度直方圖(histogram of oriented gradient,HOG)[17]的人臉檢測器。為了提高檢測效率,只選用輸入視頻中的少數幀進行檢測。首先獲取每個視頻的所有幀并計算幀數,然后根據幀數等差獲取N幀圖像。之后對單幅圖像運用關鍵點檢測算法進行人臉檢測及定位得到矩形人臉框,將每幅圖像裁剪成只包含人臉信息的圖像,忽略除人臉以外的背景信息,尺寸歸一化為64×64像素。再將人臉圖像轉換為HSV、YCbCr顏色空間并進行色彩通道的分離,對分離后的三個通道提取DQ_CoALBP和LPQ紋理特征,將特征直方圖按照順序排列進行特征融合,最后利用高斯核SVM分類器進行是否活體人臉的判別。系統設計流程如圖7所示。

圖4 DQ_CoALBP算子計算流程圖Fig.4 Calculation flow chart of DQ_CoALBP descriptor

圖5 HSV色彩空間分量直方圖Fig.5 HSV color space component histogram

圖7 系統流程圖Fig.7 System flow chart
為評估本文所提出特征算子的性能,對CASIAFASD[18]、Replay-Attack[19]兩個公開人臉活體檢測數據集進行實驗,主要工作:
(1)通過在不同顏色空間提取DQ_CoALBP和LPQ特征,將DQ_CoALBP和DQ_CoALBP+LPQ與其他特征提取方法進行對比。
(2)將本文方法與其他前沿人臉活體檢測方法進行比較。
CASIA-FASD數據集錄制了50個個體的活體人臉與假體人臉,共600個視頻,分別為低、中、高三種不同質量的視頻數據。假體人臉包括完整的彩色照片假體人臉,去除眼睛部分的彩色照片假體人臉以及視頻類假體人臉。照片類假體人臉在錄制的過程中也錄制了正面平展照片以及彎曲照片的情況。圖8是CASIA-FASD數據集中的示例人臉圖像,依次是真實人臉、相應的卷曲照片假體人臉(完整)、剪切照片假體人臉(去除眼睛),以及視頻回放攻擊假體人臉。

圖8 CASIA-FASD數據集中的示例人臉Fig.8 Face examples in CASIA-FASD dataset
Replay-Attack數據集由瑞士的IDIAP研究所發布,含有1 300個人臉視頻樣本,共有50個受試者參與數據的采集,包括訓練集、驗證集和測試集。Replay-Attack數據集在兩種不同的光照條件下分別錄制了手持照片、固定照片兩種不同照片攻擊模式的數據,其中照片是打印在A4紙上的彩色照片。圖9是Replay-Attack數據集的示例人臉,依次是真實人臉、手持照片假體人臉以及固定照片假體人臉。

圖9 Replay-Attack數據集中的示例人臉Fig.9 Face examples in Replay-Attack dataset
本文以等錯誤率(equal error rate,EER)和半錯誤率(half total error rate,HTER)為評價指標[15]。EER為錯誤接受率(false accept rate,FAR)與錯誤拒絕率(false reject rate,FRR)的兩條曲線相交點的對應值,HTER為FAR與FRR的均值。其中,FAR指算法把假體人臉判斷成活體人臉的比率;FRR指算法把活體人臉判斷成假體人臉的比率,其定義分別如式(10)與(11)所示:

其中,Ns2l表示假體人臉判為活體人臉的次數,Ns表示假體人臉攻擊總次數,Nl2s表示活體人臉判為假體人臉的次數,Nl表示活體人臉檢測總次數。
表1和表2分別給出了CASIA-FASD與Replay-Attack兩個數據集下的LBP、LPQ、CoALBP、DQ_LBP、DQ_CoALBP與DQ_CoALBP+LPQ六種特征提取算子選用高斯核SVM分類器的實驗結果,其中加粗數據為在同一種顏色空間下縱向比較各種算子的最佳結果,加下劃線數據為對于同一種算子橫向比較各種顏色空間的最佳結果。這兩個數據集均在給出時已劃分好訓練集和測試集。從CASIA-FASD訓練集的人臉視頻中選取6 532張人臉照片作訓練集,測試集中選取9 720張人臉照片用作測試。從Replay-Attack訓練集的人臉視頻中選取9 951張人臉照片作訓練集,測試集中選取12 796張人臉照片用作測試。
由表1與表2可知,對于所有的算子來說,采用顏色空間特征的兩種錯誤率均低于灰度圖像;若比較前五種算子在不同顏色空間的最佳性能,則DQ_CoALBP算子在兩個數據集上的表現均優于LBP、LPQ、CoALBP與DQ_LBP四種算子。對于CASIA-FASD數據集,YCbCr顏色空間下的DQ_CoALBP算子的EER和HTER分別為3.8%和4.7%;對于Replay-Attack數據集,HSV顏色空間下的DQ_CoALBP算子的EER和HTER均為0.1%。同時對于這兩個數據集,DQ_CoALBP與LPQ特征融合的結果在相同色彩空間條件下均達到了最佳結果(如最后一行的加粗數據所示),尤其是采用YCbCr顏色空間時在CASIA-FASD數據集上的EER和HTER分別降至2.5%和3.7%,在Replay-Attack數據集上的EER和HTER均降至0。另外,對于Replay-Attack數據集在采用DQ_CoALBP與LPQ特征融合時,RGB、HSV與YCbCr三種顏色模型均獲得了最低EER和HTER,即降至0,實現無差錯檢測。
圖10給出六種特征提取算子在CASIA-FASD與Replay-Attack數據集上的ROC曲線,橫坐標為假正率(false positive rate,FPR),縱坐標為真正率(true positive rate,TPR),其中每條曲線均為相應特征下取得的最好結果。由圖10可見,對于兩個不同的數據集DQ_CoALBP算子曲線均位于其他單特征算子上方,且融合特征DQ_CoALBP+LPQ具有最佳的識別性能。

圖10 不同特征提取算子的ROC曲線Fig.10 ROC curves of different feature extraction descriptors

表1 不同特征提取算子在CASIA-FASD數據集上性能Table 1 Performance of different feature extraction descriptors on CASIA-FASD dataset %

表2 不同特征提取算子在Replay-Attack數據集上性能Table 2 Performance of different feature extraction descriptors on Replay-Attack dataset %
為了進一步說明所提出的DQ_CoALBP+LPQ融合特征的有效性,本文采用YCbCr顏色空間下的DQ_CoALBP+LPQ融合特征,與其他先進的人臉活體檢測方法進行比較,實驗結果如表3所示。由表3可知,本文所提出的方法在兩種數據集上均顯示出較為優異的結果,尤其是在Replay-Attack數據集上實現了無差錯檢測,達到最佳性能;在CASIA-FASD數據集上的性能要好于其他不采用卷積神經網絡的特征提取方法[6,20],較SURF特征的EER指標降低0.3個百分點,較LBP+DCT特征的HTER指標降低14.36個百分點,甚至超過了部分基于深度卷積神經網絡所構建模型的性能[22-23],較3D CNN的HTER指標降低7.636個百分點,較LiveNet的EER指標降低2.09個百分點。同時,從實驗結果可以看出CASIA-FASD數據集的檢測難度要比Replay-Attack數據集大,這是因為Replay-Attack包含的欺騙攻擊類型要少一些。

表3 與其他前沿方法的性能對比Table 3 Performance comparison with other frontier methods %
本文在研究CoALBP和DQ_LBP基礎上提出了一種差分量化相鄰局部二值模式DQ_CoALBP算子,可綜合考慮空間信息,增加了更多的紋理信息。面向圖片與視頻攻擊下的人臉活體檢測任務,本文在對人臉檢測及歸一化后,針對YCbCr顏色空間通道將DQ_CoALBP與LPQ算子所提取的直方圖特征相融合,利用SVM分類器實現是否活體人臉的判別。在CASIA-FASD與Replay-Attack數據集上的實驗結果表明,本文所提出的人臉活體檢測方法具有較為優異的識別性能。
現實生活中存在各種各樣的假體攻擊,這是人臉活體檢測算法無法回避的問題,而目前的人臉活體檢測算法在跨數據集檢測的精度還有待提高。如何將本文所提出的局部紋理模式算子與深度學習相結合,以提高算法的跨數據集檢測的精度是值得進一步深入研究的。