楊巨成,代翔子,韓書杰,毛 磊,王 嫄
(天津科技大學人工智能學院,天津 300457)
人臉識別技術是個人身份認證的重要工具,并且該技術擁有非接觸式、成本低、方便快捷等特點,成為各種安全應用領域的最佳選擇(例如社交媒體和智能手機訪問控制、關鍵地點的邊境管制和視頻監控).由于復制人臉非常容易實現,因此出現了很多針對人臉認證攻擊的手段,主要包括人臉照片攻擊[1]、人臉視頻回放攻擊[1]以及三維人臉模型攻擊[2].
人臉識別系統中活體檢測技術判斷人臉圖像是否為活體.只有人臉圖像被判定為活體的情況下,人臉身份認證才有效,否則就會被判定為非法攻擊.本文首先列舉了3種常見的偽造攻擊類型,再分析近十年的相關工作,并將活體的檢測方法分為兩大類:(1)基于描述子的分析方法,指根據描述子所描述的特征差異性區分活體與非活體人臉圖像,比如紋理、運動、頻率、顏色、形狀等;(2)基于分類器的分析方法,指利用大量活體與非活體人臉數據作為訓練樣本,執行分類算法得到的活體判別模型.繼而歸納目前常見的幾種公開數據集,分析其屬性,包括人臉圖像的采集設備、采集環境、采集方式等.為了評價人臉活體檢測方法的性能,本文詳細介紹了人臉活體檢測中常見的幾種評價指標,分析幾種主流方法的優缺點,包括利用傳統的局部特征以及運動信息、深度學習方法等,指出未來人臉活體檢測方法的發展趨勢.
圖 1[3]是具有活體檢測功能的人臉身份認證系統框架.人臉識別系統通常會考慮以下 3種偽造攻擊類型:
(1) 人臉照片攻擊:包括打印照片、彎曲打印照片模擬人臉運動以及切割眼部的打印照片[1].
(2) 人臉視頻回放攻擊:通過視頻播放進行的攻擊顯示幾乎與真實人臉活體具有相似的行為,具有許多有效用戶運動的固有特征.這種類型的攻擊具有照片中未呈現的生理跡象,例如眨眼、人臉表情以及頭部和嘴部的運動,并且可以使用平板電腦或大型智能手機輕松執行[1].
(3) 三維人臉模型攻擊:在獲得合法用戶的人臉照片或人臉視頻信息后,非法用戶可以通過真人三維建模的方式得到合法用戶的三維面具.但是,面具的制造需要 3D掃描和打印特殊設備,成本比其他類型攻擊更加昂貴,其制作過程也更加困難[2].

圖1 具有活體檢測功能的人臉身份認證系統框架Fig. 1 Framework of face recognition-based authentication system for liveness detection
本文將針對人臉偽造攻擊的活體檢測方法歸納為兩大類:一是基于描述子的分析方法,比如紋理、運動、頻率、顏色、形狀或反射率;二是基于分類器的分析方法,比如判別式、回歸、距離度量以及啟發式方法.
2.1.1 基于紋理描述子的方法
打印照片中存在著活體中不存在的某種特有的紋理信息[4-5].紋理特征的差異性在活體和非活體中比較明顯,有超過 80%的研究方法都是單獨使用紋理特征或者是利用紋理特征結合其他描述子.不同的紋理描述子可以被用于檢測人臉攻擊,其中具有簡單易算性的局部二值描述子(local binary pattens,LBP)算法[6],常被用作特征描述的首要選擇,很多研究者都是探究 LBP或者基于 LBP改進的方法[7-8].LBP 是一種具有灰度、旋轉不變性的紋理編碼技術,通過將每個像素與其鄰域進行比較,標記每個像素,將結果連接成二進制數.鄰域的數量、鄰域半徑和編碼策略都是該方法的參數.最后將最終計算的結果組織在直方圖中以描述紋理.Tan等[9]在 Lambertian反射模型的基礎上利用對數總差異(logarithmic total variation,LTV)方法對圖像完成預處理,然后利用高斯差分(difference of Gaussian,DoG)濾波器對圖像進行濾波,提取圖像DoG特征,最后用改進的 Logistic回歸完成人臉真偽分類.
2.1.2 基于運動描述子的方法
運動描述子從兩種不同的運動方法角度進行活體檢測.一種方法是檢測和描述人臉變化,例如眨眼、人臉表情和頭部旋轉.Pan等[10]使用條件隨機場(conditional random fields,CRF)確定閉眼,從而檢測到眨眼;除了局部動作檢測外,檢測和描述全局人臉運動.而也有研究人員[11-12]利用光線流動(optical of lines,OFL)用于測量水平和垂直方向的人臉圖像的時空變化.Bharadwaj等[13]利用定向光流直方圖(histogram of oriented optical flow,HOOF)和光學幅度直方圖應用流(histogram of magnitudes of optical flows,HMOF)創建人臉運動方向和幅度的分級表示[14]過稀疏和低秩分解(robust alignment by sparse and low-rank,RASL)進行穩健對齊,嘗試在多個幀中對齊人臉并測量非剛性運動[15].另一種方法是評估用戶交互環境中的一致性.鑒于此,Komulainen等[16]提出了計算人臉和背景區域之間的運動相關性方法,Pinto等[17]提出基于高斯混合模型(Gaussian mixture models,GMM)的傳統背景差分法.
通過使用動態模式分解(dynamic mode decomposition,DMD)[18]探索幀序列內個體的人臉紋理,并通過在時間空間上移位的快照中的特征臉提取特征.DMD與 LBP技術結合使用作為紋理描述子,其用于捕獲視頻序列中活體人臉存在的證據,例如眨眼和嘴唇的運動.圖 2[10]中(a)、(b)、(c)圖是活體一個完整的眨眼動作,(d)、(e)、(f)是活體分別對應檢測眨眼動作的二值圖像.

圖2 活體眨眼動作圖像對應眼部的二值圖像Fig. 2 Binary images of living eyes with blinking movements
2.1.3 基于頻率描述子的方法
頻率描述子的方法是基于活體和非活體人臉圖像在頻域中的差異性提出的.Li等[19]提出一種結合高頻描述子和動態傅里葉頻率描述子的方法分析人臉.該方法基于兩種特性:(1)照片是平面結構,所以產生高頻分量應該小于活體人臉的成像;(2)因為臉部缺少表情變化,所以使得頻率分量(即頻率振幅的大小)的標準差較小.根據這兩種特性在人臉活體與非活體之間的差異性,促使很多研究者利用2D 離散傅里葉變換或者 2D 快速傅里葉變換將圖像從時域轉換到頻域[20-24],然后利用 LBP或者 HOG 等描述子進行一個特征表達.圖 3[20]中(a)圖是活體及其傅里葉變換的頻譜圖,(b)圖是非活體及其傅里葉變換的頻譜圖.

圖3 活體和非活體圖像在頻域空間上的頻譜圖Fig. 3 Spectrum of living and non-living images in the frequency domain
2.1.4 基于顏色描述子的方法
顏色描述子的方法是基于活體和非活體的顏色差異提出的.在這種背景下,色頻(CF)直方圖用于描述圖像中顏色的分布[25],而且這些直方圖被用作對圖像的不同塊計算HOG特征,即用3個bin編碼具有最高像素數的像素每個顏色通道中的梯度幅度.圖像失真分析(IDA)[26-27]、圖像質量評估(IQA)[28]和圖像質量測量(IQM)[29]方法通過全局圖像矩描述活體人臉圖像.IDA用于在 HSV和 RGB色彩空間提取特征,平滑光照強度.IQA用于在人臉活體檢測中最大化關鍵性能指標.IQM 旨在表明通過圖像的質量評估用高斯濾波產生的最小值,以判斷是否為非活體人臉圖像.YCbCr和HSV顏色空間在文獻[30-31]中用作顏色描述子.在文獻[32]中,RGB顏色空間的每個通道用于特征提取.圖 4[27]中(a)圖是活體,(c)圖是非活體,(b)、(d)圖分別是對應(a)、(c)圖的HSV顏色特征直方圖分布.
2.1.5 基于形狀描述子的方法
形狀描述子的方法對于區分打印照片是非常有效的一種手段,因為活體人臉幾何特征是無法在打印照片平面上重現的.基于約束性的局部模型(CLM)的活體輪廓被用于檢測視頻流中的人臉關鍵點,然后這些人臉關鍵點被定義成一個稀疏的 3D結構用于描述人臉的平面性[33].

圖4 活體和非活體圖像在HSV顏色空間中的分布Fig. 4 Distribution of living and non-living images in HSV color space
2.1.6 基于反射率描述子的方法
考慮到活體和非活體的人臉圖像在相同光照條件下表現不同,因而可以使用反射信息區分.為了實現這一點,變分 Retinex方法將輸入圖像分解為反射率和光照成分[34],以便分析整個圖像.圖 5[27]中(a)圖是活體圖像和檢測到的反射特征圖像,(b)圖是非活體圖像和檢測到的反射特征圖像;(c)圖是(a)圖中反射特征圖像特征值分布圖,(d)圖是(b)圖中反射特征圖像特征值分布圖.

圖5 活體和非活體圖像在反射特征中的分布Fig. 5 Distribution of living and non-living images in reflex features
2.2.1 基于判別器的方法
判別技術是通過最小化類內變化或最大化類間的變化區分不同的類別.這種類型的分類器在過半數的分析工作中被使用研究.
支持向量機(SVM)是人臉圖像活體檢測中最常見的分類技術,性能優越.為了實現區分目標,SVM需要找到最佳超平面,將活體和非活體人臉圖像的特征分開.當這些類不是線性可分時,需要使用不同的內核函數用于獲得非線性分類器.雖然線性SVM已經廣泛用于不同的領域[35-37],并且徑向基函數核[38-39]和直方圖交叉核[40]也被應用于提高分類精度.但是,這些研究并沒有描述如何在實驗中使用某種類型的SVM核函數.
除了 SVM 之外,還有一種常用的方法為線性判別分析(LDA)[41-42].LDA 能夠明確地建模類間的差異,以解決分類任務,它的優勢在于可有效降維,降低分類預測時間復雜度.多層感知器(MLP)[16]用于評估人臉圖像是否過度移動(手工平面打印照片)或沒有移動(連接到媒體的平面打印照片攻擊)有變化在 N視頻序列期間;神經網絡(NN)[11]擅長學習隱式模式,它能夠通過適當的訓練去識別非活體的運動信息.NN的訓練是使用標記數據集通過反向傳播方式進行,該自動編碼器被視為預訓練過程.
2.2.2 基于卷積神經網絡的方法
卷積神經網絡(convolutional neural network,CNN)[43-51]方法能夠自動提取圖像的有效特征,完全避免了傳統手工設計特征算法提取特征模式的單一性,并且能夠保證特征的尺度不變性,旋轉不變性.近幾年它被廣泛應用在人臉圖像有效識別特征提取中,用以進行人臉圖像的活體判斷.這類方法在公開測試集上取得了顯著的效果[52].但是,這類模型在訓練中容易過擬合,導致在實際運用中,泛化能力差,在某些不穩定的真實場景效果不盡人意.同時,這類方法對數據的覆蓋度、數據量的大小要求較高.圖 6是一個典型的基于卷積神經網絡方法實現活體檢測的模型流程圖.

圖6 基于3D卷積結構的活體檢測網絡Fig. 6 Living detection network based on 3D convolution structure
2.2.3 基于距離度量的方法
距離度量的使用可以改善人臉活體檢測系統的性能,它的目標是測量樣本之間的差異性.但是,這些方法通常需要一個窮舉搜索完成分類任務,這可能導致大型參考數據集中的高成本.卡方距離[53]和余弦距離[54-55]是常見的距離度量方式,它們用于計算一個待檢測人臉和參考數據集合的累積距離,以此決定待測人臉屬于活體人臉還是非活體人臉.
2.2.4 基于啟發式的方法
啟發式算法(heuristic algorithm)是相對于最優化算法提出的.一個問題的最優算法求得該問題每個實例的最優解.啟發式算法可以這樣定義:一個基于直觀或經驗構造的算法,在可接受的花費(指計算時間和空間)下給出待解決組合優化問題每一個實例的一個可行解,該可行解與最優解的偏離程度一般不能被預計.
目前比較通用的啟發式算法一般有模擬退火算法(simulated annealing,SA)、遺傳算法(genetic algorithm,GA)、蟻群算法(ant colony optimization,ACO)等.
在人臉活體檢測中典型利用啟發式算法例子的有眨眼次數[10]、動作測量閾值[12]、平均像素比率閾值[24]和運動測量的加權[40],進行啟發式判別的方法都是啟發式學習的例子.這種學習方式的顯著缺點是易導致過擬合,因為啟發式算法的局部最優值的陷入無法避免.啟發式,本質上是一種貪心策略,這也在客觀上決定了不符合貪心規則的更好(或者最優)解都會錯過.
NUAA數據集[9]是第一個用于評估人臉活體檢測的數據集.在不同環境和不同光照條件下,利用廉價攝像頭,分別采集了 3個不同時間段的數據,每個時間段間隔為兩周.其中偽造人臉的方式為平面或者彎曲打印照片.
Yale數據集[56]是在不同光照條件下采集的,該數據庫通常用在評估紋理方法的人臉活體檢測上.偽造人臉的方式為打印照片.
Print-Attack數據集[57]的采集是通過向采集傳感器顯示真實用戶的平面打印照兩種方式:手持(即冒名頂替者用手拿照片)或固定支架.偽造人臉的方式為打印照片.
Replay-Attack數據集[39]采集環境是在不同光照條件下進行的,其中偽造人臉方式包括打印照片和視頻回放.視頻回放所用的設備又包括低分辨率的移動設備和1024×768 分辨率平板電腦.
Casia Face Anti-Spoofing數據集[58]包含7種不同的攻擊場景和 3種不同的攻擊類型.偽造人臉的方式為平面照片、眼部被切割的打印照片以及視頻回放.
Kose and Dugelay數據集[59]的創建是通過3D結構光設備得到立體結構模型,然后利用 3D打印機打印出3D面具得到的.偽造人臉方式為面具.
3D Mask Attack數據集[60]是通過RGB-D深度相機采集得到的,其中每個人都包括一張正臉和兩張側臉照片.偽造人臉方式為面具.
MSU-MFSD數據集[27]的組成包括兩種數據類型,一種是通過視頻幀截取出來的打印照片,另外一種是視頻回放.打印照片用的是彩色大尺度的紙張,同時視頻回放的采集也是盡量保證采集環境的相似性.偽造人臉方式為打印照片和視頻回放.
UVAD 數據集[23,61]中偽造人臉是通過高清視頻回放設備以每秒 30幀的回放速度采集的,其中每段視頻是在不同的光照以及不同的場景(室內或者室外)下拍攝得到的.偽造人臉方式為視頻回放.
Oulu-NPU數據集[62]采集設備包含 6種手機機型,采集環境包括 3種光照環境和背景.偽造人臉方式為打印照片和視頻回放.
Siw數據集[63]的組成包括兩種數據類型,一種是通過 1080p高清設備采集的,另外一種是打印照片.采集環境包括光照、姿態、距離、表情這 4個變量.偽造人臉的方式為打印照片和視頻回放.
CASIA-SURF數據集[64]包含RGB圖、深度圖以及紅外熱力圖像3種數據,主要用于多模態融合方法上.偽造人臉方式包括打印照片和眼部被切割的打印照片.
數據集詳情見表1.

表1 公開活體數據集Tab. 1 Public living data set
常用的人臉活體檢測性能評價指標主要評價識別錯誤,其類型主要有兩類:一是非活體被作為活體接受數量 NFA(number of false acceptance),另外一種是活體被認為是非活體拒絕數量 NFR(number of false rejection).這兩種錯誤類型在人臉活體檢測系統中出現的可能性分別被稱為錯誤接受率(false acceptance rate,FAR)和錯誤拒絕率(false rejection rate,FRR),這兩種比率存在著反比例的關系.受試者工作特征曲線(receiver operating characteristic curve,ROC)是通過同時計算 FAR和 FRR的值獲得的,如圖 7所示.被 ROC包圍的區域面積為曲線下面積(area under the curve,AUC),同時在ROC曲線上當FAR等于FRR的時候,這個點被稱作等錯誤率(equal error rate,ERR),FAR和 FRR的均值被稱為半錯誤率(half total error rate,HTER).精度(the overall accuracy,ACC)同時兼顧著活體和非活體各自的FAR和FRR.

圖7 受試者工作特征曲線圖Fig. 7 Receiver operating characteristic curve
由于很多數據集中活體和非活體人臉圖像數據量并不是均衡的,所以用 ACC分析可能會導致偏差.其評估指標計算公式詳見表2.

表2 評估參數Tab. 2 Evaluation parameters
為驗證模型在人臉活體檢測任務上的魯棒性和泛化能力,研究人員普遍利用了 3大公開數據庫CASIA、Replay以及MFSD做了相關基準測試:
LBP方法[65]通過在CASIA上訓練,在Replay測試上得到的半錯誤率為 47%.這種方法的優點:一定程度上消除了光照因素帶給人臉圖像的噪聲影響,并且該算子具有旋轉不變性,特征維度低,計算速度快.但是,由于訓練樣本和測試樣本特征分布不一致,導致編碼閾值很難設定.
LBP-TOP方法[65]是在 LBP的基礎上增加一個維度信息——時間維度,這樣有助于獲取視頻幀之間的運動信息,進而提高人臉活體的準確率.但是,由于重新引入了新的輸入維度信息,導致輸出變成了一個高維度特征,從而計算量增加.
Motion方法[65]主要通過獲取人臉活體和非活體之間的微動作之間的差異作為評判標準.因為主要是針對剛性運動,所以導致它對視頻回放攻擊或者照片抖動攻擊這種非剛性攻擊效果不好.
CNN方法[66]提出了一種讓計算機自動學習出模式特征的方法,并將特征學習融入到了建立模型的過程中,從而減少了人為設計特征造成的不完備性.其中Auxiliary方法[63]使用空間和時間輔助信息的監督而不是二元監督,以便從人臉視頻中更健壯地檢測人臉偽造攻擊.這些輔助信息是基于我們關于現場和欺詐面部之間關鍵差異的領域知識獲得的,其中包括兩個視角:空間和時間.其中空間就是圖像的深度,而時間就是使用遠距光體積描記術(remote photoplethysmography,rPPG)信號作為輔助監督.而 De-Spoof方法[47]啟發于圖像去噪和去抖動,無論是噪聲圖還是模糊圖,都可看成是在原圖上加噪聲運算或者模糊運算,而去噪和去抖動就是估計噪聲分布和模糊核,從而重構回原圖,利用訓練出的噪聲模型去判別人臉活體圖像.但是,當實際場景中活體的人臉圖質量并不是很高,而非活體人臉攻擊圖像的質量相對高時,這種方法很難去判別人臉活體與非活體.GFACNN[67]方法則是利用了風格遷移[68]減少不同域之間帶來的影響.這些 CNN方法的不足是:都需要大量的數據作為支撐,并且訓練判別模型也需要算力較大的硬件設備作為支持.
Color LBP[30]、Color Texture[30]以及 Color Surf[30]都是基于顏色域空間上利用不同的描述子去提取人臉活體與非活體圖像特征的方法.其缺點是針對面具攻擊效果較差,對單個顏色特征的依賴性大,泛化能力也差.
不同方法在不同數據庫上的訓練測試半錯誤率的對比結果見表3.

表3 不同方法在不同數據庫上的訓練測試半錯誤率的對比 %Tab. 3 Comparison of half total error rate indicators in different training tests on different databases with different methods
由表3可以分析出:前半部分方法大多數都是基于人工設計特征提取算子 LBP進行分析人臉圖像,這種方法提取特征形式比較單一,無法有效提取更多的人臉活體判別信息.而后半部分方法大多數是基于 CNN提取人臉活體特征,提取形式相比較于傳統人工設計特征提取算子更豐富;但是仍然不能很好地解決模型的泛化能力,故目前出現了很多利用人臉圖像的其他信息輔助監督模型進行訓練,以此達到更好的模型泛化性.
盡管人臉識別活體檢測在公開數據集上取得了良好的效果,但是我們應該考慮與工業界實際情況相結合,盡量提高方法的泛化能力,以應對工業界各種復雜的場景.
首先,基于描述子的分析方法是從人臉識別技術引入到人臉活體檢測中,在單個特定數據集上通常能得到較好的結果,但其性能會隨著不同數據集的遷移逐漸衰減.因此,設計專門用于人臉圖像活體檢測的解決方案是很有必要的,比如早期基于運動和反射率的方法.這點在過去幾年里似乎未被充分研究,但是深度學習可以學習到更抽象的語義特征,例如短期記憶網絡(long short-term memory,LSTM)[69]和傅里葉卷積神經網絡(Fourier CNN)[70].
第二,可以探索其他學習框架以提供不同關于如何解決這個問題的觀點.到目前為止,尚未有基于遷移學習或在線學習框架的活體識別方法,不過這類框架對于不同的數據集和流數據有更好的適應性.
第三,活體檢測目前還沒有統一公認的大型數據集.多場景、多人物、多光照等更具有泛化性的大型數據集有助于算法的快速進步,對于討論該領域的如過擬合、多類別攻擊等復雜問題能起到重要的推動作用.因此,亟待構建大型人臉識別活體檢測數據集.
最后,可進一步考慮多模態活體檢測方法.因為必須同時偽造多個生物識別特征,所以多模態生物識別系統不太可能被非活體偽造.出于這個原因,很多方法是通過融合兩個或更多人類特征解決非活體的問題.考慮到這一點,人臉識別技術可以被視為一種特殊情況,因為多模態可以利用多種人臉特征(例如紋理、形狀和溫度)避免偽造攻擊.如今,不同的有效設備能夠捕獲圖像的顏色、深度和紅外線,同時在價格上比較有優勢.這些設備可用于減弱當前的人臉偽造攻擊影響,并在將來有可能實際地運用到工業界中.