Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision
人臉防欺騙的學習深層模型:二進位或輔助監督
CVPR2018
人臉反欺騙是防止人臉識別系統安全漏洞的關鍵。以前的深度學習AP-proaches將人臉反欺騙描述為一個二元分類問題。他們中的許多人很難抓住足夠的欺騙線索,泛化得很差。在本文中,我們強調了輔助監督的重要性,以引導學習走向判別性的和可推廣的線索。學習了CNN-RNN模型,用像素監督估計人臉深度,用序列監督估計RPPG信號。估計的深度和RPPG融合以區分活的和欺騙的臉。此外,我們還介紹了一個新的人臉防欺騙資料庫,它涵蓋了大量的光照、主體和姿態變化。實驗表明,我們的模型在資料庫內和跨資料庫測試上都達到了最先進的結果。
1 引言
圖1 傳統的基於CNN的人臉反欺騙方法利用二元監督,考慮到CNN的巨大求解空間,這可能導致過擬合。本工作設計了一種新的網絡工作體系結構,利用兩種輔助信息作為監督:深度圖和RPPG信號,其目標是在推理過程中改進泛化和可解釋決策。
如圖1,我們提出了一個深度模型,該模型使用來自空間和時間輔助信息的監督,而不是二進位監督,目的是從人臉視頻中穩健地檢測人臉pa。 這些輔助信息是根據我們關於活面和欺騙面之間關鍵差異的領域知識獲得的,其中包括兩個視角:空間和時間。
從空間角度來看,已知活面部具有臉狀深度,例如,在正面視圖中,鼻子比臉頰更接近相機,而列印或重放攻擊中的臉具有平坦或平面深度,例如,紙張圖像上的所有像素與相機的深度相同。因此,深度可以作為輔助信息來監督活面和欺騙面。
從時間的角度看,正常的RPPG信號(即心脈衝信號)可以從現場檢測到,而不是欺騙,臉視頻[31,35]。因此,我們提供不同的RPPG信號作為輔助監督,引導網絡分別從現場視頻或欺騙視頻中學習。為了實現這兩個監督,我們設計了一個具有short-cut捷徑?連接的網絡體系結構來捕獲不同的尺度和一個新的非剛性註冊層non-rigid registration layer來處理RPPG估計的運動和姿態變化。
人臉反欺騙資料庫:NUAA [43], CASIA [50], ReplayAttack [17], and MSU-MFSD [45],這些數據收集中使用的設備類型(例如相機和欺騙介質)在解析度和成像質量方面已經過時。最近的MSU-USSA[38]和Oulu資料庫[14]有較少變化的姿態p,照明i,表達e(PIE)。
缺乏必要的變化將很難學習一個有效的模型。鑑於對更先進資料庫的明確需要,我們在野生資料庫Wild Database(SIW)中建立了一個名為欺騙的人臉反欺騙資料庫)。SIW資料庫由165個主題、6個欺騙媒體和4個會話組成,涵蓋不同的內容。表1展示了各個資料庫之間的比較。
貢獻:
我們提出利用新的輔助信息(即深度圖和RPPG)來監督CNN學習,以改進泛化。
我們提出了一種新的CNN-RNN體系結構,用於端到端學習深度圖和RPPG信號。
我們發布了一個新的資料庫,其中包含PIE和其他實際因素的變化。我們實現了最先進的性能,面對反欺騙。
//本文模型(CNN-RNN)利用CNN提取人臉特徵,然後將feature map與depth map(即從2D圖像中得到的3D形狀表達)輸入到作者提出的non-rigid registration layer,再將aligned feature maps與rPPG輸入到RNN進行分類。Method pipeline如 Fig 2. 所示。
2先前工作(人臉反欺騙)
我們回顧了以往的人臉防欺騙工作分為三組:基於紋理的方法、基於時間的方法和遠程光繪製方法。
Texture-based Methods:
utilize hand-crafted features, such as LBP [18, 19, 33], HoG [27, 49], SIFT [38] and SURF [13], and adopt traditional classifiers such as SVM and LDA.
為了克服光照變化,seek solutions in a different input domain, such as HSV and YCbCr color space [11, 12], and Fourier spectrum
using CNN-based features or CNNs in face anti-spoofing [21,
30, 37, 48]. 許多看出二進位分類問題,例如使用cnn作為特徵提取和微調來自imagenet預訓練的CaffeNet和VGG-face。
類似工作[5]基於雙流CNN的抗欺騙方法,使用紋理和深度。我們在許多方面推進了[5],包括與時間監督(即RPP G)的融合、更精細的體系結構設計、新的non-rigid registration layer和全面的實驗支持
Temporal-based Methods:
基於時間線,眨眼;跟蹤嘴和嘴唇的運動,以檢測面部活性。對典型的紙張攻擊是有效的,但當攻擊者提出重放攻擊或眼睛/嘴部分被切割的紙張攻擊時,它們會變得脆弱。
更一般的節奏特徵,最常見的方法是幀連接concatenation,通過簡單地連接concatenation連續幀的特徵來訓練分類器
此外,時間特定的特徵,?Haralick特徵[4],motion mag[7],光流[6]
[21]將光流圖和Shearlet圖像特徵輸入給CNN
[47]提出了一種利用時間信息進行二進位分類的LSTM-cnn體系結構。
Remote Photoplethysmography (rPPG):
rPPG是追蹤生命信號的技術,如心率,而不需要與人體皮膚接觸
研究開始於面部視頻,沒有運動或照明變化的視頻與多種變化。
[20]從RGB臉視頻與照明和運動變化估計rppg信號。它利用色差消除鏡面反射,估計兩個正交色度信號。應用帶通濾波器(BPM)後,利用色度信號的比值來計算RPPG信號。
[31]RPPG信號用於解除3D掩碼攻擊,活臉表現出心率的脈搏,不像3D面具
[35]從三個人臉區域和兩個非人臉區域提取RPPG信號(也通過[20]),用於檢測列印和重放攻擊。
雖然RPPG提取[20]的解析解很容易實現,但我們認為它對PIE變化很敏感。
3 Face Anti-Spoofing with Deep Network
該方法的主要思想是引導深度網絡關注跨空間和時間域的已知欺騙模式,而不是提取任何可能分離兩個類但是不通用的線索。
如圖2所示所提出的網絡以連貫的方式結合了CNN和RNN體系結構。CNN部分利用深度圖監督來發現微妙的(活/欺騙臉導致的不同深度的)紋理屬性。然後將估計的深度和特徵圖feature map提供給新提出的non-rigid registration layer以產生對齊的特徵圖feature map。用對齊的maps和rPPG監督訓練RNN部分,來檢查視頻直接的時間變化。
3.1 Depth Map Supervision二維圖像的三維信息表達
表示不同區域和相機之間不同距離。這種表達比二維標籤傳達出更多的信息,可以從根本上區分真人與列印、視頻回放的攻擊方式。
Depth Map深度圖是二維圖像中面部的三維形狀的表示,展示了不同面部區域的面部位置和深度信息。這種表示比二進位標籤更具有信息量,因為它表示活面與列印和重放pa之間的基本區別之一。我們利用深度損失函數中的深度圖來監督CNN部分。基於像素的深度損失引導cnn學習從接收區域內的面部區域到標記的深度值的映射-對於實時人臉,比例在[0,1]範圍內,對於欺騙人臉,該比例為0
為了估計2d人臉圖像的深度圖,給出人臉圖像,我們採用了最先進的密集人臉對齊(DeFA)方法?,去估計3Dshape形狀。
3.2 rPPG監督
傳統rPPG信息往往容易受到光照、人臉表情、面部姿態等因素的影響使得結果不夠精確。本文提出利用 RNN 來學習rPPG。
rPPG信號最近已經被用到活體識別領域了,為face liveness提供時域信息,這類信息與血液流動高度相關。傳統的rPPG信號提取方法有三個弊端:對姿態太敏感,很難跟蹤某個特定的面部區域;對光照敏感,額外的光照會影響皮膚反光的總量;對於活體識別而言,從視頻提取的rPPG信號可能無法與真實視頻區分。
文章方法認為用RNN去估計rPPG信號可以有效解決上述所有問題,假設,同一subject的視頻在不同PIE條件下的ground truth rPPG信號是相同的。由於同一人的心跳在視頻中(拍攝時間小於5分鐘)是相似的,所以假設有效。作者把某個subject的constrained(PIE 無變化)視頻中提取出的rPPG信號作為這個subject所有rPPG信號的groundtruth。這種可持續的監督信息有助提升CNN和RNN的魯棒性。作者用DeFA提取人臉區域用於計算兩個正交色度信號,然後FFT變換至頻域。
3.3網絡結構
我們提出的網絡由兩個深度網絡組成。首先,CNN部分分別評估每個幀,並匹配每個幀的深度圖和特徵圖。遞歸神經網絡(RNN)部分評估序列特徵映射的時間變異性。
圖3 提出的CNN-RNN體系結構。濾波器的數目顯示在每層頂部,所有濾波器的大小為3×3,卷積層步長1,池層步長2。使用的顏色代碼:橙色=卷積,綠色=池化,紫色=響應映射
3.3.1 CNN
設計了一個完全卷積網絡(FCN)作為我們的CNN部分,如圖3。CNN部分包含三個卷積層、池化層和resizing layer組成的多個blocks,每個卷積層後面是一個指數線性層和批處理歸一化層。
resizing layer在每個block後調整響應映射的大小到預定義64×64大小,並連接響應映射response map(每個block的輸出都resize到64*64再合併)。旁路連接有助於網絡利用從不同深度的層中提取的特徵,類似於RESNET結構。因此,我們的CNN有兩個分支,一個用於估計深度圖,另一個用於估計特徵圖。
合併後的feature分別輸入到兩個分支,第一個分支用於估計深度圖,ground truth D,目標函數:
θD為CNN參數,Nd為訓練集樣本總數。
第二個分支輸入到non-rigid registration layer。
3.3.2 RNN網絡
RNN網絡基於輸入圖像序列估計rPPG信號f。利用一個有100個隱藏神經元的LSTM層,1個全連接層,1個FFT層,將完全連接層的響應轉換為傅立葉域。(然後FFT變換到頻域)
給定輸入序列,ground truth rPPG信號f,通過最小化估計rPPG信號f和ground truth f的l1距離來訓練RNN
目標函數:
3.3.3細節
ground truth 給定一組live和欺騙的人臉視頻,我們為深度圖d和RPPG信號f提供ground truth監督,我們按照sec3.1中的過程計算實時視頻的「地面真實」數據。對於欺騙視頻,我們將地面真實深度圖設置為平面,即零深度。類似地,我們遵循第3.2節中的程序,從額頭上的一個貼片計算出「基本真實」的rPPG信號,每個受試者的一個實時視頻沒有變化。另外,我們規範化估計的rPPG信號的範數,使得||f||2=1。對於欺騙視頻,我們認為rPPG信號為零。
訓練策略
我們提議的網絡結合了CNN和RNN部分進行端到端訓練。CNN部分所需的訓練數據應來自不同的subjets,以使訓練過程更穩定,並增加所學模型的可推廣性。同時,RNN部分的訓練數據應該是長序列,以利用幀間的時間信息。這兩個偏好可能互相矛盾,特別是考慮到有限的GPU內存。因此,為了滿足這兩種偏好,我們設計了一種雙流訓練策略。第一個流滿足CNN部分的偏好,其中輸入包括面部圖像I和ground truth深度圖D。第二個流滿足RNN部分,輸入包括面部序列,ground truth深度圖,估計3D形狀,以及對應的ground truth rPPG信號f。
訓練過程中,在這兩個流之間交替,以收斂到一個同時最小化深度圖和rppg損失的模型。
儘管第一流只更新CNN部分的權重,但第二流的反向傳播以端到端的方式更新CNN和RNN部分的權重。
測試時:測試序列輸入到網絡,計算最後一幀的深度圖D和rPPG信號f。
分類分數計算如下:
3.4 Non-rigid Registration Layer
為了讓RNN學習不同時間和不同人物主體下的相同臉部區域的activation變化信息,作者添加了Non-rigid Registration Layer
Non-rigid Registration Layer的作用在於消除了臉部表情、姿態,背景區域,以及更好地利用depth map信息方面,從而有效地提升了spoofing recognition的性能。
該層為RNN部分準備數據,該層利用估計的密集3D shape來對齊CNN部分的激活?activations?和特徵映射。該層十分重要,確保RNN跟蹤和學習(在不同時間和不同subjet)相同的面部區域的激活activations變化。
如圖5,該層 有三個輸入,feature map T,深度圖D,3D shape S。在這一層中,我們首先對深度圖設置閾值並生成一個二進位掩碼V。
然後計算二進位掩碼和特徵映射的內積,U = T⊙V,它基本上利用深度圖作為特徵圖中每個像素的可見性指示器。如果一個像素的深度值小於閾值,我們認為該像素是不可見的。最後利用估計的3D shape S來正面化U。
m是S0中人臉區域K個索引的預定義列表?,mij是像素ij對應的索引。我們利用m將掩碼激活map U投影到正面圖像F。
該層對我們的網絡有三個貢獻:
通過應用non-rigid registration,輸入數據被對齊,RNN可以比較特徵映射而不涉及面部姿態或表情。換句話說,它可以學習相同面部區域特徵映射的激活過程中的時間變化。
non-rigid registration刪除了特徵映射中的背景區域,所以背景區域不會參與RNN學習,儘管背景信息已經在CNN層中使用
對於欺騙人臉,深度圖可能接近0。因此具有深度映射的內積大大削弱了特徵映射中的激活,這使RNN更容易輸出0rPPG信號。同樣,來自rPPG損失的反向傳播也會鼓勵CNN部分為所有幀或輸入序列中大多數幀中的一個像素位置生成零深度圖。
4資料庫
我們為每個主題提供兩個列印和四個重放視頻攻擊,並提供例子如圖7
5實驗
評價指標:
Attack Presentation Classification Error Rate APCER
Bona Fide Pre-sentation Classification Error Rate BPCER
ACER=(APCER+BPCER)/2
Half Total Error Rate HTER
False Rejection Rate (FRR)
False Acceptance Rate (FAR)
1.測試結構,cnn rnn 還有新提出的層,分別拆開做實驗.表2
2.較長序列的測試//但由於更長序列更好,但受限於GPU內存大小限制。表3
3.內部測試
4.交叉測試:泛化性
5.可視化以及分析:
在所提出的體系結構中,利用額狀特徵映射作為RNN部分的輸入,並由RPPG損失函數監督。這些map的值可以顯示不同面部區域對RPPG估計的重要性。圖9顯示了正面特徵映射的均值和標準差,可以看到,前額和臉頰的側面區域對RPPG估計有較高的影響。
如圖10,欺騙數據中兩種估計的精度都很高,而活數據的精度相對較低。注意,深度估計中嘴部區域有更多的誤差,這與圖9中同一區域的激活較少是一致的。
圖8中示出了估計深度圖和RPPG信號的成功和失敗案例的示例。
圖8。(a)8個成功的反欺騙實例及其估計深度圖和rppg信號。(b)4個失敗例子:前兩個是活的,另兩個是欺騙。注意我們估計判別深度圖和RPPG信號的能力。
結論
本文確定了輔助監督對基於深度模型的人臉防欺騙的重要性。該網絡結合CNN和RNN體系結構,共同估計人臉圖像的深度和人臉視頻的RPPG信號。我們介紹了SIW資料庫,它包含比以前的資料庫更多的主題和變體。最後,我們初步證明了我們的方法的優越性。