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