田裕,景恩彪
(華北理工大學(xué)人工智能學(xué)院,唐山 063210)
隨著生成式對抗網(wǎng)絡(luò)[1]的技術(shù)發(fā)展,計(jì)算機(jī)對圖像、視頻內(nèi)容的理解取得了重大性的突破,同時(shí)這也引起在計(jì)算機(jī)圖形學(xué)領(lǐng)域中一部分學(xué)者的關(guān)注。這種情況造成計(jì)算機(jī)視覺不再全面專注于對圖像的理解,例如圖片的分類、分割等操作,轉(zhuǎn)而融合相反的圖像操作方向,圖像合成。這也打開人們對圖像生成領(lǐng)域研究的大門,圖像合成是指將圖像理解的信息:噪聲、標(biāo)簽,轉(zhuǎn)換成圖像的過程。其中人臉圖像是在計(jì)算機(jī)視覺中應(yīng)用最廣泛的圖像類型之一,人臉動畫技術(shù)又在計(jì)算機(jī)圖形學(xué)的動畫領(lǐng)域發(fā)展了數(shù)十年成為其中的關(guān)鍵技術(shù)之一,所以人臉圖像合成技術(shù)普遍用于社會的各個(gè)領(lǐng)域。
人臉之所以被廣泛研究主要因?yàn)槿四樖菂^(qū)分不同的人類個(gè)體之間特征的突出表現(xiàn),并且人臉圖像在計(jì)算機(jī)里面的表示又是一種常見的矩陣數(shù)據(jù)類型,在社會中人臉因有獨(dú)特的辯識性而在社會互動中具有特別重要的地位[2]。應(yīng)運(yùn)而生人臉在視覺領(lǐng)域有了以下應(yīng)用,如人臉檢測、人臉特征識別、人臉情感判斷分析、人臉影像以及人臉面部動畫等[3]。
最近在人臉動畫生成領(lǐng)域中出現(xiàn)了一項(xiàng)生成人臉講話動作的研究,其工作內(nèi)容是根據(jù)不同的語音片段來改變不同身份特征人物的嘴部動作,呈現(xiàn)出特定人物在描述該語音片段內(nèi)容的講話視頻。該方法致力于解決語音到視頻的轉(zhuǎn)換問題,可以幫助聽力受損的用戶使用唇讀技術(shù)識別語音內(nèi)容,同時(shí)在電影、攝影、娛樂等一些感興趣的領(lǐng)域具有很大的應(yīng)用潛力。
目前,盡管對人臉合成技術(shù)進(jìn)行了廣泛研究,但是只有少數(shù)學(xué)者研究過講話人臉動畫生成,其研究思路大體可分為四個(gè)技術(shù)層面:其一,通過裁剪或生成與音頻特征映射相關(guān)的嘴部動作模型或序列,與現(xiàn)有視頻進(jìn)行拼接生成固定身份特征的面部動畫模型[4-5]。其二,直接用音頻片段去生成人臉視頻,此方法依靠大量數(shù)據(jù)進(jìn)行訓(xùn)練,因?yàn)槟P蜎]有學(xué)習(xí)到固定的生成人臉主題,所以生成效果模糊[6]。其三,排除時(shí)間對人臉動畫生成序列的影響,通過原始視頻幀提取圖像特征,使另一張靜止圖像去擬合原始視頻幀的深層嘴部動作變化,最后計(jì)算生成視頻幀和原始視頻幀起始序列位置,剪切音頻序列片段與生成動畫拼接合成一個(gè)新的人臉視頻[7-8]。這種擬合其他圖像、視頻的方法被稱為圖像到圖像的翻譯和圖像到視頻的翻譯。其四,通過對音頻序列進(jìn)行特征提取并與圖像特征映射生成音頻與身份語義相耦合的視頻幀序列[9]。
綜上所述,如何實(shí)現(xiàn)生成講話人臉模型是值得不斷探索的問題。
近幾年,學(xué)者們從不同角度提出了使用音頻或者文本做為輸入,合成講話人臉視頻的技術(shù)方法。從音頻轉(zhuǎn)換成視頻存在一系列重要的實(shí)際應(yīng)用。例如,從音頻生成高質(zhì)量視頻可以顯著減少視頻編碼、傳輸所需的帶寬量,這種帶寬量占互聯(lián)網(wǎng)傳輸帶寬的很大一部分。另外從音頻轉(zhuǎn)換成視頻還可以幫助一些聽力受損的人實(shí)現(xiàn)唇讀來獲取音頻信息。
在2017年,Suwajanakorn等人提出了一篇關(guān)于合成奧巴馬演講視頻的文章,受到了社會各界的廣泛關(guān)注[4]。該文章闡述了一種使用人臉識別技術(shù)學(xué)習(xí)人臉特征的方法。他們構(gòu)造了一個(gè)身份提取和身份消除的自動編碼器(D2AE)模型,該模型采用雙流線索設(shè)計(jì)并長時(shí)間使用奧巴馬總統(tǒng)的演講視頻進(jìn)行訓(xùn)練,使模型學(xué)習(xí)到用于欺騙驗(yàn)證系統(tǒng)的身份消除特征和身份提取特征,這兩種解糾纏特征不但可以表示人物的身份和屬性特征,而且可以完整地表示輸入圖像。模型最后通過一個(gè)LSTM神經(jīng)網(wǎng)絡(luò)學(xué)會了從原始音頻特征到嘴巴形狀的映射。即給定特定身份人物每個(gè)瞬間的嘴巴形狀,合成高質(zhì)量的嘴巴紋理特征,并將其與適當(dāng)?shù)?D姿態(tài)匹配合成,以改變他在目標(biāo)視頻中嘴部的運(yùn)動變化來匹配輸入的音頻軌道從而構(gòu)建視頻。這篇文章所使用的方法與Face2Face類似。
Face2Face[5]實(shí)現(xiàn)的是實(shí)時(shí)人臉重建方法——單目標(biāo)視頻序列重建。其中模型輸入的源序列也是一個(gè)單目視頻流,F(xiàn)ace2Face通過一個(gè)普通的網(wǎng)絡(luò)攝像頭對人臉面部表情進(jìn)行實(shí)時(shí)捕獲進(jìn)行處理,然后把捕捉到的面部表情或者嘴部動作拼接融合到其他身份特征的目標(biāo)視頻當(dāng)中。與上文所提的D2AE不同的是,D2AE是使用音頻直接合成嘴部形狀在進(jìn)行拼接融合。
Duarte等人提出了一種只使用音頻生成人臉面部視頻的方法[6],但結(jié)果比較模糊。Chuang等人提出了一種Speech2Vid模型[7],采用自動編碼器結(jié)構(gòu)學(xué)習(xí)音頻特征和視頻數(shù)據(jù)之間的對應(yīng)關(guān)系,并基于音頻以圖像到圖像的翻譯的方法對大量數(shù)據(jù)進(jìn)行訓(xùn)練,但結(jié)果缺乏連續(xù)性。Wang等人構(gòu)建了一個(gè)Vid2Vid模型[8],該模型在不對時(shí)間建模的前提下,以圖像到圖像翻譯的方法生成一個(gè)連續(xù)的視頻序列?;诖薙ong Yang等人提出使用條件遞歸的方式將圖像和音頻特征合并到循環(huán)單元中,通過耦合時(shí)間依賴生成人臉動畫[9]。
Fan等人介紹了一種雙向循環(huán)神經(jīng)網(wǎng)絡(luò)生成視頻幀的方法[10],該方法通過雙向LSTM重新定位人臉下半部分,并從不同音頻文件中選擇與目標(biāo)視頻生成嘴部區(qū)域相同的音頻源進(jìn)行拼接,因此它需要大量具有唯一目標(biāo)標(biāo)識視頻幀進(jìn)行選擇。同樣的Charles等人使用語音標(biāo)簽從口腔圖像字典中選擇視頻幀[11]。Wan等人提出了一種通過主動外觀模型合成講話者面部的方法[12],該方法能夠控制講話者面部的情緒,但受限于系統(tǒng)訓(xùn)練的唯一模型。Garrido等人通過把配音視頻里的講話者的嘴巴形狀轉(zhuǎn)移到目標(biāo)視頻中來合成講話者的面部[13],但是這種方法需要配音視頻里的人講出與模型需要的同樣的語音片段。Karras等人提出了一種通過音頻的實(shí)時(shí)輸入以低延遲方法驅(qū)動端到端模型生成3D面部動畫的方法[14]。
Oh等人提出了一個(gè)Speech2Face模型[15],其模型通過大量的視頻訓(xùn)練學(xué)習(xí)到可以只通過音頻輸入來生成一個(gè)模糊的面部模型。Hang Zhou等人研究發(fā)現(xiàn)講話的面部序列實(shí)際上是由主題相關(guān)信息和講話相關(guān)的信息共同構(gòu)成,他們通過對抗訓(xùn)練解開音頻與視頻的糾纏,生成出任意面部動畫模型[16],但需要后期對視頻進(jìn)行處理。
講話人臉合成技術(shù)是一種多模態(tài)生成技術(shù)[17],一種方言可以理解為語言的一個(gè)模態(tài),一段語音、一張圖像都可以稱為一個(gè)模態(tài)。音頻到視頻是一種模態(tài)轉(zhuǎn)換,圖像到視頻是一種模態(tài)轉(zhuǎn)換,這種模態(tài)的轉(zhuǎn)移方法稱為多模態(tài)生成,指計(jì)算機(jī)可以理解和生成不同模態(tài)的數(shù)據(jù)。
NVIDIA公司提出的Vid2Vid[8]模型是一種基于圖像翻譯的視頻生成模型,Vid2Vid的工作是對圖像提取潛在語義圖并使用生成式對抗網(wǎng)絡(luò)來生成視頻。Vid2Vid模型訓(xùn)練了兩個(gè)生成網(wǎng)絡(luò)和兩個(gè)判別網(wǎng)絡(luò),生成網(wǎng)絡(luò)使用圖像的光流信息作為圖像的光流約束,使生成網(wǎng)絡(luò)G1能夠生成較低分辨圖像和光流估計(jì)圖,然后使用上一時(shí)刻圖像與光流估計(jì)圖合并生成扭曲圖,最后利用扭曲圖和低分辨率圖像通過生成網(wǎng)絡(luò)G2生成高清圖像,循環(huán)往復(fù)生成序列視頻幀,合成視頻動畫。判別網(wǎng)絡(luò)在視頻和圖像兩種不同粒度需求上對生成的視頻幀進(jìn)行判斷,從而擬合模型生成的視頻幀的數(shù)據(jù)分布。Vid2Vid模型結(jié)構(gòu)如下:模型生成的視頻幀的數(shù)據(jù)分布。Vid2Vid模型結(jié)構(gòu)如圖1所示。
圖1 Vid2Vid模型架構(gòu)圖
模型的序列化生成公式如下:
(1)
公式前半部分是計(jì)算上一時(shí)刻生成視頻幀的扭曲像素,后半部分是生成新的像素。
模型定義的損失函數(shù)為:
(2)
其中LI表示圖像條件判別網(wǎng)絡(luò)DI的損失;LV表示視頻判別網(wǎng)絡(luò)DV的損失;LW表示光流圖的估計(jì)損失;λW表示光流圖的估計(jì)損失的超參數(shù),λW=5。
(3)
同樣的,LV的具體定義如下:
(4)
模型的光流損失LW包含兩個(gè)部分,一個(gè)部分為真實(shí)圖像與光流圖之間的誤差,另一個(gè)部分是前一視頻幀生成的扭曲圖到下一生成視頻幀之間的損失,公式如下:
(5)
語音合成講話人臉動畫的方法是只使用語音作為模型的輸入來驅(qū)動模型生成視頻動畫?,F(xiàn)如今通過音頻驅(qū)動3D面部動畫的方法已經(jīng)被廣泛的應(yīng)用,并且可以實(shí)現(xiàn)逼真的仿人效果。但是目前沒有通過音頻直接生成逼真人臉的方法。由Duarte等人提出的Wav2Pix[6]模型,可以生成一個(gè)可見的面部人臉動畫。首先使用了大量從YouTube收集的博主講話視頻,對這些視頻進(jìn)行音頻、面部裁剪,將音頻轉(zhuǎn)換成波形文件,重采樣16KHz,對視頻幀進(jìn)行人臉檢測,以確保圖像包含人臉主題。然后通過語音編碼器對音頻進(jìn)行特征提取,將提取的特征編碼e作為輸入來生成圖像。其次使用剪裁到的視頻幀圖像輸入到判別網(wǎng)絡(luò)中,對判別網(wǎng)絡(luò)進(jìn)行優(yōu)化,使模型的生成網(wǎng)絡(luò)可以生成近似擬合真實(shí)的視頻幀的數(shù)據(jù)分布特征。模型架構(gòu)如圖2所示。
圖2 Wav2Pix模型架構(gòu)圖
根據(jù)Wav2Pix架構(gòu)圖看出,綠色代表音頻編碼向量,粉色為卷積、反卷積操作,同時(shí)音頻編碼嵌入到判別網(wǎng)絡(luò)中作為判別網(wǎng)絡(luò)的條件。Wav2Pix模型使用了LSGAN相關(guān)損失,以最小二乘代替了原始GAN中相對熵的評判指標(biāo)。模型的損失函數(shù)為:
(6)
(7)
與直接語音生成講話人臉動畫不同的是,添加一個(gè)包含身份特征模態(tài)的隱變量對于固定生成人臉的主題更加實(shí)用,大多數(shù)的做法是使用人臉圖像作為模型的一個(gè)輸入,來限制模型生成特定該輸入的講話人臉動畫。
由Chuang等人提出的Speech2Vid模型[7],僅使用音頻語音段和目標(biāo)身份的面部模型來生成講話人臉視頻。該模型通過編碼器-解碼器結(jié)構(gòu)對音頻和圖像特征進(jìn)行提取和還原,生成一個(gè)區(qū)別于輸入圖像嘴部運(yùn)動變化的其他面部動畫。模型的結(jié)構(gòu)如圖3所示。
圖3 Speech2Vid模型架構(gòu)圖
Speech2Vid模型對生成的預(yù)測人臉圖像和真實(shí)的圖像使用了L1損失進(jìn)行約束,公式為:
(8)
本文詳細(xì)介紹了基于生成式對抗網(wǎng)絡(luò)的講話人臉合成技術(shù)的一些相關(guān)研究,然后介紹了三個(gè)講話人臉合成方法,這三個(gè)方法都有著典型的生成方法,能為接下來的研究提供重要基礎(chǔ)。講話人臉合成技術(shù)發(fā)展到目前階段,仍存在一些技術(shù)上的瓶頸,如圖像生成質(zhì)量分辨率較低、輸入音頻的語義無法精確地跨模態(tài)轉(zhuǎn)換為圖像的表示。