李策,李蘭,宣樹星,楊靜,杜少毅
(1.蘭州理工大學(xué)電氣工程與信息工程學(xué)院,730050,蘭州;2.西安交通大學(xué)自動化科學(xué)與 工程學(xué)院,710049,西安;3.西安交通大學(xué)人工智能學(xué)院,710049,西安)
隨著圖像篡改技術(shù)的不斷提升以及人臉識別系統(tǒng)的自動化和無人監(jiān)督化的發(fā)展[1-2],近年來篡改者很容易通過照片和視頻的手段復(fù)制人臉,從而達到攻擊人臉識別系統(tǒng)的目的。然而,在智能技術(shù)迅速發(fā)展的現(xiàn)在,人臉識別系統(tǒng)已在考勤、門禁、安防和金融等領(lǐng)域得到了廣泛的應(yīng)用,日常生活中刷臉辦事已經(jīng)變成了一種流行的方式,例如,車站安檢、小區(qū)門禁鎖、手機人臉解鎖、支付寶刷臉支付和自動取款機刷臉取款等。所以,惡意偽造合法用戶的人臉來攻擊人臉識別系統(tǒng),會使得人臉身份認(rèn)證系統(tǒng)受到嚴(yán)重的威脅[3]。對于人臉的篡改攻擊會使得人臉識別系統(tǒng)的安全性無法得到保證,更會讓使用者的隱私暴露到大眾面前,甚至財產(chǎn)可能會被不法分子盜取。刷臉時代的到來在給人們生活帶來方便的同時,同樣也存在著極大的安全隱患。因此,辨別人臉圖像的真假性成為一個社會關(guān)注的問題,用于檢測人臉是否被篡改的活體檢測技術(shù)也已成為計算機視覺領(lǐng)域的研究熱點之一。
活體人臉檢測技術(shù)主要是利用有生命個體的活體人臉?biāo)哂械纳疃刃畔?、運動信息和紋理信息與假人臉進行區(qū)別,來有效辨別人臉的真假性。常見的偽造技術(shù)有打印照片、視頻回放和面具攻擊3種。真實人臉與3種偽造假人臉有著很大的區(qū)別:真實人臉是通過攝像頭首次拍攝活的人臉來獲取,而假的人臉是通過攝像頭二次甚至多次采集首次拍攝的照片獲得的,多次采集照片會使得圖像原來的紋理信息、三維結(jié)構(gòu)和運動信息發(fā)生變化。
近年來,針對身份認(rèn)證的活體人臉檢測技術(shù),國內(nèi)外相關(guān)研究團隊主要對打印照片和視頻攻擊等問題展開研究,并取得了一定的成果。傳統(tǒng)的算法一般將人臉活體檢測視為二分類問題,利用真假人臉的區(qū)別進行分類。Bharadwaj等首先在連續(xù)幀上通過放大面部微小的動作進行預(yù)處理,然后使用局部二值模式(LBP)提取圖像的特征,最后采用支持向量機分類獲取結(jié)果[4]。后來,其在文獻[5]對算法又進行了改進,在經(jīng)過預(yù)處理步驟后,提取了LBP和方向光流直方圖特征分析圖像的特征,不僅獲得了區(qū)分真假人臉的紋理特征,而且提供了真實人臉的活性特征,在一定程度上提升了算法性能,但是預(yù)處理引入的噪聲對整體結(jié)果造成了一定的影響。Tirunagari等則首先對圖像進行動態(tài)模式分解,得到最大運動能量的子空間圖,然后再進行紋理分析,但是基于面部動作的算法對于打印照片抖動和視頻攻擊效果不好[6]。Li等引入了測量活體人臉心率的算法,通過遠(yuǎn)程光電體積描記術(shù)(rPPG)來預(yù)測心率[7]。由于照片人臉和活體人臉提取的心率信號分布不同,而視頻人臉和活體人臉的心率信號近似,所以設(shè)計了一個級聯(lián)的活體檢測算法。首先使用脈沖在頻域上的不同分布來區(qū)分照片人臉攻擊,若判斷為活體則使用LBP紋理分析判斷是否為視頻攻擊,但是心率信號的魯棒性很低,所以脈沖特征的判別能力不夠。
隨著深度學(xué)習(xí)的發(fā)展,相關(guān)算法在人臉活體檢測領(lǐng)域受到了越來越多的關(guān)注。Xu等模擬傳統(tǒng)的提取紋理特性并分類的思路,設(shè)計了CNN-LSTM算法檢測活體人臉,具有一定的提升效果[8]。由于視頻和照片沒有深度圖信息,而活體人臉的鼻子、嘴巴和額頭之間會有一定的深度,Atoum等首次將人臉的深度圖作為判別活體與假人臉的判別特征,但是沒有與最優(yōu)的傳統(tǒng)算法比較[9]。Liu等將二分類問題轉(zhuǎn)換成為特征監(jiān)督問題,將活體人臉的心率信號和深度圖作為判別真假人臉的特性,并且巧妙地設(shè)計了一個非剛性注冊層來對齊各幀人臉的非剛性運動,突破了傳統(tǒng)算法,取得了很好的效果[10]。Song等將活體檢測放到人臉檢測算法框架里面,并將其作為一個類,通過比較背景、真人臉和假人臉的置信度分?jǐn)?shù)來鑒別是否為活體[11]。Zhang等提出了一種輕量級的網(wǎng)絡(luò)FeatherNets,并設(shè)計了一種新的基于深度圖和紅外數(shù)據(jù)的多模態(tài)融合分類器,以此提升人臉圖像的活體檢測性能[12]。Yu等將人臉圖像的活體檢測問題轉(zhuǎn)換為一種圖像材質(zhì)識別問題,判別人臉的真假[13]。Yu提出了一種中心差分卷積的算法,可以很好地提取到偽造圖像的特征,并且不容易受到圖像光照和型號的影響[14]。Jourabloo等將圖像噪聲引入到判別人臉活體檢測的問題中,將活體檢測問題轉(zhuǎn)換為去欺騙問題[15]。Luo等使用卷積網(wǎng)絡(luò)融合不同尺度的人臉圖像特征,在單數(shù)據(jù)集上取得了一定的效果[16]。Shao等利用生成式對抗網(wǎng)絡(luò)(GAN)設(shè)計了一個多對抗性判別網(wǎng)絡(luò),生成一個具有活體人臉一般特性的生成器,對出現(xiàn)未知攻擊的類型有一定的提升效果[17]。Liu等構(gòu)造了一個含多種攻擊類型的SiW-M數(shù)據(jù)集,訓(xùn)練了一個深度決策樹網(wǎng)絡(luò),可以實現(xiàn)零樣本下未知攻擊類型數(shù)據(jù)的鑒別,但是涉及的超參數(shù)較多,且沒有明確的決策閾值[18]。
綜上所述,人臉活體檢測算法是通過提取人臉面部紋理、三維結(jié)構(gòu)和面部運動信息共3類特征作為真假人臉的判別依據(jù)。雖然這些算法已經(jīng)取得了一定的結(jié)果,但是仍然存在以下缺陷:①難以鑒別未知的人臉攻擊圖像;②獲取一般的真假人臉特征存在一定的難度。所以,本文提出了一種采用超復(fù)數(shù)小波生成對抗網(wǎng)絡(luò)的活體人臉檢測算法,解決訓(xùn)練階段未出現(xiàn)的人臉圖像檢測。
針對現(xiàn)有活體人臉檢測算法很難檢測到訓(xùn)練時未出現(xiàn)的跨域人臉數(shù)據(jù)特征問題,利用超復(fù)數(shù)小波(HWT)[19]可以提取圖像豐富細(xì)節(jié)信息的特點,運用生成對抗網(wǎng)絡(luò)來調(diào)整訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)之間的特征分布,使得源數(shù)據(jù)的訓(xùn)練模型可以適應(yīng)目標(biāo)數(shù)據(jù)的特性,提出了一種采用超復(fù)數(shù)小波生成對抗網(wǎng)絡(luò)的活體人臉檢測算法。
首先,將3種不同類型的數(shù)據(jù)集視為3個域的源數(shù)據(jù),轉(zhuǎn)換到HSV空間并分別輸入到生成對抗網(wǎng)絡(luò)中,訓(xùn)練一個特征生成器與3個判別器進行對抗,當(dāng)特征生成器成功欺騙過3個判別器時,則形成了具有3個源域共享特征且區(qū)別于3個域的特征空間,用來預(yù)測未知域人臉圖像的特征。同時,在判別器上設(shè)置了域間和域內(nèi)的三元組約束函數(shù),以此提高判別器的性能,并且將特征生成器網(wǎng)絡(luò)的池化層連接了超復(fù)數(shù)小波變換的12幅子帶圖,增加人臉圖像水平、垂直和對角方向的細(xì)節(jié)信息。然后,為了讓生成的具有區(qū)別和共享3個源域的特征空間泛化到訓(xùn)練集中沒有的未知目標(biāo)域特征空間上,將活體人臉和偽造人臉都具有的深度圖和rPPG信號差異嵌入到特征空間中,形成通用特征空間,提高特征空間判別人臉活性特征的能力。最后,使用源數(shù)據(jù)中未出現(xiàn)的測試數(shù)據(jù)進行測試,通過該特征空間進行判別分類,得到真假人臉的判別結(jié)果,算法框架如圖1所示。
圖1 本文算法框架Fig.1 The framework of proposed algorithm
為了增強人臉活體檢測算法對于未知的活體人臉圖像的判別能力,需要學(xué)習(xí)到多個域人臉數(shù)據(jù)集所具有的通用特征空間。因此,利用GAN網(wǎng)絡(luò)的特性,用生成器與多個具有源域特征的判別網(wǎng)絡(luò)進行對抗,使其能夠?qū)崿F(xiàn)從可見的多源域數(shù)據(jù)分布中學(xué)習(xí)一個不可見的目標(biāo)域數(shù)據(jù)分布的預(yù)測模型[17],實現(xiàn)過程如下。
假設(shè)有N個源域數(shù)據(jù)集X={X1,X2,…,XN},對應(yīng)的標(biāo)簽為Y={Y1,Y2,…,YN},每個標(biāo)簽有兩種情況。本文算法N=3。當(dāng)數(shù)據(jù)來自于活體人臉,則Yi=1,當(dāng)數(shù)據(jù)來自于偽造人臉時則Yi=0。在獲取到源數(shù)據(jù)集后,對于N個源域數(shù)據(jù),先分別提取每個源域數(shù)據(jù)的判別性特征,具體為分別在不同域下使用二分類的交叉熵?fù)p失函數(shù)訓(xùn)練得到各自的模型,預(yù)訓(xùn)練的多個特征提取器表示為M1,M2,…,MN。以一個源域為例,描述二分類的交叉熵?fù)p失函數(shù)為
Lcls(X1,Y1;M1,C1)=
(1)
式中:(x1,y1)是(X1,Y1)的取樣;C1是模型分類器;k∈(1,2,…,K)為所屬類的標(biāo)簽,因為人臉活體檢測中只有真和假兩種情況,所以K=2。
不同域下的判別特征空間會偏向于各自的源域數(shù)據(jù)特征,使得它們較難檢測到源域中看不見的偽造人臉攻擊。因此,利用生成器與不同域下的判別特征進行對抗,獲取不同域下的不會偏向于任何源域的通用特征空間,使其具有活體人臉判別特征的一般性,從而能夠很好地檢測未知的目標(biāo)域數(shù)據(jù),實現(xiàn)原理與過程如下。
假設(shè)有N個源域數(shù)據(jù)集,則N個特征提取器可以編碼N個判別器,訓(xùn)練一個特征生成器,使其與N個判別器對抗。當(dāng)特征生成器能夠欺騙所有的判別器時,則特征生成器生成了一個N個源域共享的特征空間。對該生成對抗過程進行建模,目標(biāo)函數(shù)可描述為
LDG(X,X1,X2,…,XN;G,D1,D2,…,DN)=
Exi~Xi[1-log(Di(Mi(xi)))]}
(2)
式中:G表示特征生成器,用于形成每個源域判別器都難以區(qū)分的通用特征空間;Di表示第i個域判別器,用于將學(xué)習(xí)到的特征空間與第i個源域的特征空間區(qū)分開。通過在特征空間中進行多對抗性學(xué)習(xí)的過程后,可以由特征生成器G自動學(xué)習(xí)并生成通用的人臉活體特征空間。
HWT因具有近似平移不變性、時頻局部化和豐富的相位信息等特性,受到了廣泛的關(guān)注。一幅圖像經(jīng)過HWT后,可以得到16幅子帶圖,分別為4幅近似圖和12幅細(xì)節(jié)子帶圖,其中12幅細(xì)節(jié)子帶圖分別為水平、垂直和對角方向的細(xì)節(jié)信息。HWT的12幅子帶圖提供了圖像多個方向的細(xì)節(jié)特征,而且HWT是建立在四元數(shù)的基礎(chǔ)上,將彩色圖像表示為四元數(shù)矩陣的形式,可以更加全面地表示彩色圖像的特征。本文算法主要通過學(xué)習(xí)多個源域數(shù)據(jù)共享的特征建立通用特征空間,來預(yù)測不可見的人臉數(shù)據(jù),而HWT多個方向的紋理細(xì)節(jié)特征和顏色特征可以提升特征學(xué)習(xí)的能力。因此,將HWT與卷積網(wǎng)絡(luò)聯(lián)合學(xué)習(xí),有助于卷積網(wǎng)絡(luò)提取到活體和偽造人臉的多個方向的細(xì)節(jié)信息,從而為活體人臉檢測算法提供有力的判別特征,形成較為通用的特征空間。
活體人臉和偽造人臉在紋理細(xì)節(jié)信息上存在著明顯的差異。因此,在圖1的判別器特征提取的卷積網(wǎng)絡(luò)部分中引入了HWT的12幅細(xì)節(jié)子帶圖,重構(gòu)了判別器的特征提取部分,學(xué)習(xí)圖像多個方向上的紋理細(xì)節(jié)特征。由于卷積網(wǎng)絡(luò)中的池化過程會使得特征圖尺寸縮小一半,而HWT每一級分解過程也會使得圖像尺寸縮小一半,所以將HWT一級分解的12幅子帶圖與判別器特征提取卷積網(wǎng)絡(luò)的第一級池化層級聯(lián)起來,共同輸入到下一個卷積網(wǎng)絡(luò)中進行學(xué)習(xí)。相應(yīng)地,二級分解子帶圖與第二級池化連接起來,在下一層網(wǎng)絡(luò)中進行卷積操作,具體實現(xiàn)過程如下。
HWT建立在四元數(shù)的基礎(chǔ)上,形式上由實數(shù)和復(fù)數(shù)小波構(gòu)成。使用RGB形式表示圖像時,圖像3種顏色分量之間的高度相關(guān)性以及亮度和色度信息的不完全分離,使得RGB在偽造人臉攻擊檢測方面存在一定的缺陷。然而,圖像的HSV顏色空間為基于亮度和色度信息的分離,提供了較好的學(xué)習(xí)判別線索[9]。因此,在對輸入圖像進行HWT時,選擇將圖像的H、S和V空間表示為四元數(shù)的3個復(fù)數(shù)形式,且令實數(shù)部分為0,由此完成了圖像到四元數(shù)的映射,公式為
fq(x,y)=iH+jS+kV
(3)
式中:i、j、k分別是水平、垂直和對角方向上的虛數(shù)單位;上標(biāo)q表示四元數(shù)的二維信號;H表示色度通道圖像;S表示飽和度通道圖像;V表示亮度通道圖像。根據(jù)超幅數(shù)小波變換的工作原理[19],HWT的一級分解為
(4)
式中i、j、k這3個方向上的數(shù)據(jù)分別表示超復(fù)數(shù)變換后的水平、垂直和對角上的細(xì)節(jié)特征信息。本文算法將這4個通道上3個方向的12幅細(xì)節(jié)子帶圖與判別器特征提取網(wǎng)絡(luò)的池化層特征圖連接起來,并輸入到下一層卷積網(wǎng)絡(luò)中,以此學(xué)習(xí)多個方向上活體或偽造人臉圖像的紋理細(xì)節(jié)特征,提高卷積網(wǎng)絡(luò)提取圖像細(xì)節(jié)特征的能力,提升每一個源域判別器的鑒別能力,使得生成器生成更加通用的人臉活體特征空間。
圖2 三元組約束示例[17]Fig.2 The example of the triple constraint[17]
對于同一個域中的每一個真實人臉圖像,相同身份的偽造人臉具有相似的面部特征,而不同身份的真實人臉具有不同的面部特征,這一特點降低了判別器鑒定人臉是否為活體的能力,并且在不同域、不同環(huán)境和不同攻擊類型數(shù)據(jù)中,這種現(xiàn)象會變得更加嚴(yán)重。判別器的能力會影響生成器生成通用人臉活體特征空間的性能。所以,本文算法借鑒文獻[17]的算法,設(shè)置了同一域間和不同域之間的三元組約束損失函數(shù)。三元組約束示例如圖2所示,圖中虛線表示樣本之間的距離。
本文設(shè)置兩個約束:①在同一域下,每個真實的人臉到其正樣本(所有活體人臉)的距離小于到其負(fù)樣本(所有偽造人臉)的距離;②在不同域下,每個活體人臉到其跨域正樣本的距離小于到其跨域負(fù)樣本的距離。損失函數(shù)為
Ltrip(X1,X2,X3,…,XN;G,E)=
(5)
式中:E表示特征嵌入器;上標(biāo)a和p表示同一類,而a和n是不同的類;下標(biāo)i和j表示相同的域,而i和k是不同的域;α1和α2分別代表預(yù)定義的域內(nèi)和跨域邊距。
活體人臉檢測主要是通過真實人臉和偽造人臉的區(qū)別來判斷人臉是否為活體。活體人臉圖像是首次采集的真實人臉,而偽造人臉是通過二次采集活體人臉圖像得到的,所以活體人臉圖像具有偽造人臉不具有的活性特征。一方面,活體生命個體的心臟跳動會引起臉部血液流動,使得臉部皮膚發(fā)生細(xì)微的亮度變化,這種變化可以由rPPG測量,相應(yīng)的活體人臉和偽造人臉的rPPG信號分布有著很大的區(qū)別。另一方面,無論是錄制的視頻還是打印照片,人臉都為平面,而活體人臉的鼻子、嘴巴和額頭之間會有一定的深度,所以將人臉圖像映射到深度圖上時,活體人臉深度圖的五官之間有深度值,而偽造人臉則整體呈現(xiàn)為一個平面圖?;铙w人臉和偽造人臉的深度圖和rPPG信號對比如圖3所示,真實人臉的深度圖和rPPG信號示例如圖4所示。
圖3 活體人臉和偽造人臉的深度圖和rPPG信號對比[20]Fig.3 Comparison of depth map and rPPG between live and fake face[20]
圖4 真實人臉的深度圖和rPPG信號示例Fig.4 The depth map and rPPG of live face
在活體人臉圖像數(shù)據(jù)集中,活體人臉和偽造人臉圖像的rPPG信號和深度圖都會有差異。因此,針對現(xiàn)有算法在特征分類階段出現(xiàn)訓(xùn)練集中沒有的跨域數(shù)據(jù)集,導(dǎo)致不能很好地獲取活體和偽造人臉區(qū)分特征的問題,將rPPG信號和深度圖兩種真實人臉圖像固有的活體特征屬性嵌入到特征空間中并作為判別依據(jù),增強特征空間對于人臉活體特征的泛化能力,解決未知的人臉數(shù)據(jù)攻擊問題。
本文算法利用人臉對齊網(wǎng)絡(luò)來估計人臉圖像的深度圖[21]。在具體的實現(xiàn)過程中,由于偽造人臉圖像為一個平面,所以將偽造人臉的深度圖像素值設(shè)置為0,而真實人臉的鼻子、嘴巴和額頭之間有一定的深度,所以深度圖像素值非0。使用深度圖信息的損失函數(shù)為
(6)
式中:D為深度圖估計器;I為人臉深度圖標(biāo)定值。
rPPG信號的傳統(tǒng)計算算法對于面部表情和光照比較敏感,并且較難區(qū)分視頻回放攻擊類型[22]。因此,本文算法使用了文獻[10]中的RNN網(wǎng)絡(luò)估計rPPG信號,克服了傳統(tǒng)算法的缺點。類似于深度圖的設(shè)定,設(shè)偽造人臉的rPPG信號為0,而真實人臉的非0。使用rPPG信號的損失函數(shù)為
(7)
式中:r為信號估計器;f為rPPG信號的標(biāo)定值。
如圖1所示,在得到通用特征空間的過程中:首先,使用二分類交叉損失函數(shù)Lcls在不同數(shù)據(jù)域下獲取各自的判別特征;接著,為了得到不會偏向任何域且共享的通用特征空間,采用了生成器和判別器對抗損失函數(shù)LDG;然后,為了提升判別器鑒定人臉是否為活體的能力,使用了三元組約束函數(shù)Ltrip;最后,為了使得通用空間更具一般性,分別將深度圖損失LD和rPPG損失Lr嵌入到通用特征空間中。因此,算法總損失函數(shù)L可以表示為
L=min(Lcls+Ltrip+LD+Lr)+maxLDG
(8)
考慮到算法結(jié)構(gòu)的復(fù)雜性,將算法的訓(xùn)練過程分為兩個階段以進行優(yōu)化:①利用Lcls、LDG和Ltrip損失函數(shù)一起訓(xùn)練G、E、C和D1、D2、…、DN;②使用Lcls、LD和Lr損失函數(shù)訓(xùn)練G、D和r。在訓(xùn)練過程中交替重復(fù)這兩個階段,直到算法收斂為止,使得特征生成器G得到更加通用的特征空間。
在訓(xùn)練過程中,使用Adam優(yōu)化器優(yōu)化訓(xùn)練過程,算法在pytorch框架上實現(xiàn),特征生成器、深度圖和rPPG信號估計的卷積層尺寸為3×3像素,判別器的卷積層尺寸為4×4像素,輸入圖像尺寸為256×256像素。在具體實現(xiàn)訓(xùn)練時,如1.5小節(jié)內(nèi)容所示,分兩個階段進行,第一階段學(xué)習(xí)率為10-5,第二階段學(xué)習(xí)率為10-4,每個輸入數(shù)據(jù)域的batchsize設(shè)置為20,即3個輸入數(shù)據(jù)域的batchsize為60。參數(shù)γ、α1和α2分別設(shè)定為0.1、0.2和0.5。
為了公平,所有測試都在相同的計算機環(huán)境下獲得,CPU為Intel(R) Xeon(R) E5-2618L v3,GPU為英偉達GTX 1080,11 GB顯存,Ubuntu x64操作系統(tǒng)。
使用CASIA-FASD[23]、Replay-Attack[24]、MSU-MFSD[25]和NUAA[20]共4個公開的活體人臉檢測數(shù)據(jù)集評估本文算法的性能,包含打印照片和視頻回放兩種攻擊類型。4種公開數(shù)據(jù)集的參數(shù)信息和圖像示例如圖5和表1所示。可以看出,4個數(shù)據(jù)集在采集設(shè)備、光照條件、背景復(fù)雜和分辨率等方面都不同,因此假設(shè)每個數(shù)據(jù)集為一個域,4個域之間的圖像特征存在著明顯的差異性。
(a)CASIA-FASD[23] (b)Replay-Attack[24]
(c)MSU-MFSD[25] (d)NUAA[20] 圖5 4個公開數(shù)據(jù)集的圖像示例Fig.5 Examples of images from four public datasets
評估人臉活體檢測算法的性能一般主要從單數(shù)據(jù)集和跨數(shù)據(jù)集測試兩個方面進行。訓(xùn)練和測試數(shù)據(jù)都來自于同一數(shù)據(jù)集即為單數(shù)據(jù)集測試。訓(xùn)練和測試數(shù)據(jù)來自于不同數(shù)據(jù)集即為跨數(shù)據(jù)集測試。本文算法主要是針對訓(xùn)練時未出現(xiàn)的偽造人臉攻擊人臉識別系統(tǒng)的問題,因此用跨數(shù)據(jù)集測試。人臉活體檢測算法的性能評估要綜合考慮活體和偽造人臉的識別率。本文使用人臉活體檢測算法常用的半錯誤率H和接受者操作特性曲線下的面積C來評估所提算法的性能。H的計算公式為
H=(A+R)/2
(9)
式中:A為本來是偽造的人臉判斷為活體人臉的概率;R為本來是活體的人臉判斷為偽造人臉的概率。使用R與A便可繪制接受者操作特性曲線,曲線下的面積即為本文使用的評價標(biāo)準(zhǔn)參數(shù)C。
為了驗證本文算法的性能和說明算法所提生成對抗網(wǎng)絡(luò)的有效性,與基于紋理和深度學(xué)習(xí)的非生成對抗網(wǎng)絡(luò)算法MS LBP[26]、Binary CNN[27]、IDA[25]、CT[28]進行了對比。在實驗過程中,共使用了4個數(shù)據(jù)集,任選3個作為訓(xùn)練數(shù)據(jù)集,另一個作為測試數(shù)據(jù)集。本文算法將隨機選擇的3個訓(xùn)練數(shù)據(jù)集作為源域獲取共享的域特征,并將另一個訓(xùn)練過程中未出現(xiàn)的數(shù)據(jù)集作為目標(biāo)域進行測試。為方便閱讀,將CASIA-FASD[23]、Replay-Attack[24]、MSU-MFSD[25]和NUAA[20]4個數(shù)據(jù)集簡記為C、I、M、N。用C&I&M-N表示使用C、I和M數(shù)據(jù)集進行訓(xùn)練,使用N數(shù)據(jù)集進行測試。
表2為本文算法與非生成對抗網(wǎng)絡(luò)算法的對比結(jié)果??梢钥闯?本文算法在各數(shù)據(jù)集下的表現(xiàn)都優(yōu)于對比算法的,這是因為對比算法都側(cè)重于從多個源域中學(xué)習(xí)僅適合源域數(shù)據(jù)分布的特征空間,而本文算法利用了多個源域特征之間的關(guān)系,學(xué)習(xí)了它們之間具有區(qū)分性和共享的特征空間,這個特征空間在源域和目標(biāo)域之間共享。由此,本文提出的使用生成對抗網(wǎng)絡(luò)進行人臉面部攻擊檢測的有效性得到證明。
為了更好地評估本文算法的性能,還與生成對抗網(wǎng)絡(luò)提取域共享特征的算法進行了對比,結(jié)果如表3所示。MMD-AAE算法通過對抗特征學(xué)習(xí)將多個源域?qū)?zhǔn)任意先驗分布來學(xué)習(xí)通用的特征空間,僅將多個源域與預(yù)定義的分布進行對齊,仍然較難學(xué)習(xí)到未知目標(biāo)域下的特征[29]。MADDG[17]算法的通用特征空間中缺少了對于圖像域間的細(xì)節(jié)特征信息。本文算法不僅在超復(fù)數(shù)小波特征提取部分利用卷積網(wǎng)絡(luò)學(xué)習(xí)了人臉圖像的細(xì)節(jié)信息,增加了判別器的鑒定能力,有利于提升特征空間的泛化性能,且在學(xué)習(xí)到特征空間后,將深度圖和rPPG信號嵌入到了特征空間中,獲取了可見的多個源域和未知的目標(biāo)域之間的共享且區(qū)分的特征,形成了更加通用的活體人臉判別特征空間。本文算法雖然在MSU-MFSD數(shù)據(jù)集上的測試結(jié)果低于MADDG算法的,但在其他3個測試數(shù)據(jù)集上都優(yōu)于兩個對比算法的,而且明顯提升了NUAA為測試數(shù)據(jù)集時的精度。由于MSU-MFSD數(shù)據(jù)集有較高的分辨率,使用MADDG算法已較好地提取到了人臉的活性特征,因此本文算法的優(yōu)勢并不明顯。綜合分析可知,本文算法在一定程度上優(yōu)于對比算法。
通過表2和表3可以看出,本文算法表現(xiàn)出了較好的效果。這是因為本文算法的思路主要是通過提取一個通用的特征空間來檢測訓(xùn)練中未出現(xiàn)的人臉數(shù)據(jù)。雖然測試數(shù)據(jù)在訓(xùn)練過程中不可見,但是它們?nèi)匀慌c多個源域數(shù)據(jù)共享某些面部攻擊特征,例如不可見域的打印或者視頻回放人臉攻擊數(shù)據(jù),雖然在環(huán)境和材質(zhì)方面都有不同,但是它們與可見域的訓(xùn)練人臉數(shù)據(jù)在本質(zhì)上都是紙張或者屏幕。因此,提取多個源域的人臉攻擊共有屬性可以提升算法檢測訓(xùn)練中不可見人臉攻擊的性能。
表2 本文算法與非生成對抗網(wǎng)絡(luò)算法的對比結(jié)果
表3 本文算法與生成對抗網(wǎng)絡(luò)算法的對比結(jié)果
為了進一步驗證本文算法的有效性,使用M和I兩個數(shù)據(jù)集作為源域進行訓(xùn)練,運用另一個數(shù)據(jù)集N或C進行測試,結(jié)果如表4所示??梢钥闯?本文算法即使在兩個源域訓(xùn)練的情況下,與其他算法相比,依然表現(xiàn)出了較好的結(jié)果,證明了使用生成對抗網(wǎng)絡(luò)產(chǎn)生通用特征空間的有效性。與表2相比可知,使用3個源域進行訓(xùn)練極大地提升了算法的檢測性能,而其他算法的改進并不是很大,同時也說明了使用生成對抗網(wǎng)絡(luò)的優(yōu)勢。
表4 在2個公開數(shù)據(jù)集上訓(xùn)練的對比結(jié)果
使用沒有深度圖的MADDG[17]算法模型驗證深度圖的有效性。實驗均使用C、R和M數(shù)據(jù)集訓(xùn)練,N數(shù)據(jù)集測試,結(jié)果如表5所示。可以看出:沒有深度圖時,算法的性能大幅下降;在MADDG模型上單獨加入HWT或rPPG信號時,算法的檢測精度都有一定程度的提升。這是因為HWT能夠提供圖像的紋理細(xì)節(jié)信息,rPPG信號能夠反映真假人臉圖像上的差異,都能提升判別器鑒別活體人臉的能力,使得獲取的特征提取器更具有一般性。
表5 HWT、深度圖和rPPG信號模塊上的結(jié)果
為了驗證本文算法在生成對抗網(wǎng)絡(luò)特征提取卷積層引入HWT的12幅子帶圖的有效性,可視化了超復(fù)數(shù)小波生成對抗網(wǎng)絡(luò)提取特征的中間過程,一個卷積核對應(yīng)一個子特征圖,特征圖對應(yīng)圖像顏色信息以及多個方向的紋理細(xì)節(jié)特征。圖6展示了部分可視化圖,可以看出,網(wǎng)絡(luò)不僅可以很好地提取到圖像的邊緣輪廓信息,而且較好地獲取到了人臉圖像中的鼻子、眼睛和嘴巴等細(xì)節(jié)紋理特征。真實圖像所獲得的特征圖在反映人的面部特征時結(jié)構(gòu)更加清晰,而偽造圖像則不同。這為判別器判別圖像真假提供了有效的依據(jù),從而促進形成更加通用的特征空間,提高分類精度。
真實圖像 可視化結(jié)果
偽造圖像 可視化結(jié)果圖6 超復(fù)數(shù)小波生成對抗網(wǎng)絡(luò)可視化結(jié)果 Fig.6 Visualization results of generative adversarial networks with hypercomplex wavelet
本文算法針對現(xiàn)有活體人臉檢測算法很難檢測到未知的人臉攻擊問題,利用HWT的細(xì)節(jié)子帶圖能夠提取圖像豐富的細(xì)節(jié)特征的特點,以及生成對抗網(wǎng)絡(luò)能夠使得源數(shù)據(jù)的訓(xùn)練模型適應(yīng)目標(biāo)數(shù)據(jù)的特性,提出了一種基于超復(fù)數(shù)小波生成對抗網(wǎng)絡(luò)的活體人臉檢測算法。首先,將HSV空間的3個源域數(shù)據(jù)輸入到生成對抗網(wǎng)絡(luò),使得一個特征生成器和3個判別器對抗,形成具有3個源域共享特征且區(qū)別于3個域的特征空間。同時,在網(wǎng)絡(luò)上設(shè)置了三元組約束函數(shù)來提升判別人臉活體特征的能力,并且將超復(fù)數(shù)小波變換的12幅細(xì)節(jié)子帶圖輸入卷積網(wǎng)絡(luò),聯(lián)合學(xué)習(xí)圖像的細(xì)節(jié)紋理特征。然后,將活體和偽造人臉都具有的深度圖和rPPG信號嵌入到特征空間中,提高判別人臉活性特征的泛化能力,獲取通用的特征空間。最后,采用訓(xùn)練中未出現(xiàn)的數(shù)據(jù)進行測試,得到真假人臉的分類結(jié)果。實驗結(jié)果表明,在CASIA-FASD、Replay-Attack和NUAA數(shù)據(jù)集上,本文算法的接受者操作特性曲線下的面積分別為84.65%、86.06%、91.21%。
未來將在網(wǎng)絡(luò)和數(shù)據(jù)占用內(nèi)存方面進行優(yōu)化,適當(dāng)增加源域數(shù)據(jù)集的數(shù)量,從而更好地提高活體人臉的檢測精度。