CVPR 2021 | 任何人都能“不講武德”,姿態(tài)可控的語音驅(qū)動(dòng)說話人臉
點(diǎn)擊上方“程序員大白”,選擇“星標(biāo)”公眾號(hào)
重磅干貨,第一時(shí)間送達(dá)

導(dǎo)讀
本文介紹了一篇由香港中文大學(xué)MMLab,商湯科技和南洋理工大學(xué)S-Lab合作的工作,不使用任何人為定義的結(jié)構(gòu)信息(人臉關(guān)鍵點(diǎn)或者3D人臉模型),成功實(shí)現(xiàn)了人頭姿態(tài)可控的語音驅(qū)動(dòng)任意說話人臉生成。
Highlight:
本文不使用任何人為定義的結(jié)構(gòu)信息(人臉關(guān)鍵點(diǎn)或者3D人臉模型),成功實(shí)現(xiàn)了人頭姿態(tài)可控的語音驅(qū)動(dòng)任意說話人臉生成。本文的關(guān)鍵在于,隱式地在潛空間(latent space)中定義了一個(gè)12維的姿態(tài)編碼,用于頭部運(yùn)動(dòng)控制。本文相比于之前的方法,避免了關(guān)鍵點(diǎn)或者3D模型計(jì)算不準(zhǔn)確帶來的煩惱,又保持了自由度和魯棒性。實(shí)現(xiàn)了在語音控制準(zhǔn)確嘴型的同時(shí),用另一段視頻控制頭部運(yùn)動(dòng)。在這一框架下,我們可以讓任何人說出馬老師經(jīng)典的“不講武德”發(fā)言,彩蛋在我們demo video的最后!
本文由香港中文大學(xué)MMLab,商湯科技和南洋理工大學(xué)S-Lab合作完成。

生成圖像的嘴型由音頻控制,與音頻源視頻同步;生成圖像頭部運(yùn)動(dòng)由姿態(tài)源控制,與下方視頻同步。
Paper 地址:https://arxiv.org/abs/2104.11116.
Github:https://github.com/Hangz-nju-cuhk/Talking-Face_PC-AVS.
Project Page:https://hangz-nju-cuhk.github.io/projects/PC-AVS.
代碼一鍵能跑。我們的Demo video如下:
背景介紹:
語音驅(qū)動(dòng)的說話人臉生成(Talking face, Talking head generation) 這一課題本身有多種不同的實(shí)驗(yàn)設(shè)置。此方向的綜述可以參考Lele Chen的What comprises a good talking-head video generation?: A Survey and Benchmark[1]。在這里本文Focus的方向?yàn)榛趩螐垐D像(One-shot),面向任意人臉,語音驅(qū)動(dòng)setting下的說話人臉生成問題。具體來說,我們希望基于一張圖片,生成與語音同步的說話人臉視頻。
What comprises a good talking-head video generation?: A Survey and Benchmark
https://arxiv.org/abs/2005.03201
這一setting下的工作包括 VGG 組的You said that? [2] ,CUHK(筆者自己)的DAVS [3], 樂樂的ATVG [4] 以及Adobe周洋和李丁博士的MakeitTalk [5]等等。整體來講,之前的工作[2][3][4]更多的關(guān)注于嘴型的準(zhǔn)確性和ID的保存上,從而忽略了頭部的自然運(yùn)動(dòng)。在本文中我們所試圖解決的,是之前說話人臉生成中人頭pose難以控制這一問題。

ATVG Paper中的對(duì)比圖
最近的Makeittalk[5]和樂樂的Rhythmic Head[6] 則關(guān)注于和個(gè)人ID信息有關(guān)的自然頭部運(yùn)動(dòng)。但是他們的方法都依賴于3D的結(jié)構(gòu)化信息。
想獨(dú)立控制頭部運(yùn)動(dòng),就需要對(duì)Head pose和facial expression,identity做一個(gè)解耦。通過思考我們可以意識(shí)到,這種解耦在2D圖像和2D landmark的表征中都很難實(shí)現(xiàn)。而在我們語音驅(qū)動(dòng)的大前提下,嘴型要和audio對(duì)齊,頭部運(yùn)動(dòng)又要自然,可以說是難上加難。另一方面,3D的人臉表征中,head pose和facial expression可以天然地用不同的參數(shù)控制,可以說是最佳選擇。因此之前的工作,Makeittalk[5]選擇了3D的人臉關(guān)鍵點(diǎn),而Rhythmic Head[6]則直接依賴于完整地3D重建。但是基于3D的人臉建模,尤其是在極端場(chǎng)景下,開源方法的準(zhǔn)確度并無法保證。而基于優(yōu)化算法的3D fitting還會(huì)帶來大量的預(yù)處理負(fù)擔(dān)。所以本文不使用3D或結(jié)構(gòu)化數(shù)據(jù),重新從2D入手解決問題。
方法介紹
我們的方法Pose-Controllable Audio-Visual System (PC-AVS) 直接在特征學(xué)習(xí)和圖像重建的框架下,實(shí)現(xiàn)了對(duì)人頭pose的自由控制。我們的核心在于隱式地在潛空間(latent space)中定義了一個(gè)12維的姿態(tài)編碼,而這一設(shè)計(jì)源于對(duì)去年CVPR利用styleGAN實(shí)現(xiàn)Face Reeanctment[7]的工作(如下圖)的參考。

但他們工作中只說明了styleGAN可以使用augmented frame進(jìn)行圖像到圖像的控制。而在語音驅(qū)動(dòng)的說話人臉問題中,condition實(shí)際來自audio的場(chǎng)景下,直接暴力借用這一框架將難以進(jìn)行訓(xùn)練,因?yàn)檎Z音并不能提供人臉姿態(tài)信息。
基于對(duì)說話人臉的觀察,我們?cè)谖闹邪補(bǔ)ugmented圖像的潛空間,定義為無ID空間(Non-Identity Space)。直觀上講,在此空間中,我們可以重新尋找嘴型與語音關(guān)聯(lián)的_說話內(nèi)容空間(Speech Contant Space),和表示頭部運(yùn)動(dòng)的姿態(tài)空間(Pose Space)。

我們工作的完整pipeline如下圖所示,訓(xùn)練數(shù)據(jù)使用的是大量的含語音視頻。我們使用任意的一幀 作為ID參考輸入,變形另一幀 為,并將與對(duì)齊的語音的頻譜 作為condition,試圖使用網(wǎng)絡(luò)恢復(fù)。

使用數(shù)據(jù)集的ID約束,我們可以通過ID encoder 得到_Identity Space_;借助之前的augmentation,我們通過encder ,得到_Non-Identity Space_。接下來的問題是如何發(fā)揮audio的作用,以及如何讓圖像只約束Pose而不控制嘴型。
Learning Speech Content Space. 我們希望Non-Identity Space的feature經(jīng)過一個(gè)mapping 映射至speech content space中。而這一latent space的學(xué)習(xí),主要依賴音頻和視頻之間天然的對(duì)齊、同步信息(alignment)。在之前的工作中這已經(jīng)被證明是audio-visual領(lǐng)域用處最廣泛的自監(jiān)督之一[8]。在這里我們使用語音與人臉序列之間的對(duì)齊構(gòu)建contrastive loss進(jìn)行對(duì)齊的約束;對(duì)齊的人臉序列和語音特征 是正樣本,非對(duì)齊的 為負(fù)樣本。定義兩個(gè)feature之間的cos距離為 ,這一約束可以表達(dá)為:
Devising Pose Code. 另一方面,我們借助3D表征中的piror knowledge。一個(gè)12維度的向量其實(shí)已經(jīng)足以表達(dá)人頭的姿態(tài),包括一個(gè)9維的旋轉(zhuǎn)矩陣,2維的平移和1維的尺度。所以我們使用一個(gè)額外的mapping,從Non-Identity Space中映射一個(gè)12維的Pose Code。這個(gè)維度上的設(shè)計(jì)非常重要,如何維度過大,這一latent code所表達(dá)的就可能超過pose信息,導(dǎo)致嘴型收到影響。
最后我們把 Identity Space,Speech Content Space 和 Pose code 結(jié)合起來,送入基于StyleGAN2[9]改造的Generator。這三者的信息在Generator中通過圖像重建訓(xùn)練進(jìn)行平衡,loss形式使用了pix2pixHD的重建訓(xùn)練loss。在訓(xùn)練中,pose code起作用的原理是,在ID和pose信息都顯式地被約束的前提下,Pose Code最容易學(xué)到的信息是改變?nèi)祟^的姿態(tài),以減少重建的loss。在這一目標(biāo)下,因?yàn)樽藨B(tài)逐漸與我們的目標(biāo)貼合,嘴型的重建約束也會(huì)反過來幫助audio feature的學(xué)習(xí),從而達(dá)到平衡。
實(shí)驗(yàn)結(jié)果
我們?cè)跀?shù)值上和質(zhì)量上與之前SOTA的任意語音驅(qū)動(dòng)人臉的方法進(jìn)行了對(duì)比。在數(shù)值上,我們對(duì)比了LRW和VoxCeleb2兩個(gè)數(shù)據(jù)集,重點(diǎn)關(guān)注于生成圖像還原度(SSIM),圖像清晰度(CPDB),生成嘴型landmark的準(zhǔn)確度(LMD)和生成嘴型與音頻的同步性,使用SyncNet[8]的confidence score評(píng)價(jià)( )。

我們與之前方法的對(duì)比圖如下所示:

更多的Ablation和結(jié)果可以參考我們的paper和demo video,這邊展示了在極端情況(大角度,低分辨率)的生成結(jié)果。展示了如果我們把pose code置0,可以實(shí)現(xiàn)轉(zhuǎn)正的說話人臉效果。

總結(jié)
在這個(gè)工作中,我們提出了Pose-Controllable Audio-Visual System (PC-AVS),成功在語音任意說話人的setting下,生成了姿態(tài)可控的結(jié)果。綜合來看我們的方法有以下幾個(gè)特質(zhì)值得關(guān)注:
我們的方法不借助預(yù)定義的結(jié)構(gòu)信息,僅使用一個(gè)圖像重建的pipeline,成功定義了一個(gè)對(duì)人臉pose的表征。 由style-based generator平衡的訓(xùn)練模式讓唇形生成收到更契合的重建約束,從而提升了唇形對(duì)齊的準(zhǔn)確度。 我們實(shí)現(xiàn)了任意說話人臉下的自由人頭姿態(tài)控制,使生成的結(jié)果更加真實(shí)。 我們的模型在極端情況下有很好的魯棒性,并且實(shí)現(xiàn)了轉(zhuǎn)正的說話人臉生成。
參考
推薦閱讀
國(guó)產(chǎn)小眾瀏覽器因屏蔽視頻廣告,被索賠100萬(后續(xù))
年輕人“不講武德”:因看黃片上癮,把網(wǎng)站和786名女主播起訴了
關(guān)于程序員大白
程序員大白是一群哈工大,東北大學(xué),西湖大學(xué)和上海交通大學(xué)的碩士博士運(yùn)營(yíng)維護(hù)的號(hào),大家樂于分享高質(zhì)量文章,喜歡總結(jié)知識(shí),歡迎關(guān)注[程序員大白],大家一起學(xué)習(xí)進(jìn)步!
推薦閱讀
國(guó)產(chǎn)小眾瀏覽器因屏蔽視頻廣告,被索賠100萬(后續(xù))
年輕人“不講武德”:因看黃片上癮,把網(wǎng)站和786名女主播起訴了
關(guān)于程序員大白
程序員大白是一群哈工大,東北大學(xué),西湖大學(xué)和上海交通大學(xué)的碩士博士運(yùn)營(yíng)維護(hù)的號(hào),大家樂于分享高質(zhì)量文章,喜歡總結(jié)知識(shí),歡迎關(guān)注[程序員大白],大家一起學(xué)習(xí)進(jìn)步!

