陳俊彬,楊志景
廣東工業(yè)大學(xué) 信息工程學(xué)院,廣州 510006
給定一段驅(qū)動(dòng)人物肖像視頻和一段目標(biāo)人物肖像視頻(以下簡稱驅(qū)動(dòng)視頻與目標(biāo)視頻),人臉重演的目的是合成一段新的目標(biāo)人物視頻。該視頻中的目標(biāo)人物動(dòng)作與驅(qū)動(dòng)視頻中人物動(dòng)作保持一致。人臉重演在計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)研究中越來越受關(guān)注。隨著合成的視頻變得更加逼真,可以應(yīng)用于電影后期制作、社交媒體和虛擬主播等多種應(yīng)用。然而,由于視頻涉及到每一幀的真實(shí)度及視頻整體的流暢度,完整地遷移動(dòng)作并合成一個(gè)流暢的人像視頻是一個(gè)困難的任務(wù)。
現(xiàn)階段的全頭部重演方法可以劃分為:(1)針對特定主體的重演方法[1-3];(2)面向不同主體的重演方法[4-6]。
針對特定主體方法通常為基于生成式對抗網(wǎng)絡(luò)(generative adversarial network,GAN)[7]的方法,可以充分利用目標(biāo)人物的視頻信息,合成高質(zhì)量的視頻。然而現(xiàn)有針對特定主體方法[1-3]常利用參數(shù)化人臉模型[8]或人工標(biāo)注的面部關(guān)鍵點(diǎn)進(jìn)行動(dòng)作遷移,無法充分地遷移整個(gè)上半身的運(yùn)動(dòng),可能導(dǎo)致合成的頭部與肩部不匹配。
面向不同主體的重演方法僅基于一張或幾張目標(biāo)人物圖片的信息,合成一段新的目標(biāo)視頻。由于利用的信息較少,難以合成高質(zhì)量的視頻。隨著無監(jiān)督學(xué)習(xí)的提出,一系列面向不同主體的重演方法[4-6]以無監(jiān)督的方式訓(xùn)練,對運(yùn)動(dòng)與外觀進(jìn)行解耦,進(jìn)而實(shí)現(xiàn)人物動(dòng)作的遷移。盡管該系列方法依然存在由于信息不足導(dǎo)致的畫質(zhì)差的問題,但更充分地遷移了整個(gè)上半身的動(dòng)作。
本文結(jié)合兩類重演方法的優(yōu)點(diǎn),提出了一套基于無監(jiān)督運(yùn)動(dòng)遷移模型再修復(fù)的人臉重演方法,把人臉重演分為動(dòng)作遷移與圖像修正兩個(gè)階段。首先,基于一種無監(jiān)督動(dòng)作遷移模型充分地遷移人像的動(dòng)作,獲取一個(gè)粗糙的視頻。然后,設(shè)計(jì)一個(gè)針對特定人物的神經(jīng)網(wǎng)絡(luò)修復(fù)遷移動(dòng)作后的視頻。該生成網(wǎng)絡(luò)帶有時(shí)空結(jié)構(gòu),利用了前后幀的歷史信息協(xié)助修復(fù),基于三維卷積充分提取前后幀的上下文信息,并融入了注意力機(jī)制以更好地指導(dǎo)圖像的修正。此外,假設(shè)背景是固定的,將背景信息嵌入于網(wǎng)絡(luò)尾部,避免網(wǎng)絡(luò)合成錯(cuò)誤的背景。最后,加入了嘴部增強(qiáng)損失,確保了牙齒的真實(shí)度。該網(wǎng)絡(luò)以一種對抗的方式訓(xùn)練,很大程度地還原了目標(biāo)人物的細(xì)節(jié)。
生成式對抗網(wǎng)絡(luò)(GAN)是一種基于深度學(xué)習(xí)的框架。GAN模型使用一個(gè)生成網(wǎng)絡(luò)與一個(gè)判別器進(jìn)行對抗訓(xùn)練。生成器試圖欺騙判別器使其無法分辨合成的圖像與真實(shí)圖像。判別器則不斷增強(qiáng)區(qū)分真實(shí)圖片和合成圖片的能力。當(dāng)合成圖像與真實(shí)圖像難以區(qū)分時(shí),對抗訓(xùn)練達(dá)到了平衡。此時(shí)生成器可以合成逼真的圖像。與其他的一些深度生成網(wǎng)絡(luò)相比,GAN 可以合成更真實(shí)的圖片。自GAN提出以來,在視頻合成、無條件圖片生成、圖像翻譯、圖像處理等方面都受到了廣泛的關(guān)注[9]。
人臉合成領(lǐng)域包括人臉身份合成、人臉動(dòng)作合成等多類任務(wù)。其中,人臉身份合成任務(wù)需要在保持人物動(dòng)作不變的情況下,改變其妝容[10]等身份屬性;人臉動(dòng)作合成任務(wù)旨在改變?nèi)宋镌瓉淼膭?dòng)作,同時(shí)保存人物身份屬性。在人臉動(dòng)作合成中,根據(jù)音頻[11]或文本[12]等信息改變?nèi)宋飫?dòng)作的任務(wù)常被稱為說話人臉生成。說話人臉生成任務(wù)需要研究如何合成與給定音頻或文本相匹配的人物視頻;根據(jù)一段驅(qū)動(dòng)人物視頻,將驅(qū)動(dòng)人物的動(dòng)作遷移到目標(biāo)人物的任務(wù)常被稱為人臉重演。人臉重演是本文所研究的內(nèi)容,其關(guān)鍵在于如何更好地遷移動(dòng)作并合成高質(zhì)量的視頻。人臉重演可以按重演的區(qū)域劃分為面部重演與全頭部重演兩個(gè)方面。
1.2.1 面部重演
面部重演關(guān)注的是頭部動(dòng)作不變的情況下進(jìn)行面部區(qū)域動(dòng)作的修改。胡曉瑞等人[13]結(jié)合面部動(dòng)作編碼系統(tǒng)與人臉表情生成對抗網(wǎng)絡(luò),實(shí)現(xiàn)了對人物表情的改變。Thies等人[14]在面部區(qū)域建立了一個(gè)三維模型。在測試時(shí),驅(qū)動(dòng)三維模型合成新的動(dòng)作。由于需要在目標(biāo)視頻基礎(chǔ)上修改的區(qū)域較小?,F(xiàn)有基于圖形學(xué)的方法與基于深度學(xué)習(xí)的方法都可以獲得一個(gè)較好的效果。然而,只關(guān)注表情的傳遞,不考慮頭部的動(dòng)作,有時(shí)會導(dǎo)致動(dòng)作不協(xié)調(diào),且不能滿足一些實(shí)際應(yīng)用的需求。
1.2.2 全頭部重演
全頭部重演可以把驅(qū)動(dòng)人物的整個(gè)頭部的動(dòng)作遷移到目標(biāo)演員,而頭部的動(dòng)作通常伴隨著頭部以外區(qū)域的改動(dòng),因此相對于面部重演是更具有挑戰(zhàn)性的。
近期一些面向不同主體的重演方法僅需一張目標(biāo)人物的圖像,即可合成給定任意的動(dòng)作下目標(biāo)人物的肖像視頻。例如,Zakharov等人[15]提出從驅(qū)動(dòng)人物中提取關(guān)鍵點(diǎn),并將關(guān)鍵點(diǎn)信息注入到生成器中。由于關(guān)鍵點(diǎn)是人為標(biāo)注的,集中在人臉區(qū)域,在肩膀動(dòng)作的遷移和身份保存上會出現(xiàn)問題。因此,許多頭部重演框架采用無監(jiān)督方法[4-6],不需要任何人為標(biāo)注的人臉關(guān)鍵點(diǎn)或三維人臉模型來合成人像視頻。給定一張參考目標(biāo)圖片和驅(qū)動(dòng)視頻,Monkey-Net[5]從驅(qū)動(dòng)視頻學(xué)習(xí)一組無監(jiān)督關(guān)鍵點(diǎn),以此估計(jì)一個(gè)密集運(yùn)動(dòng)場,根據(jù)該運(yùn)動(dòng)場對從目標(biāo)圖片提取的特征進(jìn)行扭曲,并最終根據(jù)扭曲后的特征合成遷移動(dòng)作后的圖片。在此基礎(chǔ)上,F(xiàn)OMM(first order motion model for image animation)[6]學(xué)習(xí)一組無監(jiān)督關(guān)鍵點(diǎn)以及其局部仿射變換來建模更復(fù)雜的運(yùn)動(dòng)。這些方法在大規(guī)模人像視頻數(shù)據(jù)集訓(xùn)練后,可以應(yīng)用到其他人像圖片。此外由于這些方法是以無監(jiān)督的方式學(xué)習(xí)的,關(guān)鍵點(diǎn)能建模肩膀的運(yùn)動(dòng),實(shí)現(xiàn)更完整的人像動(dòng)作遷移。然而,當(dāng)合成的姿勢與動(dòng)作與參考目標(biāo)圖片有較大差異時(shí),往往效果較差。此外,背景等區(qū)域也存在被誤扭曲的情況。
另一方面,針對特定人物的模型可以合成更真實(shí)的人像視頻。給定一段特定目標(biāo)人物的視頻,Vid2Vid[2]訓(xùn)練了一個(gè)針對特定人物的生成神經(jīng)網(wǎng)絡(luò),將人臉關(guān)鍵點(diǎn)轉(zhuǎn)化為較為真實(shí)的視頻幀。然而,不同人物關(guān)鍵點(diǎn)分布可能存在不小差異,可能導(dǎo)致身份的保存出現(xiàn)問題。Kim等人[3]提出DVP(deep video portraits),基于參數(shù)化人臉模型對目標(biāo)視頻和驅(qū)動(dòng)視頻進(jìn)行三維人臉重建,將人臉解耦為姿勢、表情、眼神、身份、光照參數(shù)。通過結(jié)合驅(qū)動(dòng)視頻的姿勢、表情、眼神參數(shù)以及目標(biāo)視頻的身份、光照參數(shù)進(jìn)行GPU渲染,得到一段粗糙的人臉視頻。最終利用一個(gè)帶有時(shí)空結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)將GPU渲染的結(jié)果轉(zhuǎn)化為具有真實(shí)感的人臉圖像。Head2Head++[1]在DVP的基礎(chǔ)上,參考前一幀合成新的幀,提高了視頻的流暢度。然而,由于三維人臉模型只能重建人臉區(qū)域,轉(zhuǎn)移頭部的動(dòng)作,肩膀等區(qū)域的動(dòng)作并不能由驅(qū)動(dòng)人物直接控制。因此,合成的肩部與頭部可能存在不匹配的狀況,進(jìn)而影響視頻的質(zhì)量。
在給定一定長度目標(biāo)視頻Vt={I1t,I2t ,…,I N t}和任意驅(qū)動(dòng)視頻Vd={I1d,I2d,…,I M d}的情況下,本文方法旨在驅(qū)動(dòng)視頻的動(dòng)作完整地遷移到目標(biāo)視頻,合成逼真的目標(biāo)視頻。本文方法的總體流程如圖1 所示。本章首先簡要介紹了第一階段的基于無監(jiān)督學(xué)習(xí)的運(yùn)動(dòng)遷移模型,然后對本文提出的在第二階段中用于修復(fù)細(xì)節(jié)的網(wǎng)絡(luò)PC-UNet(portrait correction UNet)的結(jié)構(gòu)和訓(xùn)練過程進(jìn)行詳細(xì)介紹。
圖1 本文方法的總體流程Fig.1 Overall process of proposed method
給定一段驅(qū)動(dòng)視頻Vd和一張目標(biāo)人物參考圖片It,本階段需要將Vd的動(dòng)作遷移到It上?;跓o監(jiān)督學(xué)習(xí)的運(yùn)動(dòng)遷移模型能更完整地遷移人物各個(gè)部分的動(dòng)作。本文基于一種經(jīng)典的無監(jiān)督運(yùn)動(dòng)遷移模型FOMM[6]實(shí)現(xiàn)第一階段的動(dòng)作遷移。以下對該模型做簡要介紹。
模型的框架如圖2 所示。首先使用一個(gè)編碼E 器從目標(biāo)參考圖片It中提取外貌相關(guān)特征Ft:
圖2 運(yùn)動(dòng)遷移模型的框架Fig.2 Framework of motion transfer model
然后利用運(yùn)動(dòng)估計(jì)模塊去計(jì)算It與驅(qū)動(dòng)視頻幀Iid之間的運(yùn)動(dòng)p,具體來說,該運(yùn)動(dòng)可以用一個(gè)光流表示。此外,運(yùn)動(dòng)估計(jì)模塊同時(shí)估計(jì)了一個(gè)遮擋圖O。遮擋圖用于指示出扭曲后缺失的區(qū)域。接著,將估計(jì)到的運(yùn)動(dòng)作用于Ft中,得到扭曲后的外貌特征F?s:
式中,W(?,?)表示扭曲操作,⊙表示哈達(dá)瑪積。最后將扭曲后的特征通過解碼器D生成一張遷移動(dòng)作后的圖片:
在訓(xùn)練時(shí),目標(biāo)參考圖片與驅(qū)動(dòng)視頻幀來自于同一段視頻的不同幀,以一種自我重演的方式訓(xùn)練。目標(biāo)函數(shù)約束合成的圖片需要與驅(qū)動(dòng)視頻幀保持一致。為了能由參考目標(biāo)圖片提取的特征重構(gòu)出驅(qū)動(dòng)視頻幀,運(yùn)動(dòng)估計(jì)模塊必須具備充分建模圖片中各部分區(qū)域運(yùn)動(dòng)的能力。因此,訓(xùn)練完成后,運(yùn)動(dòng)估計(jì)模塊能充分地建模并遷移包括肩膀在內(nèi)各部分動(dòng)作。這相對于人工標(biāo)注的面部關(guān)鍵點(diǎn)或一些參數(shù)化人臉模型在動(dòng)作遷移能力上都具有更大優(yōu)勢。
在人像視頻數(shù)據(jù)集訓(xùn)練完成后,模型可以應(yīng)用于不同身份的人像圖片。在測試時(shí),有標(biāo)準(zhǔn)和相對兩種模式遷移動(dòng)作。在標(biāo)準(zhǔn)模式下,計(jì)算Idi與It之間的運(yùn)動(dòng),并作用到It上,合成圖片。在相對運(yùn)動(dòng)遷移模式下,需要從Vd中提取一張姿勢與It相似的圖片Id′,提取Id′與Idi之間的運(yùn)動(dòng)并作用到It上,得到圖片。以這種方式,可以將Vd的動(dòng)作遷移到目標(biāo)人物上從而得到一個(gè)與驅(qū)動(dòng)人物動(dòng)作一致的粗糙目標(biāo)視頻=
由于相對模式遷移動(dòng)作更利于保持目標(biāo)人物身份特征,本文后續(xù)實(shí)驗(yàn)皆采用相對模式。此外,由于背景區(qū)域常被錯(cuò)誤地扭曲。因此,本文方法基于人像分割技術(shù)[16],去除It中的背景再進(jìn)行動(dòng)作的遷移,并在下文的PC-UNet重新合成背景。
第一階段只基于一張目標(biāo)圖片It進(jìn)行扭曲和填充合成圖片,圖片中無法基于It扭曲得到的區(qū)域是依靠一個(gè)面向不同主體的解碼器進(jìn)行填充修復(fù)。最終效果與真實(shí)圖片存在較大的差異。本文設(shè)計(jì)一個(gè)神經(jīng)網(wǎng)絡(luò)PC-UNet 并基于一個(gè)目標(biāo)視頻Vt對其進(jìn)行訓(xùn)練,學(xué)習(xí)解碼器的扭曲和填充規(guī)律,對第一階段合成的視頻進(jìn)行修復(fù)。具體來說,PC-UNet的輸入是第一階段中遷移動(dòng)作后粗糙的視頻V?d→t。該網(wǎng)絡(luò)需要修復(fù)V?d→t中牙齒,頭發(fā)等出現(xiàn)錯(cuò)誤的區(qū)域和填補(bǔ)缺失的背景,將V?d→t轉(zhuǎn)化為逼真的目標(biāo)視頻Y。本文提出的PC-UNet結(jié)構(gòu)如圖3所示。
圖3 PC-UNet網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Network structure of PC-UNet
PC-UNet 結(jié)合了的前后w幀修復(fù),其輸入為。前后幀為圖片的修復(fù)提供了歷史與未來信息的上下文信息,增加合成視頻的流暢度。PC-UNet采用三維卷積處理帶有時(shí)域信息的。具體來說,沿時(shí)域維度進(jìn)行拼接,得到一個(gè)大小為(2w+1)×H×W×3 的4 維張量。其中H和W為圖片的長寬,w是時(shí)域窗口半徑,決定了輸入進(jìn)網(wǎng)絡(luò)的圖片數(shù)量。
PC-UNet 的最前部為一個(gè)編碼器(圖3 中灰色箭頭的集合),該編碼器基于移除時(shí)間跨步與末尾全連接層的18 層3D-ResNet[17]修改而成,總共包含5 個(gè)三維殘差卷積塊,如圖3(a)所示。由于第一階段合成的圖片中部分區(qū)域是具有參考價(jià)值的,為更好地保留空間上的低層次特征同時(shí)避免依賴大量的算力,移除5個(gè)三維殘差卷積塊中第1個(gè)的空間跨步。
編碼器之后,使用一個(gè)解碼器(圖3 中粉色箭頭的集合)從低維特征對人像進(jìn)行修復(fù),并得到修復(fù)后特征。解碼器基于轉(zhuǎn)置卷積塊(圖3(b))對低維特征進(jìn)行上采樣。此外,與經(jīng)典的U-NET[18]類似,網(wǎng)絡(luò)的編碼器和解碼器之間加入了跳躍鏈接并通過拼接的方式進(jìn)行特征融合。值得注意的是,在解碼器中,最后一層不需要空間跨步,與編碼器的設(shè)計(jì)對應(yīng),以方便部署跳躍鏈接。
此外,網(wǎng)絡(luò)編碼器和解碼器的每個(gè)模塊中都加入了一種注意模塊(圖3(c))。注意力機(jī)制可以協(xié)助網(wǎng)絡(luò)關(guān)注重要的區(qū)域,在如圖像識別等[19]眾多深度學(xué)習(xí)相關(guān)的任務(wù)中都有應(yīng)用。具體來說,本文注意力模塊以大小為Ci×(2w+1)×Hi×Wi的張量作為輸入,此處Hi×Wi為特征圖的長寬,Ci為特征通道數(shù)。不妨記這個(gè)張量為Xi。Xi通過一個(gè)時(shí)空池化層,得到一個(gè)張量Xpool。然后Xpool輸入進(jìn)一個(gè)全連接層處理,得到長為Ci的Xatt。Xatt的值代表著Xi各個(gè)通道的注意力權(quán)重。Xi每個(gè)通道的值都乘以其對應(yīng)的權(quán)重,得到最終輸出。注意力可以增加特征圖中某些通道的權(quán)重,這些通道可能包含對肖像修正有用的信息,比如指出需要大幅修正的區(qū)域。
解碼器的輸出是一個(gè)(2w+1)×H×W×C大小的三維特征圖,其中C為輸出通道數(shù)。為了將解碼器輸出的三維特征圖轉(zhuǎn)換為二維特征圖,將時(shí)間維度的特征沿通道進(jìn)行拼接。拼接過程如圖3(d)所示。以此得到一個(gè)大小為H×W×(2w+1)C的二維特征圖。該二維特征圖通過二維卷積對時(shí)間特征進(jìn)行聚合,得到大小為H×W×3 的特征圖。
第一階段中合成的視頻背景可能被誤扭曲,包含著錯(cuò)誤的信息,因而被拋棄了。PC-UNet需要對背景進(jìn)行重新修復(fù)。在背景紋理復(fù)雜的情況下,依賴網(wǎng)絡(luò)進(jìn)行修復(fù)可能會與真實(shí)背景存在差異。為解決該問題,本文假設(shè)背景是靜態(tài)的?;谌讼穹指罴夹g(shù)提取目標(biāo)參考圖片中的背景,并再將背景信息嵌入到網(wǎng)絡(luò)中,作為網(wǎng)絡(luò)的固定參數(shù)置于網(wǎng)絡(luò)的末尾部分。因此,PC-UNet只需預(yù)測背景的小部分區(qū)域,保證了背景的穩(wěn)定性。
2.3.1 訓(xùn)練集的獲取方法
網(wǎng)絡(luò)的訓(xùn)練依賴于一段目標(biāo)人物的視頻Vt,從該視頻中提取一個(gè)目標(biāo)參考圖片。這里不妨假設(shè)以I1t為目標(biāo)參考圖片,首先基于FOMM將I1t與Ii t的運(yùn)動(dòng)提取出來,并作用到I1t上。以自我重演的方式合成一段相對粗糙的視頻與Vt可組成訓(xùn)練對以用于訓(xùn)練網(wǎng)絡(luò)。這里不妨把PC-UNet 生成器網(wǎng)絡(luò)記為生成器網(wǎng)絡(luò)G ,則:
其中,yi為最終合成的視頻Y中的第i幀。網(wǎng)絡(luò)需要把精確地還原為Ii t,即讓yi盡量接近Ii t。
2.3.2 判別器
網(wǎng)絡(luò)基于GAN架構(gòu)訓(xùn)練以合成更真實(shí)的圖片。在訓(xùn)練過程中,需要使用一個(gè)判別器D。判別器用于學(xué)習(xí)區(qū)分真實(shí)幀Ii t和合成幀yi,與生成器進(jìn)行博弈,使得生成器可以合成更真實(shí)的圖片。本文使用的判別器基于Pix2PixHD[20]提出的判別器擴(kuò)展而來。具體來說,將其拓展到能容納與yi或Ii t作為輸入。
2.3.3 目標(biāo)函數(shù)
生成器以一種對抗的方式訓(xùn)練,本文采用最小二乘損失(least square loss)以穩(wěn)定訓(xùn)練的過程,目標(biāo)函數(shù)與LSGAN 原文[21]保持一致,即a=c=1 和b=0。此時(shí),G的對抗目標(biāo)函數(shù)為:
由于嘴部是非常具有表情表達(dá)能力的區(qū)域,也是關(guān)注的重點(diǎn)。牙齒細(xì)節(jié)的缺失容易導(dǎo)致視頻的真實(shí)度大幅降低。本文加入了一個(gè)嘴部增強(qiáng)損失,用于改善口眼部位的質(zhì)量。具體來說,基于Dlib 庫提取Ii t中嘴巴區(qū)域的關(guān)鍵點(diǎn),并根據(jù)關(guān)鍵點(diǎn)得到一個(gè)嘴部掩膜Miaug。嘴部增強(qiáng)損失如下:
最后,生成器的目標(biāo)函數(shù)為:
為了平衡各個(gè)損失項(xiàng)的權(quán)重,設(shè)置α=1,β=100,γ=500。
本章介紹了實(shí)驗(yàn)的具體實(shí)施細(xì)節(jié)及評價(jià)指標(biāo),詳細(xì)分析了消融實(shí)驗(yàn),并將本文方法與目前其他先進(jìn)的人臉重演方法進(jìn)行對比。
實(shí)驗(yàn)所采用Head2Head++[1]公開發(fā)布的數(shù)據(jù)集測試本文的方法。該數(shù)據(jù)集包含Trump、Von Der Leyen、Macron、Mitsotakis、Sanchez 和Johnson 等不同人物至少10 min長的原始目標(biāo)視頻,覆蓋了不同的性別與不同的動(dòng)作幅度。文中所有的圖片皆源自于該數(shù)據(jù)集。實(shí)驗(yàn)采用與Head2Head++相同的方法對原始視頻進(jìn)行預(yù)處理,每個(gè)視頻被裁剪并調(diào)整為長寬為256 像素的圖片。本文所有實(shí)驗(yàn)都在一個(gè)安裝了Tesla V100 GPU 的Ubuntu 18.04 服務(wù)器上進(jìn)行,所有模型都基于PyTorch實(shí)現(xiàn),并使用默認(rèn)參數(shù)設(shè)置的Adam 優(yōu)化器[22]進(jìn)行優(yōu)化。訓(xùn)練過程需要60 個(gè)周期,批大小為5,學(xué)習(xí)率為0.000 15。在測試期間,每一幀圖片進(jìn)行動(dòng)作遷移的耗時(shí)約為0.024 2 s,PC-UNet修復(fù)細(xì)節(jié)則需要約0.01 s??偟膩碚f,在Tesla V100 GPU服務(wù)器中,本文方法可以達(dá)到每秒29幀圖片的合成速度,具有一定的實(shí)時(shí)性。
實(shí)驗(yàn)可以劃分為自我重演與跨身份重演兩個(gè)方面。自我重演實(shí)驗(yàn)主要用于定量評估。在自我重演實(shí)驗(yàn)中,目標(biāo)視頻與驅(qū)動(dòng)視頻來自于同一段視頻的前后兩部分。具體來說,一個(gè)目標(biāo)視頻Vt被劃分為訓(xùn)練集Vt-train及測試集Vt-test。在基于Vt-train合成訓(xùn)練完成后,把Vt-test作為驅(qū)動(dòng)視頻進(jìn)行測試。測試時(shí),由于合成視頻Ytest所對應(yīng)的真實(shí)視頻Vt-test是已知的,可以定量地衡量合成視頻的質(zhì)量,后文中的定量指標(biāo)皆基于自我重演實(shí)驗(yàn)獲取。為便于比較,訓(xùn)練集和測試集的劃分與Head2Head++相同。為了衡量合成視頻與真實(shí)視頻的差異,采用了如下評價(jià)指標(biāo):
(1)平均真假圖片像素間的L2 距離APD(average pixel distance)。該指標(biāo)直觀地反映出真假圖片之間的差異。
(2)真假圖片中人像區(qū)域平均的像素間L2 距離APD-P(average pixel distance for portrait)。該指標(biāo)使用人像分割技術(shù)提取真實(shí)視頻的人像區(qū)域,并計(jì)算真假圖片間人像區(qū)域的ADP。該指標(biāo)能關(guān)注于人像區(qū)域與真實(shí)的差異,一方面反映了人像區(qū)域的細(xì)節(jié),另一方面反映了模型是否能更完整地遷移人物動(dòng)作。
(3)用于衡量真實(shí)圖像與合成圖像特征層面的差異的指標(biāo)FⅠD(Fréchet inception distance)[23],該指標(biāo)可以反映圖片的真實(shí)感。
(4)用于衡量視頻真實(shí)感的指標(biāo)FVD(Fréchet video distance)[24]。
對于所有指標(biāo),數(shù)值越低代表效果越好。自我重演實(shí)驗(yàn)的例子如圖4所示。
圖4 自我重演實(shí)驗(yàn)的樣例Fig.4 Example of self-reenactment
跨身份重演實(shí)驗(yàn)可以定性地評估實(shí)際的合成效果,此時(shí)驅(qū)動(dòng)視頻與目標(biāo)視頻為不同視頻?;贔OMM將驅(qū)動(dòng)視頻的動(dòng)作作用到I1t上,合成粗糙的視頻,然后采用PC-UNet 進(jìn)行修復(fù)??缟矸葜匮菘梢越衣冻錾矸荼4娴茸晕抑匮轃o法發(fā)現(xiàn)的問題,結(jié)果更接近于實(shí)際的應(yīng)用場景??缟矸葜匮莸臉永鐖D5所示。
圖5 跨身份重演實(shí)驗(yàn)的樣例Fig.5 Example of cross identity reenactment
本節(jié)詳細(xì)介紹關(guān)于PC-UNet的上下文信息輸入、網(wǎng)絡(luò)結(jié)構(gòu)、背景嵌入網(wǎng)絡(luò),以及嘴部增強(qiáng)損失多個(gè)方面的消融實(shí)驗(yàn)。
3.3.1 上下文信息的重要性
本文中的PC-UNet 利用第一階段動(dòng)作遷移的結(jié)果前后w幀的上下文信息去修復(fù),以合成更高質(zhì)量的視頻。本小節(jié)通過改變時(shí)域窗口半徑的大小w,調(diào)整輸入到PC-UNet 的上下文信息的長度,探究其對PC-UNet 修復(fù)效果的影響,以驗(yàn)證其重要性。表1 為基于不同時(shí)域窗口半徑進(jìn)行自我重演實(shí)驗(yàn)得到的結(jié)果。由于訓(xùn)練集中存在動(dòng)態(tài)背景視頻,為了更好地關(guān)注人像部分的指標(biāo),消融實(shí)驗(yàn)部分去除了數(shù)據(jù)集中動(dòng)態(tài)背景的視頻,表中數(shù)據(jù)為靜態(tài)背景視頻實(shí)驗(yàn)結(jié)果的平均值。當(dāng)w=0 時(shí),PC-UNet的輸入沒有無上下文信息,僅有單獨(dú)1 幀圖片。當(dāng)w=1 時(shí),PC-UNet 的輸入為共3幀圖片。從表1可以看到,w=1 時(shí)各項(xiàng)定量指標(biāo)遠(yuǎn)優(yōu)于w=0 的結(jié)果。其中,反映視頻整體質(zhì)量的指標(biāo)FVD最為明顯,從w=1 時(shí)的45.92大幅上漲到w=0 時(shí)52.97。這主要表現(xiàn)在了合成視頻的流暢度上。當(dāng)w=0時(shí),合成的視頻中存在明顯的抖動(dòng)現(xiàn)象。這說明了上下文信息對修復(fù)效果以及視頻流暢度的重要性。然而,當(dāng)進(jìn)一步將PC-UNet 的輸入繼續(xù)拓展為w=2 時(shí),可以觀察到總體指標(biāo)進(jìn)一步提高,得到了更好的結(jié)果,但效果提升的程度大幅降低,這可以解釋為待修復(fù)幀與距離越遠(yuǎn)的幀關(guān)聯(lián)性越低。繼續(xù)增大時(shí)域窗口難以進(jìn)一步提高修復(fù)效果。此外,隨著時(shí)域維度的增加,計(jì)算量也將隨之增加。因此,為了取得計(jì)算量與效果之間的平衡,在本文后續(xù)的實(shí)驗(yàn)中采取w=1 的設(shè)定。
表1 不同時(shí)域窗口半徑大小的消融實(shí)驗(yàn)Table 1 Ablation experiment of different temporal window radius
3.3.2 三維卷積及注意力機(jī)制
上下文信息對視頻修復(fù)效果有明顯的幫助。為了更好地利用上下文信息,本文為PC-UNet引入了三維卷積以提高合成視頻的效果。為了驗(yàn)證這一設(shè)計(jì)的重要性,實(shí)驗(yàn)使用一個(gè)基于二維卷積的經(jīng)典U 型神經(jīng)網(wǎng)絡(luò)(2D-UNet)替換本文PC-UNet作為用于修復(fù)細(xì)節(jié)的網(wǎng)絡(luò)。該網(wǎng)絡(luò)由DVP[3]提出,具有較為優(yōu)異的性能。該2D-UNet與去除注意力模塊的PC-UNet(3D-UNet)進(jìn)行對比,對比結(jié)果如表2所示。將2D-UNet改換為3D-UNet后,在網(wǎng)絡(luò)參數(shù)量下降的情況下,F(xiàn)VD指標(biāo)從49.6優(yōu)化為47.1,視頻的整體質(zhì)量有所提高。這表明基于三維卷積的網(wǎng)絡(luò)可以更好地利用時(shí)間維度上的信息,合成更加流暢的視頻。
表2 不同網(wǎng)絡(luò)結(jié)構(gòu)的對比Table 2 Comparison of different network structures
此外,本文在PC-UNet 中引入了一種注意力機(jī)制,圖6 展示了注意力機(jī)制在修正過程中的作用。具體來說,實(shí)驗(yàn)提取了PC-UNet的編碼器中最后一個(gè)下采樣模塊中最大注意力權(quán)重對應(yīng)的三維特征圖。三個(gè)維度中,兩個(gè)對應(yīng)空間,一個(gè)對應(yīng)時(shí)間。實(shí)驗(yàn)可視化了位于時(shí)間維度中間的特征圖??梢暬奶卣鲌D中的顏色代表該處值的大?。t色為最大,藍(lán)色為最小)。將該特征圖與對應(yīng)的輸入進(jìn)行重疊可以發(fā)現(xiàn),注意力機(jī)制可以關(guān)注到需要大幅度修改的區(qū)域,這有利于人像修正的過程。
圖6 注意力最大值對應(yīng)特征圖的可視化Fig.6 Visualization of feature map with max attention value
圖7直觀地展現(xiàn)出了PC-UNet去除注意力模塊前后修復(fù)效果的差異。放大觀察圖像可以發(fā)現(xiàn),在PC-UNet的注意力模塊去除前,合成的面部紋理細(xì)節(jié)相較于注意力模塊去除后更加豐富。定量對比的結(jié)果如表2中后兩行所示,加入注意力模塊后(表2中3D-UNet+注意力),關(guān)于圖像、視頻的質(zhì)量指標(biāo)FⅠD、FVD 都得到一定程度的優(yōu)化。這與定性比較結(jié)果是相符的,體現(xiàn)了注意力模塊的重要性。
圖7 注意力模塊的重要性Fig.7 Ⅰmportance of attention module
3.3.3 背景信息嵌入網(wǎng)絡(luò)
在PC-UNet 的設(shè)計(jì)中,為了確保背景合成的效果,實(shí)驗(yàn)假設(shè)背景是固定的,并在網(wǎng)絡(luò)中嵌入了背景的信息作為網(wǎng)絡(luò)的固定參數(shù)保持不變。如圖8 對比了有無背景信息嵌入的差異,展示了這個(gè)設(shè)計(jì)的重要性。觀察放大的區(qū)域可以發(fā)現(xiàn),有背景信息嵌入的PC-UNet合成的背景能與真實(shí)的背景保持一致。相比之下,將背景信息嵌入去除后,合成的背景部分與真實(shí)的圖片出現(xiàn)了細(xì)小差異,一定程度上影響了視頻的真實(shí)感。
圖8 背景信息嵌入網(wǎng)絡(luò)的重要性Fig.8 Ⅰmportance of embedding background information into network
3.3.4 嘴部增強(qiáng)損失
嘴巴是人像中最有表現(xiàn)力的區(qū)域,也是人們關(guān)注的重點(diǎn),嘴部的細(xì)節(jié)非常影響合成視頻的質(zhì)量。為了確保嘴部真實(shí)性,本文加入了嘴部增強(qiáng)損失Laug,確保嘴部的牙齒的細(xì)節(jié)與真實(shí)度。如圖9 展示了嘴部增強(qiáng)損失加入前后的差異??梢钥闯?,當(dāng)去除Laug后,牙齒部分的細(xì)節(jié)將會丟失,牙齒糊成一片,影響了視頻的真實(shí)感。加入Laug后,合成的牙齒顆粒分明,這體現(xiàn)出了嘴部增強(qiáng)損失的重要性。
圖9 嘴部增強(qiáng)損失的重要性Fig.9 Ⅰmportance of mouth augment loss
本節(jié)將本文方法與當(dāng)前先進(jìn)的人臉重演方法進(jìn)行對比。對比的方法包括面向不同主體的模型(X2Face[4]和FOMM[6])及針對特定主體的方法(Head2Head++[1]和Vid2Vid[2])。對比方法在與本文方法相同的數(shù)據(jù)集上進(jìn)行了自我重演實(shí)驗(yàn),得到定量指標(biāo)如表3 所示,表中指標(biāo)為數(shù)據(jù)集中所有人物的結(jié)果的平均值。以下對對比實(shí)驗(yàn)進(jìn)行詳細(xì)的分析。
表3 與目前優(yōu)秀方法的對比結(jié)果Table 3 Results of comparison with current state-of-the-art methods
本文與面向不同主體的模型X2Face 和FOMM 的自我重演實(shí)驗(yàn)對比結(jié)果,如圖10所示。由于此類方法沒有利用目標(biāo)人物的視頻信息,僅依賴單張圖片進(jìn)行人臉重演,其最終合成效果與真實(shí)圖片在各個(gè)部位都存在顯著的差異。相比之下,本文方法充分利用了目標(biāo)人物的視頻的信息,為每個(gè)目標(biāo)人物訓(xùn)練一個(gè)專用的PC-UNet,合成效果非常接近真實(shí)圖片,視覺效果大幅優(yōu)于上述兩種面向不同主體的模型。這與表3 中定量對比的指標(biāo)一致。值得注意的是,與FOMM 的對比也驗(yàn)證了PC-UNet的有效性。經(jīng)過PC-UNet的修復(fù),F(xiàn)OMM產(chǎn)生的粗糙視頻可以轉(zhuǎn)變?yōu)榕c真實(shí)幾乎無異的視頻。這再次體現(xiàn)了PC-UNet的修復(fù)效果。
圖10 與FOMM和X2Face的對比Fig.10 Comparison with FOMM and X2Fce
實(shí)驗(yàn)進(jìn)一步與針對特定人物的方法Vid2Vid 和Head2Head++進(jìn)行對比。這兩個(gè)模型都是目前的優(yōu)秀的人臉重演方法,可以合成逼真的視頻。
Vid2Vid 基于有監(jiān)督的人臉地標(biāo)進(jìn)行動(dòng)作遷移,在遷移后使用針對特定人物的人臉地標(biāo)到圖片轉(zhuǎn)換網(wǎng)絡(luò)合成最終圖片。如圖11 為本文方法與Vid2Vid 在跨身份重演實(shí)驗(yàn)上的對比效果。從參考目標(biāo)圖片中觀察目標(biāo)人物的真實(shí)臉型,將其與Vid2Vid 最終合成的目標(biāo)人物進(jìn)行對比,可以發(fā)現(xiàn)兩者之間出現(xiàn)了較大差異。Vid2Vid合成出的臉型相對于真實(shí)目標(biāo)臉型更加修長,變得驅(qū)動(dòng)人物的臉型相一致。這是由于Vid2Vid基于有監(jiān)督的人臉地標(biāo)進(jìn)行動(dòng)作遷移。在跨身份重演中,不僅遷移了動(dòng)作,還遷移了驅(qū)動(dòng)人物的臉部輪廓等身份信息,出現(xiàn)了身份保存問題。相比之下,本文方法合成的臉型與目標(biāo)人物真實(shí)的臉型是保持一致的。這說明本文基于無監(jiān)督動(dòng)作遷移模型進(jìn)行相對動(dòng)作遷移再修復(fù)的方案可以有效避免身份保存問題。
圖11 與Vid2Vid的對比實(shí)驗(yàn)Fig.11 Comparison with Vid2Vid
另一方面,Head2Head++基于三維參數(shù)化人臉模型遷移動(dòng)作,并利用一個(gè)針對特定人物神經(jīng)網(wǎng)絡(luò)將三維人臉模型渲染的視頻轉(zhuǎn)化為真實(shí)的視頻。三維參數(shù)化人臉模型可以解耦身份與姿勢相關(guān)參數(shù),解決了身份保存問題。然而,三維參數(shù)化人臉模型沒有建模整個(gè)上半身各個(gè)區(qū)域的動(dòng)作,因此Head2Head++的動(dòng)作遷移能力較為有限。如圖12 所示,驅(qū)動(dòng)人物由時(shí)刻A 的姿勢變?yōu)闀r(shí)刻B的姿勢時(shí),Head2Head++合成目標(biāo)人物的動(dòng)作幅度與驅(qū)動(dòng)人物出現(xiàn)了一定的差異。例如肩膀部分,不妨以領(lǐng)帶為參照物,驅(qū)動(dòng)人物的領(lǐng)帶明顯向下移動(dòng),而Head2Head++合成的人物的領(lǐng)帶并沒有發(fā)生明顯的移動(dòng)。相比之下,本文方法合成的目標(biāo)人物的領(lǐng)帶是跟隨驅(qū)動(dòng)人物往下移動(dòng)。對比之下不難發(fā)現(xiàn),本文方法可以將驅(qū)動(dòng)人物的動(dòng)作更完整地遷移到目標(biāo)人物。
圖12 與Head2Head++的對比實(shí)驗(yàn)Fig.12 Comparison with Head2Head++
此外,Head2Head++中三維人臉模型沒有建模肩部的運(yùn)動(dòng),遷移肩部的動(dòng)作。這可能導(dǎo)致最終合成的頭部與肩部不匹配。如圖13 所示,在Head2Head++合成的圖片中,頭部姿勢與肩部姿勢出現(xiàn)了明顯的割裂,這影響了最終合成視頻的真實(shí)感。對比之下,本文方法基于無監(jiān)督運(yùn)動(dòng)遷移模型進(jìn)行動(dòng)作的遷移,可以更充分地遷移肩膀的動(dòng)作,避免了該問題的出現(xiàn)。
圖13 與Head2Head++的進(jìn)一步對比實(shí)驗(yàn)Fig.13 Further comparison with Head2Head++
在表3本文方法與Head2Head++和Vid2Vid的定量對比中,各項(xiàng)指標(biāo)皆優(yōu)于對比方法。其中,值得關(guān)注的是本文方法的人像區(qū)域的像素間距離APD-P 遠(yuǎn)低于對比方法,這也定量地驗(yàn)證了本文方法能更大程度地遷移動(dòng)作,合成更真實(shí)的圖片。此外,本文方法在代表視頻流暢度與圖片真實(shí)感的指標(biāo)FVD 與FⅠD 中,也取得了相對于對比方法更優(yōu)的成績,與前文定性對比的結(jié)論相符。
雖然本文方法在多數(shù)場景中可以獲得逼真的重演結(jié)果,但也存在一些局限性。一方面,與其他基于GAN的方法[1-3]一樣,本文的方法的合成效果依賴于訓(xùn)練集中目標(biāo)人物姿勢的豐富度。在合成訓(xùn)練集中未出現(xiàn)的極端姿勢時(shí)(例如大角度扭頭),合成視頻的質(zhì)量會出現(xiàn)下降。另一方面,在某些目標(biāo)視頻的拍攝過程中,相機(jī)可能存在一定程度的移動(dòng)。所以,訓(xùn)練集中的背景可能不是固定的。以這類動(dòng)態(tài)背景的視頻訓(xùn)練模型會導(dǎo)致合成錯(cuò)誤的背景,影響視頻觀感。圖14 為基于自我重演實(shí)驗(yàn)獲取的合成結(jié)果,展示了本文方法存在的局限性。對比圖14 中前兩張圖片中的人臉區(qū)域可以發(fā)現(xiàn),在合成大幅度扭頭的極端姿勢時(shí),圖像的面部區(qū)域出現(xiàn)了差錯(cuò)。對比圖14 后兩張圖片的背景區(qū)域,如果訓(xùn)練集中目標(biāo)視頻背景不是固定的,合成的背景可能會產(chǎn)生偽影。
圖14 局限性分析實(shí)驗(yàn)Fig.14 Limitation analysis experiment
上述問題無論是在本文方法還是先前方法都沒得到有效解決。在未來的工作中,還需進(jìn)一步研究具有更強(qiáng)泛化能力的算法和具有動(dòng)態(tài)背景處理能力的模型。
本文設(shè)計(jì)了一種無監(jiān)督動(dòng)作遷移再修復(fù)的人臉重演方法。基于一種無監(jiān)督運(yùn)動(dòng)遷移模型進(jìn)行人物動(dòng)作遷移。針對遷移動(dòng)作后粗糙的視頻,考慮視頻的流暢度與畫質(zhì),設(shè)計(jì)了一個(gè)針對特定目標(biāo)人物的生成網(wǎng)絡(luò)PCUNet。網(wǎng)絡(luò)融合了三維卷積、注意力機(jī)制等技術(shù),對粗糙的視頻進(jìn)行修復(fù)。本文方法可以合成出真假難辨的視頻。此外,與目前先進(jìn)的人臉重演方法的對比實(shí)驗(yàn)也進(jìn)一步驗(yàn)證了本文方法的效果。然而,無論是先前方法還是本文方法都仍無法較好地解決泛化性問題和處理動(dòng)態(tài)背景。在未來的工作中,還需要針對這些問題進(jìn)行進(jìn)一步的研究。