單張人像生成視頻!中國團隊提出3D人臉視頻生成模型,實現SOTA
如何用一張人臉可以生成一段有趣的視頻?
當然不是指這種直接貼個人頭就算了的粗糙gif
人臉視頻的生成通常會利用人臉圖像的稀疏特征點(landmarks)結合生成對抗網絡(GAN)。
不過,這種由稀疏人臉特征點生成的人臉圖像視頻通常會遇到很多問題。
比如圖像質量損失、圖像失真、身份改變,以及表情不匹配等問題。
因此,為了解決這些問題,本文作者使用重建出的三維人臉動態信息來指導人臉視頻的生成。

論文地址:https://ieeexplore.ieee.org/abstract/document/9439899
arXiv版本:https://arxiv.org/pdf/2105.14678.pdf
三維人臉動態中,人的面部表情和動作更加細膩,可以作為有力的先驗知識指導生成高度逼真的人臉視頻。
文中,作者設計了一套三維動態預測和人臉視頻生成模型(FaceAnime)來預測單張人臉圖像的3D動態序列。
通過稀疏紋理映射算法進一步渲染3D動態序列的皮膚細節,最后利用條件生成對抗網絡引導人臉視頻的生成。
實驗結果顯示,FaceAnime能從單張靜止的人臉圖像生成高保真度、身份不變性的人臉視頻,比其它方法效果更好。
背景和貢獻
當前的人臉視頻生成方法普遍采用人臉的稀疏特征點(landmarks)來引導圖片或視頻的生成。
然而作者認為使用稀疏的二維特征點引導人臉圖像/視頻生成有明顯的不足:
- 稀疏人臉特征點不能很好地表示人臉圖像的幾何形狀,容易導致人臉整體形狀和面部結構細節的缺失,進而導致合成圖像的失真和質量損失;
- 稀疏的二維特征點不攜帶源人臉圖像的任何內容信息,這可能會導致生成的圖像過擬合于只包含訓練集的人臉圖像中;
- 在視頻生成過程中應保留人臉身份信息,但稀疏的2D特征點沒有身份信息,容易導致合成結果的身份變化。
因此,文章針對這些方面做出了以下貢獻:
- 不同于廣泛使用2D稀疏人臉landmarks進行圖像/視頻的引導生成,文章主要探索包含人臉豐富信息的3D動態信息的人臉視頻生成任務;
- 設計了一個三維動態預測網絡(3D Dynamic Prediction,3DDP)來預測時空連續的3D動態序列;
- 提出了一個稀疏紋理映射算法來渲染預測的3D動態序列,并將其作為先驗信息引導人臉圖像/視頻的生成;
- 文章使用隨機和可控的兩種方式進行視頻的生成任務,驗證提出方法的有效性。
方法描述
本文提出的FaceAnime包含一個3D動態預測網絡(3D Dynamic Prediction, 3DDP)和一個先驗引導的人臉生成網絡(Prior-Guided Face Generation, PGFG)。
首先,方法基于三維形變模型(3D Morphable Models, 3DMM)對單張人臉圖像進行三維重建,3DDP網絡隨后預測該圖像未來的3D動態序列,之后將動態序列進行稀疏紋理映射渲染,最后使用PGFG網絡完成相應的人臉生成。

FaceAnime的整體框架圖,3DDP網絡部分

FaceAnime的整體框架圖,PGFG網絡部分
3D人臉重建和稀疏紋理映射
3D形變模型(3D Morphable Model, 3DMM)用來從2D人臉圖像中預測相應的3D人臉。
其中,描述3D人臉的頂點(vertex)可由一系列2D人臉中的正交基線性加權得出:

其中,S bar是平均臉, As是形狀主成分基, as是相應的形狀系數,Aexp是表情主成分基,aexp是對應的表情系數。
反過來,3D人臉頂點也可以通過變換映射到一個2維圖像平面上,對應的公式可以表達為:

其中,V表示3D頂點在2維平面上的映射坐標,∏是固定的正交映射矩陣,Pr是對應的旋轉矩陣,而t為偏移向量。
通過最小化映射landmarks和檢測的landmarks之間的l2距離,最終可以求得3DMM中的系數。
給定一張源人臉圖像(Source Face),其3D形狀可以通過改變重建的3DMM系數來進行任意的修改, 則目標人臉的稀疏紋理可以由修改后的3DMM系數獲得。
在人臉重定向任務中,修改的3DMM系數可由參考人臉視頻幀得到,而在人臉預測任務中,則由LSTM模塊預測得到。
為了防止在紋理映射中,密集的紋理先驗信息太強而導致目標動作中出現不符合期望的結果,因此在紋理映射過程中本文采用間隔采樣即稀疏紋理映射,以適應不同的人臉運動變化。

給定不同的3DMM系數所得到的不同三維人臉重建和稀疏映射的結果
不同于以往只針對某一種任務的視頻生成,在本文中作者提出了三個不同的生成任務,即人臉視頻重定向(Face video retargeting),視頻預測(Video prediction)以及目標驅動的視頻預測(Target-driven video prediction)。
對于retargeting任務,作者使用參考視頻來提供序列的變化信息,而不使用3DDP來預測。
視頻預測:
給定一個觀測到的動態序列(3DMM coefficients),LSTM對其進行編碼:

為了預測出一個合理的動作,LSTM不得不首先學習大量的動作輸入以識別在姿態序列中運動的種類以及隨時間的變化。
在訓練過程中,未來動態序列可以由下式生成:

其中dt hat表示預測得到的3DMM系數,其表示在時刻t的3D dynamic。
基于以上公式,模型可以從一個初始的dynamic d0學到一個合理的未來序列。
目標驅動的視頻預測:
對于LSTM來講,要實現目標引導的運動生成,模型需要兩個輸入,即source dynamic和target dynamic。
不同于視頻預測,作者使用了一個計時器來對target dynamic進行重新賦權。
整體的LSTM預測可以用公式表示為:

這里dT表示target dynamic,T為預測長度,即t=0表示序列開始時間,t=T為序列結束。
損失函數:
給一個source人臉圖像,作者使用2DAL模型回歸出相應的3DMM系數,用來表示初始的3D dynamic d0。之后模型通過觀測d0來生成一個系數序列d1:T hat。
在訓練過程中,作者使用3DMM coefficient loss和3D vertex loss兩個損失函數進行監督學習。
3DMM coefficient loss定義為預測3DMM 系數和ground truth 3DMM系數之間的歐式距離:

而3D vertex loss定義為:

其中v1+t hat和v1+t分別為預測得到的系數和標準系數對應的人臉三維頂點信息。則整體的損失函數可以表述為:

先驗引導的人臉生成:基于提出的稀疏紋理映射,source人臉圖像被用于渲染預測的3D dynamics。在這里,稀疏紋理作為引導人臉生成的先驗信息。
文中提到的網絡PGFG(Prior-Guided Face Generation Network)主要由條件GANp網絡來組成。
PGFG網絡的結構:
PGFG生成器G有三個輸入,分別是source人臉Is,Is對應的紋理先驗ps和pt目標的紋理先驗。
在這里,作者并沒有直接使用目標的紋理先驗pt作為先驗引導,而是使用了先驗殘差來引導人臉生成,在特征空間可以獲得運動殘差:E(pt)-E(ps)。由此可得最終人臉為:

為了進一步利用不同空間位置的特征信息,編碼器和解碼器均由Dense blocks組成。
判別器有兩個輸入,即目標人臉圖像的紋理先驗分別和生成人臉、目標人臉結合的輸入[pt, It hat],[pt, It]。
損失函數:
網絡PGFG由三個損失函數進行監督,分別為圖像像素間的損失Limg,對抗損失Ladv和身份信息損失Lid。

需要注意的是,在身份信息損失中,R為預訓練的人臉識別模型。網絡整體的損失函數為:

結果和分析
作者分別對人臉視頻重定向、視頻預測以及目標驅動的視頻預測三個任務做了相應的大量實驗。
人臉視頻重定向:
在這個任務中,作者分別對人臉表情的重定向以及頭部講話重定向兩個子任務進行了實驗。
實驗表明,所提出的FaceAnime模型可以很好的將source人臉圖像中的表情和動作重定向到目標圖像上,生成相對應的姿態和講話表情。

FaceAnime的人臉表情重定向(a)和頭部講話重定向(b)實驗結果
人臉視頻預測:
這個任務中包含視頻預測以及目標驅動的視頻預測兩個子任務。
對每一個預測任務,實驗過程中作者隨機選取一張從人臉圖像測試集IJB-C中抽取的單張人臉圖像。
對于視頻測試,作者首先使用3DDP網絡從source人臉中預測一個運動序列,然后用該序列引導人臉視頻的生成。
而對于目標引導的人臉預測任務,則需要兩個輸入圖像。一個是source人臉,另一個為target人臉。
3DDP網絡用于預測從source人臉到target人臉之間平滑的運動變化,從而引導人臉視頻的生成。

FaceAnime的視頻生成結果

FaceAnime的目標驅動視頻生成的結果
為了展示所提出方法的先進性,作者還同其他類似任務的算法進行了效果對比。

FaceAnime和其它方法的對比結果
通過比較,FaceAnime不僅可以生成高質量且真實的人臉視頻序列,同時生成的視頻圖像可以精確的還原參考視頻中人臉表情和姿態變化,還能較好的保持人臉的身份信息。
大量實驗表明,作者提出的方法可以將參考視頻的姿態和表情變化重定位到source人臉上,并且對于一個隨機的人臉圖像,其可以生成合理的未來視頻序列。
對比其他最先進的人臉生成方法,所提出的方法在生成高質量和身份信息保持的人臉方面具有更好的效果。
作者介紹
涂曉光,2020年在中國電子科技大學獲得博士學位。2018年至2020年在新加坡國立大學學習與視覺實驗室做訪問學者,師從馮佳時博士。研究興趣包括凸優化,計算機視覺和深度學習。
鄒應天,新加坡國立大學計算機學院在讀博士。2018年,他在中國武漢的華中科技大學獲得計算機科學學士學位。他的研究興趣是計算機視覺、實用機器學習算法及其理論。
趙健,2012年獲得北京航空航天大學學士學位,2014年獲得國防科技大學碩士學位,2019年獲得新加坡國立大學博士學位。他的主要研究興趣包括深度學習、模式識別、計算機視覺和多媒體分析。曾獲ACM MM 2018年最佳學生論文獎。曾擔任NSFC、T-PAMI、IJCV、NeurIPS(2018年NeurIPS最高分前30%的審稿人之一)、CVPR等的邀請審稿人。
艾文杰,電子科技大學信息與通信工程學院在讀碩士。他感興趣的研究領域主要包括計算機視覺和深度學習,特別是超級分辨率和去模糊。
董健,IEEE會員,在新加坡國立大學獲得博士學位。目前是Shopee公司的董事。曾任360的高級總監和亞馬遜的研究科學家。他的研究興趣包括機器學習和計算機視覺,并在PASCAL VOC和ILSVRC比賽中獲得了優勝獎。
遙遠,Pensees新加坡研究院的人工智能科學家。2019年在新加坡國立大學獲得電子和計算機工程碩士學位。2019年在劍橋大學劍橋圖像分析組做訪問學者。他的研究興趣包括生成式對抗網絡、光流估計和人臉識別。
王智康,西安電子科技大學電子工程學院在讀碩士。2019年至2020年在新加坡國立大學學習與視覺實驗室做訪問學者。他的研究興趣包括計算機視覺、深度學習和多媒體數據處理。
李志鋒,騰訊人工智能實驗室的頂級首席研究員。2006年在香港中文大學獲得博士學位。之后在香港中文大學和密歇根州立大學做博士后研究。在加入騰訊人工智能實驗室之前,他是中國科學院深圳先進技術研究院的一名全職教授。他的研究興趣包括深度學習、計算機視覺和模式識別,以及人臉檢測和識別。目前在《神經計算》和《IEEE視頻技術電路與系統》的編輯委員會任職,并且是英國計算機學會(FBCS)的研究員。
郭國棟,在美國威斯康星大學麥迪遜分校獲得計算機科學博士學位。目前是百度研究院深度學習研究所的副所長,同時也是美國西弗吉尼亞大學(WVU)計算機科學和電子工程系的副教授。他的研究興趣包括計算機視覺、生物統計學、機器學習和多媒體。他在2008年獲得北卡羅來納州優秀創新獎,在西弗吉尼亞大學CEMR獲得杰出研究員(2017-2018),在西弗吉尼亞大學CEMR獲得年度最佳新研究員(2010-2011)。
劉威,騰訊人工智能實驗室計算機視覺中心的主任。曾于2012年至2015年在美國紐約州約克敦高地的IBM T. J. Watson研究中心擔任研究人員。他致力于機器學習、計算機視覺、模式識別、信息檢索、大數據等領域的研究和開發。目前在IEEE Transactions on Pattern Analysis and Machine Intelligence、IEEE Transactions on Neural Networks and Learning Systems、IEEE Transactions on Circuits and Systems for Video Technology、Pattern Recognition等刊物的編委會任職。他是國際模式識別協會(IAPR)的會員和國際統計學會(ISI)的當選成員。
馮佳時,2007年在中國科技大學獲得工學學士學位,2014年在新加坡國立大學獲得博士學位。2014年至2015年,他在美國加州大學擔任博士后研究員。目前是新加坡國立大學電子和計算機工程系的助理教授。研究興趣集中在大規模數據分析的機器學習和計算機視覺技術。