費(fèi)建偉,夏志華,余佩鵬,戴昀書(shū)
1.南京信息工程大學(xué) 計(jì)算機(jī)與軟件學(xué)院,南京210044
2.暨南大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,廣州510632
人臉作為身份認(rèn)證信息的特殊屬性,是眾多計(jì)算機(jī)領(lǐng)域的研究對(duì)象。除人臉檢測(cè)、識(shí)別以及活性檢測(cè)等方向外,人臉合成領(lǐng)域同樣具有很高的活躍度,且伴隨著近年來(lái)深度學(xué)習(xí)技術(shù)的突破性進(jìn)展,這一類技術(shù)也經(jīng)歷著飛速的發(fā)展,在隱私保護(hù)、影視動(dòng)畫(huà)、娛樂(lè)商用等各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。相較于人臉檢測(cè)與識(shí)別,人臉合成是一個(gè)更加開(kāi)放的領(lǐng)域。這一領(lǐng)域不僅涉及到如建模、形變與渲染等諸多圖形學(xué)技術(shù),還涉及到深度學(xué)習(xí)中關(guān)于圖像生成的革新技術(shù)。不同的人臉合成方法雖然可能具有類似的框架與技術(shù)路線,但在具體細(xì)節(jié)以及實(shí)現(xiàn)方法上可能千差萬(wàn)別。因此,人臉合成領(lǐng)域的研究與探索也在為技術(shù)本身的發(fā)展開(kāi)拓空間。另外,利用人臉合成技術(shù)制作的圖像或視頻是多媒體篡改取證領(lǐng)域的重點(diǎn)關(guān)注對(duì)象。推動(dòng)人臉合成技術(shù)發(fā)展,對(duì)數(shù)字取證領(lǐng)域的進(jìn)步也將產(chǎn)生積極的推動(dòng)作用[1]。
在推動(dòng)技術(shù)進(jìn)步的同時(shí),人臉合成領(lǐng)域的研究也帶來(lái)了許多實(shí)際應(yīng)用。例如,谷歌全景地圖在拍攝到未經(jīng)授權(quán)的人臉時(shí),可以借助人臉合成技術(shù)自動(dòng)地將其替換為授權(quán)人臉。這不僅避免了對(duì)個(gè)人隱私的侵犯,而且相比于人臉馬賽克,具有更好的視覺(jué)效果[2]。在一些特殊的紀(jì)錄片中,利用換臉技術(shù)也能夠保護(hù)主人公的隱私[3]。如今,公共場(chǎng)合遍布著各類公共攝像頭與監(jiān)控設(shè)備,人們通過(guò)簡(jiǎn)單的授權(quán)就可以直接獲取其捕獲內(nèi)容[4],由此帶來(lái)的隱私侵犯問(wèn)題也越來(lái)越值得關(guān)注。通過(guò)替換這些公開(kāi)內(nèi)容中的人臉,不僅能保留視頻中人物的行為數(shù)據(jù),還起到了保護(hù)個(gè)人隱私的作用。
在影視行業(yè),逼真的人臉合成技術(shù)可以以較低的成本實(shí)現(xiàn)翻拍或補(bǔ)拍影視片段,或者配音等工作。例如電影《黑客帝國(guó)》中利用人臉面部動(dòng)作合成技術(shù)創(chuàng)造了同一個(gè)演員不同表情的多個(gè)副本[5]。還有一些作品借助這類技術(shù)合成老年或年輕版本的演員,節(jié)省了化妝與道具成本。當(dāng)影視作品中需要呈現(xiàn)高危險(xiǎn)性的特技鏡頭時(shí),通過(guò)這類技術(shù)合成高質(zhì)量的面部圖像,不僅能夠保證演員的人身安全,還避免了使用昂貴的特效帶來(lái)的額外成本。很多影視作品在全世界范圍內(nèi)流通,雖然可以利用不同語(yǔ)言對(duì)作品進(jìn)行重新配音,但嘴型與聲音的不統(tǒng)一仍然會(huì)降低作品的觀賞質(zhì)量,因此借助面部操作技術(shù),依照本土配音的嘴型對(duì)影片中人物嘴型進(jìn)行操控,也是一項(xiàng)非常有潛力的應(yīng)用。
在商用領(lǐng)域,通過(guò)合成不存在的具有吸引力的人臉作為代言人或廣告角色,也是當(dāng)前人臉合成技術(shù)比較有潛力的應(yīng)用方向,既可以避免高昂的代言與廣告成本,也降低了侵犯肖像權(quán)的風(fēng)險(xiǎn)。人臉屬性合成以及美化任務(wù)也是近年來(lái)比較火熱的研究方法[6-7],因此一些基于人臉合成技術(shù)的換妝換臉手機(jī)應(yīng)用同樣存在巨大的潛在市場(chǎng)。一些娛樂(lè)軟件提供了零門(mén)檻換臉或?qū)崟r(shí)操控動(dòng)畫(huà)角色面部的功能,然而這類軟件一旦被惡意使用,同樣會(huì)帶來(lái)嚴(yán)重的負(fù)面影響,包括隱私以及版權(quán)問(wèn)題。
現(xiàn)有技術(shù)制作的細(xì)節(jié)豐富的高分辨率人臉圖像已經(jīng)具有比較理想的視覺(jué)效果[8-9]。各類新穎的應(yīng)用逐漸開(kāi)始走進(jìn)人們的日常生活,但有些應(yīng)用不僅對(duì)合成人臉的真實(shí)度與分辨率有要求,還要求合成人臉視頻中的動(dòng)作連貫平滑,或者對(duì)角度、動(dòng)作以及環(huán)境光照變化具有高魯棒性。雖然研究人員已經(jīng)探索了各類方法來(lái)合成人臉視頻,但這些方法大多基于圖形學(xué)技術(shù),需要大量的人工干預(yù)以及計(jì)算資源,而且過(guò)度依賴專業(yè)特效人員的預(yù)處理與后處理,導(dǎo)致人力成本巨大,價(jià)格高昂。與此同時(shí),深度學(xué)習(xí)技術(shù)的飛速發(fā)展則為人臉合成領(lǐng)域帶來(lái)了新的思路與解決方案。
本文對(duì)人臉圖像與視頻的合成技術(shù)進(jìn)行了總結(jié),討論了該技術(shù)發(fā)展過(guò)程中各類方法間的聯(lián)系與差異,為合成更加逼真的人臉指明了方向。人臉合成具有非常廣泛的含義,本文將其歸為圖1 所示的四類,并在表1 中列舉了近幾年來(lái)國(guó)際頂級(jí)會(huì)議上人臉合成的相關(guān)工作。
(1)人臉身份合成(face identity synthesis)。人臉身份合成試圖通過(guò)換臉的方式在保持背景不變的情況下更改圖像或視頻中人物的身份。早期技術(shù)雖然實(shí)現(xiàn)了身份修改,但也更改了原有面部動(dòng)作。而近年來(lái),一些技術(shù)不僅實(shí)現(xiàn)了身份的編輯,還保留了原有面部動(dòng)作。
Fig.1 Four types of face synthesis圖1 人臉合成的四種類型
(2)人臉動(dòng)作合成(face movements synthesis)。人臉動(dòng)作合成旨在改變?nèi)宋镌械拿娌縿?dòng)作。目前,一些技術(shù)已經(jīng)可以實(shí)現(xiàn)平滑地改變面部動(dòng)作,而其中一類稱為人臉重演(face reenactment)的技術(shù),能夠利用目標(biāo)人臉的動(dòng)作來(lái)操縱源人臉,使其做出相應(yīng)的面部動(dòng)作,一些工作甚至能夠?qū)崿F(xiàn)實(shí)時(shí)操縱,或者驅(qū)動(dòng)動(dòng)畫(huà)角色的面部表情[10]。
(3)人臉屬性合成(face attributes synthesis)。人臉屬性合成是指對(duì)原始人臉的某些屬性進(jìn)行編輯,這里的人臉屬性指具有明確語(yǔ)義的人臉面部特征,主要分為局部與全局特征,前者包含是否佩戴眼鏡,是否留有胡須等,后者包含人的年齡、性別等。
(4)人臉生成(face generation)。人臉合成與人臉生成的不同處在于,前者試圖對(duì)已有人臉進(jìn)行修改,而后者生成現(xiàn)實(shí)中不存在的人臉,或者嘗試根據(jù)素描、文本描述等給定條件生成對(duì)應(yīng)的逼真人臉圖像。對(duì)于人臉超分辨率以及人臉的藝術(shù)風(fēng)格化等工作,本文同樣將其列為人臉生成的范疇。
雖然技術(shù)本身是中立的,但人臉合成在近年來(lái)帶來(lái)了相當(dāng)多的爭(zhēng)議,因此為了防止人臉合成技術(shù)帶來(lái)的不良影響,美國(guó)參議院與眾議院于2019 年提出了《2019 年深度偽造報(bào)告法案》[11],要求有關(guān)部門(mén)對(duì)這類技術(shù)可能帶來(lái)的風(fēng)險(xiǎn)進(jìn)行評(píng)估,并提前做出防御。類似的,中國(guó)網(wǎng)絡(luò)空間管理局在2020 年也發(fā)布了相關(guān)法規(guī),來(lái)遏制偽造人臉視頻傳播帶來(lái)的負(fù)面影響[12]。這些法律以及規(guī)范的約束降低了人臉合成相關(guān)技術(shù)的負(fù)面影響,使其更多在生產(chǎn)生活中發(fā)揮積極作用。
Table 1 Studies on face synthesis at top conferences in recent years表1 近年來(lái)頂級(jí)會(huì)議上人臉合成相關(guān)工作
人臉合成領(lǐng)域雖然方法眾多,但總體而言,基于三維人臉以及生成對(duì)抗網(wǎng)絡(luò)技術(shù)的方法占據(jù)著重要地位,前者在人臉動(dòng)作合成方面具有很大的技術(shù)優(yōu)勢(shì),而后者在生成特定屬性方面能夠產(chǎn)生逼真的視覺(jué)效果。因此本章將對(duì)這兩種技術(shù)進(jìn)行簡(jiǎn)單闡述。
三維人臉技術(shù)屬于圖形學(xué)的范疇,在人臉合成領(lǐng)域中,尤其是人臉動(dòng)作或身份的合成,主要借助三維人臉重建與三維人臉形變技術(shù),通過(guò)建立人臉的三維模型并對(duì)其形變或改變身份參數(shù),渲染出合成的人臉圖像。三維人臉技術(shù)是人臉合成領(lǐng)域不可或缺的基石之一,因此本節(jié)將對(duì)其進(jìn)行簡(jiǎn)要介紹,包括三維人臉重建與形變的技術(shù)原理。
1.1.1 三維人臉重建
三維人臉重建旨在建立人面部或頭部的三維模型,是圖形學(xué)領(lǐng)域的基本問(wèn)題。在以往研究中,借助高分辨率掃描設(shè)備實(shí)現(xiàn)三維重建的方法雖然能夠獲取精細(xì)的三維人臉模型[13],但其代價(jià)昂貴,過(guò)程復(fù)雜。而基于多張圖像的重建方法雖然不依賴額外設(shè)備,但需要多張不同視角的照片[14],且精度欠缺。因此人臉合成任務(wù)往往借助基于單張圖像的三維人臉重建方法,這類方法依賴預(yù)先收集好的三維人臉數(shù)據(jù)集來(lái)建立人臉的參數(shù)化模型,因此不僅受到參數(shù)化模型的影響,還受到三維數(shù)據(jù)采集設(shè)備的影響。
Blanz 等人[15]在1999 年所提出的三維人臉形變模型(3D morphable model,3DMM)是最早用于解決根據(jù)二維人臉圖像估計(jì)三維人臉問(wèn)題的參數(shù)化模型。該算法對(duì)預(yù)先收集的三維人臉數(shù)據(jù)進(jìn)行主成分分析,以獲得表示人臉形狀和紋理的主成分,并用形狀和紋理主成分的線性組合來(lái)表示新人臉的模型。通過(guò)調(diào)整該線性組合的系數(shù)以及渲染參數(shù),來(lái)優(yōu)化渲染得到的人臉圖像與原人臉圖像的差異,即可從單張人臉圖像重建其三維模型。為了增強(qiáng)三維模型的面部動(dòng)作表現(xiàn)力,Cao 等人[16]構(gòu)建了表情更加豐富的三維人臉數(shù)據(jù)集,并在3DMM 的基礎(chǔ)上加入了表情分量。Paysan 等人[17]則借助更先進(jìn)的設(shè)備,捕獲更加細(xì)致的三維人臉數(shù)據(jù)集。數(shù)據(jù)集規(guī)模與多樣性是影響三維人臉重建效果的重要因素,因此Booth 等人[18]構(gòu)建了包含9 663 名不同角色的大規(guī)模人臉模型數(shù)據(jù)集,極大地提升了三維人臉模型的多樣性與精度。重建三維人臉模型的一大難點(diǎn)在于求解模型參數(shù),以及渲染模型過(guò)程中涉及的包括相機(jī)位置、角度、距離、環(huán)境光照以及反照率等參數(shù),因此后續(xù)工作提出了各種參數(shù)計(jì)算方法[19-20]。
深度學(xué)習(xí)興起后,許多工作轉(zhuǎn)向利用深度神經(jīng)網(wǎng)絡(luò)從二維人臉圖像中推斷三維人臉模型[21]。Tran等人[22]利用卷積神經(jīng)網(wǎng)絡(luò)直接從人臉圖像中推斷3DMM 的形狀和紋理系數(shù)。Chen 等人[23]提出了一種基于條件生成對(duì)抗網(wǎng)絡(luò)的深度面部細(xì)節(jié)網(wǎng)絡(luò),成功從二維圖像中直接合成細(xì)節(jié)更加豐富的三維人臉。Gecer 等人[24]將生成對(duì)抗網(wǎng)絡(luò)與可微渲染器相結(jié)合,實(shí)現(xiàn)了高保真的人臉紋理重建。訓(xùn)練基于神經(jīng)網(wǎng)絡(luò)的三維人臉重建模型需要大量的數(shù)據(jù),而帶三維標(biāo)注的人臉數(shù)據(jù)較為缺乏,因此許多工作期望以無(wú)監(jiān)督或半監(jiān)督的訓(xùn)練方式,例如Deng 等人[25]就僅借助面部關(guān)鍵點(diǎn)與面部皮膚掩膜實(shí)現(xiàn)了半監(jiān)督的三維人臉重建。
1.1.2 三維人臉形變
對(duì)于人臉合成而言,三維人臉形變主要研究的是兩個(gè)具有相同拓?fù)浣Y(jié)構(gòu)的人臉模型間的形狀變化,這一技術(shù)不僅能夠?qū)崿F(xiàn)人臉表情間的遷移,甚至可以通過(guò)調(diào)整人臉形狀來(lái)實(shí)現(xiàn)身份變換。為了達(dá)到這一目標(biāo),需要解決兩個(gè)主要的技術(shù)挑戰(zhàn):(1)精確地跟蹤源人臉面部的剛性和非剛性運(yùn)動(dòng);(2)將提取的參數(shù)映射到目標(biāo)人臉以實(shí)現(xiàn)表情遷移。以參數(shù)化三維人臉模型為例,通過(guò)追蹤源人臉的面部動(dòng)作變化并調(diào)節(jié)目標(biāo)人臉的形狀參數(shù),即可實(shí)現(xiàn)目標(biāo)人臉的表情控制[26]。早期三維形變算法要求兩個(gè)模型間的稠密對(duì)齊,為了規(guī)避這一難題,大多數(shù)工作將面部表情變化嵌入到低維空間中,如Vlasic 等人[27]設(shè)計(jì)了基于三維人臉的多線性模型,將人臉的身份、表情與口型特征分別參數(shù)化與解耦,進(jìn)而實(shí)現(xiàn)了人臉表情的定向形變。Thies 等人[28]則采用了Cao 等人的三維人臉參數(shù)模型,并計(jì)算源人臉的表情和目標(biāo)人臉的表情參數(shù)的差值,進(jìn)而通過(guò)修改目標(biāo)人臉模型的參數(shù)實(shí)現(xiàn)表情遷移。
生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)[29]自提出以來(lái),就憑借能夠生成多樣的、逼真的圖像的能力成為近年來(lái)的研究熱點(diǎn)[30],被廣泛應(yīng)用于人臉圖像處理的各類任務(wù),是人臉合成技術(shù)至關(guān)重要的組成部分。人臉合成領(lǐng)域一直以輸出可控制的、高分辨率的逼真人臉圖像為目標(biāo),因此本節(jié)圍繞這兩方面介紹GAN 的相關(guān)技術(shù)。
1.2.1 生成圖像內(nèi)容控制
原始GAN 將噪聲作為生成器的輸入,無(wú)法控制生成圖像的內(nèi)容,因此Mirza 等人[31]提出了條件化生成對(duì)抗網(wǎng)絡(luò)(conditional GAN,CGAN)。與原始GAN不同的是,CGAN 在對(duì)生成器輸入噪聲的同時(shí)輸入一個(gè)標(biāo)簽作為輔助信息來(lái)約束生成圖像的內(nèi)容。Odena等人[32]在CGAN 的基礎(chǔ)上提出了ACGAN(auxiliary classifier GAN),使判別器不僅可以判斷圖像的真實(shí)性,還能夠?qū)D像進(jìn)行分類。Perarnau 等人[33]所提出的ICGAN(invertible conditional GAN)利用額外的編碼網(wǎng)絡(luò)提取圖像的屬性標(biāo)簽,并對(duì)其修改后再輸入生成網(wǎng)絡(luò),實(shí)現(xiàn)了更加明確的語(yǔ)義修改。
雖然CGAN 能夠生成特定類別的圖像,但輸入的噪聲仍然不具語(yǔ)義上的可解釋性。因此Chen等人[34]提出的InfoGAN(information maximizing GAN)將輸入噪聲分解為隱變量和輸入噪聲,通過(guò)最大化隱變量與生成器的輸出的互信息,使輸入噪聲具有特定且連續(xù)的語(yǔ)義特征,如人臉的不同姿態(tài)以及手寫(xiě)字符的粗細(xì)等。
1.2.2 高分辨率圖像生成
原始的DCGAN 只能生成64×64 分辨率的圖像,一直以來(lái),研究者試圖設(shè)計(jì)能夠生成更高分辨率圖像的GAN 模型。Denton 等人[35]結(jié)合圖像金字塔與CGAN,逐步提高生成圖像的分辨率,將最終生成圖像的分辨率提高至96×96。Karras 等人[36]提出了PGGAN(progressive growing GAN),使用步進(jìn)訓(xùn)練方式,從低分辨率開(kāi)始逐漸添加新的層來(lái)提升生成圖像的分辨率,并最終生成分辨率高達(dá)1 024×1 024的逼真圖像。在此基礎(chǔ)上,Style GAN[37]將輸入噪聲利用多層全連接映射到潛空間,并利用自適應(yīng)實(shí)例標(biāo)準(zhǔn)化控制生成器中每一層的激活值,實(shí)現(xiàn)了更加逼真且可控的高分辨率圖像生成。值得注意的是,一些風(fēng)格遷移任務(wù)中的GAN 雖然也能夠生成高分辨圖像[38-39],但其生成器的輸入是已有圖像,而以上幾種GAN 則將隨機(jī)噪聲作為輸入。
人臉身份合成,亦稱人臉交換,旨在將目標(biāo)圖像中的人臉無(wú)縫逼真地替換源圖像中的人臉,部分工作甚至可以在替換后保留源人臉的表情與動(dòng)作,在這種情況下,人臉交換就不僅涉及身份信息,還需要算法同時(shí)處理面部屬性。近幾年來(lái),由于DeepFakes的出現(xiàn),該領(lǐng)域的研究得到了廣泛的關(guān)注,成為了熱點(diǎn)話題,帶來(lái)了關(guān)于個(gè)人隱私與倫理問(wèn)題的熱烈爭(zhēng)議。根據(jù)所使用的算法基礎(chǔ),人臉身份合成的研究主要可以分為三類:(1)基于三維人臉模型的方法;(2)基于圖像編輯的方法;(3)基于深度學(xué)習(xí)的方法。而基于深度學(xué)習(xí)的方法又可分為基于自動(dòng)編碼器與基于生成對(duì)抗網(wǎng)絡(luò)的方法。
基于三維人臉模型的方法本質(zhì)上是利用圖形學(xué)技術(shù),對(duì)圖像或者視頻中源人臉的形狀進(jìn)行形變,以在外觀上能夠模擬目標(biāo)人臉的身份,同時(shí)將源人臉貼圖進(jìn)行替換以保證肌膚的一致性。另外,圖像中的全局光照特征也是影響人臉合成效果的重要因素,因此有必要估計(jì)源與目標(biāo)圖像的光照特征,并將源光照特征應(yīng)用于生成人臉圖像的渲染。三維人臉模型的優(yōu)點(diǎn)在于,不同人臉具有相同的拓?fù)浣Y(jié)構(gòu),簡(jiǎn)化了源人臉與目標(biāo)人臉間的轉(zhuǎn)化。而參數(shù)化三維人臉模型還能夠嚴(yán)格明確地分離面部幾何形狀、皮膚紋理和場(chǎng)景參數(shù)。
利用三維人臉模型實(shí)現(xiàn)人臉身份修改的方法主要遵循以下幾個(gè)步驟:(1)同時(shí)對(duì)源和目標(biāo)視頻中的人臉進(jìn)行跟蹤和對(duì)齊,得到包括眼睛、鼻子以及嘴巴等關(guān)鍵位置的人臉特征點(diǎn);(2)從圖像中估計(jì)人臉的三維形狀與紋理,某些情況下還需估計(jì)人臉的姿態(tài)參數(shù);(3)利用特征點(diǎn),將源人臉模型形變匹配目標(biāo)人臉模型;(4)估計(jì)源視頻的環(huán)境光照參數(shù);(5)利用估計(jì)的照明參數(shù)對(duì)換臉圖像進(jìn)行重新照明并渲染,某些情況還會(huì)使用圖像融合方法來(lái)降低源人臉與目標(biāo)人臉肌膚上的顏色差異。
目前可追溯的最早嘗試人臉身份交換的工作來(lái)自于2003年一篇未發(fā)表的文章[40]。在該工作中,Malik利用三維模型手動(dòng)地提取面部紋理,在進(jìn)行光照調(diào)整后與原始圖像粘合并對(duì)混合邊界進(jìn)行調(diào)整。雖然該方法無(wú)需大規(guī)模數(shù)據(jù)集,但需要手動(dòng)進(jìn)行三維模型的面部對(duì)齊,且最終的換臉圖像逼真度較低。
Blanz 等人[41]同樣借助了三維人臉模型,他們利用源人臉估計(jì)得到的渲染參數(shù)對(duì)目標(biāo)人臉進(jìn)行渲染,得到了與源人臉姿態(tài)表情相同的目標(biāo)人臉。然后將目標(biāo)人臉與源人臉的背景、頭發(fā)以及面部區(qū)域進(jìn)行融合得到最終的換臉圖像。雖然該工作的視覺(jué)效果要遠(yuǎn)高于Malik 的方法,但仍然需要手動(dòng)的面部對(duì)齊以及頭發(fā)區(qū)域的標(biāo)記。類似的,為了防止源圖像與目標(biāo)圖像的光照差異帶來(lái)的換臉圖像真實(shí)感損失,Cheng 等人[42]不僅提出了一種三維人臉模型表情參數(shù)估計(jì)算法來(lái)對(duì)源人臉進(jìn)行擬合,還額外對(duì)換臉?shù)秩竞蟮娜四樳M(jìn)行重光照以保證目標(biāo)人臉與源圖像背景的光照一致性。為了防止過(guò)大的源人臉與目標(biāo)人臉姿態(tài)差異導(dǎo)致的換臉失真,Lin 等人[43-44]則從正面照片建立完整的三維頭部模型并結(jié)合姿態(tài)估計(jì),成功實(shí)現(xiàn)了在任意姿態(tài)下將目標(biāo)頭部模型渲染到源圖像中的目的。
上述方法僅僅考慮了圖像層面的人臉交換,對(duì)于視頻中的人臉交換缺乏額外的時(shí)域約束。為了解決該問(wèn)題,Dale 等人[45]不僅考慮了源視頻與目標(biāo)視頻的人臉身份與外觀差異,還考慮了說(shuō)話人的動(dòng)作連貫性問(wèn)題。該方法使用三維多線性模型追蹤并將源面部動(dòng)作形變到目標(biāo)面部動(dòng)作,隨后對(duì)兩者進(jìn)行空間對(duì)齊。為了保持人臉動(dòng)作的動(dòng)態(tài)一致性,作者額外施加了重定時(shí)步驟,利用動(dòng)態(tài)時(shí)間規(guī)整將源與目標(biāo)序列相匹配,消除了幀間不連續(xù)性的同時(shí),還保持了足夠的同步率。并最終提出了一種最優(yōu)拼接區(qū)域估計(jì)算法,來(lái)防止拼接造成的偽影。
人臉身份合成任務(wù)要求盡可能逼真的視覺(jué)效果,而基于三維模型的方法在這一目標(biāo)上具有多重局限。首先,基于三維模型的方法在預(yù)處理階段要求精確地追蹤頭部姿態(tài),以在換臉后匹配圖像中的人臉背景,防止人臉中心區(qū)域與周?chē)鷧^(qū)域不一致而導(dǎo)致的瑕疵。這就使得這類方法在處理不同頭部姿態(tài)的源與目標(biāo)人臉時(shí)存在天然劣勢(shì),尤其是涉及包含面部遮罩的情況。因此近幾年的工作傾向借助深度學(xué)習(xí)生成模型對(duì)視角差異帶來(lái)的遮擋進(jìn)行補(bǔ)全,這一點(diǎn)將在2.3 節(jié)中詳細(xì)介紹。其次,光照是影響生成圖像真實(shí)度的主要因素。然而在基于三維模型的人臉身份合成方法中,根據(jù)二維圖像估計(jì)三維人臉模型以及光照條件都是一個(gè)病態(tài)問(wèn)題,因此該類方法常常會(huì)由于估計(jì)誤差導(dǎo)致最終的換臉圖像中存在明顯的偽影瑕疵。而過(guò)于簡(jiǎn)單的光照模型,以及對(duì)鏡面反射、陰影以及表面光散射等細(xì)節(jié)的處理不當(dāng),也會(huì)嚴(yán)重限制合成的效果。因此,此類方法最大的困境在于源與目標(biāo)人臉具有不同光照條件以及不同環(huán)境背景時(shí),如何精確估計(jì)光照以及人臉?lè)凑章实耐瑫r(shí),對(duì)目標(biāo)人臉圖像進(jìn)行重光照。與照明魯棒性和單幅人臉圖像的可靠三維重建相比,降低換臉過(guò)程中的手工干預(yù),構(gòu)建自動(dòng)化的管線也同樣是一個(gè)需要解決的問(wèn)題。
相比于復(fù)雜的基于三維人臉模型的身份合成方法,一些傳統(tǒng)的圖像編輯技術(shù)也可以用來(lái)實(shí)現(xiàn)人臉交換。這些基于圖像編輯的方法主要依賴圖像融合技術(shù),如泊松融合[46-47]將兩幅不同的圖像進(jìn)行融合以實(shí)現(xiàn)面部交換。這類方法首先將相應(yīng)的面部區(qū)域分割出來(lái)[48],再利用圖像融合技術(shù)對(duì)源圖像與目標(biāo)人臉進(jìn)行拼接。一般而言,絕大部分基于圖像編輯技術(shù)的人臉身份修改算法的一般流程包含以下三個(gè)主要步驟:
(1)分別對(duì)源圖像與目標(biāo)圖像進(jìn)行人臉與關(guān)鍵點(diǎn)檢測(cè),利用面部關(guān)鍵點(diǎn)對(duì)兩幅人臉進(jìn)行對(duì)齊并剪裁出適當(dāng)?shù)拿娌繀^(qū)域。
(2)將從目標(biāo)圖像剪裁得到的人臉區(qū)域粘貼到源圖像上,根據(jù)對(duì)應(yīng)的關(guān)鍵點(diǎn)進(jìn)行對(duì)齊。
(3)調(diào)整人臉交換后的源圖像的色彩,使人臉膚色光照與源圖像相匹配,調(diào)整圖像混合邊界,使其更加平滑自然。
早在2008 年,Bitouk 等人[49]就提出了一種完全基于圖像編輯的人臉交換方法。作者預(yù)先準(zhǔn)備了大規(guī)模的目標(biāo)人臉數(shù)據(jù)集,對(duì)于一張?jiān)慈四?,首先從?shù)據(jù)集中選擇外貌與姿態(tài)最相似的人臉,然后進(jìn)行姿態(tài)、光照以及膚色的調(diào)整,來(lái)進(jìn)一步將兩者差異降低,最終將處理后的人臉融合到源圖像中。Mosaddegh等人[50]也從預(yù)先建立的數(shù)據(jù)集中選擇換臉目標(biāo),他們將人臉?lè)譃椴煌瑓^(qū)域,并從數(shù)據(jù)集中選擇各個(gè)區(qū)域最相似的進(jìn)行融合來(lái)進(jìn)行人臉交換。雖然以上兩者不能夠控制換臉目標(biāo)的身份,但在無(wú)此需求的隱私保護(hù)領(lǐng)域中,具有真實(shí)高效的優(yōu)勢(shì)。類似的,Kemelmacher-Shlizerman[51]對(duì)于用戶給定的關(guān)鍵字,從互聯(lián)網(wǎng)中搜集大量的相關(guān)人臉圖像并利用其中最相似的進(jìn)行人臉交換。
雖然以上方法能夠產(chǎn)生非常逼真的換臉效果,但十分依賴預(yù)先準(zhǔn)備的數(shù)據(jù)集,在數(shù)據(jù)集規(guī)模有限或者無(wú)法檢索到與源人臉相似的人臉時(shí),換臉效果會(huì)產(chǎn)生嚴(yán)重下跌。同時(shí)這類方法也無(wú)法控制換臉目標(biāo)的身份以及表情,但由于其較高的效率以及無(wú)需人工手動(dòng)干預(yù)的特性,在一些特殊場(chǎng)景中具有較高的實(shí)用價(jià)值。
為了提高換臉?biāo)惴▽?duì)于源與目標(biāo)人臉形狀與姿態(tài)差異的容忍度,可以在檢測(cè)到人臉以及關(guān)鍵點(diǎn)后,利用關(guān)鍵點(diǎn)的形變與對(duì)齊來(lái)彌補(bǔ)二者之間的差異。如Min 等人[2]就借助主動(dòng)形狀模型(active shape models,ASM)[52]進(jìn)行人臉對(duì)齊,并通過(guò)匹配源人臉與目標(biāo)人臉的二維模型來(lái)減少面部形狀的失真,最終進(jìn)行膚色調(diào)整與泊松融合[46]來(lái)進(jìn)一步提升真實(shí)度。他們的方法完全無(wú)需人工干預(yù),且由于匹配了源人臉的面部動(dòng)作,達(dá)到了更加可接受的視覺(jué)效果。但源人臉與目標(biāo)人臉差異過(guò)大時(shí)仍然缺乏足夠的真實(shí)感。Wang 等人[53]提出了一種基于主動(dòng)外觀模型(active appearance mode,AAM)[54]的人臉交換框架。該方法首先利用AAM 對(duì)人臉圖像進(jìn)行形狀和紋理解析得到面部區(qū)域特征,然后將源人臉與目標(biāo)人臉對(duì)齊并利用泊松方程生成最終的換臉圖像。Garrido 等人[55]利用非剛性人臉跟蹤算法跟蹤源視頻與目標(biāo)視頻中的人臉并標(biāo)記關(guān)鍵點(diǎn),然后將關(guān)鍵區(qū)域編碼為局部二值模式直方圖,通過(guò)最近鄰搜索對(duì)源幀和目標(biāo)幀進(jìn)行匹配。最后,根據(jù)源人臉關(guān)鍵點(diǎn)將目標(biāo)人臉進(jìn)行形變以匹配源頭部姿態(tài),并利用泊松融合消除換臉邊界。
人臉交換的一個(gè)難題是當(dāng)源人臉與目標(biāo)人臉的膚色或光照存在較大差異時(shí),會(huì)導(dǎo)致?lián)Q臉后的圖像具有明顯的融合邊界[56]。因此為了產(chǎn)生逼真的人臉合成效果,確保源圖像與目標(biāo)人臉區(qū)域之間邊界的無(wú)縫和自然就十分重要。平滑的邊界可以通過(guò)Alpha Matting 或像素梯度域合成技術(shù)來(lái)實(shí)現(xiàn),但不同的人臉圖像通常來(lái)自不同的環(huán)境,由不同的相機(jī)在不同的條件下拍攝得到,這就使得人臉在多種視覺(jué)外觀上具有差異,包括對(duì)比度、紋理、噪聲和模糊等,而單純的圖像融合已不足以應(yīng)對(duì)該需求。為了解決這一問(wèn)題,Sunkavalli 等人[57]提出了圖像協(xié)調(diào)融合算法。該方法同時(shí)將源、目標(biāo)與一張均勻隨機(jī)噪聲圖像分解為圖像金字塔,并迭代地使用平滑直方圖來(lái)匹配三張圖像的圖像金字塔,來(lái)對(duì)源圖像與目標(biāo)圖像的紋理、噪音、對(duì)比度與模糊度進(jìn)行建模。最終從金字塔系數(shù)中合成最終圖像,極大地提升了換臉邊界的真實(shí)度。Zhang 等人[58]提出了一種自適應(yīng)邊界融合算法。首先通過(guò)在Lab 顏色空間中將源圖像的方差與均值調(diào)整為目標(biāo)圖像的方差與均值。對(duì)于每個(gè)像素,根據(jù)其與人臉核心區(qū)域(眼、鼻、口)的距離自適應(yīng)地調(diào)整兩圖像的像素融合權(quán)重,也實(shí)現(xiàn)了更加平滑的邊界效果。
由于基于圖像編輯的方法沒(méi)有涉及到三維人臉模型的建立,在姿態(tài)以及視角問(wèn)題的處理上顯得較為薄弱。對(duì)于兩幅拍攝于不同視角或姿態(tài)的人臉圖像,進(jìn)行身份交換的難度則會(huì)大大增加。同時(shí),該類方法換臉過(guò)程是完全基于RGB 空間的操作,缺乏渲染步驟使其在光照的處理上無(wú)法比擬三維人臉模型的方法,最明顯的后果就是立體感的缺失。但基于圖像編輯的方法步驟簡(jiǎn)單,不僅效率更高,在制定算法流程后可以不依賴過(guò)多的人工干預(yù),而且由于人臉關(guān)鍵點(diǎn)檢測(cè)與圖像融合技術(shù)均較為成熟,產(chǎn)生極端失敗例子的可能性也更低。
隨著深度學(xué)習(xí)在計(jì)算機(jī)領(lǐng)域中的興起,大量人臉合成相關(guān)工作嘗試用深度卷積網(wǎng)絡(luò),尤其是生成對(duì)抗網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)人臉交換的目的。與基于三維人臉與圖像編輯技術(shù)的方法類似,基于深度學(xué)習(xí)的人臉交換同樣有較為統(tǒng)一的流程。但不同的是,這類方法在檢測(cè)并分割源人臉與目標(biāo)人臉的待交換區(qū)域后,利用模型將源人臉的身份轉(zhuǎn)換為目標(biāo)人臉(部分方法甚至可以保持源表情)。最終將轉(zhuǎn)換后的人臉粘合至源圖像上,并進(jìn)行與圖像編輯方法中相同的包括邊緣融合以及光照調(diào)整等后處理,進(jìn)一步增加真實(shí)性。
近幾年,以一種名為DeepFakes 為代表的基于深度學(xué)習(xí)的換臉?biāo)惴ù蟠蠼档土松扇四樢曨l的門(mén)檻。只要有足夠的數(shù)據(jù),任何沒(méi)有專業(yè)知識(shí)的業(yè)余人員都可以創(chuàng)造出人眼難辨的生成人臉圖像或視頻。這種零門(mén)檻的服務(wù)導(dǎo)致?lián)Q臉視頻在社交媒體上廣泛傳播,不僅會(huì)嚴(yán)重破壞公眾對(duì)大眾傳媒的信任,也威脅到社會(huì)公信力、司法公正,甚至國(guó)家安全。由于DeepFakes 的出現(xiàn)以及其帶來(lái)的危害,基于深度學(xué)習(xí)的換臉技術(shù)引發(fā)了廣泛的熱議。文獻(xiàn)中習(xí)慣將DeepFakes(圖2 所示)代指基于深度學(xué)習(xí)的換臉技術(shù),但值得注意的是,許多方法采用的是與原始DeepFakes 不同的架構(gòu)。根據(jù)依賴的模型,基于深度學(xué)習(xí)的人臉交換方法主要可以分為基于自動(dòng)編碼器以及基于生成對(duì)抗網(wǎng)絡(luò)的兩類方法。
Fig.2 Single encoder-multi decoder architecture圖2 單編碼器-多解碼器架構(gòu)
2.3.1 基于自動(dòng)編碼器的方法
圖2 中展示的是最早期的DeepFakes 的架構(gòu),主體是基于Y 形的單編碼器-雙解碼器架構(gòu),即一對(duì)權(quán)值共享的編碼器以及權(quán)值不共享的解碼器。在訓(xùn)練過(guò)程中,首先將預(yù)先收集好的源與目標(biāo)人臉進(jìn)行剪裁得到不包含背景的人臉圖像塊,然后利用仿射變換將源與目標(biāo)人臉圖像扭曲變形,并試圖讓兩個(gè)獨(dú)立的自動(dòng)編碼器分別重建未變形的源與目標(biāo)圖像。在測(cè)試階段,將源圖像輸入編碼器得到潛變量,并用目標(biāo)圖像對(duì)應(yīng)的解碼器進(jìn)行解碼,即可得到換臉圖像[59]。然而單純的Y 型結(jié)構(gòu)存在兩個(gè)問(wèn)題:(1)生成的換臉圖像的分辨率有限,受到自動(dòng)編碼器結(jié)構(gòu)的限制,一般不超過(guò)96×96。在此架構(gòu)下,過(guò)高的分辨率會(huì)導(dǎo)致無(wú)法實(shí)現(xiàn)身份的完全交換。(2)生成的換臉圖像相比于真實(shí)圖像較為模糊,由于自動(dòng)編碼器以重建圖像與輸入圖像的均方誤差為優(yōu)化目標(biāo),天然具有模糊性,在細(xì)節(jié)方面比較欠缺。
針對(duì)分辨率有限的問(wèn)題,Naruniec 等人[8]提出了一種與原始DeepFakes 相似的共享編碼器-獨(dú)立解碼器架構(gòu),并采用步進(jìn)訓(xùn)練的方式逐步提高分辨率,直到將圖像的分辨率提高至1 024×1 024,這也是換臉領(lǐng)域首個(gè)超過(guò)百萬(wàn)像素的結(jié)果。
針對(duì)圖像模糊的問(wèn)題,Korshunova 等人[60]受到紋理合成與風(fēng)格遷移技術(shù)[61-62]的啟發(fā),將人臉的身份視作風(fēng)格特征,將表情視作內(nèi)容特征。利用多尺度紋理網(wǎng)絡(luò),以一張?jiān)慈四槇D像以及一組目標(biāo)人臉圖像作為輸入,作者希望生成的人臉與源人臉的風(fēng)格特征要盡可能相同,同時(shí)與目標(biāo)人臉的內(nèi)容特征也要盡可能相同。為了保證生成的人臉與源人臉具有相似的光照環(huán)境,作者在優(yōu)化目標(biāo)中施加了額外的光照感知損失。但該方法不涉及任何三維人臉技術(shù),導(dǎo)致生成的人臉缺乏一定立體感,并且對(duì)眼鏡與頭發(fā)等遮罩十分敏感。該方法的另一個(gè)缺點(diǎn)在于,對(duì)新的目標(biāo)人臉,同樣需要重新訓(xùn)練模型。
人臉交換任務(wù)的一個(gè)難題是由于頭發(fā)或眼鏡等遮擋帶來(lái)的換臉失真。為了提升對(duì)于遮擋的魯棒性,Li等人[63]采用了額外的生成網(wǎng)絡(luò)去推斷被遮住的部分。該方法使用一種多級(jí)屬性編碼器,提取了更加全面的身份無(wú)關(guān)信息,并利用自適應(yīng)注意力去正則化生成器將這些信息與身份特征融合,生成了更加精細(xì)的結(jié)果。類似的,Nirkin 等人[64]利用預(yù)訓(xùn)練的全卷積圖像分割網(wǎng)絡(luò)分割出目標(biāo)圖像未被遮擋的面部區(qū)域,防止換臉融合時(shí)因遮擋帶來(lái)的錯(cuò)誤結(jié)果。該方法同時(shí)表明,一個(gè)逼真的人臉交換方法,并不一定要求估計(jì)人臉的三維形狀。
基于深度學(xué)習(xí)的方法借助深度生成模型的優(yōu)勢(shì),為人臉合成任務(wù)提供了新的范式。深度模型帶來(lái)了前所未有的完全自動(dòng)化的換臉流程,大大降低了對(duì)于人工干預(yù)以及專業(yè)技能的需求。然而,與基于圖像編輯的方法相同,這類方法同樣具有換臉圖像融合的邊界失真問(wèn)題,同時(shí)也導(dǎo)致了分辨率以及真實(shí)度方面的不足。針對(duì)前者,一般通過(guò)引入更加高級(jí)的模型結(jié)構(gòu),如1.2.2 小節(jié)中所介紹的相關(guān)技術(shù)能夠有效地提升生成圖像分辨率。而針對(duì)細(xì)節(jié)以及真實(shí)度的提升,則需要通過(guò)施加額外的真實(shí)性判別器或者損失函數(shù)如感知損失來(lái)實(shí)現(xiàn)。
2.3.2 基于生成對(duì)抗網(wǎng)絡(luò)的方法
生成對(duì)抗網(wǎng)絡(luò)在近幾年逐漸取代了自動(dòng)編碼器在圖像生成領(lǐng)域的重要地位,在人臉交換任務(wù)中也展示出獨(dú)一無(wú)二的優(yōu)勢(shì)。相比于基于自動(dòng)編碼器的方法,這類方法最大進(jìn)步在于借助CGAN 的形式,可以無(wú)須對(duì)每一對(duì)源與目標(biāo)人臉重新訓(xùn)練模型[65]。例如,Dong 等人[66]提出了一種基于CGAN 的無(wú)監(jiān)督轉(zhuǎn)換模型來(lái)實(shí)現(xiàn)人臉交換,實(shí)現(xiàn)了多個(gè)人臉身份的交換。模型的訓(xùn)練分為兩個(gè)步驟:(1)利用ACGAN 學(xué)習(xí)多個(gè)域之間的共享特征z,得到訓(xùn)練完成的生成器。作者認(rèn)為對(duì)于不同域,其中類別無(wú)關(guān)的信息應(yīng)該是相似的。(2)對(duì)于固定的z以及生成器,通過(guò)改變標(biāo)簽信息c來(lái)生成圖像,并作為編碼器的輸入圖像,利用均方誤差優(yōu)化編碼器的輸出與z。在換臉階段,通過(guò)給定目標(biāo)身份標(biāo)簽,模型即能夠生成對(duì)應(yīng)身份的人臉圖像,并保持源人臉的面部動(dòng)作。
一些工作不僅期望提高生成圖像的質(zhì)量,還希望降低對(duì)數(shù)據(jù)的依賴,如實(shí)現(xiàn)訓(xùn)練數(shù)據(jù)外的不同身份不同角度的人臉交換。為了達(dá)到這一目的,Olszewski等人[67]首先提取源人臉與目標(biāo)人臉的UV 貼圖,并將兩者進(jìn)行通道疊加作為生成網(wǎng)絡(luò)的輸入。訓(xùn)練前,他們首先構(gòu)建了多人的相同面部動(dòng)作數(shù)據(jù)庫(kù),對(duì)于a、b表情下的源人臉和目標(biāo)人臉?lè)謩e用Sa與Tb表示。值得注意的是訓(xùn)練數(shù)據(jù)中存在Sb圖像,因此優(yōu)化目標(biāo)除了對(duì)抗損失,還包含生成圖像與Sb的重構(gòu)誤差。該方法僅需要一張目標(biāo)圖像,就能夠?qū)崿F(xiàn)對(duì)源視頻的換臉,并且能生成源視頻中不存在的口腔區(qū)域。雖然該方法面向的是視頻換臉,但缺乏時(shí)間上的約束,因此會(huì)產(chǎn)生閃爍等現(xiàn)象,且對(duì)頭部姿態(tài)的要求較高。Nirkin 等人[65]則通過(guò)用單個(gè)模型統(tǒng)一換臉和表情操控兩種任務(wù),解決了側(cè)臉帶來(lái)的問(wèn)題并提高了對(duì)于未知人臉的魯棒性,但該方法對(duì)于光照的處理仍然會(huì)導(dǎo)致一定程度的失真。
與2.3.1 小節(jié)中基于Y 形自動(dòng)編碼器架構(gòu)相比,基于GAN 的換臉?lè)椒ㄒ泊嬖谌毕?,即在潛空間中人臉身份信息和表情等信息是相互糾纏、并未解耦的,這就導(dǎo)致在改變身份的同時(shí)會(huì)干擾到其他面部特征。因此,一些基于GAN 的換臉?lè)椒▏L試將身份信息與其他信息分離[60,68]。Natsume 等人提出的FSNet(face swapping net)[69]中將身份和面部幾何信息分離,在不同的人臉?lè)较蚝凸庹諚l件下達(dá)到了更好的換臉效果。Bao 等人[70]提出的IPGAN(identity and pose disentangled GAN),通過(guò)引入兩個(gè)并行的編碼網(wǎng)絡(luò),也實(shí)現(xiàn)了將人臉和屬性分離,再利用生成器將人臉和屬性信息作為輸入合成圖像。作者使用了一個(gè)額外的判別器來(lái)衡量生成圖像身份的后驗(yàn)概率來(lái)約束人臉身份。該方法對(duì)于訓(xùn)練集中未出現(xiàn)的人臉,也能夠達(dá)到很好的效果。
人臉動(dòng)作合成主要可以分為表情修改以及面部重演,前者通過(guò)給定的標(biāo)簽對(duì)人臉表情動(dòng)作進(jìn)行合成,后者則利用驅(qū)動(dòng)圖像/視頻中的人臉動(dòng)作對(duì)源視頻中的人臉動(dòng)作進(jìn)行對(duì)應(yīng)的修改。相比于圖像中的人臉動(dòng)作合成,視頻中的人臉動(dòng)作合成面臨更多難題:(1)復(fù)雜的人臉幾何形狀以及精確的形變匹配;(2)動(dòng)態(tài)皮膚紋理產(chǎn)生的細(xì)微失真。因此像DeepFakes這樣的技術(shù)雖然能夠用來(lái)制作視頻,但由于沒(méi)有幀間一致性的約束,人臉存在著明顯的動(dòng)作僵硬以及閃爍等問(wèn)題。人臉重演根據(jù)驅(qū)動(dòng)視頻來(lái)進(jìn)行表情合成,一定程度上減緩了幀間不連續(xù)的問(wèn)題,但人臉重演所依賴的三維重建以及匹配問(wèn)題仍然難以優(yōu)化。因此,最近的一些方法將傳統(tǒng)圖形學(xué)管線與深度學(xué)習(xí)相結(jié)合,借助各自的優(yōu)勢(shì)一定程度上彌補(bǔ)了各自的瓶頸。
3.1.1 基于深度生成模型的方法
人臉表情編輯旨在不影響身份屬性的情況下,將給定源人臉圖像的表情轉(zhuǎn)換為目標(biāo)表情。由于微妙的皮膚運(yùn)動(dòng)難以用圖像編輯方法來(lái)實(shí)現(xiàn),傳統(tǒng)方法很難生成自然的面部表情。而深度生成模型在這一方面則具有明顯優(yōu)勢(shì),但深度生成模型的訓(xùn)練十分依賴數(shù)據(jù)以及對(duì)應(yīng)的標(biāo)簽,因此在表情編輯任務(wù)中,就需要提供表征表情特征的輔助信息。這類輔助信息可以是人臉表情分類標(biāo)簽的形式,如微笑、平靜、生氣或者難過(guò)等離散的標(biāo)簽[71],或者連續(xù)的人臉表情特征如面部動(dòng)作單元(action units,AU)來(lái)對(duì)人臉動(dòng)作進(jìn)行連貫描述。
Pumarola 等人[72-73]提出了一種將面部動(dòng)作信息作為輔助標(biāo)簽的對(duì)偶WGAN(Wasserstein GAN),將AU作為條件化標(biāo)簽,來(lái)控制生成人臉的表情。并通過(guò)額外的表情分類器保證合成人臉的表情與輸入標(biāo)簽的相關(guān)性。該方法利用循環(huán)一致性損失構(gòu)建對(duì)偶網(wǎng)絡(luò),將生成人臉復(fù)原為原始人臉圖像,保證身份不變性與生成質(zhì)量。雖然循環(huán)一致性損失可以帶來(lái)逼真的結(jié)果,但由該損失訓(xùn)練的網(wǎng)絡(luò)的目標(biāo)域與輸入域存在一定偏差,無(wú)法實(shí)現(xiàn)漸進(jìn)式的生成過(guò)程。因此Sanchez 等人[74]提出了三重一致性損失來(lái)彌補(bǔ)輸入域和目標(biāo)域的分布之間的差異,并借助面部關(guān)鍵點(diǎn)實(shí)現(xiàn)了大幅度面部動(dòng)作的合成。Pham 等人[75]也借助AU 系數(shù),利用預(yù)訓(xùn)練的AU 估計(jì)器保證生成指定的表情。Zhou 等人[76]提出了一種用于面部表情合成的條件差分對(duì)抗自編碼器(cross domain adversarial auto encoder,CDAAE),同樣結(jié)合了AU 標(biāo)注。該模型通過(guò)在編碼器輸出的潛空間中加入目標(biāo)表情的標(biāo)簽來(lái)生成目標(biāo)人臉,并通過(guò)在編解碼器中引入跳躍鏈接將表征人臉身份的低層特征與表征表情的高層特征解耦,進(jìn)一步約束模型在合成表情時(shí)保證相同的人臉身份。
雖然基于AU 的方法實(shí)現(xiàn)了連續(xù)的表情動(dòng)作操控,但依賴臉部動(dòng)作編碼系統(tǒng)(facial action coding system,F(xiàn)ACS),而該系統(tǒng)中的AU 標(biāo)注仍然比較有限,難以滿足精細(xì)且全局的逼真面部表情變化。為了擺脫如AU 這種預(yù)先定義的表情監(jiān)督信息,Bozorgtabar 等人[77]將面部關(guān)鍵點(diǎn)與源圖像作為編碼器的輸入,來(lái)提取不同圖像的共同潛在表征,然后利用解碼器實(shí)現(xiàn)源域到目標(biāo)域上的轉(zhuǎn)換。其中,表情用獨(dú)熱碼形式的向量進(jìn)行表示,在測(cè)試階段只需要更改表情表征并結(jié)合人臉的共同潛在表征即能夠合成目標(biāo)人臉表情。然而該方法只能實(shí)現(xiàn)特定表情間的轉(zhuǎn)換,無(wú)法控制不同表情的強(qiáng)度。為了能夠同時(shí)擺脫對(duì)于人臉動(dòng)作標(biāo)注的依賴,并將表情變換推廣到訓(xùn)練集外,Ding 等人[78]提出的ExprGAN(expression GAN)中除了常規(guī)的編解碼與判別器外,額外引入了表情控制器網(wǎng)絡(luò)來(lái)將輸入標(biāo)簽轉(zhuǎn)化為描述表情強(qiáng)度的變量,并通過(guò)最大化生成圖像與強(qiáng)度變量間的互信息來(lái)保證兩者的對(duì)應(yīng)關(guān)系。
基于深度生成模型的方法在缺乏足夠輔助信息的情況下,很容易陷入合成圖像分辨率低、缺乏精細(xì)細(xì)節(jié)以及模糊的窘境。雖然表情標(biāo)簽可以一定程度地充當(dāng)輔助信息,但大多數(shù)工作只能把表情轉(zhuǎn)換到不同的類別,而現(xiàn)實(shí)中的面部表情強(qiáng)度往往在一個(gè)較大的范圍內(nèi)。如何能夠生成絲滑連續(xù)的表情變化,是人臉表情編輯需要解決的重要問(wèn)題。
3.1.2 基于人臉統(tǒng)計(jì)模型的方法
除了基于生成對(duì)抗網(wǎng)絡(luò)的方法外,三維人臉模型技術(shù)由于能夠操縱模型的形變,在表情編輯中也具有一定潛力。但這類方法在編輯源人臉表情時(shí)需要一個(gè)參考目標(biāo)人臉,同時(shí)如前文所述,這類方法面臨的任意多邊形模型之間的形變也是十分困難的問(wèn)題之一。Pighin 等人[79]提出了一種創(chuàng)建三維面部紋理模型與不同模型間平滑形變過(guò)渡的技術(shù),并使用離散插值法將通用人臉網(wǎng)格模型形變以匹配目標(biāo)人臉模型的形狀。人臉網(wǎng)格模型具有相同的拓?fù)浣Y(jié)構(gòu),作者對(duì)不同的面部表情標(biāo)記了統(tǒng)一的面部特征點(diǎn),使這些特征點(diǎn)在不同表情中均對(duì)應(yīng)相同的頂點(diǎn),使得僅借助線性插值法就可以得到希望的源到目標(biāo)的形變。
人臉動(dòng)作合成中有許多方法不借助生成對(duì)抗網(wǎng)絡(luò)或人臉三維模型,而是通過(guò)利用基于人臉統(tǒng)計(jì)模型的方法如AAM 模型(不借助其他中間模型)來(lái)對(duì)源圖像的表情進(jìn)行任意動(dòng)作控制[80-81]。由于表情變化不僅表現(xiàn)在面部運(yùn)動(dòng),還表現(xiàn)在光照和皺紋的細(xì)微變化,但這些細(xì)節(jié)難以被三維或外觀模型所精確地捕獲。因此Liu 等人[82]提出了一種面部表情映射技術(shù)來(lái)捕捉不同人臉表情的光照變化,并與面部形狀形變同時(shí)映射到源人臉上。與基于三維模型方法中的重光照不同,作者解決了恒定光照下的幾何變形問(wèn)題,合成了更有表現(xiàn)力的面部表情。
在實(shí)際應(yīng)用中,許多人臉動(dòng)作合成技術(shù)主要針對(duì)嘴型與特定語(yǔ)音的匹配,Bregler等人[83]通過(guò)跟蹤目標(biāo)視頻中的嘴部關(guān)鍵點(diǎn),并利用變形技術(shù)將嘴部動(dòng)作合成到源視頻中。為了達(dá)到類似的目的,Suwajanakorn等人[84]成功利用網(wǎng)絡(luò)學(xué)習(xí)前總統(tǒng)奧巴馬的聲音特征到嘴型的映射,并實(shí)現(xiàn)了根據(jù)給定的音頻生成相應(yīng)的奧巴馬說(shuō)話片段,甚至生成了不存在的口腔區(qū)域。然而,表情是面部五官動(dòng)作的全局結(jié)果,通過(guò)單一地修改局部動(dòng)作往往導(dǎo)致該區(qū)域與其他面部區(qū)域的不兼容。為了解決這一問(wèn)題,Yang 等人[85]提出了一種類光流的表情流,將目標(biāo)人臉自然地進(jìn)行全局扭曲,使其與修改后的局部動(dòng)作兼容。該方法首先計(jì)算源圖像與目標(biāo)圖像的關(guān)鍵點(diǎn),根據(jù)關(guān)鍵點(diǎn)與三維面部表情數(shù)據(jù)集進(jìn)行三維人臉重構(gòu)。通過(guò)將兩個(gè)三維模型相減后投影到二維來(lái)創(chuàng)建期望的表情流來(lái)對(duì)源圖像進(jìn)行形變。但該方法只能夠?qū)崿F(xiàn)同一個(gè)人不同表情間的轉(zhuǎn)換。Blanz 等人[86]計(jì)算了人臉在不同表情時(shí)的三維形狀和紋理差異,并將該差異遷移到中性表情的源人臉中以實(shí)現(xiàn)面部動(dòng)作的合成。該方法利用人臉模型的向量空間差異的可加性進(jìn)行表情合成,因此需要提前計(jì)算得到各類表情與中性表情的差異值。
與基于深度模型的表情編輯方法在低維嵌入空間對(duì)人臉表情特征進(jìn)行操縱不同,人臉統(tǒng)計(jì)模型的方法一般在RGB 像素空間對(duì)人臉圖像進(jìn)行操縱。雖然這類方法不要求大規(guī)模訓(xùn)練數(shù)據(jù)以及輔助信息,但往往需要目標(biāo)人臉圖像作為參照,對(duì)源人臉進(jìn)行轉(zhuǎn)換,無(wú)法實(shí)現(xiàn)完全自由的表情變化控制。
人臉重演與表情編輯的核心區(qū)別在于,表情編輯通過(guò)明確有限的標(biāo)簽來(lái)改變目標(biāo)人臉的面部動(dòng)作,而人臉重演給定的是一段源人臉視頻,要求目標(biāo)角色做出源人臉的面部甚至頭部動(dòng)作,同時(shí)保持人臉身份不變。
3.2.1 基于圖形學(xué)的方法
如3.1.2 小節(jié)中所述,三維人臉模型技術(shù)可以通過(guò)源到目標(biāo)模型的形變來(lái)實(shí)現(xiàn)表情編輯,因此自然地具有人臉重演的功能?;趫D形學(xué)的面部重演技術(shù)有著久遠(yuǎn)的歷史。早在1990 年,Williams[87]就通過(guò)追蹤驅(qū)動(dòng)視頻中的人臉運(yùn)動(dòng)與表情變化,并映射到生成的動(dòng)畫(huà)角色中來(lái)實(shí)現(xiàn)表情操控。Vlasic 等人[27]結(jié)合多線性人臉模型,將掃描得到的人臉三維模型數(shù)據(jù)重構(gòu)成數(shù)據(jù)張量,并使用N-模式奇異值分解計(jì)算面部幾何形狀及其身份和表情變化模型,從視頻中提取人臉姿態(tài)、表情和嘴型等參數(shù),來(lái)實(shí)現(xiàn)人臉操控。Garrido 等人[88]設(shè)計(jì)了一種結(jié)合了單目跟蹤、逆向繪制、光照與細(xì)節(jié)估計(jì)的目標(biāo)和配音演員動(dòng)作映射,旨在使視頻中的人物嘴部運(yùn)動(dòng)與音軌相匹配。該方法利用混合變形模型將兩者的面部動(dòng)作捕獲,并將驅(qū)動(dòng)人臉的模型的嘴部運(yùn)動(dòng)遷移到源人臉模型上。Suwajanakorn 等人[89]分別從預(yù)先收集的源人臉與驅(qū)動(dòng)人臉圖像中擬合出各自的平均三維模型與紋理模型。對(duì)驅(qū)動(dòng)視頻中的每一幀,將其三維模型疊加到源人臉模型中并減去驅(qū)動(dòng)人臉的平均模型,得到形變后的源人臉模型。與單純使用參數(shù)化模型的方法不同的是,閆衍芙等人[90]在其方法中借助了面部動(dòng)作單元,利用調(diào)整后的VGG-Face 獲取24 個(gè)AU 參數(shù),并利用該參數(shù)驅(qū)動(dòng)形變模型,進(jìn)而生成人臉動(dòng)畫(huà)。
為了實(shí)現(xiàn)實(shí)時(shí)的人臉重演,Thies 等人[28]使用3DMM 從RGB-D 圖像中捕捉頭部動(dòng)作,將靜態(tài)的臉變成可控制的視頻。對(duì)每一幀,該方法聯(lián)合對(duì)輸入的圖像和深度數(shù)據(jù)進(jìn)行身份、表情和皮膚反射率的參數(shù)擬合并進(jìn)行場(chǎng)景光照重建。隨后計(jì)算源表情和目標(biāo)表情在參數(shù)空間中的差值,并修改源人臉相應(yīng)的參數(shù)以匹配目標(biāo)表情。然而該方法需要RGB-D 攝像頭來(lái)提供額外的深度信息。因此該工作在文獻(xiàn)[91]中被進(jìn)一步擴(kuò)展,作者提出了Face2Face,實(shí)現(xiàn)了基于單目攝像頭的實(shí)時(shí)的人臉重演。該工作解決了單目視頻中人臉三維重建身份約束不足問(wèn)題,并利用魯棒變分優(yōu)化聯(lián)合重建三維人臉模型參數(shù)以及渲染參數(shù),同時(shí)使用密集光度一致性度量追蹤源視頻和目標(biāo)視頻的面部表情。最終,提出了一種子空間形變遷移技術(shù)來(lái)實(shí)現(xiàn)對(duì)源人臉模型的扭曲。為了達(dá)到對(duì)眼球運(yùn)動(dòng)更加精細(xì)的控制,Thies 等人進(jìn)一步提出了FaceVR[92],使用虛擬現(xiàn)實(shí)設(shè)備進(jìn)行實(shí)時(shí)的視線提取,來(lái)輔助合成更加逼真的面部重演。作者后續(xù)又提出了HeadOn[93],與Face2Face 相比,該方法不僅實(shí)時(shí)地遷移了面部運(yùn)動(dòng),還將完整的頭部姿態(tài)以及上半身的動(dòng)作進(jìn)行了遷移,達(dá)到了完整的人體軀干、頭部運(yùn)動(dòng)、表情與眼神的重演。
基于圖形學(xué)的方法在人臉重演任務(wù)中具有顯著優(yōu)勢(shì),然而當(dāng)目標(biāo)視頻出現(xiàn)張嘴或扭頭等動(dòng)作時(shí),很可能導(dǎo)致源視頻中不存在對(duì)應(yīng)的區(qū)域,使源人臉模型形變后缺乏對(duì)應(yīng)的貼圖,在渲染后出現(xiàn)明顯瑕疵,而常見(jiàn)的長(zhǎng)發(fā)和胡子遮住臉的場(chǎng)景也同樣會(huì)帶來(lái)類似的挑戰(zhàn)[94]。人臉重演是人臉合成領(lǐng)域中非常具有前景的方向之一,實(shí)際應(yīng)用中對(duì)實(shí)時(shí)性有很高的要求,但從二維圖像中估計(jì)三維模型再進(jìn)行形變的過(guò)程非常耗時(shí),因此往往需要借助額外的設(shè)備,如能夠獲取深度信息的特殊攝像頭。雖然降低三維人臉模型的維度能夠有效提升效率,但對(duì)人臉面部細(xì)節(jié)的表達(dá)上會(huì)產(chǎn)生致命影響。
3.2.2 基于深度學(xué)習(xí)的方法
基于圖形學(xué)的方法十分依賴高質(zhì)量的三維人臉模型,但單目重建得到的模型通常并不完美。因此Theis 等人[95]提出了延遲神經(jīng)渲染技術(shù)將圖形學(xué)與深度學(xué)習(xí)相結(jié)合。該技術(shù)對(duì)傳統(tǒng)UV 貼圖進(jìn)行改進(jìn),對(duì)其維度進(jìn)行增廣,通過(guò)訓(xùn)練,使其包含更多有效信息并可以被作者所提出的一種基于U-Net 的神經(jīng)渲染器渲染得到目標(biāo)圖像。在Face2Face 的基礎(chǔ)上,該方法在人臉重演任務(wù)中可以更好地解決人臉幾何重建問(wèn)題。類似的,Kim 等人[96]同樣借助深度學(xué)習(xí)模型對(duì)傳統(tǒng)渲染管線進(jìn)行優(yōu)化。對(duì)驅(qū)動(dòng)視頻與源視頻進(jìn)行三維人臉重建后,通過(guò)結(jié)合驅(qū)動(dòng)視頻的光照身份參數(shù)與原視頻的頭部姿態(tài)、表情以及眼神參數(shù),進(jìn)行初步渲染得到神經(jīng)網(wǎng)絡(luò)渲染器的輸入,最終利用神經(jīng)網(wǎng)絡(luò)渲染器合成得到逼真的人臉圖像。Koujan 等人[97]提出的Head2Head 具有類似的流程。該方法首先對(duì)源視頻與驅(qū)動(dòng)視頻進(jìn)行人臉重建,提取歸一化的平均面部坐標(biāo)與獨(dú)立的視線特征,與前一幀生成的人臉同時(shí)輸入到生成器中,保證了幀間連續(xù)性。Doukas等人[98]在Head2Head++中提出了一種新的網(wǎng)絡(luò)來(lái)解決三維人臉模型的歸一化平均坐標(biāo)估計(jì)問(wèn)題,并達(dá)到了幾乎實(shí)時(shí)的速度。
雖然引入三維模型能夠很好地解決姿態(tài)問(wèn)題,但這些方法繼承了源圖像的紋理,因此無(wú)法合成驅(qū)動(dòng)圖像中不存在的特征如張開(kāi)的嘴。因此,Nagano等人[99]提出了PaGAN(photoreal avatar GAN),對(duì)給定的人臉圖像,該方法首先擬合對(duì)應(yīng)的3DMM 模型,并將法線貼圖、中性表情與目標(biāo)表情的人臉貼圖作為GAN 的輸入,合成出原本不存在的區(qū)域。該模型可以僅根據(jù)單張圖像,合成具有任意面部表情和視角的逼真視頻。
最近的一些工作嘗試使用驅(qū)動(dòng)視頻對(duì)有限數(shù)量的源人臉圖像進(jìn)行訓(xùn)練并實(shí)現(xiàn)面部重演。Zakharov等人[100]提出了一種元學(xué)習(xí)GAN 架構(gòu),額外引入一個(gè)嵌入器來(lái)提取人臉姿態(tài)五官的內(nèi)容向量,生成器接收目標(biāo)表情的面部姿態(tài)標(biāo)記作為輸入,并在生成過(guò)程中借助內(nèi)容向量進(jìn)行自適應(yīng)實(shí)例正則化。為了達(dá)到類似的目的,Geng 等人[101]提出了一種基于面部形變的人臉重演框架。該方法首先依據(jù)驅(qū)動(dòng)圖像的面部特征點(diǎn)對(duì)源圖像進(jìn)行全局形變,并將形變的人臉圖像以及關(guān)鍵點(diǎn)位移圖進(jìn)一步優(yōu)化,補(bǔ)充出逼真的面部細(xì)節(jié)。隨后將優(yōu)化過(guò)后的人臉推斷遮罩區(qū)域(例如閉嘴→張嘴時(shí)的牙齒部分)。最后將生成的人臉融合到變形后的圖像中。該方法僅需要一張?jiān)慈四槇D像,就可以利用驅(qū)動(dòng)視頻對(duì)其進(jìn)行面部重演。
一些面部重演工作遵循了人臉身份合成中的思想,將人臉身份與姿態(tài)表情信息進(jìn)行分離。如Whiles等人[102]提出了一種輕量級(jí)人臉重演模型Xface,實(shí)現(xiàn)了完全自監(jiān)督的訓(xùn)練方式。該模型包含一個(gè)嵌入網(wǎng)絡(luò)學(xué)習(xí)將源圖像映射到中立人臉的像素流,以及一個(gè)驅(qū)動(dòng)網(wǎng)絡(luò)將驅(qū)動(dòng)圖像作為輸入并編碼姿態(tài)與表情信息,以實(shí)現(xiàn)中立表情人臉到目標(biāo)表情的轉(zhuǎn)換。Siarohin 等人[103]提出了MonkeyNet 將形態(tài)與動(dòng)態(tài)信息解耦。該方法首先提取驅(qū)動(dòng)圖像關(guān)鍵點(diǎn),并生成運(yùn)動(dòng)熱圖,最終使用運(yùn)動(dòng)熱圖將源圖像進(jìn)行形變。作者后續(xù)提出了一階運(yùn)動(dòng)模型[104],借助關(guān)鍵點(diǎn)局部仿射變換的一階近似來(lái)輔助生成密集運(yùn)動(dòng)場(chǎng),解決了MonkeyNet 無(wú)法對(duì)關(guān)鍵點(diǎn)鄰域的變換進(jìn)行建模的難題。
人臉屬性合成技術(shù)主要對(duì)膚色、年齡、眼鏡、胡須、發(fā)色、發(fā)型等面部特定特征進(jìn)行修改。人臉屬性合成方面的工作同樣具有非常悠久的歷史,在深度學(xué)習(xí)興起前,人臉屬性修改工作注重于年齡合成,尤其是面部老化[105]。隨著GAN 的出現(xiàn),許多基于GAN的工作實(shí)現(xiàn)了對(duì)于特定屬性的修改。
2016 年,Li 等人[106]將具有相同屬性不同值的人臉圖像作為兩個(gè)不同的類,設(shè)計(jì)了一種基于GAN 的能夠保留身份信息的面部屬性轉(zhuǎn)換模型。他們的生成器包括預(yù)測(cè)待合成區(qū)域的掩模網(wǎng)絡(luò)以及負(fù)責(zé)圖像生成的轉(zhuǎn)換網(wǎng)絡(luò),還額外增加了去噪網(wǎng)絡(luò)保證生成圖像的平滑性以及一個(gè)人臉識(shí)別網(wǎng)絡(luò)約束生成圖像中人臉的身份。同樣的,Shen 等人[107]也約束生成器只修改部分面部區(qū)域。他們的方法中,生成器負(fù)責(zé)輸出特定屬性區(qū)域的殘差圖像,與原圖相加后得到最終的生成圖像。而判別器不僅判斷圖像是否為生成,還需要判斷輸入圖像的屬性值。Kapania 等人[108]則采用了支持向量機(jī)進(jìn)行屬性分類。Shen 等人[109]的方法中存在兩個(gè)相同的生成器用來(lái)執(zhí)行正向修改以及反向任務(wù),該思想在后來(lái)被形式化為循環(huán)一致性損失[110]。
以上兩種方法都只能夠修改單一的屬性,必須重新訓(xùn)練模型才能修改新的屬性,因此效率較低,且只能夠合成128×128 的低分辨率圖像。He 等人[111]提出了一種AttGAN(attribute GAN),與以往工作不同的是,該方法將人臉屬性分類約束應(yīng)用于生成圖像,而不是對(duì)潛在特征表示施加約束,同樣保證了源圖像到目標(biāo)屬性的轉(zhuǎn)換。然而當(dāng)人臉屬性復(fù)雜程度較高時(shí),AttGAN 在屬性描述精度方面體現(xiàn)出明顯的劣勢(shì),因此Liu 等人[112]提出了STGAN(selective transfer GAN),該網(wǎng)絡(luò)在生成器的跳接中引入了一種基于門(mén)控循環(huán)單元的遷移模塊,選擇性地將編碼器中的不同層級(jí)特征與解碼器特征互補(bǔ),在提高生成質(zhì)量的同時(shí)還保證了無(wú)關(guān)屬性的完整保留。為了實(shí)現(xiàn)更加精確的屬性轉(zhuǎn)換,Zhu 等人[113]提出了UGAN(untraceable GAN),借助額外的源分類器來(lái)區(qū)分生成圖像的源域,并決定生成器是否保留源域的特征。通過(guò)這種方式,UGAN 實(shí)現(xiàn)了生成圖像的不可溯源,對(duì)于目標(biāo)屬性的轉(zhuǎn)換更加徹底。
為了達(dá)到多個(gè)屬性的同時(shí)轉(zhuǎn)換,Choi 等人[114]提出一種多域轉(zhuǎn)換的條件GAN,實(shí)現(xiàn)了同時(shí)修改多種屬性。該模型將域標(biāo)簽作為輔助信息指導(dǎo)生成圖像,并利用額外的掩模向量來(lái)控制具有不同標(biāo)簽的多個(gè)數(shù)據(jù)集。Liu 等人[115]提出的ClsGAN(classification GAN)同樣達(dá)到多屬性轉(zhuǎn)換的目的,通過(guò)引入上卷積殘差網(wǎng)絡(luò)來(lái)有選擇地從源圖像和目標(biāo)標(biāo)簽中提取信息。該方法解決了編解碼器間跳躍連接干擾屬性轉(zhuǎn)換效果的問(wèn)題。Huang 等人[116]提出的IPM-Net(identity preservation makeup net)不僅實(shí)現(xiàn)了人臉全局上妝,同時(shí)能夠合理地保留源人臉身份,該方法將人臉身份與妝容特征解耦,并利用背景殘差限制了不必要的變化。類似的,Jin 等人[117]在妝容合成的流程中通過(guò)分層的方法將人臉結(jié)構(gòu)、色彩與細(xì)節(jié)進(jìn)行分離,達(dá)到了更加精細(xì)的合成效果。
雖然現(xiàn)有許多基于條件GAN 的人臉合成工作通過(guò)將潛在特征表達(dá)映射到對(duì)應(yīng)屬性,并且實(shí)現(xiàn)了平滑的轉(zhuǎn)換控制,但仍然缺乏足夠的可解釋性工作。因此Shen 等人[109]提出了InterFaceGAN,作者發(fā)現(xiàn)GAN 學(xué)習(xí)的潛在表示實(shí)際上是線性變換后的解耦表示。根據(jù)這一發(fā)現(xiàn),作者利用子空間投影來(lái)對(duì)已經(jīng)耦合的一些語(yǔ)義進(jìn)行解耦,實(shí)現(xiàn)了對(duì)面部屬性更加精準(zhǔn)的操控。Qian 等人[118]提出了加性焦變分自動(dòng)編碼器AF-VAE(additive focal variational auto encoder),通過(guò)幾何引導(dǎo)將人臉的外觀結(jié)構(gòu)在潛空間中解耦,分離得到了外觀表征和結(jié)構(gòu)表征,給潛變量賦予了具體的語(yǔ)義含義。Karras 等人[37]受到風(fēng)格遷移的啟發(fā),提出了一種基于風(fēng)格特征的生成器架構(gòu),實(shí)現(xiàn)了高級(jí)屬性(如人臉的姿勢(shì)和身份)和隨機(jī)變化(如雀斑、頭發(fā))的無(wú)監(jiān)督分離與學(xué)習(xí),成功生成出細(xì)節(jié)豐富的高清人臉圖形。Liu 等人[119]通過(guò)共享編碼器和解碼器卷積層中的部分權(quán)重來(lái)實(shí)現(xiàn)對(duì)隱空間的共享,同時(shí)利用變分自編碼器將不同域的輸入圖像和轉(zhuǎn)換圖像聯(lián)系起來(lái),實(shí)現(xiàn)了多種人臉屬性的修改。Lample 等人[120]利用編碼-解碼器,通過(guò)將圖像的顯著信息與隱藏空間中的屬性值分離來(lái)進(jìn)行圖像重構(gòu),并通過(guò)改變屬性值來(lái)生成不同圖像。Shu 等人[121]將人臉生成視作渲染問(wèn)題,并使用GAN 從輸入圖像中創(chuàng)建表面法線、反照率、光照和等信息,實(shí)現(xiàn)了更加逼真的屬性修改。
人臉屬性合成主要依賴基于GAN 以及其他深度生成模型[122-123]的方法,然而這類模型有一個(gè)重要缺陷,即人臉的屬性特征在其潛空間是相互糾纏的,這就導(dǎo)致改變某些局部特征,會(huì)或多或少地影響其他面部特征。雖然通過(guò)解糾纏可以一定程度地緩解不同屬性的混疊,以實(shí)現(xiàn)明確的定向修改,但仍然無(wú)法緩解由于數(shù)據(jù)集引入的偏差。由于人臉屬性合成更加傾向于色彩或紋理風(fēng)格的修改,對(duì)人臉形狀的影響比較微弱,這就不僅要求模型能夠?qū)崿F(xiàn)屬性間的解糾纏,還要能夠?qū)⑿螤钆c紋理相分離。
除以上三種人臉合成技術(shù)外,本文還總結(jié)了第四種工作,即人臉生成。與人臉合成不同的是,人臉生成不從任何已有人臉上修改而來(lái),而是根據(jù)有限的信息或者噪聲生成真實(shí)人臉。這類工作涵蓋了更加廣泛、復(fù)雜的子類別,包括但不限于整張人臉生成、人臉超分辨率、人臉修復(fù)、文字人臉轉(zhuǎn)換以及條件化人臉生成等。
在生成現(xiàn)實(shí)中不存在的人臉?lè)矫?,絕大多數(shù)生成對(duì)抗網(wǎng)絡(luò)都能夠在利用人臉數(shù)據(jù)訓(xùn)練后,從噪聲生成人臉圖像。早期,生成的人臉不僅分辨率較低,大多停留在128×128 級(jí)別,且缺乏足夠的細(xì)節(jié)。隨著GAN 在架構(gòu)上的創(chuàng)新性變革,這方面工作經(jīng)歷了爆發(fā)式的進(jìn)步。更高的分辨率意味著生成圖像在細(xì)節(jié)上存在不可避免的丟失,使判別器更加容易將其與真實(shí)圖像區(qū)分,導(dǎo)致模型難以訓(xùn)練。Brock 等人[124]通過(guò)增大GAN 的規(guī)模,同時(shí)對(duì)輸入噪聲進(jìn)行適當(dāng)?shù)慕財(cái)嗵幚恚瑢⑸蓤D像的分辨率提高到了512。得益于PGGAN 所提出的步進(jìn)訓(xùn)練技術(shù),生成的人臉圖像直接提高到了1 024 分辨率。英偉達(dá)提出的Style GAN以及其改進(jìn)版[125]達(dá)到了同樣的分辨率,并解決了圖像中明顯的偽影瑕疵問(wèn)題。Karnewar等人[126]借助多尺度梯度方法,也將生成人臉的分辨率提高到了1 024。
人臉超分辨率,旨在從低分辨率輸入中生成高分辨率人臉圖像。通過(guò)提升人臉?lè)直媛剩梢源龠M(jìn)與人臉相關(guān)的多種任務(wù)的性能,包括人臉識(shí)別、人臉解析與人臉重建等。人臉具有特殊的固定結(jié)構(gòu)以及紋理特征,借助這兩種重要信息,結(jié)合深度生成模型,可以有效地針對(duì)人臉超分問(wèn)題進(jìn)行特殊的設(shè)計(jì)。例如,考慮到不同人臉具有相似局部結(jié)構(gòu)的特點(diǎn),呼延康等人[127]創(chuàng)造性地將圖神經(jīng)網(wǎng)絡(luò)引入人臉超分任務(wù),將圖結(jié)構(gòu)中的結(jié)點(diǎn)表示為局部特征描述子,在保留空間信息的同時(shí),更好地捕捉了局部紋理特性。許若波等人[128]認(rèn)為不同人臉區(qū)域在超分重建時(shí)具有不同的重要性,因此利用獨(dú)立的GAN 對(duì)不同面部區(qū)域進(jìn)行超分,并對(duì)背景進(jìn)行額外的處理,最終使用融合網(wǎng)絡(luò)將各個(gè)GAN 的輸出組裝成高分辨率人臉圖像。Chen 等人[129]則將人臉解析圖與關(guān)鍵點(diǎn)作為輔助信息,讓模型在盡心超分訓(xùn)練的同時(shí)保持人臉的先驗(yàn)結(jié)構(gòu)。
對(duì)人臉缺失區(qū)域的修復(fù)工作同樣可以被認(rèn)為是人臉生成,這一任務(wù)旨在目標(biāo)人臉圖像的缺失區(qū)域中插入符合上下文的內(nèi)容。與低級(jí)圖像處理任務(wù)不同,人臉修復(fù)需要對(duì)圖像的高層次理解,不僅需要對(duì)紋理進(jìn)行修復(fù),還需要保證幾何結(jié)構(gòu)的合理性。Iizuka 等人[130]利用全卷積神經(jīng)網(wǎng)絡(luò)填充任何形狀的缺失區(qū)域的人臉圖像。Chen 等人[131]利用步進(jìn)訓(xùn)練方式對(duì)高分辨率人臉圖像進(jìn)行修復(fù)。而Zhang 等人[132]提出了一種僅從少許區(qū)域就可以推斷出完整人臉的圖像合成方法。周華強(qiáng)等人[133]提出了一種多判別器循環(huán)生成對(duì)抗網(wǎng)絡(luò),通過(guò)引入額外的判別器對(duì)多個(gè)尺度進(jìn)行監(jiān)督,產(chǎn)生了更精細(xì)的局部細(xì)節(jié)。蔣斌等人[134]將包含缺失的人臉圖像作為輸入,完整人臉圖像作為ground-truth,利用U-Net學(xué)習(xí)人臉的整體一致性,來(lái)修復(fù)局部的缺失區(qū)域,并引入了額外的判別器來(lái)提升修復(fù)圖像的視覺(jué)真實(shí)度。
圖像理解或圖像標(biāo)注,即通俗意義上的看圖說(shuō)話,可以生成給定圖像的文本描述。與此相反的是根據(jù)給定文本描述生成相應(yīng)的圖像,這類任務(wù)也是圖像生成領(lǐng)域的熱點(diǎn)之一,是多模態(tài)領(lǐng)域的一個(gè)分支,與人臉屬性合成類似,同樣涉及到屬性控制。Zhang 等人[135-136]提出的StackGAN 與StackGAN++通過(guò)兩個(gè)生成階段,首先根據(jù)給定的文本描述繪制出基本形狀和顏色,生成低分辨率圖像,再將其結(jié)合本文描述生成逼真的高分辨率圖像。Nasir等人[137]提出的Text2FaceGAN,將文本到人臉生成的多模態(tài)問(wèn)題視作在相同的潛空間中學(xué)習(xí)人臉的文本條件分布。Chen等人[138]對(duì)文本編碼器和圖像解碼器進(jìn)行同時(shí)訓(xùn)練,實(shí)現(xiàn)了更細(xì)粒度的文本人臉圖像生成,分辨率達(dá)到了256 像素。Di等人[139]根據(jù)給定的多個(gè)屬性標(biāo)簽,通過(guò)多階段生成器利用噪聲生成符合條件的人臉圖像。Bao 等人[140]提出的CVAE-GAN(conditional variational auto encoder GAN)可以根據(jù)給定身份標(biāo)簽生成對(duì)應(yīng)的多樣人臉圖像。Wang等人[141]提出了TTF-HD(textto-face-HD),該方法首先從噪聲中生成隨機(jī)人臉并利用解碼器提取屬性信息,然后通過(guò)優(yōu)化人臉圖像屬性與目標(biāo)文本所描述屬性的差異,逐步地修改人臉圖像,以生成期望的人臉。
一些工作將人臉?biāo)孛栊は窕蛘哒Z(yǔ)義分割圖作為條件信息,從中生成逼真的人臉圖像。Isola 等人[38]提出了pix2pix 模型,允許以肖像作為輸入,輸出逼真的人臉圖像。Wang 等人[39]進(jìn)一步提出了pix2pixHD,以人臉語(yǔ)義圖作為輸入,生成最高2 048×1 024 像素的圖像。根據(jù)給定的人臉?biāo)孛枰曨l,Lu 等人[142]通過(guò)利用GAN 學(xué)習(xí)素描人臉與真實(shí)人臉的聯(lián)合分布,將不完美的素描轉(zhuǎn)換為真實(shí)人臉,并在保證兩者相關(guān)性的同時(shí)允許外觀上的一定自由度。Sangkloy 等人[143]同樣利用GAN 實(shí)現(xiàn)了以稀疏的彩色素描為輸入來(lái)生成真實(shí)人臉。Kazemi 等人[144]實(shí)現(xiàn)了同樣的功能,并借助CycleGAN[119]擺脫了成對(duì)數(shù)據(jù)依賴問(wèn)題。Chen等人[145]利用嵌入模塊從人臉草圖的不同面部區(qū)域?qū)W習(xí)獨(dú)立的特征,并使用特征映射和合成模塊對(duì)其進(jìn)行融合,推斷出真實(shí)人臉。為了保證從素描視頻中生成連貫的人臉視頻,Wang 等人[146]借助輔助的幀序列生成器以及時(shí)空判別器,同時(shí)引入了光流約束來(lái)生成逼真流暢的人臉視頻。為了對(duì)人臉缺失部分進(jìn)行補(bǔ)全,Jo 等人[147]提出了SC-FEGAN(sketch and colorface editing GAN),根據(jù)素描圖像提供的邊緣與形狀信息對(duì)真實(shí)圖像進(jìn)行修復(fù)。劉昌通等人[148]將RGB 人臉圖像映射到Lab 色彩空間中,并將循環(huán)一致?lián)p失推廣為聯(lián)合一致循環(huán)損失,使不同通道單獨(dú)處理、聯(lián)合優(yōu)化,保證了不同區(qū)域色彩的連續(xù)性。
深度學(xué)習(xí)技術(shù)在方法以及模型結(jié)構(gòu)上的可塑性極大地推廣了人臉合成方法的可能性,將其從數(shù)字圖像處理以及三維人臉的局限中解放出來(lái),同時(shí)也給這些傳統(tǒng)方法帶來(lái)了新的思路。尤其在近幾年計(jì)算機(jī)視覺(jué)技術(shù)的積累下,合成的人臉圖像或視頻在視覺(jué)效果上有了顯著的提升。在各類技術(shù)中,根據(jù)不同的人臉合成任務(wù),所依賴的方法也顯示出不同的偏好,并且具有各自的優(yōu)缺點(diǎn)。
人臉身份合成可以直接借助數(shù)字圖像處理技術(shù)中的圖像拼接與融合實(shí)現(xiàn),因此早期的工作比較依賴這類樸素方法,并且探索了一些解決拼接失真問(wèn)題的方法。然而這類方法并不能夠?qū)崿F(xiàn)對(duì)換臉后圖像的表情控制,且在源圖像與目標(biāo)圖像的膚色與姿態(tài)差異過(guò)大時(shí)會(huì)產(chǎn)生明顯異常的結(jié)果。借助預(yù)先收集好的數(shù)據(jù)集,通過(guò)檢索相似度最高的人臉進(jìn)行交換,可以在不要求指定身份的條件下實(shí)現(xiàn)比較好的視覺(jué)效果,且時(shí)間消耗很低。因此可以用于一些要求保護(hù)人物隱私,且對(duì)于真實(shí)度要求不高但要求高效性的應(yīng)用。為了保證源人臉與目標(biāo)人臉五官形狀與肌膚在具有顯著差異的條件下?lián)Q臉結(jié)果的真實(shí)度,可以引入主動(dòng)形狀以及紋理模型等二維面部結(jié)構(gòu)建模方法來(lái)迭代地對(duì)目標(biāo)人臉進(jìn)行調(diào)整,匹配源圖像中的人臉形狀,使其與頭部輪廓相符合。而基于三維人臉的方法由于引入了渲染與重光照步驟,故表現(xiàn)出了對(duì)光照更強(qiáng)的魯棒性,且具有更強(qiáng)的立體感。但從二維圖像中估計(jì)三維人臉是一個(gè)病態(tài)的問(wèn)題,過(guò)大的偏差同樣會(huì)造成換臉后的失真。深度學(xué)習(xí)中生成模型的介入則帶來(lái)了更多思路,并借助逼真的生成能力對(duì)以往難以解決的遮擋問(wèn)題提出了可靠的方案。這類方法通常遵循著編碼器-解碼器網(wǎng)絡(luò)的架構(gòu),將身份特征與其他特征解耦,因此在換臉的同時(shí)能夠保持目標(biāo)人臉的原有表情。越來(lái)越多的工作在此架構(gòu)的基礎(chǔ)上進(jìn)行了大量的改進(jìn),由于早期工作對(duì)于任何一對(duì)源-目標(biāo)人臉的交換都需要重新訓(xùn)練得到特有模型,多人臉交換以及更高分辨率的圖像生成是目前該領(lǐng)域中的一個(gè)熱點(diǎn)問(wèn)題。
在人臉動(dòng)作合成方面,由于涉及到面部形狀與結(jié)構(gòu)變化,與身份合成相比,基于圖形學(xué)的方法占據(jù)了更多的比重。其中大多數(shù)方法通過(guò)目標(biāo)至源人臉模型的形變來(lái)對(duì)源人臉進(jìn)行驅(qū)動(dòng),利用已有人臉作為驅(qū)動(dòng)的優(yōu)勢(shì)在于能夠保證幀間的連貫性,且無(wú)需手動(dòng)控制不同幀之間的表情變化幅度。研究者不斷對(duì)人臉模型擬合以及形變匹配方法進(jìn)行優(yōu)化改良,在精度和時(shí)間消耗方面都取得了顯著的進(jìn)步,目前已經(jīng)達(dá)到了實(shí)時(shí)的人臉重演。而深度學(xué)習(xí)在這一領(lǐng)域能夠借助面部動(dòng)作的抽象表征來(lái)實(shí)現(xiàn)表情的平滑控制,在一定程度上緩解了模型對(duì)數(shù)據(jù)集的過(guò)度依賴,不僅能利用驅(qū)動(dòng)視頻實(shí)現(xiàn)人臉重演,甚至對(duì)單張圖像也能夠合成出平滑連貫的動(dòng)作視頻。深度學(xué)習(xí)模型還實(shí)現(xiàn)了對(duì)傳統(tǒng)圖形學(xué)方法管線的優(yōu)化,例如對(duì)不完美的人臉貼圖進(jìn)行修補(bǔ),一定程度緩解了三維人臉重建中的固有缺陷。
人臉屬性合成方面的研究非常依賴生成模型的發(fā)展,并且大多數(shù)方法通過(guò)將身份與面部屬性特征解耦,在合成新屬性的同時(shí)最大化保留了原始特征。然而,依賴生成模型的方法在編輯人臉屬性的過(guò)程中實(shí)質(zhì)是在給定人臉的基礎(chǔ)上進(jìn)行重新生成,當(dāng)身份特征與屬性特征解耦程度有所欠缺時(shí),所生成人臉的身份特征極易被擾動(dòng),從而產(chǎn)生與原始人臉無(wú)法控制的偏差。類似的,當(dāng)期望編輯單個(gè)人臉屬性時(shí),許多方法往往會(huì)對(duì)其他屬性產(chǎn)生擾動(dòng)。例如對(duì)人臉進(jìn)行性別編輯時(shí),對(duì)膚色或年齡等特征產(chǎn)生顯著的影響。這類問(wèn)題一般是由于訓(xùn)練數(shù)據(jù)的特性所引起,當(dāng)數(shù)據(jù)集中的各個(gè)人臉屬性間存在普遍的聯(lián)系,如男性人臉常常包含胡須,而女性人臉一般不包含胡須,就會(huì)導(dǎo)致性別編輯過(guò)程中對(duì)胡須這一屬性的影響。為了解決該問(wèn)題,一個(gè)行之有效的方案是引入注意力機(jī)制,利用與目標(biāo)屬性相關(guān)區(qū)域的掩膜來(lái)約束人臉生成過(guò)程。當(dāng)期望同時(shí)編輯多個(gè)屬性時(shí),則不僅要解決這種干擾問(wèn)題,還需要實(shí)現(xiàn)對(duì)于屬性的標(biāo)簽化以及控制。雖然條件化GAN 已經(jīng)可以實(shí)現(xiàn)定向的屬性修改,但同樣十分依賴數(shù)據(jù)集中的給定的有限的標(biāo)簽,且對(duì)于某種屬性難以實(shí)現(xiàn)進(jìn)一步的細(xì)化控制,例如顏色深淺與形狀的控制。
人臉生成包含多種多樣的任務(wù)形式,但在如今深度學(xué)習(xí)的浪潮下,總體而言比較依賴深度生成模型。對(duì)于整張人臉生成,生成圖像的效果幾乎完全依賴于現(xiàn)有的生成模型的技術(shù)水平,但對(duì)于人臉超分辨率這樣的任務(wù)而言,由于人臉具有固定的拓?fù)浣Y(jié)構(gòu)且主要以細(xì)微紋理為主,因此和一般自然圖像的超分辨率顯著不同。直觀而言,通過(guò)引入人臉特有的先驗(yàn)如面部結(jié)構(gòu)作為輔助信息能大大縮減模型的搜索空間,提升生成圖像的視覺(jué)效果。與人臉超分類似,人臉修復(fù)具有重要實(shí)際價(jià)值的應(yīng)用,雖然不要求輔助信息,但期望模型能夠?qū)W習(xí)上下文信息,同時(shí)捕捉高層的幾何結(jié)構(gòu)以及低層的紋理模式。對(duì)于藝術(shù)化、條件化等生成任務(wù)而言,關(guān)鍵問(wèn)題是如何徹底擺脫大規(guī)模的成對(duì)數(shù)據(jù)依賴,為此,半監(jiān)督或無(wú)監(jiān)督學(xué)習(xí)是有望給這一問(wèn)題帶來(lái)解決方案的新思路。
人臉合成由于其較高的應(yīng)用價(jià)值,一直以來(lái)吸引著眾多研究者的開(kāi)發(fā)與探索,加之近年來(lái)深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)方面的飛速增長(zhǎng),各類新框架與技術(shù)層出不窮,持續(xù)推動(dòng)著該領(lǐng)域的發(fā)展。本文系統(tǒng)地回顧了人臉合成領(lǐng)域的工作,對(duì)各類方法及其優(yōu)缺點(diǎn)進(jìn)行了總結(jié),梳理了多個(gè)子領(lǐng)域中的最新進(jìn)展。現(xiàn)如今,人臉合成技術(shù)已經(jīng)初步達(dá)到了實(shí)際應(yīng)用的水準(zhǔn),自動(dòng)化的逼真人臉合成效果能夠顯著節(jié)約人力成本以及為用戶提供個(gè)性化的服務(wù)。然而,這一領(lǐng)域仍然存在諸多問(wèn)題,如深度學(xué)習(xí)所帶來(lái)的過(guò)度數(shù)據(jù)依賴問(wèn)題始終沒(méi)有被完全解決。本文在歸納領(lǐng)域內(nèi)普遍難題的同時(shí),展示了一些現(xiàn)有的解決方案,并且總結(jié)了人臉合成在未來(lái)發(fā)展過(guò)程中具有潛力的研究方向。