近日英偉達(dá) (Nvidia)公司發(fā)布了一款基于人工智能 (AI)的Audio2Face應(yīng)用程序,根據(jù)音頻源生成3D 虛擬角色面部動(dòng)畫(huà)并實(shí)現(xiàn)唇音同步,可用于實(shí)時(shí)交互應(yīng)用或作為內(nèi)容創(chuàng)作通道。傳統(tǒng)虛擬角色面部動(dòng)畫(huà)制作需進(jìn)行建模、綁定、動(dòng)畫(huà)等一系列處理,而Audio2Face以.wav或.mp3音頻文件為輸入,直接生成角色面部動(dòng)畫(huà)或幾何緩存,制作人員只需根據(jù)應(yīng)用需求進(jìn)行調(diào)整定制即可使用。
僅由音頻源生成虛擬角色面部動(dòng)畫(huà)和實(shí)現(xiàn)唇音同步的難點(diǎn)在于基于同一音頻源可能生成多種不同的面部動(dòng)畫(huà)。盡管深度卷積神經(jīng)網(wǎng)絡(luò) (DCNN)在各種推理和分類任務(wù)中非常有效,但如果訓(xùn)練數(shù)據(jù)中存在歧義,其往往會(huì)向均值回歸,因此基于深度卷積神經(jīng)網(wǎng)絡(luò)為虛擬角色生成逼真且一致的面部動(dòng)畫(huà)尚存在一定困難。
針對(duì)技術(shù)難點(diǎn),Audio2Face提出了以下解決方案:
(1)設(shè)計(jì)一種深度卷積網(wǎng)絡(luò),用于有效處理人類語(yǔ)音并在不同的虛擬角色上實(shí)施模型泛化。
(2)采用一種新穎方法,使網(wǎng)絡(luò)能夠發(fā)現(xiàn)訓(xùn)練數(shù)據(jù)中不能由音頻單獨(dú)解釋的變化,即明顯的情緒狀態(tài)。
(3)構(gòu)建具有三個(gè)損失項(xiàng)的損失函數(shù) (Loss Function),確保在數(shù)據(jù)高度模糊的情況下,網(wǎng)絡(luò)依然能夠具有時(shí)間穩(wěn)定性和快速響應(yīng)能力。
按照功能劃分,Audio2Face網(wǎng)絡(luò)由頻率分析網(wǎng)絡(luò)(Formant Analysis Network)、發(fā)音網(wǎng)絡(luò) (Articulation Network)和輸出網(wǎng)絡(luò) (Output Network)組成,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 Audio2Face網(wǎng)絡(luò)結(jié)構(gòu)
頻率分析網(wǎng)絡(luò) (Formant Analysis Network)包括一個(gè)固定功能的自相關(guān)分析層 (Fixed-Function Autocorrelation Analysis Layer)和5 個(gè)卷積層。自相關(guān)分析層使用線性預(yù)測(cè)編碼 (Linear Predictive Coding,LPC),以提取音頻的自相關(guān)系數(shù)。自相關(guān)系數(shù)描述了原始音頻信號(hào)共振峰的能量譜分布,可用于表示音頻特征。自相關(guān)層以多幀音頻信號(hào)為輸入,處理后輸出2D 音頻特征圖,2D 音頻特征圖再經(jīng)5個(gè)卷積層對(duì)自相關(guān)系數(shù)進(jìn)行壓縮,學(xué)習(xí)并提取與面部動(dòng)畫(huà)相關(guān)的短時(shí)特征,如語(yǔ)調(diào)、強(qiáng)調(diào)和特定音素等,最終輸出特征向量。發(fā)音網(wǎng)絡(luò)(Articulation Network)使用5 個(gè)卷積層在時(shí)序上提取相鄰序列幀的關(guān)聯(lián)特征,輸出語(yǔ)音特征圖。由于語(yǔ)音不僅與聲音頻率密切相關(guān),還與說(shuō)話者的情緒和類型等特征密切相關(guān),因此發(fā)音網(wǎng)絡(luò)還需輸入通過(guò)訓(xùn)練提取的情緒狀態(tài)。情緒狀態(tài)采用數(shù)據(jù)驅(qū)動(dòng)方法由神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)生成,并被添加到發(fā)音網(wǎng)絡(luò)所有層的激活列表中,成為損失函數(shù)計(jì)算圖的一部分,在誤差反向傳播期間隨著網(wǎng)絡(luò)權(quán)重變化而更新。輸出網(wǎng)絡(luò) (Output Network)通過(guò)兩層全連接層實(shí)現(xiàn)從特征到人臉表情頂點(diǎn)坐標(biāo)的映射,其中第一個(gè)全連接層將語(yǔ)音特征映射到人臉表情系數(shù),第二個(gè)全連接層將表情系數(shù)映射到頂點(diǎn)坐標(biāo)值。
訓(xùn)練數(shù)據(jù)采用專業(yè)動(dòng)作捕捉設(shè)備采集,直接捕捉演員頭骨、肌肉和皮膚的細(xì)微動(dòng)作,通過(guò)多角度重建技術(shù)獲得每幀的3D 人臉數(shù)據(jù),并逐幀對(duì)齊到標(biāo)準(zhǔn)人臉模版,以得到拓?fù)湟恢碌闹饚砬閿?shù)據(jù)。整個(gè)數(shù)據(jù)集包括兩個(gè)演員的表演數(shù)據(jù),訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集分別包括15000幀和2600幀的圖像數(shù)據(jù)。錄制人員通過(guò)不同情緒分別說(shuō)出所有字母和指定劇本,盡可能包含不同字母的發(fā)音,以獲得更多的情緒樣本。
損失函數(shù)(Loss Function)用來(lái)評(píng)價(jià)模型預(yù)測(cè)值和真實(shí)值 (Ground Truth)的差異度,損失函數(shù)值越小,模型性能就越好,不同模型一般使用不同的損失函數(shù)。考慮到訓(xùn)練數(shù)據(jù)的模糊性,Audio2Face設(shè)計(jì)了一個(gè)包含三個(gè)損失項(xiàng)的損失函數(shù):(1)位置項(xiàng) (Position Term):描述了期望輸出與預(yù)測(cè)輸出之間的逐頂點(diǎn)坐標(biāo)值的均方差值,以確保輸出的每個(gè)頂點(diǎn)位置大致正確,位置項(xiàng)只約束了單幀預(yù)測(cè)誤差,并未考慮幀間關(guān)系,容易導(dǎo)致幀間表情動(dòng)作波動(dòng);(2)運(yùn)動(dòng)項(xiàng) (Motion Term):可確保輸出的幀間頂點(diǎn)運(yùn)動(dòng)趨勢(shì)與數(shù)據(jù)集一致,以有效避免表情動(dòng)作抖動(dòng),使表情動(dòng)作更趨平滑;(3)正則項(xiàng)(Regularization Term):用于確保網(wǎng)絡(luò)正確地將短時(shí)效應(yīng)歸因于音頻信號(hào),將長(zhǎng)時(shí)效應(yīng)歸因于情緒狀態(tài),避免學(xué)習(xí)到的情緒狀態(tài)包含與音頻信號(hào)相似的特征。對(duì)于包含多個(gè)損失項(xiàng)的損失函數(shù),主要挑戰(zhàn)在于如何給各個(gè)損失項(xiàng)確定適宜的權(quán)重值,以實(shí)現(xiàn)整體最優(yōu)并區(qū)分重要性,為此Audio2Face對(duì)每一項(xiàng)都進(jìn)行了歸一化處理,以避免額外增加權(quán)重。
2019年浙江大學(xué)和網(wǎng)易伏羲AI實(shí)驗(yàn)室曾發(fā)表了一篇由音頻源智能生成虛擬角色面部動(dòng)畫(huà)的論文,該方法在網(wǎng)絡(luò)輸入、網(wǎng)絡(luò)結(jié)構(gòu)、損失函數(shù)上均與Audio2Face有所不同。關(guān)于網(wǎng)絡(luò)輸入,該論文通過(guò)對(duì)梅爾頻譜進(jìn)行倒譜分析得到梅爾頻率倒譜系數(shù)(Mel Frequency C epstrum Coefficient,MFCC),將其作為聲學(xué)特征輸入網(wǎng)絡(luò)。該論文也對(duì)MFCC和線性預(yù)測(cè)編碼 (LPC)進(jìn)行了分析比較,考慮到訓(xùn)練數(shù)據(jù)特點(diǎn),最終選擇了MFCC。
關(guān)于網(wǎng)絡(luò)結(jié)構(gòu),該神經(jīng)網(wǎng)絡(luò)由輸入層、長(zhǎng)短時(shí)記憶層 (Long Short-Term Memory Layer,LSTM 層)、注意力層(Attention Layer)和輸出層組成,如圖2所示。該神經(jīng)網(wǎng)絡(luò)的特點(diǎn)是LSTM 層包含兩個(gè)雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò) (Bidirectional LSTM),LSTM 層將音頻特征作為輸入提取高級(jí)語(yǔ)義信息并輸出到注意力層學(xué)習(xí)注意力權(quán)重。這種結(jié)構(gòu)使網(wǎng)絡(luò)能夠記憶以往輸入的音頻特征,并鑒別可對(duì)當(dāng)前動(dòng)畫(huà)幀產(chǎn)生影響的音頻特征。
圖2 浙大論文所采用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
關(guān)于損失函數(shù),該論文也采用了擁有多個(gè)損失項(xiàng)的損失函數(shù),該損失函數(shù)包括目標(biāo)損失和平滑損失,前者用于確保每個(gè)輸出的BlendShape角色表情參數(shù)基本正確,后者用于保證在訓(xùn)練網(wǎng)絡(luò)時(shí)的時(shí)間穩(wěn)定性和幀間平滑度。以上兩項(xiàng)損失的作用與Audio2Face損失函數(shù)的位置項(xiàng)、運(yùn)動(dòng)項(xiàng)大致相同。總之,浙大論文與Audio2Face的主要區(qū)別在于采用不同方法來(lái)解決同一音頻源生成虛擬角色面部動(dòng)畫(huà)不一致的問(wèn)題,其使用注意力層來(lái)鑒別可對(duì)動(dòng)畫(huà)產(chǎn)生影響的音頻特征,Audio2Face則引入情緒狀態(tài)并配合損失函數(shù)正則項(xiàng),通過(guò)情緒狀態(tài)特征來(lái)確定最終的輸出動(dòng)畫(huà)。
上述兩種方法由于角色的眨眼與音頻之間無(wú)任何關(guān)聯(lián)性,無(wú)法準(zhǔn)確地模擬角色眨眼和眼球運(yùn)動(dòng),此外浙大論文中所述模型尚無(wú)法生成高質(zhì)量的面部圖像。Audio2Face目前仍處于公開(kāi)測(cè)試階段,應(yīng)用案例很少,其在升級(jí)版中將允許用戶直接通過(guò)訓(xùn)練參數(shù)調(diào)整輸出結(jié)果或通過(guò)組合不同表情以實(shí)現(xiàn)復(fù)雜效果,因而制作人員可省去建模、綁定等步驟,根據(jù)實(shí)際需求智能生成音頻對(duì)應(yīng)的面部動(dòng)畫(huà)。總之,根據(jù)現(xiàn)有功能實(shí)現(xiàn)和未來(lái)擴(kuò)展升級(jí),Audio2Face有望能夠簡(jiǎn)化虛擬角色面部動(dòng)畫(huà)制作流程,提升虛擬角色面部動(dòng)畫(huà)制作效率,有效服務(wù)影視虛擬角色動(dòng)畫(huà)的智能化制作。