劉奕,金小峰
(延邊大學 工學院,吉林 延吉 133002)
人臉動畫技術是一種與指定輸入的語音具有一致性且逼真的虛擬人臉動畫合成技術,目前該技術被廣泛應用在電影、游戲等娛樂產(chǎn)業(yè)[1].研究證明,人對視聽雙模態(tài)輸入獲取的信息比單一模態(tài)多,且更能理解感知對象,因此人臉動畫技術在人機交互等計算機技術領域也具有廣闊的應用前景[2].目前,在人臉動畫技術的應用中,仍需要解決的兩個主要問題是:一是語音特征與人臉特征之間的映射方法,二是針對指定語音的人臉視頻幀的生成與視頻合成方法.其中,映射方法是人臉動畫合成的前提與基礎,但因語音和人臉特征為異質的模態(tài)信息,因此語音和人臉特征之間對應的唯一標準是嚴格的時序對齊關系.Luo等[3]提出了一種基于雙高斯混合模型(Gaussian mixture model,GMM)的音頻到視覺的映射模型,初步獲取了視覺與音頻特征之間的映射關系.趙暉[4]采用多階隱馬爾可夫模型(hidden Markov model,HMM)在雙模態(tài)語料中對視素單元與語音單元進行了建模并建立了兩者的映射模型,解決了可視語音合成中逼真度低的問題.張賀等[5]提出了一種基于主動外觀模型(active appearance model,AAM)特征和異步發(fā)音特征的動態(tài)貝葉斯模型(dynamic Bayesian network,DBN)的人臉視頻合成方法,該方法可有效改善原視頻人臉唇部和音頻不同步的現(xiàn)象.S.Taylor等[6]采用深度神經(jīng)網(wǎng)絡(deep neural network,DNN)實現(xiàn)了音頻特征到人臉特征的映射,并通過后期處理得到了高質量的人臉視頻幀.肖磊[2]采用基于長短時記憶網(wǎng)絡(long short -term memory,LSTM)得到了一種音頻特征到人臉特征的映射模型,該模型得到的視頻流暢、逼真.陽珊等[7]提出了一種基于雙向長短時記憶網(wǎng)絡(bi -directional long short term memory,Bi -LSTM)的人臉和語音特征映射模型,但該方法在參數(shù)化的合成過程中由于引入了PCA的方法對參數(shù)進行降維,因此合成出的面部圖像在細節(jié)方面存在不足.本文基于 Bi -LSTM 方法,提出一種采用人臉約束局部模型(constrained local model,CLM)的面部特征與MFCC語音特征的映射模型,并通過測試驗證該模型的有效性和準確性.
目前,定位面部特征點的主要方法包括基于可變形模板的定位方法[8]、點分布算法[9]、圖算法[10]等,這些方法都是基于主動外觀模型(AAM)或主動形狀模型(active shape model,ASM)對特征點進行定位.2006年,D.Cristinacce等[11]提出了一種采用有約束的局部模型的CLM人臉特征提取方法,因該方法融合了AAM和ASM兩個模型的優(yōu)點,具有更高的檢測準確性,因此本文采用該方法對人臉面部特征進行提取.圖1是68個CLM特征點的空間分布圖.
圖1 68個CLM特征點的空間分布圖
目前,常用的頻譜特征有梅爾頻率倒譜系數(shù)(Mel frequency cepstrum coefficients,MFCC)和線性預測倒譜系數(shù)(linear prediction cepstrum coefficient,LPCC)等[12].其中靜態(tài)的13維MFCC參數(shù)雖然能夠感知不同的語音頻帶,但是不能描述語音信號的時變特性,即靜態(tài)的MFCC參數(shù)無法體現(xiàn)相鄰幀之間和幀內部參數(shù)之間的動態(tài)相關性.為此,J.Ahmad等[13]提出了一種改進算法,即在靜態(tài)的MFCC參數(shù)上通過增加一階和二階差分形成了一個39維的MFCC參數(shù)組.本文采用文獻[13]中的改進算法提取語音的MFCC特征參數(shù).
由于LSTM不受固定輸入序列長度的限制,而且還能靈活地根據(jù)需要選擇保留的信息或者遺忘的信息,因此LSTM在處理不等長的序列化數(shù)據(jù)時具有明顯的優(yōu)勢[14].LSTM的循環(huán)體由遺忘門、輸入門和輸出門構成,如圖2所示.通過遺忘門可使信息有選擇性地改變網(wǎng)絡中每個時刻的輸出狀態(tài),從而降低損失函數(shù)值.圖2中Ct表示細胞狀態(tài),ht -1和ht分別表示不同時刻的隱層狀態(tài).每個門結構都包含一個全連接層及其sigmoid激活函數(shù)(圖2中標記為σ),其中sigmoid函數(shù)輸出的是一個0到1之間的值(不包括0和1),該值表示當前輸入結構中的信息量.
圖2 LSTM模型的循環(huán)體結構
在LSTM中,遺忘門將前一時刻隱層狀態(tài)ht -1和當前時刻的輸入xt經(jīng)σ輸出ft,ft的每一維值介于(0,1)區(qū)間,因此遺忘門能夠決定從細胞狀態(tài)中丟棄哪些信息.遺忘門的計算公式為:
ft=σ(Wf·[ht -1,xt]+bf),
(1)
(2)
其中,xt表示當前時刻輸入的音頻特征向量,ht -1表示上一個時刻隱藏層的狀態(tài).
輸入門it決定哪些輸入層傳入的信息可以被輸入到細胞狀態(tài)Ct里.細胞根據(jù)由輸入門輸出的信息創(chuàng)建一個通過tanh層輸出的新候選值向量zt,此過程可表示為:
it=σ(Wi·[ht -1,xt]+bi),
(3)
zt=tanh(Wz·[ht -1,xt]+bz),
(4)
(5)
其中,由tanh層輸出的候選值向量zt和it決定哪些值需要更新.
更新細胞狀態(tài)Ct的步驟為:首先將前一時刻的Ct -1和ft做Hadamard乘法操作(以此丟棄細胞狀態(tài)中不需要的信息),然后加上it和zt的hadamard乘積.上述過程可表示為
Ct=ft?Ct -1+it?zt,
(6)
其中,?表示Hadamard乘法操作.
輸出門Ot確定輸出什么值,其計算公式為
Ot=σ(Wo·[ht -1,xt]+bo).
(7)
t時刻的ht由公式ht=Ot?tanh(Ct)計算得到.上述公式中,Wf、Wi、Wz、Wo是可學習的參數(shù)矩陣,bf、bi、bz、bo是可學習的偏置.
由圖2可以看出,LSTM通過遺忘門忘掉過去的一些歷史信息,然后再通過輸入門決定當前時刻的信息是否被添加到細胞狀態(tài)中,最后根據(jù)當前時刻的細胞狀態(tài)進行選擇性的輸出.LSTM模型是假設當前時刻的輸出與之前的序列有關,即信息是通過隱藏狀態(tài)從前向后傳遞的,但由于當前時刻的輸出也有可能與后續(xù)的序列有關,因此有學者提出了雙向LSTM模型(Bi -LSTM).Bi -LSTM 模型由一條前向和反向的循環(huán)神經(jīng)網(wǎng)絡組成,即每一時刻的輸出由前向和后向的神經(jīng)網(wǎng)絡在該時刻的輸出拼接組成[15],因此Bi -LSTM模型更符合描述視頻幀和語音幀序列的前后時序相關性.Bi -LSTM 模型的結構如圖3所示.
圖3 Bi -LSTM模型的網(wǎng)絡結構
本文提出的音頻特征與人臉特征的映射模型的學習算法如下:
輸入:視頻訓練樣本,Bi -LSTM 網(wǎng)絡參數(shù)初值,最大迭代次數(shù)
輸出:音頻特征與人臉特征的映射模型
Step 1 提取語音MFCC特征參數(shù).首先從視頻文件中分離出音頻,然后提取語音的MFCC特征參數(shù),并將提取的音頻MFCC特征參數(shù)序列作為Bi -LSTM網(wǎng)絡的輸入.分幀時,窗類型為矩形窗,窗長為15 ms,窗移為10 ms.
Step 2 提取視頻幀中的人臉特征點.由于音頻分幀與視頻幀率不同,因此采用插值的方式來獲取與音頻幀數(shù)相同的視頻幀數(shù).
Step 3 變換人臉特征點坐標.將檢出的人臉區(qū)域作為新的坐標變換空間,然后將提取的人臉特征點坐標變換到新的空間得到新坐標.變換后的新坐標作為Bi -LSTM的輸出期望.
Step 4 訓練神經(jīng)網(wǎng)絡.視頻訓練樣本經(jīng)Step 1—Step 3步驟后即可得到人臉和語音特征的序列對.利用 Bi -LSTM 網(wǎng)絡訓練這些序列對后即可得到擬合誤差最小的映射模型,即Bi -LSTM網(wǎng)絡的參數(shù).
音頻特征和人臉關鍵點的映射模型結構如圖4 所示.
圖4 音頻特征和人臉關鍵點的映射模型結構
采用人臉特征點坐標的誤差平方和(SSE)作為本文算法映射模型的損失函數(shù),SSE的計算公式為
(8)
計算單幀預測是否正確的公式為
(9)
(10)
其中,N是測試集的總幀數(shù).
實驗所用的數(shù)據(jù)集來源于奧巴馬時任美國總統(tǒng)期間的每周電臺演講視頻,每期視頻時長為2~4 min.由于很多期的內容是奧巴馬外出考察或接受記者采訪時錄制的視頻,因此部分視頻中會出現(xiàn)沒有人臉或多個人臉的情況.剔除沒有人臉或出現(xiàn)多個人臉的視頻后,本文實際選取了其中212個視頻作為樣本(總時長約1 000 min),并將樣本集劃分為訓練集、驗證集和測試集.
3.2.1LSTM和 Bi -LSTM 映射算法的準確率對比 實驗過程中LSTM和Bi -LSTM算法采用相同的測試集數(shù)據(jù),并按式(10)計算準確率.計算時采用的初始網(wǎng)絡參數(shù)如表1所示,得到的結果見表2.
表1 LSTM和Bi -LSTM算法的初始網(wǎng)絡參數(shù)
表2 不同閾值下LSTM和Bi -LSTM算法的準確率
從表2可以看出,在不同閾值下 Bi -LSTM 的準確率均優(yōu)于LSTM的準確率,因此本文將Bi -LSTM作為優(yōu)選網(wǎng)絡結構.另外,從表2還可以看出,Bi -LSTM 和LSTM的預測準確率均隨閾值的升高而提高.因閾值越高預測值會更加偏離真實值,進而導致合成的人臉動畫幀的逼真度下降,因此本文對最佳閾值的選取進行了實驗.經(jīng)實驗發(fā)現(xiàn),當閾值θ=25時生成的人臉動畫視覺效果最佳.
3.2.2Bi -LSTM網(wǎng)絡參數(shù)的調優(yōu) 調優(yōu)參數(shù)包括訓練次數(shù)、隱單元個數(shù)、批處理大小、優(yōu)化器以及正則化等,調優(yōu)步驟為:
1)選取最優(yōu)迭代次數(shù).迭代次數(shù)分別取1、10、20、50、100、200、300進行訓練,結果如表3所示.從表3可以看出,當最大迭代次數(shù)為100和200時,模型的準確率最高(0.795),因此本文選取100次作為最優(yōu)迭代次數(shù).
表3 不同最大迭代次數(shù)下的模型準確率
2)選取最優(yōu)隱單元個數(shù).隱單元個數(shù)決定模型的復雜度,其數(shù)量越多網(wǎng)絡越復雜.在最大迭代次數(shù)為100的情況下,分別取32、64、128、256、512個隱單元數(shù)量進行訓練,結果如表4所示.從表4可以看出,隱單元數(shù)量超過256后模型的準確率開始衰減,因此本文選取256作為最優(yōu)隱單元數(shù)量.
表4 不同隱單元數(shù)量下的模型準確率
3) 選取最佳批處理大小.分別取8、16、32、64、128、256、512等不同的批處理大小進行訓練,結果如表5和圖5所示.從表5和圖5可以看出,當批處理大小為128時模型的準確率最高,因此本文選取128作為最優(yōu)的批處理大小.
表5 不同批處理大小下的模型準確率
圖5 不同批處理大小下的模型準確率
4)選取最優(yōu)優(yōu)化器.在不同迭代次數(shù)下,計算SGD、RMSprop和Adam等3種典型的優(yōu)化器的準確率,結果如表6所示.由表6可以看出,Adam的準確率始終優(yōu)于其他兩種優(yōu)化器,并在迭代次數(shù)為100時達到最高的準確率(0.885),因此本文選取Adlam作為最優(yōu)優(yōu)化器.
表6 不同迭代次數(shù)下各優(yōu)化器的準確率
5)選取最優(yōu)正則化方法.No -Regular、L1、L2和Combine -Regular等4種正則化方法的模型準確率如表7.由表7可以看出,Combine -Regular方法的準確率最高(0.895),因此本文采用Combine -Regular作為最佳的正則化方法.
表7 不同正則方法下的模型準確率
研究表明,本文提出的基于 Bi -LSTM 模型的面部特征與語音特征的映射模型在參數(shù)未調優(yōu)且閾值取25的條件下,其準確率(0.790)明顯優(yōu)于LSTM模型的準確率(0.765);對本文提出的映射模型參數(shù)進行優(yōu)化后,其準確率達到0.895:因此,本文提出的映射模型對人臉動畫合成具有更好的實際應用價值.在今后的研究中我們擬將本文方法與高逼真度的人臉合成方法相結合,以此設計和開發(fā)基于語音驅動的人臉動畫合成系統(tǒng).