鄧 雄,王洪春*
(1. 重慶師范大學數學科學學院,重慶401331;2. 智慧金融與大數據分析重慶市重點實驗室(重慶師范大學),重慶401331)
(?通信作者電子郵箱wanghc@cqnu.edu.cn)
隨著人類社會進入數字時代,生物識別技術越來越多地被應用于身份認證,其中人臉識別技術因其安全性和非接觸性等優(yōu)點,已成為學術界和工業(yè)界的一個重點研究方向[1]。然而人臉識別系統(tǒng)容易受到欺騙攻擊,如照片攻擊、視頻攻擊和3D 面具攻擊等,嚴重威脅了系統(tǒng)的安全性。針對欺騙攻擊,設計一個檢測精度高、耗時短、魯棒性強、泛化能力強的人臉反欺騙系統(tǒng)至關重要。
面向人臉識別系統(tǒng)的反欺騙檢測又稱為人臉活體檢測。真實人臉圖像和欺騙人臉圖像在圖像紋理信息、圖像光譜信息、圖像運動信息、圖像深度信息等方面存在一定的差異。利用這些差異可以設計不同的活體檢測方法,對真假人臉作出判斷。近年來,有關人臉活體檢測方面的研究發(fā)展迅速,取得了許多有價值的研究成果,主要集中在三個方面:基于手工設計特征表達的方法、基于深度學習的方法和基于融合策略的方法[2]。
基于手工設計特征表達的人臉活體檢測方法包括基于紋理信息分析的方法[3-5]、基于深度信息的方法[6-7]、基于光譜信息的方法、基于運動信息的方法[8],以及其他方法(如基于熱紅外圖的方法[9]、基于圖像質量的方法[10]和基于上下文線索的方法[11]等)。雖然基于手工設計特征表達的方法也可以取得不錯的精度,但往往由于特征描述子的層次較低導致模型的泛化能力較弱。
隨著深度學習方法廣泛地應用于計算機視覺領域,它以數據驅動方式學習到的特征與手工設計特征表達的方法相比更具優(yōu)勢,可以學習到更多一般性特征,以適用于各種欺騙類型,這對于提高算法的魯棒性和泛化能力都有益。Yang 等[12]首次提出將卷積神經網絡(Convolution Neural Network,CNN)用于人臉欺騙檢測,文獻[13]提出了采用遷移學習的方法,Manjani 等[14]提出的方法針對面具攻擊,Gan 等[15]利用三維卷積神經網絡(Three-Dimensional CNN,3DCNN)從短視頻中提取連續(xù)視頻幀的時空特征來用于活體檢測。值得注意的是,當有大量的訓練圖像可供訓練時,深度學習可以獲得更好的效果。
單個信息具有一定的局限性,為了克服單個信息的局限性,彌補單個信息的不足,可以將不同的信息進行融合,這不僅提高活體檢測的準確度,而且對于提高算法的魯棒性和泛化能力也意義重大。Tronci 等[16]提出一種融合紋理信息和運動信息的活體檢測方法;Komulainen 等[17]對文獻[16]方法加以改進,檢測效率進一步得到提升;Wang 等[7]利用深度信息和紋理信息,也取得了很好的效果;Tang 等[18]提出使用CNN從人臉圖像的不同信息中學習多個深層特征(包括時間特征、顏色特征、局部特征等)來進行活體檢測。
鑒于深度學習算法和融合算法在人活體檢測方面表現出的優(yōu)勢,為了滿足檢測精度和實時性的需求,本文基于輕量化卷積神經網絡MobileNetV2 設計一個特征融合算法,在NUAA(Nanjing University of Aeronautics and Astronautics)和Siw(Spoof in the Wild)數據集上進行驗證,并與目前最新的算法進行對比,分析其優(yōu)勢和不足。
模式分類算法一般基于特征,一種特征一般只對圖像部分特性的變化較為敏感,而對其他特性的變化不敏感,如:方向梯度直方圖(Histogram of Oriented Gradients,HOG)特征、尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)特征等。當兩類圖像在某種特征敏感特性上差異不大時,基于單一特征訓練的分類器很難給出正確的分類[19]。因此,為了提高活體檢測算法的魯棒性和泛化能力,需要把不同的信息進行融合。常見的融合方法有數據融合、特征融合、分類器融合(決策層的融合)等,這些融合方式分別對應于分類問題的數據預處理、特征提取、分類器設計等環(huán)節(jié)。融合策略包含一些具體的方法,如圖1所示。
圖1 融合方法分類Fig.1 Classification of fusion methods
不同的融合方法具有各自的優(yōu)缺點。數據融合發(fā)生在最底層,優(yōu)點是保留了原始數據的所有信息,缺點是初始數據中通常含有冗余信息和噪聲,不利于計算。數據融合廣泛應用于深度學習領域,主要表現在數據集的擴充。分類器融合發(fā)生在高層語義層次,算法簡單高效,對分類精度和泛化能力有一定的提升,但是高層的融合不可避免地會造成初始數據信息的丟失,具有一定的局限性。特征融合發(fā)生在中層,數據特征保留了顯著的、必要的信息,既比數據融合降低了原始數據的冗余和噪聲,又比決策層的融合有更充分的數據信息,計算量適中。
隨著深度學習理論的發(fā)展,融合方法變得越來越靈活且易于實現,同時表現出了不錯的效果,基于深度學習的融合方法受到越來越多的關注。Feichtenhofer 等[20]提出了空間特征融合算法和時間特征融合算法,不僅可以在Softmax 層融合(決策級融合),還可以在卷積層融合(特征級融合)。
基于上述分析,本文將采用深度學習算法設計特征融合的卷積神經網絡,即在卷積層利用級聯(lián)融合函數將不同的特征圖進行融合,以充分利用互補的信息。
HSV 色系與RGB 色系具有以下不同:1)RGB 色系基于三原色(紅、綠、藍),是一種不均勻的顏色空間;而HSV 色系基于顏色的色調H、飽和度S和亮度V,是一種均勻的顏色空間。2)RGB 空間中的三個分量的相關性較高;而HSV 空間消除了三個分量的相關性,亮度和色度可分離。因此,HSV顏色空間有時更有利于圖像處理[21]。圖2(a)、(b)展示了RGB 和HSV顏色空間的差異。
圖2 RGB圖、HSV圖與LBP圖的例子Fig.2 Samples of RGB,HSV and LBP images
Boulkenafet 等在文獻[5]中已經證明了使用HSV 和YCbCr顏色空間的色彩信息比RGB空間的色彩信息在人臉活體檢測中更加具有區(qū)分性。不同的是文獻[5]采用的是手工設計的特征提取和表達的算法,而本文將采用卷積神經網絡分別從RGB 和HSV 空間學習高層次的圖像特征,進而對真假人臉進行判斷。
局部二值模式(Local Binary Pattern,LBP)由Ojala等[22]提出,用來描述圖像局部紋理特征。LBP 算法計算復雜度低且具有灰度不變性和旋轉不變性,因而得到了廣泛的應用,且出現了不少改進算法。Liu 等[23]對局部二值模式的發(fā)展作了詳細的調查研究,并對各種LBP算法進行了闡述。
傳統(tǒng)的LBP算子具體流程是:在3× 3的窗口內,將周圍8個像素點的像素(灰度值)與中心像素點的像素比較:若周圍像素比中心像素大,則將該像素點的位置標注為1;反之則將其標注為0。通過這種方式得到8位二進制編碼,然后以一定的方式可以得到該中心點的LBP 值,該過程如圖3 所示。最后統(tǒng)計圖像全部像素點的LBP值即可得到最終的LBP紋理特征,以反映所在區(qū)域內的紋理信息。
上述過程可以用公式表示為:
其中:(xc,yc)表示中心;pc表示中心點的像素;pi表示周圍點的像素;P表示周圍像素點的個數
LBP 算法對光照有較強的穩(wěn)健性,本文首先從真假人臉的RGB 圖像中獲取LBP 圖像(如圖2(c)所示),然后輸入CNN,學習更高層次的具有區(qū)分性的圖像特征,對真假人臉作出判別。
圖3 LBP算子的計算過程Fig.3 Calculation process of LBP operators
MobileNetV2[24]是一種輕量化的卷積神經網絡,采用的依然是深度可分離卷積[25],主要是在MobileNet[26]的基礎上進行兩點改進。首先,MobileNetV2借鑒了ResNet[27]的殘差結構但又有所不同,具體體現在:在ResNet 中殘差塊對輸入圖像先降維、卷積、再升維,而MobileNetV2中殘差塊則是對輸入圖像先升維、深度分離卷積、再降維(如圖4 所示),這個過程被稱作倒殘差。深度分離卷積在特征提取過程中通常期望在高維度的輸入中進行,倒殘差模塊的作用是將輸入數據變換到高維度后再經過深度分離卷積提取特征,這樣能夠提高模型的表達能力。其次,ReLU激活函數通常應用于高維空間能夠有效增加模型的非線性表達能力,而在低維空間則會破壞特征,而第二個1× 1 卷積用于降維,降維后為了不破壞特征,MobileNetV2 去掉了第二個1× 1卷積后的ReLU 激活函數,這種做法被稱為線性瓶頸。
圖4 ResNet與MobileNetV2的殘差塊Fig.4 Residual blocks of ResNet and MobileNetV2
MobileNetV2網絡結構的參數如表1[24]所示,其中:Conv2d是標準卷積;bottleneck 是由卷積層組成的倒殘差塊;Avgpool是平均池化;t表示第一個1× 1卷積對通道數“擴張”的倍數;c 表示輸出通道數;n 表示殘差塊重復的次數;s 表示重復的殘差塊中第一個殘差塊中深度卷積的步長;k 表示分類的類數。該網絡中間各層用于提取特征,最后一層用于分類。
表1 MobileNetV2結構[24]Tab.1 Architecture of MobileNetV2[24]
為了確保人臉活體檢測的準確性、實時性和泛化能力,網絡結構的確定是重中之重。影響網絡結構的因素有很多,如卷積層的個數、輸入圖片的尺寸等。MobileNetV2雖然在多分類問題上體現出了良好的性能,但在二分類問題上的性能還需要驗證,而且特征融合后的MobileNetV2參數量和運算量也會增多,不利于實時性的需求。因此,針對人臉活體檢測的實際需求,以MobileNetV2模型為基礎網絡,對其結構進行微調,并加入特征融合思想,設計一個適用于人臉活體檢測的輕量化網絡模型十分有必要。
首先需要確定單路卷積網絡的輸入尺寸和卷積層數量。本文基于MobileNetV2 的結構,設計了一個“瘦身”后的網絡(其結構如表2 所示),并以NUAA 數據集上80%的數據作為訓練集,另20%的數據作為測試集來驗證微調后的模型性能。實驗的對比結果如表3所示。
表2 微調后的MobileNetV2結構Tab.2 Architecture of fine-tuned MobileNetV2
表3 MobileNetV2與微調后的網絡在NUAA數據集上的性能對比Tab.3 Performance comparison between MobileNetV2 and improved network on NUAA dataset
由表2 可知,“瘦身”后的結構與原始的MobileNetV2 相比,卷積層減少了很多。在表3 中:等錯誤率(Equal Error Rate,EER)反映人臉活體檢測的錯誤率水平;浮點運算次數(FLoating point Operations Per second,FLOPs)可以理解為計算量大小,參數量和FLOPs 用來衡量模型的復雜度。由表3可知,“瘦身后”的結構在參數量和計算量都大量減少的同時,模型的性能基本上沒有變化,因此本文將采用微調后的網絡結構,并加入特征融合思想,設計用于人臉活體檢測的模型,網絡結構如圖5所示。
利用bottleneck1 和bottleneck2 分別從RGB 圖、HSV 圖和LBP 圖中提取特征,將各自的特征圖堆疊在一起進行特征層的融合,然后利用bottleneck3 和bottleneck4 從融合后的特征圖中進一步提取具有區(qū)分性的信息,最后經過卷積層和Softmax 層,給出真假人臉的判斷。通過特征層的融合,可以充分利用上述三種信息,克服單一信息的不足,而且有助于提高模型的準確率和泛化能力。MobileNetV2屬于輕量級網絡,在保證其性能的同時,較少的運算量使其能夠實時在嵌入式平臺運行。
圖5 融合算法結構Fig. 5 Structure of fusion algorithm
NUAA 數據集是被公認為第一個公開的用于人臉活體檢測的數據集,該數據集由南京航空航天大學Tan 等[28]于2010年發(fā)布。該數據集包含15 個人的照片數據,使用普通的攝像頭分三次采集得到。該數據集包括豐富的外觀變換,如光照、性別、有無眼鏡等。在真實圖像捕獲期間,為了使真實圖像和打印的照片圖像更相似,志愿者被要求正面直視攝像頭,保持自然表情,且沒有明顯的移動(如眨眼和頭部移動等)。在欺騙圖像制作期間,首先利用佳能相機為每個志愿者拍攝高清照片,印刷在相紙上(共三種:6.8 cm×10.2 cm、8.9 cm×12.7 cm的相片紙和普通A4紙上打印的彩色照片),然后在攝像頭下模擬如下五類攻擊手段:
a)水平和垂直的進行前后移動;
b)沿垂直軸旋轉照片;
圖6 Siw數據集的采集方式Fig.6 Collection mode of Siw database
c)沿水平軸旋轉照片;
d)沿垂直軸彎曲照片;
e)沿水平軸彎曲照片。
NUAA 數據集共采集了3 491 張真實圖像和9 123 張欺騙圖像,且每張圖像保存大小為640 × 480。
隨著傳感器技術的進步,現有的反欺騙系統(tǒng)可能容易受到新興的高質量欺騙介質的影響。使系統(tǒng)對這些攻擊具有魯棒性的一種方法是收集新的高質量數據集。為了滿足這一需求,Liu 等[29]收集了一個命名為Siw 的人臉反欺騙數據集。該數據集提供了165 個人的真實和欺騙視頻。對于每個志愿者,有8 個真實和最多20 個欺騙視頻,總共4 478 個視頻。所有視頻均為30 frame/s,長度約為15 s,1 080P HD 分辨率。真實視頻分為四個場景,包括距離、姿勢、光照和表情的變化。欺騙攻擊視頻包括多種形式的照片攻擊和視頻攻擊。具體采集格式如圖6所示。
Siw 數據集不僅在個體數以及活體人臉的變化方面豐富了數據集,而且提供了三個測試協(xié)議:協(xié)議1 旨在評估模型的基本性能,要求用訓練視頻的前60 幀訓練模型,并測試所有測試視頻。協(xié)議2 旨在評估相同欺騙類型(視頻攻擊)下的泛化能力,采用留一法的策略:在三個重放媒體上訓練并在第四個上進行測試,記錄四個分數的均值和標準差。協(xié)議3 旨在評估未知欺騙攻擊時的性能,從照片攻擊中選擇數據進行訓練,從視頻攻擊中選擇數據進行測試,反之亦然。
錯誤接受率(False Acceptance Rate,FAR)表示欺騙人臉圖像中預測為真實人臉的概率;錯誤拒絕率(False Rejection Rate,FRR)表示真實人臉圖像中預測為欺騙人臉的概率;等錯誤率(Equal Error Rate,EER)表示利用驗證集數據進行測試得到的ROC 曲線上FAR 和FRR 相等時的值;半錯誤率(Half Total Error Rate,HTER)表示以驗證集上FAR 等于FRR時的閾值為測試集上的閾值計算測試集上FRR 與FAR 的均值。為了與其他實驗結果進行對比,本文在NUAA 數據集上的實驗采用的指標為EER。
Siw數據集上提供的協(xié)議中使用的是另一套評價指標,來自于生物識別防假體攻擊方面的標準文件ISO/IEC 30107-3[30],包 括APCER(Attack Presentation Classification Error Rate)、BPCER(Bona Fide Presentation Classification Error Rate)、ACER(Average Classification Error Rate),定義如下:
其中:NPAI表示第PAI類欺騙攻擊的攻擊次數;S表示欺騙攻擊的類別數;NBF表示活體人臉檢測的次數;APCERPAI表示第PAI類欺騙攻擊的錯誤識別率;APCER 表示所有類別的欺騙攻擊中最大的錯誤識別率。若第i 次檢測判斷為假體人臉,則Resi為1;若判斷為活體人臉,則Resi為0。為了與其他實驗作對比,本文在Siw數據集上的實驗也將采用這套指標。
本文人臉數據集在使用人臉檢測算法從視頻中提取的過程中已經對齊,網絡中輸入的HSV 圖和LBP 圖為112×112 的RGB 圖轉換得到,故不需要再作對齊處理,batchsize 設置為10;反向傳播的優(yōu)化算法采用隨機梯度下降(Stochastic Gradient Descent,SGD)算法,學習率設為0.000 1,衰減率為0.000 5;實驗使用tensoflow-gpu 1.10.0,keras 2.2.2搭建的環(huán)境進行訓練和測試,硬件設備的處理器為Inter Core i7-8700 CPU@3.2 GHz,內存為16.0 GB.
1)實驗一。
為了驗證特征融合的有效性,在NUAA 數據集上測試單特征、兩特征融合和三特征融合的性能。首先分別單獨輸入RGB 圖、HSV 圖和LBP 圖,驗證單特征的性能,然后與兩特征融合和三特征融合的結果作對比。以NUAA數據集上80%的數據作為訓練集,另20%的數據作為測試集,實驗的對比結果如表4所示。
表4 不同特征在NUAA數據集上的EER對比 單位:%Tab.4 EER comparison of different features on NUAA database unit:%
實驗結果表明,RGB顏色信息、HSV顏色信息和LBP紋理信息都可以用于活體檢測,其中RGB 信息的效果最好;兩特征融合比單特征取得了更好的結果,三特征融合比兩特征融合取得了更好的結果,從而說明了融合不同的特征信息可以克服單一信息的不足,能有效地提高活體檢測的準確率,降低錯誤率。
2)實驗二。
為了驗證本文提出的基于深度學習和特征融合算法的有效性,利用本文方法在NUAA 數據集上測試,并與其他一些代表算法對比,實驗對比結果如表5所示。
表5 與其他方法在NUAA數據集上的性能對比Tab.5 Performance comparison with other methods on NUAA database
實驗結果表明,基于MobileNetV2的特征融合方法在人臉活體檢測方面表現出了不錯的效果,更重要的是本文設計的網絡在檢測單張人臉圖像時所使用的時間僅為6 ms,在實際應用時具有不可比擬的優(yōu)勢。
3)實驗三。
為了驗證本文算法在復雜數據集上的性能以及在同一個數據集上的泛化能力,利用本文方法在Siw 數據集上測試,并與其他方法(包括特征融合方法)作對比,實驗對比結果如表6所示。
表6 與其他方法在Siw數據集上的性能對比Tab.6 Performance comparison with other methods on Siw database
上述結果表明,在復雜的數據集下,基于MobileNetV2 的特征融合方法在人臉活體檢測方面同樣表現出了很好的性能。MobileNetV2借鑒了ResNet的短路連接思想,每個支路可以提取得到充分的特征信息,再融合不同支路的特征信息無疑會進一步提高檢測準確率。文獻[34]采用的是基于ResNet-18 和特征融合的方法,與其結果相比,本文算法獲得了更優(yōu)的結果,同時MoboleNetV2 使用了深度分離卷積,計算量較文獻[34]方法減少了很多,速度更快。從協(xié)議2和協(xié)議3的實驗結果來看,基于MobileNetV2的特征融合算法的泛化能力同樣經得起考驗。
4)實驗四。
為了進一步驗證本文算法在跨數據集訓練和測試時的泛化能力,進行跨數據集測試。實驗包括兩個方案,方案1 是指在NUAA 數據集上訓練,在Siw 數據集上測試;方案2 是指在Siw數據集上訓練,在NUAA 數據集上測試。本文算法與其他算法的對比結果如表7所示。
表7 跨數據集測試EER對比 單位:%Tab.7 EER comparison of inter-test between NUAA and Siw datasets unit:%
為了驗證算法的通用性,跨數據集測試是一個不錯的途徑:以一個數據集的數據訓練模型,以另一個數據集的數據測試模型的性能。目前大部分的跨數據集測試大都在同類別欺騙攻擊的數據集上測試,對于跨數據集、跨欺騙攻擊類別的測試還比較少。本文做了NUAA 和Siw 兩個數據集上跨數據集測試的實驗,從表7 可知,跨數據集測試的結果并不理想,而且以NUAA 為訓練集以Siw 為測試集的結果最差,原因是NUAA 數據集過于簡單,包含的欺騙攻擊手段比較單一,訓練的模型在復雜的數據集上測試時效果較差,這也說明了建立一個大規(guī)模包含多模態(tài)欺騙攻擊手段數據集的必要性。另一方面,為了提高算法跨數據集測試時的性能,有必要對融合算法作進一步的研究。
人臉識別系統(tǒng)容易受到欺騙攻擊,給系統(tǒng)的安全性能帶來挑戰(zhàn)。如何設計一個檢測精度高、耗時短、魯棒性強、泛化能力強的人臉反欺騙系統(tǒng)成為目前的研究熱點。本文基于輕量級網絡MobileNetV2 設計了一個用于人臉活體檢測的特征融合算法,并在NUAA 和Siw 數據集上進行了驗證,該方法都表現出了很好的性能,同時輕量化的網絡為移動端的嵌入使用提供了可能。
隨著深度傳感器越來越多的應用于移動設備,基于RGBD 圖像的人臉識別和活體檢測算法值得進一步的研究,在設備允許的條件下,把本文方法中的LBP圖替換為深度圖,理論上可以取得更好的結果。本文作者接下來將進一步研究融合深度信息的活體檢測算法;同時在特征融合算法、分類器融合算法、輕量化網絡設計等方面也將深入研究。