曹申豪,劉曉輝,毛秀青,鄒勤*
1.武漢大學計算機學院,武漢 430072;2.國家計算機網(wǎng)絡與信息安全管理中心,北京 100029;3.信息工程大學密碼工程學院,鄭州 450001
人臉圖像生成一直是圖像生成領域的熱點。深度學習的快速發(fā)展,尤其是生成對抗網(wǎng)絡(generative adversarial network,GAN)和自編碼器使得現(xiàn)有生成技術能夠生成極為逼真、肉眼難以鑒別的人臉圖像。StyleGAN和ProGAN(progressive growing GAN)等生成對抗網(wǎng)絡可根據(jù)輸入的隨機向量直接生成一幅高質(zhì)量人臉圖像。人臉檢測、人臉分割等技術與生成對抗網(wǎng)絡技術結(jié)合,可實現(xiàn)只修改人臉圖像中的特定區(qū)域,加快了人臉交換、人臉重現(xiàn)等人臉編輯技術的發(fā)展。
根據(jù)生成方式的不同,人臉偽造技術可以分為生成對抗網(wǎng)絡(GAN)生成人臉技術和人臉編輯技術。二者的區(qū)別在于GAN根據(jù)輸入的隨機向量生成一張世界上不存在的人臉,人臉編輯技術如人臉交換和人臉重現(xiàn)技術是在已存在的人臉上進行修改。對于給定的兩幅人臉圖像:原始人臉圖像和目標人臉圖像,人臉交換技術指對目標人臉圖像進行修改,使修改后的人臉區(qū)域既有原始人臉的長相,又有目標人臉的屬性(如表情、膚色和光照等),典型技術如DeepFake、Zao等開源軟件的方法。人臉重現(xiàn)技術與人臉交換技術類似,其對目標人臉圖像進行修改,使修改后的人臉保留目標人臉的長相和原始人臉的表情與姿態(tài),典型技術包括face2face等。
人臉偽造技術有利有弊。人臉偽造技術可應用于影視作品制作中,增加趣味性和觀賞性。另一方面,人臉偽造技術在未經(jīng)當事人允許的情況下可能存在濫用,對個人的肖像權和名譽權甚至個人的形象造成極大損害。因此,偽造人臉檢測技術尤為重要。根據(jù)傳播載體的不同,偽造人臉檢測包括鑒別偽造人臉圖像和鑒別偽造人臉視頻。
為維護互聯(lián)網(wǎng)安全,保護互聯(lián)網(wǎng)用戶的隱私權,許多科技公司和研究機構(gòu)參與到偽造人臉檢測技術中。谷歌、Facebook和商湯等科技公司聘請影視演員和發(fā)動互聯(lián)網(wǎng)用戶提供人臉視頻,斥巨資制作偽造人臉數(shù)據(jù)集。Facebook舉辦DeepFake Detection競賽,促進了偽造人臉檢測技術的發(fā)展。一些針對偽造人臉檢測的高水平論文也陸續(xù)發(fā)表于IEEE國際計算機視覺大會(International Conference on Computer Vision,ICCV)和IEEE計算機視覺模式識別會議(IEEE Conference on Computer Vision and Pattern Recognition,CVPR)等計算機視覺學術會議。
根據(jù)媒體載體的差異,已有的偽造人臉檢測技術可分為偽造人臉圖像檢測技術和偽造人臉視頻檢測技術。偽造人臉圖像檢測技術主要以真實圖像與生成圖像統(tǒng)計分布的差異、圖像拼接引入的偽造痕跡以及生成圖像的真實性作為判別依據(jù)。由于視頻在生成和傳播過程中可能經(jīng)過壓縮,造成一定程度的偽造信息丟失,已有的偽造人臉圖像檢測技術并不能完全適用于壓縮偽造視頻的檢測。現(xiàn)有的偽造視頻檢測方法主要以視頻幀內(nèi)的偽造信息、視頻幀間的不一致性和生理信號跳躍性作為判別依據(jù)。
人臉偽造技術以人臉圖像生成技術為核心。由于視頻可視為圖像的集合,人臉圖像偽造技術也可用于人臉視頻偽造。人臉偽造技術主要分為生成對抗網(wǎng)絡直接生成偽造人臉技術和人臉編輯技術。其中,人臉編輯技術又包括人臉交換、人臉重現(xiàn)和人臉老化等技術,由于人臉交換技術和人臉重現(xiàn)技術對網(wǎng)絡環(huán)境安全的危害程度最大,本文主要探討這兩種方法。
深度學習模型可以分為判別模型和生成模型。隨著BP(back propagation)算法的提出,判別模型取得快速發(fā)展,而生成模型發(fā)展相對緩慢。生成對抗網(wǎng)絡(GAN)(Goodfellow等,2014)的提出,為生成模型注入了活力。曹仰杰等人(2018)對GAN及其在計算機視覺領域的應用進行了詳細介紹。受博弈問題的啟發(fā),GAN將生成模型的生成過程建模為生成器和判別器兩個網(wǎng)絡的博弈過程。生成器依據(jù)給定的均勻分布或正態(tài)分布的隨機向量生成數(shù)據(jù),判別器區(qū)分出生成數(shù)據(jù)和真實數(shù)據(jù)。生成器和判別器的權重交替更新,兩個網(wǎng)絡在對抗過程中進步,生成器生成的數(shù)據(jù)越來越接近真實數(shù)據(jù)。原始的GAN只能生成分辨率較低的圖像,圖像效果相對真實效果較差。圖1展示了GAN根據(jù)Toronto Faces Dataset數(shù)據(jù)集的生成結(jié)果,最右側(cè)為真實數(shù)據(jù)。
圖1 GAN生成人臉效果圖(Goodfellow等,2014)Fig.1 Example faces generated by GAN(Goodfellow et al.,2014)
深度卷積神經(jīng)網(wǎng)絡比多層感知機(multilayer perceptron,MLP)有更強的擬合與表達能力,并在判別式模型中取得了很大進展。Radford等人(2015)將卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)引入生成器和判別器,稱作深度卷積對抗神經(jīng)網(wǎng)絡(deep convolutional GAN,DCGAN)。DCGAN是在GAN的基礎上提出的一種網(wǎng)絡架構(gòu),幾乎完全用卷積層取代了全連接層,去掉池化層,采用批標準化(batch normalization,BN)(Ioffe和Szegedy,2015),將判別模型的發(fā)展成果應用到了生成模型中。圖2為DCGAN生成的人臉圖像,生成效果相對GAN有了很大提升,但視覺效果仍然較差。
圖2 DCGAN生成人臉效果圖(Radford等,2015)Fig.2 Example faces generated by DCGAN(Radford et al.,2015)
生成對抗網(wǎng)絡直接生成高分辨圖像會出現(xiàn)模型崩塌現(xiàn)象,生成器直接生成“鬼臉”騙過判別器,導致生成圖像效果很差。Karras等人(2018)提出ProGAN用于生成高分辨率圖像,先訓練一個小分辨率圖像生成網(wǎng)絡,然后逐步增大網(wǎng)絡模型,生成更高分辨率的圖像。具體而言,生成器最初生成4×4像素圖像,然后生成8×8像素圖像,以此類推,最終生成1 024×1 024像素圖像。圖3展示了生成的1 024×1 024像素的人臉圖像。
圖3 ProGAN生成人臉效果圖(Karras等,2018)Fig.3 Example faces generated by ProGAN(Karras et al.,2018)
ProGAN由粗到細逐層生成圖像,能夠生成極為真實的人臉圖像,但是ProGAN無法通過改變輸入的隨機向量來改變輸出圖像的特定特征。StyleGAN(Karras等,2019)通過對輸入向量進行解耦合,并使用AdaIn(adaptive instance normalization)模塊(Huang和Belongie,2017),使生成器能夠生成指定特征(如發(fā)色、膚色等)的人臉圖像。圖4展示了StyleGAN生成的人臉圖像。
圖4 StyleGAN生成人臉效果圖(Karras等,2019)Fig.4 Example faces generated by StyleGAN(Karras et al.,2019)
假設原始人臉為Xs,目標人臉為Xt,人臉交換即生成一幅保留Xt人臉屬性(如表情、光照和角度等),同時具有Xs長相的圖像。Deepfake是一項以深度學習為基礎的開源人臉交換典型技術,使用者不需要具有專業(yè)的剪輯技能,只需要收集足夠多的原始人物和目標人物的人臉圖像,就能生成真實的換臉圖像。除了Deepfake等開源技術,學術界也對人臉交換技術展開了深入研究。
1.2.1 Deepfake技術原理
Deepfake是應用廣泛的人臉交換技術,可用于生成換臉圖像和視頻。Deepfake技術以自編碼器(Baldi,2011)為基礎。自編碼器對輸入進行編碼,對編碼進行解碼得到輸出,使輸入等于輸出的網(wǎng)絡結(jié)構(gòu),本質(zhì)上是一種數(shù)據(jù)壓縮算法。自編碼器分為編碼器和解碼器兩部分,編碼器將輸入轉(zhuǎn)換為隱層空間的表征,解碼器對表征進行重建,使輸出與輸入相等。Deepfake整個網(wǎng)絡結(jié)構(gòu)包括一個編碼器和兩個解碼器,如圖5所示。編碼器用于將輸入人臉的屬性進行編碼,得到Latent隱層空間向量,解碼器將隱層空間編碼還原為人臉圖像。兩個解碼器Decoder A和Decoder B分別用于對兩個人臉編碼進行解碼,即Decoder A只能將屬性編碼還原成人臉Face A的長相。Face A人臉通過編碼器得到隱層向量Latent Face A,Latent Face A經(jīng)過Decoder A得到重建人臉Face A,Latent Face A經(jīng)過Decoder B可得到具有Face A屬性和Face B長相的圖像。
圖5 Deepfake網(wǎng)絡結(jié)構(gòu)圖(Nguyen等,2019b)Fig.5 The network structure of Deepfake (Nguyen et al.,2019b)
表1整理了已有的開源Deepfake技術實現(xiàn),它們原理相似,都采用上述編解—碼器結(jié)構(gòu),但在編程框架等實現(xiàn)方式上存在差異。
表1 Deepfake開源代碼整合Table 1 Open-source codes for Deepfake
1.2.2 人臉交換研究進展
Deepfake技術雖然能夠生成真實的換臉圖像,但是需要先收集大量用于交換的兩個人的人臉圖像,且Deepfake只適用于特定的兩個人的人臉圖像交換,如果需要交換另兩個人的人臉,需要重新收集這兩個人的人臉圖像,并重新訓練。由此可見,Deepfake框架通用性較差。人臉交換領域的學者旨在發(fā)明一種通用所有人的、僅需少量樣本的人臉交換框架。
Suwajanakorn等人(2015)使用3D建模的方法進行人臉交換,在有數(shù)百幅原始人臉和目標人臉圖像的情況下取得了出色效果,但不適用于僅有單幅人臉圖像的情況。Korshunova等人(2017)使用風格遷移(Johnson等,2016)進行人臉交換,將原始圖像的表情、姿態(tài)和光線等視為內(nèi)容,將目標圖像的長相視為風格,將換臉過程視為風格遷移過程,實現(xiàn)了在僅一幅原始圖像和數(shù)十幅目標圖像上的人臉交換框架。RSGAN(region separative generative adversarial network)(Natsume等,2018a)同時使用變分自編碼器(variational autoencoder,VAE)(Kingma和Welling,2014)和GAN,提出一種可同時用于頭發(fā)編輯的人臉交換方法。此方法包括兩個VAE和一個GAN,首先對人臉中的人臉區(qū)域和頭發(fā)區(qū)域進行分割,兩個VAE分別將人臉區(qū)域和頭發(fā)區(qū)域用隱層向量表征,GAN用隱層表征重建人臉圖像,實現(xiàn)了單幅源人臉圖像和單幅目標人臉圖像的人臉交換??紤]到RSGAN生成的換臉圖像頭發(fā)與原始人臉頭發(fā)不同,F(xiàn)SGAN(face swapping GAN)(Natsume等,2018b)對RSGAN進行了改進,使生成的換臉圖像真實性更高。與RSGAN相似,F(xiàn)SGAN由兩個VAE和一個GAN組成,兩個VAE分別將人臉區(qū)域和非人臉區(qū)域(包括頭發(fā)和背景)編碼,GAN用于重建人臉圖像。
上述換臉方法存在兩個問題:1)生成圖像的人臉形狀與原始人臉的形狀相同,由于要求生成圖像人臉長相與目標圖像相同,生成圖像人臉形狀與目標任務相同時真實性更高;2)當原始圖像中人物面部帶有遮擋物時,如眼鏡、頭飾等物體,生成圖像不包含遮擋物。為解決上述問題,Li等人(2020a)提出了兩階段的換臉框架FaceShifter,第1階段網(wǎng)絡用于生成高保真的換臉圖像;第2階段網(wǎng)絡在第1階段網(wǎng)絡基礎上為換臉圖像增加面部遮擋物。為了保證生成圖像的人臉形狀與目標圖像的人臉形狀相同,F(xiàn)aceShifter沒有使用人臉檢測和人臉分割技術對原始圖像人臉區(qū)域進行換臉,而是使用類似U-Net(Ronneberger等,2015)的結(jié)構(gòu)直接輸出一幅具有目標圖像人臉形狀的圖像。此外,F(xiàn)aceShifter使用自適應注意力反規(guī)范化(adaptive attentional denormalization,ADD)對原始圖像的人臉長相特征和目標圖像的屬性特征進行整合,并在整合過程中使用注意力機制動態(tài)分配人臉長相特征和屬性特征的權重。
假設原始人臉為Xs,目標人臉為Xt,人臉重現(xiàn)即生成一幅同時具有Xt長相和Xs屬性(表情、姿勢等)的人臉。根據(jù)生成方法的差異,已有的人臉重現(xiàn)方法可以分為基于建模的方法和基于網(wǎng)絡前饋的方法兩類。
1.3.1 基于建模的方法
基于建模的方法主要分為3個步驟。1)對于采集的RGB或RGB-D原始人臉和目標人臉數(shù)據(jù),使用人臉追蹤或光流的方法對人臉進行建模;2)用原始人臉模型的參數(shù)替換目標人臉模型的相應參數(shù);3)利用新的人臉模型生成圖像或視頻。
Thies等人(2015,2016)提出兩種方法,適用于RGB-D視頻但僅能應用于表情遷移的實時人臉重現(xiàn)框架以及適用于RGB視頻的實時人臉重現(xiàn)框架Face2face。兩種方法類似,首先分別對視頻中的原始人臉和目標人臉進行建模,得到身份、光照、角度和表情等參數(shù),然后用原始人臉的表情參數(shù)替換目標人臉的表情參數(shù),保留目標人臉的身份、光照和角度等參數(shù),最后使用優(yōu)化的方法并根據(jù)新的人臉參數(shù)合成換表情后的人臉。兩種方法都只對人臉區(qū)域進行修改,非人臉區(qū)域保持不變。Kim等人(2018)提出可同時遷移表情、角度和眼神的視頻人臉重現(xiàn)框架,使用單目人臉重建技術獲取人臉的光照、身份、角度、表情和眼神等參數(shù),然后替換目標人臉參數(shù)的角度、表情和眼神參數(shù),并根據(jù)新參數(shù)重建人臉模型。區(qū)別于上述兩種方法使用優(yōu)化的方法生成人臉區(qū)域圖像,此方法將重建的人臉模型作為條件,使用cGAN(conditional GAN)(Isola等,2017)和自編碼器結(jié)構(gòu)生成包括人臉區(qū)域和非人臉區(qū)域的整幅圖像。
1.3.2 基于前饋網(wǎng)絡的方法
基于建模的方式難以捕捉細微的表情變化,且過程煩瑣、復雜度高。隨著深度學習的發(fā)展,基于前饋網(wǎng)絡的方法使用生成對抗網(wǎng)絡和自編碼器提升人臉重現(xiàn)的效果。基于前饋網(wǎng)絡的方法與基于建模的方法整體過程相似,區(qū)別在于前者使用神經(jīng)網(wǎng)絡獲取人臉參數(shù)和生成人臉。
基于前饋的神經(jīng)網(wǎng)絡面臨以下問題:1)視頻或圖像僅包含有限多個人臉表情、光照和角度等狀態(tài),因此,在有限訓練樣本情況下直接訓練一個適用于復雜場景的人臉到人臉轉(zhuǎn)換的前饋轉(zhuǎn)換網(wǎng)絡是困難的;2)缺少成對的原始人臉和目標人臉用做監(jiān)督訓練。為解決以上問題,基于前饋網(wǎng)絡的人臉重現(xiàn)框架借用了Pix2pix(Isola等,2017)和CycleGAN(Zhu 等,2017)等結(jié)構(gòu),在缺少成對樣本的情況下使用自監(jiān)督的方式進行訓練。ReenactGAN(Wu等,2018)使用人臉邊界輪廓設計了一個多對一的前饋網(wǎng)絡結(jié)構(gòu),如圖6所示,整個網(wǎng)絡結(jié)構(gòu)分為3部分:第1部分為編碼器,實現(xiàn)提取人臉邊界輪廓;第2部分為轉(zhuǎn)換模塊,實現(xiàn)原始人臉到目標人臉的邊界輪廓轉(zhuǎn)換;第3部分為解碼器,根據(jù)轉(zhuǎn)換后的邊界輪廓生成具有目標人臉長相的人臉圖像。
圖6 ReenactGAN網(wǎng)絡結(jié)構(gòu)圖(Wu等,2018)Fig.6 The network structure of ReenactGAN (Wu et al.,2018)
基于建模和基于前饋網(wǎng)絡的方法都需要多幅的原始和目標人臉圖像,且只能生成特定的目標人臉。Zhang等人(2019)提出單幅圖像的換表情方法,僅用一幅原始圖像和目標圖像實現(xiàn)多對多的人臉重現(xiàn),生成結(jié)果可以媲美使用多幅圖像的ReenactGAN,并能生成更真實的胡子和頭發(fā)。此方法將人臉圖像分解到長相和形狀兩個空間,使用人臉解析網(wǎng)絡生成人臉解析特征圖并用于指導生成過程,使用自編碼器對圖像進行重建。然后將長相特征、人臉解析特征圖進行特征融合,再與生成網(wǎng)絡的中間層特征融合,得到換表情后的圖像。
人臉老化等人臉編輯技術也取得了快速發(fā)展,宋昊澤和吳小俊(2019)使用條件對抗自編碼器,可將每幅人臉圖像分別生成10幅不同年齡且細節(jié)逼真的圖像。
人臉視頻偽造技術主要通過局部修改人臉區(qū)域的人臉圖像偽造技術實現(xiàn)。視頻是視頻幀的集合,對于視頻的偽造,通常先將視頻解碼成多個視頻幀,然后應用偽造人臉圖像技術對單個幀進行修改,最后將修改后的視頻幀合成視頻。由于生成人臉區(qū)域和非人臉區(qū)域的整幅圖像技術在生成的背景區(qū)域存在模糊,且通常僅在人臉區(qū)域所占大小相對固定的數(shù)據(jù)集上訓練,不適合人臉區(qū)域大小變化明顯的視頻場景,因而現(xiàn)有的人臉視頻偽造技術都是通過局部修改人臉區(qū)域的方法實現(xiàn)。
將語音風格遷移技術應用于人臉視頻偽造技術,可提高偽造視頻的真實性。偽造的人臉視頻中通常含有講話的場景,如果偽造視頻中的語音音色與講話人的不一致,則視覺和聽覺感官上存在不一致。例如,在將視頻中人物A換臉成人物B時,同時也希望視頻中的語音具有人物B的音色。語音風格遷移是將一個人的語音音色遷移到另一個人的音色,同時語音的語義保持不變。Hu等人(2019)和Fang等人(2018)分別使用具有編解碼結(jié)構(gòu)的CycleGAN和StarGAN實現(xiàn)了語音風格遷移。
偽造人臉以圖像和視頻為載體傳播。根據(jù)媒體載體的差異,偽造人臉檢測技術可分為對偽造人臉圖像的檢測技術和對偽造人臉視頻的檢測技術。偽造圖像的檢測技術主要基于偽造過程殘留的痕跡或偽造圖像與真實圖像統(tǒng)計分布的差異。由于視頻在生成和傳播過程中經(jīng)過壓縮,導致丟失單個視頻幀中的偽造痕跡,因而對圖像的檢測方法難以直接應用于偽造視頻的檢測。針對視頻具有連續(xù)性和時序性的特點,偽造視頻的檢測技術主要依據(jù)多個相鄰的連續(xù)視頻幀的關聯(lián)性。
偽造人臉圖像技術包括GAN直接生成人臉和人臉編輯技術。前者直接生成一幅原本不存在的人臉圖像,后者在已有的人臉圖像上進行修改,生成人臉區(qū)域圖像或包括背景在內(nèi)的整幅圖像。因而,偽造人臉圖像檢測技術可分為對生成對抗網(wǎng)絡直接生成圖像的檢測和對人臉編輯技術(如換臉、換表情)的檢測。
2.1.1 針對GAN生成的人臉圖像的檢測技術
ProGAN和StarGAN能夠生成視覺效果極為逼真的人臉圖像,難以肉眼區(qū)分真?zhèn)?。當前的檢測方法普遍將檢測問題視為二分類問題,基于統(tǒng)計特征或神經(jīng)網(wǎng)絡學習的特征進行鑒別。
McCloskey和Albright(2018)提出GAN生成圖像的顏色圖像與真實圖像在顏色分布上存在差異,通過構(gòu)建顏色特征并使用支持向量機進行分類。Liu等人(2020)提出生成的圖像和真實圖像存在紋理差異,并使用Gram矩陣(Gatys等,2015)表示紋理。Xuan等人(2019)提出對圖像進行高斯混合和高斯噪聲預處理,能提高神經(jīng)網(wǎng)絡的表征能力和泛化能力。FakeSpotter(Wang等,2020)通過監(jiān)控神經(jīng)元的激活值以篩選有效特征,先將人臉圖像輸入到一個人臉識別網(wǎng)絡,并求每層激活的平均值,然后將大于均值的激活值作為另一個全連接神經(jīng)網(wǎng)絡的輸入,最后用支持向量機分類。
2.1.2 針對人臉交換和人臉重現(xiàn)圖像的檢測方法
人臉交換和人臉重建技術分為生成包括人臉及背景的方法和僅替換圖像中人臉區(qū)域的方法兩類。對于生成整幅圖像的檢測,可以借用上述針對GAN生成圖像的檢測方法。
局部修改的人臉圖像的偽造方法存在以下問題:1)在生成過程中往往需要將生成的人臉圖像縫合到目標圖像上,并在人臉邊緣區(qū)域進行高斯模糊,使人臉輪廓區(qū)域與其他區(qū)域存在差異;2)由于生成網(wǎng)絡模型只能生成特定分辨率的圖像,需將生成的人臉圖像經(jīng)插值放縮到與目標人臉大小一致,使人臉區(qū)域與非人臉區(qū)域的分辨率不一致;3)在少樣本的情況下,生成的人臉圖像可能會存在五官變形、細節(jié)模糊等問題;4)生成網(wǎng)絡生成的圖像與真實圖像存在統(tǒng)計分布差異。
已有的方法主要針對以上問題進行檢測。孫鵬等人(2017)提出一種基于偏色估計的拼接篡改偽造圖像檢測方法,能夠自動檢測拼接篡改圖像中的色彩偏移量不一致并定位拼接篡改區(qū)域。李杭和鄭江濱(2017)提出基于噪聲方差估計的檢測方法,實現(xiàn)對偽造圖像的盲檢測。R?ssler等人(2019)直接使用Xception網(wǎng)絡結(jié)構(gòu)在大規(guī)模偽造人臉數(shù)據(jù)集上訓練一個二分類網(wǎng)絡,證明了僅使用人臉區(qū)域圖像參與訓練效果優(yōu)于使用整幅圖像。同時,偽造圖像和視頻的壓縮程度越高,分類器的檢測正確率越低。Li和Lyu(2019)通過生成圖像與真實圖像在分布上的差異檢測真?zhèn)危瑸樵鰪娔P偷姆夯芰?,降低制造偽造?shù)據(jù)集的消耗,直接將兩幅圖像的人臉區(qū)域進行拼接用于訓練,使用圖像分割的方法直接輸出修改區(qū)域的輪廓。Dang等人(2020)引入注意力機制(Choe和Shim,2019)促使模型關注更有意義的信息,并在偽造數(shù)據(jù)集上進行訓練,同時輸出分類結(jié)果和修改區(qū)域的熱度圖。此方法也適用于對GAN直接生成的人臉圖像的檢測。FakeLocator(Huang等,2020)使用語義分割方法,采用編解碼器的結(jié)構(gòu)對篡改區(qū)域進行定位,輸出修改區(qū)域的熱力圖。此方法也同時適用于GAN生成的整幅圖像和局部修改圖像的檢測。
俞能海和張衛(wèi)明團隊通過數(shù)據(jù)增強解決訓練集與測試集不匹配問題,提高檢測模型在不匹配的數(shù)據(jù)集之間的遷移能力,并基于Efficient-Net B3網(wǎng)絡結(jié)構(gòu),采用適用于人臉偽造檢測的注意力機制,使網(wǎng)絡聚焦于篡改痕跡而非其他干擾因素,在Facebook主辦的Deepfake檢測挑戰(zhàn)賽中取得了第2名的優(yōu)異成績。商湯團隊(Qian等,2020)提出一種局部頻域特征網(wǎng)絡提取頻率域的偽造特征,并使用注意力機制融合時間域信息和頻率域信息,該方法對于壓縮偽造圖像具有魯棒性。
總體來說,現(xiàn)有的偽造人臉圖像檢測方法大都使用神經(jīng)網(wǎng)絡提取特征,并進行二分類。此外,針對偽造人臉圖像檢測方法關注以下研究內(nèi)容:1)模型能夠同時檢測GAN生成的整幅圖像和局部修改的圖像;2)模型能夠準確定位修改的區(qū)域;3)模型具有較強的泛化能力,即能對訓練集未出現(xiàn)的偽造類型和真實場景中的偽造類型進行檢測。
由于GAN生成整幅圖像的方式容易造成背景扭曲等問題,且無法考慮視頻幀間的關聯(lián)性,因而難以用于生成偽造人臉視頻?,F(xiàn)有偽造人臉視頻技術大多是基于局部修改人臉區(qū)域的方法,存在以下缺陷:1)與偽造人臉圖像技術相同,單個視頻幀內(nèi)存在偽造痕跡;2)在視頻生成過程中,沒有考慮視頻幀的關聯(lián)性,生成的視頻幀間存在不一致性,如幀跳躍、前后兩幀生成細節(jié)存在差異;3)生成的人臉視頻缺乏正常的生物信息,如眨眼、微表情等。
由于圖像在合成視頻和視頻在傳輸過程中經(jīng)過壓縮處理,存在一定程度的偽造信息丟失,偽造圖像檢測方法難以直接應用于偽造視頻檢測。區(qū)別于多幅圖像,視頻的多個幀間具有時序特征,這是圖像檢測方法無法捕捉到的。針對上述偽造視頻存在的問題,偽造視頻檢測方法主要分為3類:1)基于幀內(nèi)檢測的方法;2)基于幀間檢測的方法;3)基于生理信號的檢測方法。
2.2.1 幀內(nèi)檢測方法
基于幀內(nèi)檢測的方法主要針對單個視頻幀的偽造信息進行檢測,如人臉區(qū)域與背景分辨率的差異、生成人臉細節(jié)、篡改圖像與真實圖像存在分布上的差異。已有的方法大都使用卷積神經(jīng)網(wǎng)絡(CNN)提取偽造信息特征,并用全連接網(wǎng)絡進行分類。
由于Deepfake生成算法只能生成特定分辨率的圖像并放縮到合適大小,拼接到原始視頻幀中。Li等人(2018)使用CNN捕捉這種拼接引入的差異進而區(qū)分Deepfake視頻。相對于以前需要大量偽造的數(shù)據(jù)集,此方法不需要Deepfake生成的圖像作為負樣本進行訓練,而是采用圖像拼接的方法,直接交換兩幅圖像的人臉區(qū)域得到負樣本,既避免了生成大量Deepfake視頻的算力消耗,又增加了算法的魯棒性。該方法定義正負樣本中人臉的圖像為興趣區(qū),只將興趣區(qū)送入到CNN,訓練了VGG16(Visual Geometry Group 16-layer network)(Simonyan和Zisserman,2015)、ResNet50(residual neural network)、ResNet101和ResNet152(He等,2016)4個模型,取平均值作為最終的預測結(jié)果。Matern等人(2019)指出生成的人臉在視覺上與真實人臉存在差異,首先得到人臉圖像的關鍵點,通過眼睛和嘴部位關鍵點的凸包得到眼睛區(qū)域和牙齒區(qū)域,然后使用紋理表征方法得到眼睛、牙齒區(qū)域和整幅圖像的特征向量,最后用邏輯斯蒂回歸和全連接神經(jīng)網(wǎng)絡進行分類。Nguyen等人(2019a)提出多任務的訓練方式,同時檢測偽造圖像和定位修改的區(qū)域,并使用半監(jiān)督的方法增強網(wǎng)絡的泛化能力,整個網(wǎng)絡包括1個編碼器和2個Y型的解碼器,如圖7所示,編碼器為卷積神經(jīng)網(wǎng)絡,為分割和分類任務提取特征;解碼器分為兩個分支,一個分支進行分割輸出修改區(qū)域的分割圖,另一個分支用于分類輸出判定的真假。相似地,胡永健等人(2021)提出基于圖像分割網(wǎng)絡的深度假臉視頻篡改檢測方法。Afchar等人(2018)利用卷積神經(jīng)網(wǎng)絡捕捉幀內(nèi)信息檢測偽造視頻,提出兩個卷積神經(jīng)網(wǎng)絡Meso-4和MesoInception-4,Meso-4為小規(guī)模網(wǎng)絡,包括4個卷積層和兩個全連接層,MesoInception-4為大規(guī)模網(wǎng)絡,借鑒Inception模塊,將單個視頻幀作為輸入,將偽造檢測作為二分類處理。Yang等人(2019)使用頭部的3D姿態(tài)估計進行Deepfake偽造視頻的檢測,發(fā)現(xiàn)Deepfake不能保證輸入人臉與輸出人臉的關鍵點完全匹配,對于64 × 64像素大小的人臉圖像,平均每個關鍵點存在1.54個像素的差異。在換臉過程中,只交換面部中心區(qū)域,保留面部輪廓,因而原始圖像與生成圖像的所有面部中心區(qū)域關鍵點和面部輪廓的關鍵點分布存在差異,可以通過3D頭部姿態(tài)估計進行建模。因此,首先使用Openface2開源軟件進行面部姿態(tài)估計,得到位移矢量和旋轉(zhuǎn)矢量。然后對位移矢量和旋轉(zhuǎn)矢量作變換,得到特征向量,并用支持向量機分類。
圖7 多任務訓練框架結(jié)構(gòu)(Nguyen等,2019a)Fig.7 The network structure of the muti-task training strategy (Nguyen et al.,2019a)
2.2.2 幀間檢測方法
偽造的人臉視頻存在幀間不一致性,原因在于已有的偽造視頻方法將視頻分解為單視頻幀分別進行處理,很少考慮視頻幀前后的關聯(lián)性。例如,許多人臉偽造技術都使用人臉關鍵點檢測技術用于定位人臉的位置,但人臉關鍵點檢測技術本身存在幾個像素的誤差,如果沒有將誤差考慮在內(nèi),生成的相鄰視頻幀的人臉位置就會存在明顯的視覺差異。已有的偽造視頻檢測方法使用長短時記憶網(wǎng)絡(long short term memory,LSTM)(Hochreiter和Schmidhuber,1997)或光流估計對視頻幀間的關聯(lián)性進行建模。
考慮到生成的偽造視頻缺乏時間相關性,Sabir等人(2019)利用視頻的時序信息檢測偽造視頻,結(jié)合DenseNet和門遞歸單元的遞歸卷積模型(recurrent convolutional network,RCN)挖掘幀間的不一致性,如圖8所示,該方法分為兩個階段,第1階段檢測視頻幀的人臉區(qū)域,然后對人臉區(qū)域進行裁剪、對齊;第2階段將多幀的人臉區(qū)域送入RCN中訓練學習。相似的,Güera和Delp(2018)結(jié)合CNN和LSTM檢測Deepfake視頻,首先使用InceptionV3提取單幀的特征,然后用LSTM捕捉時序特征,如圖9所示。
圖8 基于RCN的網(wǎng)絡結(jié)構(gòu)圖(Sabir等,2019)Fig.8 The network structure based on RCN(Sabir et al.,2019)
圖9 基于LSTM的偽造檢測網(wǎng)絡結(jié)構(gòu)圖(Güera和Delp,2018)Fig.9 The forgery-detection network structure based on LSTM (Güera and Delp,2018)
Amerini等人(2019)使用光流估計的方法檢測偽造視頻。光流指光的流動,比如人眼感受到的夜空中劃過的流星。在計算機視覺中,用光流定義圖像中對象的移動,這個移動可以是相機移動或者物體移動引起的。具體是指視頻圖像的一幀中代表同一對象(物體)像素點移動到下一幀的移動量,使用2維向量表示。區(qū)別于直接將視頻幀作為網(wǎng)絡的輸入,如圖10所示,此方法首先根據(jù)相鄰的兩個幀計算出光流圖,然后將光流圖作為輸入送入VGG16網(wǎng)絡。Masi等人(2020)提出結(jié)合頻率域和RGB域的兩分支遞歸網(wǎng)絡用于偽造視頻檢測。具體地,一個分支使用高斯拉普拉斯濾波器提取頻率域特征,另一個分支使用卷積神經(jīng)網(wǎng)絡提取RGB域特征,使用組卷積將頻率域和RGB域的特征整合,并輸入到LSTM中。區(qū)別于先前方法使用交叉熵作為分類的損失函數(shù),該方法使用歐氏距離作為損失函數(shù)和測試階段分類的指標。在訓練過程中,預先給定一個常向量,并訓練網(wǎng)絡縮小真實視頻編碼與常向量的歐氏距離,同時增大偽造視頻編碼與常向量的歐氏距離。在測試階段,如果一個視頻的編碼與常向量的歐氏距離大于給定的閾值,則將此視頻判別為假視頻。Li等人(2020c)提出一個部分人臉偽造問題,即視頻同一幀內(nèi)包含多個不同人物,其中只有一個特定人物的人臉區(qū)域被偽造。在此情況下,以往基于投票策略的檢測方法正確率急劇下降。Amerini等人(2019)針對此場景提出了基于多實例學習的檢測方法,將單個視頻幀的每個人臉都視為一個實例,并將人臉序列編碼成一個時序特征包,利用多實例學習方法對不同包實例的特征進行集成,實現(xiàn)了對部分人臉偽造視頻的準確檢測。張怡暄等人(2020)提出基于局部二值模式、方向梯度直方圖特征和孿生神經(jīng)網(wǎng)絡提取幀間差異特征的人臉篡改視頻檢測框架。
圖10 基于光流的偽造檢測網(wǎng)絡結(jié)構(gòu)圖(Amerini等,2019)Fig.10 The forgery-detection network based on optical flow (Amerini et al.,2019)
2.2.3 基于生理信號的檢測方法
在生成偽造視頻過程中,往往缺少對生理信號的監(jiān)督,導致生成的偽造人臉視頻缺乏正常的生理信息。
Li等人(2018)提出基于眨眼檢測的方法鑒別偽造視頻,針對人眼眨眼具有很強的時間依賴性,采用長期遞歸卷積網(wǎng)絡(long-term recurrent convolutional neural networks,LRCN)模型捕捉這種時間依賴性。LRCN模型由特征提取、序列學習和狀態(tài)預測3部分組成。特征提取模塊基于VGG16框架的卷積神經(jīng)網(wǎng)絡(CNN)將輸入的眼睛區(qū)域(眼部圖像)轉(zhuǎn)化為可識別的特征。序列學習模塊,以提取的人眼區(qū)域特征作為輸入,由具有長短期記憶(LSTM)單元的遞歸神經(jīng)網(wǎng)絡(recurrent neural network,RNN)實現(xiàn)。使用LSTM-RNN是為了提高RNN模型的存儲容量,避免訓練階段的反向傳播算法出現(xiàn)梯度消失問題。在最后的狀態(tài)預測階段,每個RNN神經(jīng)元的輸出進一步發(fā)送到神經(jīng)網(wǎng)絡,神經(jīng)網(wǎng)絡由一個全連接層組成,用一個概率預測的二值化表示眼睛狀態(tài),即睜眼(0)和閉眼(1)。
2.2.4 公開數(shù)據(jù)集
表2列舉了偽造人臉檢測領域公開數(shù)據(jù)集,包括UADFV(University at Albany Deepfake Videos)數(shù)據(jù)集(Li等,2018)、Google DeepFakeDetection數(shù)據(jù)集、DFDC(deepfake detection contest)數(shù)據(jù)集(Dolhansky等,2019)、TIMIT(Texas Instruments/Massachusetts Institute of Technology)數(shù)據(jù)集(Korshunov和Marcel,2018)、Celeb-DF(celeb deepfakeforensics)數(shù)據(jù)集(Li等,2020d)、FaceForensics數(shù)據(jù)集(R?ssler等,2018)、FaceForensics++數(shù)據(jù)集(R?ssler等,2019)、DFDC(deepfake detection contest)數(shù)據(jù)集(Dolhansky等,2019)和DeeperForensics數(shù)據(jù)集(Jiang等,2020)。
表2 偽造人臉檢測公開數(shù)據(jù)集Table 2 The datasets of forgery face detection
Li和Lyu(2019)在多個數(shù)據(jù)集上對幾種開源的偽造人臉檢測方法進行評估,以幀級AUC(area under the ROC curve)作為評價指標,結(jié)果如表3所示。
表3 偽造人臉檢測方法AUC結(jié)果對比(Li和Lyu,2019)Table 3 AUC results of forgery face detection methods (Li and Lyu,2019) /%
從最初的GAN到最新的StyleGAN,基于生成對抗網(wǎng)絡的人臉生成技術已經(jīng)能夠生成高分辨率、真實性高以至于肉眼難以區(qū)分真?zhèn)蔚娜四槇D像。已有GAN直接生成人臉技術僅存在一些細節(jié)問題,如生成的頭發(fā)部分模糊、在生成圖像的微小區(qū)域存在明顯瑕疵、生成的人臉存在局部不對稱等。此外,為了使生成對抗網(wǎng)絡關注于人臉區(qū)域,在生成過程中往往對背景區(qū)域進行虛化,因而生成圖像的背景缺乏真實性。局部修改人臉區(qū)域的人臉偽造技術僅對部分人臉區(qū)域進行修改,必然包含圖像的裁剪、拼接等操作,從而引入了偽造痕跡,主要體現(xiàn)在:1)生成的人臉區(qū)域與非人臉區(qū)域統(tǒng)計分布存在差異,且整幅拼接圖像與真實圖像的分布存在差異;2)由于人臉輪廓區(qū)域經(jīng)過高斯模糊處理,引入了分布誤差;3)如果原始人臉與目標人臉像素大小不同,需對生成的人臉區(qū)域圖像進行放縮,引入了生成區(qū)域與原始區(qū)域分辨率的差異。
生成整幅圖像的人臉技術能夠生成包含人臉和背景區(qū)域的整幅圖像,但存在以下問題:1)因參與訓練的樣本較少,在原始人臉與目標人臉姿態(tài)差異較大時,生成的人臉不逼真;2)直接生成整幅圖像的方式難以應用于偽造視頻的生成。
現(xiàn)有的人臉視頻偽造技術主要使用局部修改人臉區(qū)域的方法,存在以下缺陷:1)單個視頻幀內(nèi)存在偽造痕跡,如側(cè)臉生成模糊、人臉部分缺失紋理細節(jié)等;2)在視頻生成過程中,沒有考慮視頻幀的關聯(lián)性,生成的視頻幀間存在不一致性,如幀跳躍、前后兩幀人臉關鍵點位置差異較大;3)生成的人臉視頻缺乏正常的生物信息,如眨眼、微表情等。
目前針對偽造人臉圖像的檢測方法主要使用卷積神經(jīng)網(wǎng)絡提取特征用于分類,加入注意力機制以提取更有效的特征,同時采用編解碼結(jié)構(gòu)輸出偽造區(qū)域的熱度圖。針對偽造人臉視頻的方法主要是用CNN與LSTM結(jié)合的方式提取時序特征。這些偽造檢測方法在公開數(shù)據(jù)集上取得了較高的準確率。
然而,無論是偽造人臉圖像檢測還是偽造人臉視頻檢測,都存在以下問題:1)現(xiàn)有偽造人臉檢測方法對真實場景的魯棒性較差。許多方法都是在已有的公開數(shù)據(jù)集上進行,但數(shù)據(jù)集與真實場景的偽造數(shù)據(jù)存在差異,許多檢測方法都只在特定數(shù)據(jù)上針對某種偽造方法進行訓練,在偽造方法未知的真實場景下準確率較低。2)現(xiàn)有的檢測方法對圖像視頻壓縮算法的魯棒性較差。圖像和視頻在生成和傳播過程中經(jīng)過壓縮過程,部分偽造信息丟失,現(xiàn)有在高分辨率數(shù)據(jù)集上訓練的檢測方法不適合于低分辨圖像、視頻的檢測,即壓縮和非壓縮偽造圖像視頻檢測方法存在不一致問題。例如,一段偽造的人臉視頻,無論其中的人臉是經(jīng)過變換、合成還是重構(gòu)生成的,一定含有偽造的“痕跡”。但是,經(jīng)過圖像壓縮之后,這種“痕跡”將變淡,偽造的特征變得“模糊”,從而增加了檢測難度。因而,當前研究主要關注于具有壓縮不變性的特征提取方法(Cao等,2021)。3)偽造人臉檢測技術難以及時應對偽造技術不斷升級進化問題。例如,2019年6月,美國加州大學伯克利分校研發(fā)的DeepFake假視頻識別方法,準確率達到92%,但是隨著深度偽造技術的發(fā)展,到2019年12月,其對新產(chǎn)生的偽造視頻的識別準確率下降到56%。偽造技術不斷進化,檢測算法往往難以及時應付。如何在獲得新的、少量的偽造數(shù)據(jù)的條件下,更新和優(yōu)化檢測模型,使其能夠適應進化后的偽造技術,也是一個亟待解決的難題。4)現(xiàn)有的檢測方法不適用于部分人臉偽造的場景,即視頻的同一幀內(nèi)包含多個不同人物,其中只有一個特定人物的人臉區(qū)域被偽造。現(xiàn)有的方法大都基于投票策略,檢測視頻幀中所有人臉的真實性,將其中偽造人臉所占的比例作為評判依據(jù),在部分人臉偽造的場景下準確率下降。
基于生成對抗網(wǎng)絡的人臉生成技術已經(jīng)能生成極為真實的高分辨率人臉圖像。以后的研究應豐富生成圖像中存在的細節(jié)、并修補圖像中偶爾出現(xiàn)的微小區(qū)域瑕疵,還可考慮生成包含真實場景背景的人臉圖像。人臉編輯技術如人臉交換和人臉重現(xiàn)正朝著小樣本、通用性和高保真性的方向發(fā)展,即在使用樣本數(shù)目少的前提下,研究適用于多對多的通用性強的人臉編輯技術。
當前針對偽造視頻檢測技術方法主要使用CNN與LSTM結(jié)合的方式,使用CNN捕捉幀內(nèi)特征,再用LSTM捕捉幀間信息,方法較為單一??梢钥紤]將視頻行為識別、度量學習等領域的方法應用于偽造視頻檢測。1)可以嘗試使用基于區(qū)域3D卷積模型,以候選提議的方式將視頻劃分為多個候選區(qū)域,并給予額外的監(jiān)督,使其重點關注具有偽造信息人臉區(qū)域的特征;2)可加入非局部神經(jīng)網(wǎng)絡,學習視頻幀間的遠距離相關性,使網(wǎng)絡模型關注于視頻幀間的差異;3)可同時提取頻率域和RGB域的特征,偽造圖像和視頻在頻率域含有偽造信息,且對壓縮具有魯棒性;4)可使用度量學習促使偽造特征與真實特征滿足指定的分布,如使偽造特征與真實特征的編碼距離盡可能遠。針對生成偽造視頻缺少面部細微活動的特點,可嘗試使用微表情捕捉進行偽造人臉視頻檢測。可以使用面部行為編碼系統(tǒng)對人臉的行為建模,并用深度學習方法學習正常視頻與偽造視頻面部行為的差異。此外,研究通用性高、魯棒性強、計算資源占用少的偽造人臉檢測技術也是未來的發(fā)展方向。
本文總結(jié)了人臉偽造技術和偽造人臉檢測技術的研究進展,將人臉偽造技術分為生成對抗網(wǎng)絡直接生成人臉、人臉交換和人臉重現(xiàn)3個部分,從網(wǎng)絡結(jié)構(gòu)、通用性和生成效果方面進行深入闡述,并介紹了一種整合偽造音頻的偽造視頻生成方案。將偽造人臉檢測技術分為偽造人臉圖像檢測技術和偽造人臉視頻檢測技術,詳細介紹了其提取偽造特征的種類、方式以及適用場景的差異。最后提出人臉偽造技術和偽造人臉檢測技術研究方法的不足,并對未來的研究方向進行了展望。
目前的生成對抗網(wǎng)絡技術能夠生成真實性極高的高分辨率人臉圖像,但存在局部微小瑕疵、缺乏紋理細節(jié)等問題。人臉交換和人臉重建技術都將人臉分解到長相和屬性兩個空間,設計不同的網(wǎng)絡結(jié)構(gòu)和損失函數(shù)對特定的特征進行遷移,并采用對抗的思想提高生成結(jié)果的真實性。研究少樣本、多對多和真實性高的人臉編輯框架是人臉偽造領域的發(fā)展方向。
當前偽造圖像檢測技術主要使用神經(jīng)網(wǎng)絡依據(jù)統(tǒng)計分布差異、紋理細節(jié)等特征進行檢測,并結(jié)合語義分割任務同時實現(xiàn)偽造區(qū)域的定位。偽造視頻檢測技術使用結(jié)合卷積神經(jīng)網(wǎng)絡和遞歸神經(jīng)網(wǎng)絡的方式提取幀間和幀內(nèi)的特征。研究通用性高、魯棒性強、計算資源占用少的偽造人臉檢測技術是未來的發(fā)展方向。