賀 丹,何希平,2*,李 悅,袁 銳,牛園園
(1.重慶工商大學 人工智能學院,重慶 400067;2.檢測控制集成系統重慶市工程實驗室(重慶工商大學),重慶 400067)
人臉識別技術擁有非接觸、低成本和方便快捷等特點,是個人身份認證的重要工具,也是各種安全應用領域的最佳選擇;但應用在這些場合的人臉識別系統內部流程存在著較大的漏洞,無法準確識別攝像頭獲取的人臉究竟是真實的還是偽造的。因此,在人臉識別過程中如何很好地阻止這種表示攻擊(如打印照片、視頻回放、3D 面具等)欺騙人臉識別系統是迫切需要解決的問題。
早期基于手工特征的傳統方法通過尋找真實人臉與欺騙人臉之間的差異性,一般從顏色、紋理、運動信息等出發,利用局部二值模式(Local Binary Pattern,LBP)[1]、加速穩健特征(Speeded Up Robust Feature,SURF)[2]等經典局部描述符提取幀級特征,最后將提取的特征輸入分類器進行決策,主要包括基于圖像紋理的方法[1]、基于運動信息的方法[3]、基于深度信息的方法[4]和基于心率信號的方法[5]。傳統方法更注重人臉圖像中的紋理特征和固有的幾何特征,然后通過多特征融合來提升方法性能,這對于描述真實人臉和欺詐人臉之間的詳細不變信息(例如顏色紋理、云紋)是穩定的;但這類方法提取特征的能力有限,分類器不能很好區分其細微差別,并且手工特征很容易受到外部環境的干擾,泛化性差。
近些年,深度學習的框架被廣泛應用于活體檢測領域。大多數 的人臉 反欺騙 方法基 于ResNet[6]、DenseNet[7]和MobileNetV2[8]等卷積神經網絡,通常由二進制交叉熵損失函數進行監督;而少數方法通過設計不同的網絡結構、新的損失函數來提高準確率。文獻[9]中提出了基于空間梯度幅值的殘差空間梯度塊和多級短長時時空傳播模塊的網絡結構,并且提出了細粒度監督損失函數(對比深度損失)進行監督。這些基于深度學習的方法能夠自動提取圖像有效特征,很大程度上避免了傳統方法提取特征的單一性,但是這類方法對數據的覆蓋度和數據量的大小要求較高,且模型泛化能力在某些復雜的真實場景中不盡如人意;同時,深度網絡參數量和計算量過大,進而導致這些方法部署在移動端或嵌入式設備中變得具有挑戰性。
為了解決上述問題,文獻[10]中提出了輕量級網絡FeatherNets,借鑒了MobileNetV2 的逆殘差塊,并提出了流模塊減少參數量;但該方法需要融合其他7 種網絡結構訓練的結果,最后通過級聯進行判斷,一旦更換數據集,該網絡必須重新訓練7 種網絡獲得評分作為判斷標準,融合和級聯的操作也明顯增加了時間復雜度,且不方便部署到移動設備中。文獻[11]中提出了中心差分卷積(Central Difference Convolution,CDC)算子來增強模型的泛化能力和判別能力,CDC 算子能很好地描述不變的細粒度信息,但也不適合部署在移動設備中。
針對以上討論,本文設計了一種基于區域分塊和輕量級網絡的人臉反欺騙方法,能以較少計算和存儲成本的深度學習算法來進行人臉欺騙識別,并且有著較高的精度和泛化能力。本文的主要工作有:
1)訓練階段將全臉圖像大小調整為112×112,再隨機選取固定尺寸的局部圖像作為網絡輸入,以減少網絡參數量;測試階段基于區域分塊思想提出了測試數據擴增策略和組合決策方法,從而提高模型最終判斷的準確率和泛化能力。
2)設計了一種輕量級的卷積神經網絡LightFASNet(Lightweight Face Anti-Spoofing Network)用于特征提取和圖像分類,借鑒了MobileNet V2 輕量級網絡的設計思想,結合了中心差分卷積、注意力機制等模塊進行優化設計,確保模型有高精度的同時極大地降低參數量。實驗結果表明本文所設計的網絡有著最少的參數量,并在CASIA-FASD 和REPLAYATTACKR兩個數據集上達到了100%的準確率。
如圖1 所示,本文方法的處理流程分別圍繞訓練階段和測試階段兩方面進行綜合設計。在訓練階段,主要是訓練樣本隨機分塊策略設計和LightFASNet 的網絡結構設計兩個方面;在測試階段,主要是對測試數據進行數據代表性擴增,并將它送入已經訓練好的網絡中提取特征,最后對擴增的樣本進行組合決策。

圖1 本文方法流程Fig.1 Flow chart of the proposed method
受注意力機制的啟發,基于局部圖像的特征學習方法在分類任務中取得了很好的效果。Brendel 等[12]通過使用局部圖像作為網絡輸入,在ImageNet 數據集上取得了很高的精度。在人臉反欺騙任務中,欺騙信息遍布整個臉部區域[13],僅截取局部圖像作為網絡輸入也能提取到相當豐富的特征,由于截取位置不固定,增加了很多隨機因素,也很大程度上避免了網絡訓練時出現過擬合現象。此外,圖像尺寸越小,模型的參數量和浮點數運算量(FLOating Point operations,FLOPs)也越小。
本文以隨機選取的局部圖像作為網絡輸入。首先,將尺寸不一的全臉圖像統一縮放到112×112,并對全臉圖像進行隨機平移、旋轉等操作,模擬真實場景中因采集方位變化的圖像;然后,隨機將全臉圖像分割成固定大小(32×32、48×48、64×64 等)的不完全重疊的局部圖像,再隨機選擇其中一塊作為網絡的訓練輸入。
本文所提出的輕量級的人臉反欺騙網絡(LightFASNet)的整體結構如圖2 所示。

圖2 LightFASNet的整體結構Fig.2 Overall structure of LightFASNet
在整個網絡的設計中,為了保留更豐富的特征,第一層采用常規的卷積,而不是深度中心差分卷積;中間層則是由特征提取模塊(Feature Extraction Module,FEM)和帶SE(Squeeze and Excitation)的下采 樣模塊DSM-SE(Down-Sampling Module with SE)組成。FEM 和DSM-SE 改進和優化了MobileNetV2 的逆殘差塊,具有更少的參數量和更好的性能,其中DSM-SE 和FEM 組合后面也添加SE 模塊[14](如圖3(c)虛框內所示),SE 模塊由全局平均池化層、兩個全連接層和Sigmoid 函數組成,用來學習各特征通道的權重。最后將提取到的特征經過一個3 × 3 的深度卷積后直接平鋪成2維向量,送入Softmax 進行分類。
1.2.1 FEM和DSM-SE
用于提取特征的主干網絡由特征提取模塊(FEM)和基于注意力的下采樣模塊構成,主要從MobileNetV2 的逆殘差塊(如圖3(a)所示)和FeatherNet 改進而來。逆殘差塊主要由1 × 1、3 × 3 和1 × 1 卷積組成:第一個1 × 1 的卷積是通過設置一個擴張因子t來增加通道數,從而為后面的深度卷積提供更多的特征;中間的3 × 3 的深度卷積用于提取特征,和第2 個用來調整通道數1 × 1 的卷積構成深度可分離卷積,得到較好效果的同時降低參數量。在第2 個1 × 1 卷積后采用線性激活函數,目的是防止特征被破壞;最后加入殘差連接,防止梯度爆炸導致精度消失。
本文提出的FEM 是用步長為1 的基于深度中心差分卷積的鏡 像模塊(DepthWise CDC based Ghost Module,DWCDCGM)替換前面的深度卷積,進一步降低模型參數量,FEM 的結構如圖3(b)所示。
DSM-SE 是本文設計的下采樣模塊,通過將DWCDCGM步長設置為2 來進行下采樣,并且在DWCDCGM 后增加注意力機制SE 模塊,通過學習獲得每個特征通道的重要性,從而抑制不太重要的特征。然后再新增一條帶有步長為2 的平均池化層和1 × 1 卷積的分支,在FeatherNet、ShuffleNet[15]中也證明了該二級分支具有更好的特征聚合能力和網絡性能提升[10],DSM-SE 具體結構如圖3(c)所示。

圖3 MolileNet V2、FEM和DSM-SE的結構Fig.3 Structure of MolileNet V2,FEM and DSM-SE
1.2.2 深度中心差分卷積
在人臉反欺騙任務中,最原始的卷積通常有采樣和聚合兩個步驟,因為它直接聚合局部強度信息,容易受到外界光照強度等因素的影響,導致模型的泛化能力弱;此外,它在描述細粒度的特征方面比較弱,模型難以學到欺騙人臉的細節特征,如紋理等[11]。文獻[11]中提出的CDC 算子能很好地解決上述問題,空間差分特征具有較強的光照不變性,同時也能更好地學習到細節特征。
本文的FEM 和DSM-SE 中的卷積采用的是深度中心差分卷積(DepthWise CDC,DWCDC)。一般的CDC 是最原始的卷積和帶有中心差分的卷積的組合,其計算公式如式(1)所示:

其中:f為輸入特征圖;w為卷積核的權重;p0表示輸出特征圖y的當前位置;pn是枚舉X中的值,例如,對于3×3 的卷積核,步長為1 的卷積運算的局部位置信息為:X={(-1,-1),(-1,0),…,(1,1)};超參數θ∈[0,1],用于權衡強度級語義信息和梯度級詳細信息之間的貢獻,值越高表明中心差梯度信息越重要。當pn=(0,0)時,相當于中心位置p0本身,梯度信息總是等于0。當θ=0時,中心差分卷積就是最原始的卷積。將式(1)簡化成方便代碼實現的計算公式:

1.2.3 基于深度中心差分卷積的鏡像模塊
受文獻[16]的啟發,觀察深度網絡中每一層的特征圖可發現:經過卷積層后輸出的特征映射中通常包含大量冗余特征圖,隨著通道數成倍增長,其冗余的特征圖也越多,因此,沒有必要通過大量的濾波器來生成這些冗余特征圖。本文通過以下步驟得到與MobileNet V2 中每一個模塊同樣數量的特征圖:1)減少進行升維的1 × 1Conv,如MobileNet V2 用96 個1 × 1Conv,此處就使用48 個1 × 1Conv,從而減少一半的計算量;2)正常卷積操作,用3 × 3 DWCDC 對輸入的48 個通道進行卷積操作;3)在變換的最后增加一個恒等映射,即將原有的輸入特征圖原封不動與變換后的特征圖進行拼接,以此保留原有特征中的信息。將經過以上步驟的模塊稱之為DWCDCGM,具體結構如圖4 所示。

圖4 DWCDCGM的結構Fig.4 Structure of DWCDCGM
MobileNet V2 的部分模塊和DWCDCGM 變換后的計算公式如式(3)(4)所示:


1.1 節和1.2 節介紹了如何對訓練樣本進行處理,并設計了LightFASNet 進行特征提取。由于最終選取的訓練樣本為局部圖像,雖能在一定程度上減少過擬合的風險,但也會因局部圖像信息不完整、不充分導致測試時準確率降低。本文針對該問題,提出了測試數據擴增策略和組合決策方法。首先在每一張測試圖像中選取N0張不完全重疊的局部圖像,再對其進行旋轉等變換擴增成N1張局部圖像,然后把N1張局部圖像送入訓練好的模型中提取特征,最后通過組合決策得到分類結果。具體實施步驟如下。
1)將全臉圖像分割成N0張不完全重疊的局部圖像(N0=9),如圖5 所示(以32×32 為例),計算公式為:

其中:n=0,1,…,N0-1;W′、H′為局部圖像PIn的寬和高;W、H為全臉圖像I的寬和高;Pn為第n張局部圖像在全臉圖像上的中心點坐標,以原始圖像的左上角為坐標原點,Pn(1)和Pn(2)分別為PIn的中心點橫縱坐標。圖5 中,PI4的中心點坐標為(W/2,H/2),對應的i=j=0。另外8 張局部圖像的中心點坐標可按式(6)計算:

圖5 圖像分割示意Fig.5 Example of image partitioning

其中:i=-1,0,1;j=-1,0,1;DW和DH表示每張局部圖像中心點在橫、縱坐標上相較于全圖中心的偏離距離。
理論上,增強的9 張局部圖像(如圖5 所示)應全部處于全臉圖像正中間,且完全不重疊;但當局部圖像尺寸不滿足3W′<W或3H′<H時,9 張局部圖像一定會有重疊部分。為了取到盡可能少重疊的圖像塊,可分別按式(7)(8)計算相鄰局部圖像的中心點在橫坐標和縱坐標方向的距離:

2)選擇是否進行水平、垂直和水平垂直翻轉,總共分成以下5 種方案:
方案一 只取局部圖像,1 張原圖像增強為9 張測試圖像。
方案二 取局部圖像并水平翻轉,1 張原圖像增強為18張測試圖像。
方案三 取局部圖像并水平、垂直翻轉,1 張原圖像增強為27 張測試圖像。
方案四 取局部圖像并水平、垂直、水平垂直翻轉,1 張原圖像增強為36 張測試圖像。
方案五 取全臉圖像并水平、垂直、水平垂直翻轉,1 張原圖像增強為4 張測試圖像。
3)將經過步驟1)和步驟2)處理的局部圖像分別作為一次模型測試時的輸入,其圖像數量記為N1,將其送入訓練好的LightFASNet 中提取特征。受注意力機制啟發,不同位置的局部圖像的重要性有所區別,應進行學習或人工處理得到N1張圖像的重要性。但本文圍繞著輕量級出發,為了降低計算復雜性和減少參數量,本文最終對所有的輸出組合取均值作為決策結果,然后通過Softmax 函數后得到該圖像的預測結果O,計算公式為:

其中:net為本文設計的網絡模型;Fi∈RB×2為模型的輸出結果;PIi∈RB×C×W×H為輸入圖像(B為小批量,C為通道數);最終的輸出結果為O∈RB×2。
本章將介紹使用的評價指標、數據集和實施細節,并基于不同方法、不同數據集、不同測試數據擴增方案和不同圖像尺寸進行對比實驗,以及CDC、注意力機制和DWCDCGM等模塊的消融實驗,從而驗證本文方法的有效性。
數據集 為了驗證本文方法的性能,分別在表1 中的REPLAY_ATTACK(后文簡寫為RA)[17]、CASIA-FASD(后文簡寫為CF)[18]和CASIA-SURF[19]數據集的Depth 模態上進行實驗。

表1 實驗數據集Tab.1 Experimental datasets
評價指標 在RA 和CF 數據集的內部實驗中使用等錯誤率(Equal Error Rate,EER)和半總錯誤率(Half Total Error Rate,HTER)兩個評價指標;而在數據集的交叉測試中僅使用HTER 作為評價指標。EER 為受試者工作特征曲線上錯誤拒絕率(False Rejection Rate,FRR)和錯誤接受率(False Acceptance Rate,FAR)相等時的均值,是人臉活體檢測的錯誤率水平的體現。HTER 為FRR 和FAR 的均值,也是衡量人臉反欺騙性能的重要指標。兩個指標的數值越小表示方法性能越好。在CASIA-SURF 數據集上,將平均分類錯誤率(Average Classification Error Rate,ACER)和準確率作為評價指標。
實驗設置 本文方法基于Python 的PyTorch1.7 框架實現,GPU 為 NVIDIA GTX2060,CPU 為Inter Core i7-10875H,內存為16.0 GB。使用隨機梯度下降(Stochastic Gradient Descent,SGD)優化器訓練模型,損失函數是交叉熵損失函數,初始學習率為0.01,批處理大小為128,迭代次數為100次,總共循環10 次。
2.2.1 最優輸入圖像尺寸的選擇
為了確定最優的圖像尺寸,分別在CF、RA 和CASIASURF 數據集上驗證了6 組不同圖像尺寸作為網絡模型輸入。實驗結果如表2 所示。

表2 數據集內部用不同圖像尺寸作為網絡輸入的實驗結果 單位:%Tab.2 Experimental results of different image sizes within datasets as network input unit:%
由表2 易知,因為本文所設計的網絡模型非常符合CF和RA 數據集,且這兩個數據集的攻擊類型較少、數據量豐富,所以任何圖像尺寸作為輸入都能達到100%的準確率。而在CASIA-SURF 數據集中,僅使用Depth 圖像作為實驗數據,當輸入圖像尺寸為96×96 時效果最好,在測試集上準確率達到99.49%且ACER 低至0.458 0%,這表明對于人臉反欺騙任務,原始圖像包含的人臉完整信息并不是最有價值的,過多的人臉信息可能導致更高的過擬合風險。
2.2.2 最優測試數據擴增方案的選擇
在1.3節中,本文提出了5種基于區域分塊的測試數據擴增方案,為了驗證所提方案的有效性,在CASIA-SURF(Depth)數據集上進行一系列實驗。CF和RA 數據集在所有圖像尺寸都有很好的效果,故不在這兩個數據集上進行內部驗證,實驗結果如表3所示。
由表3 可知,局部圖像中方案四的準確率最高、ACER 最低,全臉圖像中選擇增強方案也比不增強的效果好,這也進一步驗證本文提出的基于區域分塊的測試數據增強能有效提升模型的精度和泛化能力。

表3 數據集內部使用不同數據增強方案的對比實驗結果Tab.3 Comparison of experimental results of using different data enhancement schemes within dataset
2.2.3 消融實驗
前文介紹了CDC 算子、DWCDCGM 和注意力機制,其中引入CDC 算子是為了提高模型的泛化能力,提出DWCDCGM是為了使得設計的網絡結構更加輕量化,而注意力機制則是提高模型準確率和泛化能力。基于以上討論,在各個數據集上進行消融實驗:在CASIA-SURF 數據集內部驗證DWCDCGM 和注意力機制對模型準確率的提升和參數量的減少,輸入圖像尺寸為96×96,其中SE1 是DWCDCGM 后的注意力機制,而SE2 是DSM-SE 或FEM 后的注意力機制。通過跨數據集測試來驗證CDC 算子和注意力機制對模型準確率和泛化能力的提升,輸入圖像尺寸也為96×96。消融實驗結果如表4 所示。
表4 的實驗結果表明:在數據集內部實驗中,當所有模塊都應用時ACER 最低,而SE1 和SE2 模塊都不同程度地提升了模型的準確率,DWCDCGM 減少了參數量且精度保持不變;在跨數據集測試中,SE1 模塊對模型泛化能力的提升最大,CDC 算子次之。

表4 LightFASNet架構中不同模塊的消融實驗結果Tab.4 Ablation experimental results of different modules in LightFASNet architecture
2.3.1 數據集內部測試對比實驗
本文首先在CF 數據集和RA 數據集上進行了一系列實驗,并與現有方法進行比較,使用的評價指標是EER 和HTER;然后在CASIA-SURF(Depth)數據集上進行實驗,并且與ResNet18、MobileNet V2 等方法進行對比,用ACC、ACER和參數量等作為評價指標,驗證本文模型的高效性和輕量化;最后通過對比分析本文方法和其他方法在相同設備上預測一張圖片的時間,進一步驗證模型是否具備部署至移動設備的條件。
由表5 可知,本文方法在這兩個數據集上的EER 和HTER 都為0,即準確率均達到100%,明顯優于其他對比方法,這也證明本文方法的高效性。

表5 CF和RA數據集上各方法的對比實驗結果 單位:%Tab.5 Comparison of experimental results of different methods on CF and RA datasets unit:%
由表6 可知,本文方法在CASIA-SURF 數據集的Depth 圖像上取得了最高的準確率和最低的ACER,而且模型的參數也是最少,FLOPs 僅低于FeatherNet,模型的預測時間與FeatherNetA 和FeatherNetB 基本一致,并且少于其他三種方法,結合上述五個指標可知本文所提出的模型符合部署至移動設備和嵌入式設備的標準。

表6 CASIA-SURF(Depth)數據集上各方法的對比實驗結果Tab.6 Comparison of experimental results of different methods on CASIA-SURF(Depth)dataset
綜合分析表5、6 的結果,本文所設計的網絡模型已經達到各方面較優,并且方便部署在嵌入式設備。
2.3.2 跨數據集測試對比實驗
為了驗證本文方法的泛化能力,在RA 和CF 數據集上進行交叉測試,即在其中一個數據集上訓練得到效果最好的模型,然后在另外一個數據集上進行測試,使用HTER 作為評價指標,實驗結果如表7 所示。
由表7 可知,本文方法在各個數據集內部取得了目前最高的準確率;在跨數據集測試部分的實驗效果并非最好的,部分實驗略差于3DPC-Net 等方法。很顯然,兩個數據集的成像質量、攻擊類型都有一定的差別,而且本文追求輕量化的網絡結構,在特征提取方面有一定的不足,導致其跨數據集測試結果并非最好。關于跨數據集的效果不好,可以考慮將兩個數據集混合訓練,從而提高準確率。

表7 不同方法在CF和RA數據集上交叉測試的對比實驗結果Tab.7 Comparison of experimental results of different methods for cross test on CF and RA datasets
本文提出了一種全新的基于區域分塊和輕量級網絡的人臉反欺騙方法,并在測試時根據區域分塊設計了數據擴增策略和組合決策方法,這極大地提高了模型的精度。該模型通過設計DWCDCGM 去除冗余特征圖,減少了模型參數,并在每個下采樣模塊后添加注意力機制能保證模型在減少參數量的同時保持高精度;為了提高模型的泛化能力,該模型將深度卷積替換成深度中心差分卷積。實驗結果表明,本文方法在3 個數據集上取得了很好的效果,明顯優于其他對比方法,并且具有較少參數量;端到端的網絡結構使其方便部署在移動設備上;但是由于本文追求網絡輕量化,導致其泛化性能不夠先進。在未來的工作中,將在保持模型輕量化的前提下,考慮如何進一步提高模型的泛化性能。