?

基于語音驅動的三維人臉動畫技術綜述①

2022-11-07 09:07劉賢梅
計算機系統應用 2022年10期
關鍵詞:人臉建模語音

劉賢梅,劉 露,賈 迪,趙 婭,田 楓

(東北石油大學 計算機與信息技術學院,大慶 163318)

1 引言

近年來,三維數字虛擬人正逐漸走入大眾視野,如2021年登上春晚舞臺的虛擬偶像“洛天依”,央視推出的虛擬主持人“小C”等.雖然目前大多三維數字虛擬人模型精美、動作逼真,但面部動畫的合成嚴重依賴人為設定,使用動作捕捉設備[1]、三維掃描設備[2]、單攝像頭設備[3]等硬件設備的表演驅動方法,因設備價格昂貴、獲取和處理數據過程復雜、受面部遮擋、光照、姿態的影響較大等原因限制了應用場景.由于語音獲取方便,受外界影響較小,因此有學者提出使用語音驅動的方法合成三維人臉動畫,提高用戶的體驗感及交互的友好性.

人對面部的細微變化敏感,面部運動與語音不一致,會使用戶產生違和感.語音驅動三維人臉動畫主要涉及語音到視覺的映射和三維人臉動畫合成兩個關鍵技術問題.語音到視覺的映射技術是從語音中預測視覺信息,通過尋找語音與視覺信息之間的復雜聯系,建立非線性映射模型,得到與語音保持同步的嘴部運動信息和面部表情信息.三維人臉動畫合成通過視覺信息使靜態人臉模型發生形變,實現眼睛、眉毛、嘴唇及面部其他部位的運動,完成聲畫同步的三維人臉動畫.語音驅動三維人臉動畫應用領域廣泛,在服務行業實現虛擬客服、虛擬助手,提高用戶服務體驗; 在影視行業實現自動化真實感虛擬角色動畫制作,減少人工成本,提高生產效率; 在教育行業實現智慧教室,促進學生個性化學習; 在娛樂行業實現虛擬偶像、游戲制作,提高玩家趣味性.

本文將從語音-視覺映射、三維人臉動畫合成,以及語音驅動三維人臉動畫效果的評價3 個方面對已有的研究進行闡述,分析各種方法的優缺點,對三維人臉動畫的未來發展方向做出展望.

2 語音-視覺映射技術

2.1 音-視素匹配

音素是語音中的最小單位,一個發音動作構成一個音素,通常使用語音識別技術提取語音中的音素.視素(viseme)[4]起源于視覺(visual)和音素(phoneme)兩個單詞,表示音素對應的面部動作模型.

音-視素匹配分為傳統機器學習方法和深度學習方法.傳統機器學習方法方面,Hofer[5]提出多階段隱馬爾科夫模型(multi-stream hidden Markov model,MHMM),通過隱馬爾科夫模型(hidden Markov model,HMM)根據語音特征流生成相應的視素序列,并送入基于軌跡的HMM,生成平滑的唇部運動軌跡.深度學習方法方面,Zhou 等人[6]提出VisemeNet 模型,使用三級長短期記憶網絡(long short-term memory,LSTM)完成音素組的提取、面部標志幾何位置的預測、下顎與嘴部的權重預測,實現語音可視化.

音-視素匹配依賴語音識別技術,忽略了語音中語氣變化、語調頓挫等情感信息,在虛擬人語音交互時缺乏生動的面部表情.

2.2 音-視覺參數映射

音-視覺參數映射通過建立語音特征和視覺參數序列的映射模型,完成語音可視化.

2.2.1 語音特征提取

語音特征提取主要分為手工提取方法和深度學習提取方法,手工提取方法主要提取語音低級描述符(low level descriptions,LLDs),采用全局統計的方式(如方差、極值、極值范圍等)表征語音特征.LLDs 分類如表1 所示.

表1 LLDs 分類

Englebienne 等人[7]使用梅爾倒譜系數(Mel-frequency cepstral coefficients,MFCC)提取語音的語義和韻律信息.Xie 等人[8]在MFCC 中加入一階導數和二階導數,描述語音的動態信息.Bandela 等人[9]將Teager 能量算子和MFCC 融合形成新的特征,用于識別語音信號的情緒.目前常用的LLDs 提取的開源工具為Eyben 等人[10,11]開發的OpenSMILE 和OpenEAR,可批量自動提取包括時長、基頻、能量和MFCC 等常用的聲學特征.Ramanarayanan 等人[12]使用OpenSMILE 從音頻中提取短時特征,用于識別語音中的副語言信息.

由于手工定義的LLDs 不能完整描述語音信號,因此近年來學者嘗試使用深度學習的方法從LLDs 中進一步提取語音高級特征或者直接處理原始語音.常用的方法有深度神經網絡(deep neural networks,DNN)、卷積神經網絡(convolutional neural networks,CNN)、循環神經網絡(recurrent neural network,RNN)等.Zhang 等人[13]設計一個從大量原始數據中學習幀級說話者特征的DNN 模型,此模型在短的語音段中獲得良好的識別準確率.Mustaqeem 等人[14]采用CNN 從語譜圖中提取語音特征,改善MFCC 對語音高頻信息識別準確率不高的問題.Wu 等人[15]采用兩個循環鏈接的膠囊網絡提取特征,增強語音的時空信息表達能力.Zhao 等人[16]采用局部特征學習塊,從MFCC 中提取局部特征,然后使用LSTM 進一步提取語音全局的上下文特征.

2.2.2 視覺參數定義

Parke[17]將視覺參數分為形狀參數和表情參數,形狀參數控制個性化人臉細節,表情參數控制人臉表情.

形狀控制參數使用三維坐標點(x,y,z)表示.倪虎[18]定義8 個三維特征點表示三維人臉嘴部運動.文獻[19-21]使用三維人臉模型中的全部頂點坐標表示面部及嘴部運動.

Blendshape 權重是具有語義信息的表情參數,可以直接控制嘴角、眉眼等部位運動.Pham 等人[22,23]、Tian 等人[24]分別采用46 維和51 維blendshape 權重控制blendshape 三維人臉模型合成三維人臉表情.

視覺參數定義與后續三維人臉模型運動控制方法一一對應.使用三維坐標點作為視覺參數時,動畫實現效果與定義的三維特征點數量相關,數量越多,人臉運動精度越高,但計算量會增加,達到一定數量之后難以實現實時計算.使用blendshape 權重作為視覺參數時,三維人臉模型運動控制方法簡單、控制數據量較少,是目前常用的視覺參數.

2.2.3 音-視覺映射模型建立

音視覺映射模型建立分為傳統機器學習方法和深度學習方法.傳統機器學習方法主要采用HMM 和高斯混合模型(Gaussian mixture model,GMM).Brand[25]根據HMM 可以存儲上下文信息的能力從語音中獲得的信息來預測全臉動畫.Xie 等人[26]在文獻[25]的基礎上提出雙層HMM,訓練多流HMM 模型建立對應關系.之后Xie 等人[27]引入了耦合HMM 來解決由協同發音引起的視聽活動之間的異步性.HMM 在訓練階段具有較大的計算量,沒有考慮輸入語音的個體差異,且難以對復雜的上下文依賴關系進行建模,精確度不高.Deena 等人[28]采用GMM 實現語音參數與人臉動畫的匹配,對表情動作和語音參數分別建立數據模型,建立表情與語音的相互聯系,實現語音信息與表情細節的同步.Luo 等人[29]對傳統的GMM 方法進行改進,提出基于雙高斯混合模型的音頻到視覺的轉換方法,解決了視覺參數誤差的積累.但是GMM 無法改變訓練數據的內在結構,對數據的依賴性較大,導致了跨數據庫的通用性不強.

由于深度學習在建立非線性映射上效果較好,因此有學者使用該方法建立音-視覺映射模型,Karras 等人[19]將網絡劃分為頻率分析層、發音分析層、頂點輸出層,使用LPCC 語音特征點輸出視覺參數.該方法忽略了語音情緒與表情關聯的時序性,難以合成真實的人臉表情.Cudeiro 等人[20]提出了Voca 網絡,該網絡采用基于CNN 的編碼器-解碼器結構,編碼器將語音特征轉換為低維嵌入,使用解碼器得到三維頂點位移的高維空間.Richard 等人[21]提出MeshTalk 網絡,該網絡通過判斷面部與音頻相關性的強弱,對人臉上下區域的視覺參數分別建模,合成帶眉眼運動的三維人臉動畫.Pham 等人[22]使用LSTM 通過分析語音頻譜圖、MFCC 和色譜圖預測三維人臉表情動畫參數,該方法一定程度上解決語音協同發音的現象,但因語音特征的限制,對快樂的情緒擬合較差.之后Pham 等人[23]首次將經典的CRNN (convolutional recurrent neural network)模型結構應用于端到端音視覺映射模型的建立,并且該網絡模型無需加入額外表征情緒的語音特征,就可以推斷出眉、眼等表征情緒的視覺參數.網絡模型結構如圖1 所示,使用CNN 從語譜圖中完成語音頻域和時域信息的特征提取,其中,F-Conv1到F-Conv5 用于頻域特征提取,T-Conv1 到T-Conv3用于時域特征提取.由于語譜圖的橫縱坐標的物理意義不同,兩個維度包含的信息也不同,因此使用一維卷積核分別遍歷語譜圖的橫軸和縱軸,提取不同維度的語音全局特征.該方法相比二維卷積可以有效地減少計算量,加速語音提取的過程.每個卷積層包括卷積、批處理歸一化和ReLU 激活3 個操作,使用卷積步長為2 的方式進行下采樣.然后使用不同的RNN 接入全連接層(fully connected layers,FC)分別建立語音與視覺參數的時序關聯性建模,提高視覺參數精度.

圖1 CRNN 網絡模型結構

使用深度學習建立音-視覺映射模型需要三維視聽數據集作為支撐.Fanelli 等人[30]提出B3D(AC)?2,該數據集共有14 名演員、1 109 條語音,包括消極、悲傷、憤怒、壓力、誘惑、恐懼、驚喜、興奮、自信、快樂、積極,共計11 種情緒.視覺參數采用三維坐標點的形式,共計23 370 個頂點.該數據集的視覺參數僅包含人臉結構,并不包含頭部等運動信息.Pham等人[23]提出一種視覺參數為blendshape 權重的三維視聽數據集,該數據集包括24 名演員,每名演員有60 條語音,包括自然、平靜、快樂、悲傷、憤怒、恐懼、驚訝和厭惡,共8 種情緒,每種情緒有平緩、強烈兩種情況.Cudeiro 等人[20]提出VOCASET,包含12 個主題和480 條語音,視覺參數使用三維坐標點形式,共計5 023 個頂點,包含頭部旋轉等運動信息.該數據集僅有中立的可視化語音信息,不包含其他情緒.

由于三維人臉數據集的構造需要借助三維運動捕捉等硬件設備,需要耗費大量的人力物力,導致目前開源數據集較少.

3 三維人臉動畫合成技術

3.1 三維人臉模型建立

由于人臉生理結構和幾何外觀的復雜多樣性,不同膚色、不同性別的人,其五官比例、面部特征具有極大的差異,因此建立逼真、自然的三維人臉模型具有較大的難度.目前建模方式主要有基于三維建模軟件的手工建模、基于硬件設備的捕捉建模和基于二維圖像的人臉建模.

基于三維建模軟件的手工建模主要使用3DS MAX,MAYA 等商業軟件.此方法建模效果精致、形狀可控度高,但對操作者的專業知識要求較高、建立過程耗時耗力,效果受人為因素影響較大.

基于硬件設備的捕捉建模主要是通過先進的工業設備(如三維激光掃描儀、結構光掃描儀),通過傳感器獲取人臉面部特征點信息與紋理特征等信息,然后將獲得的信息經過計算機圖形學技術恢復三維人臉幾何模型.Peszor 等人[31]首先通過結構光掃描儀獲得真實人臉模型,然后通過修正模型來建立合適的人臉幾何模型.Li 等人[32]采用多個攝像機捕獲高質量的三維頭部掃描數據.Ye 等人[33]使用結構光掃描儀構建了SIAT-3DFE 高精度三維人臉表情數據集.該類方法雖然可以建立高精度人臉模型,但其設備價格昂貴、且獲取的數據量較大、數據處理較復雜.

基于二維圖像的人臉建模使用二維圖像結合視覺技術重構面部的三維數據.Jackson 等人[34]提出VRN(volumetric regression networks)端到端的神經網絡從單幅圖像直接進行三維面部重建.Chen 等人[35]使用基于條件生成對抗網絡的深度面部細節網絡,直接從人臉圖像中重建細節豐富的三維人臉.Feng 等人[36]設計UV 位置圖的二維表示方法,記錄三維形狀在UV 空間中的表示,然后使用CNN 從圖像中回歸.該類方法獲取數據方便、成本低、建模過程自動化,但重建時可能會因三維人臉形狀過度泛化導致人臉個性化信息缺失.

3.2 三維人臉模型運動控制

在建立好三維人臉模型后,需要控制三維人臉模型運動,使人臉模型發生形變,合成三維人臉動畫.依據三維人臉模型表示方法的不同,三維人臉模型運動控制方法分為參數模型運動控制方法和肌肉模型運動控制方法.

參數模型依據運動方式的不同,分為多邊形形變模型和blendshape 模型.多邊形形變模型將三維人臉模型用多邊形面片表示,通過控制面片上三維坐標點來實現三維人臉模型運動.Richard 等人[21]通過控制5 023 個頂點的多邊形形變模型,實現三維人臉模型運動.多邊形形變模型雖然可以控制高精度的三維人臉模型運動,但調整參數過程復雜.

Blendshape 模型將人臉表示為一組拓撲結構相同的表情基的線性組合,包括一個基準三維人臉模型和一系列具有指定人臉動作的表情基,通過調整不同的表情基權重,完成三維人臉模型的運動控制.Blendshape模型如式(1)所示:

其中,N是表情基個數,ei是blendshape 權重,S是三維人臉模型形變后的狀態,B0是基準三維人臉模型,Bi是第i個人臉動作的表情基.

Yu 等人[37]使用blendshape 模型對面部表情進行重建與優化,提高了表情的精準度的同時,維持了blendshape 方法的高效性.Alkawaz 等人[38]使用blendshape 模型設計一個面部表情動畫系統.Wang 等人[3]使用RGBD 相機和blendshape 模型實現了支持表情細節變化的實時面部跟蹤系統.blendshape 模型的運動控制操作簡單,但其實現效果依賴表情基精度和完備性.

手工建立blendshape 表情基的方法耗時耗力,并且建立的表情基不能重復使用,因此有學者使用表情遷移自動化建立不同人臉模型的表情基.表情遷移是將已有角色模型(源模型)的人臉表情克隆到新模型(目標模型)上.表情遷移分為標記點遷移方法和深度學習遷移方法.標記點遷移方法方面,Sumner 等人[39]使用手工標記的頂點建立源模型到目標模型的相對映射,通過線性優化函數和映射關系完成表情遷移.深度學習遷移方法方面,Gao 等人[40]提出了自動形變兩個不成對形狀集(VAE-CycleGAN)方法,使用兩個卷積變分自編碼器將源模型表情和目標模型映射到潛在空間,然后使用GAN 將潛在空間的信息映射到目標模型上,最后采用相似性約束條件保證遷移表情一致性.Jiang 等人[41]使用三維頂點形變表示高維模型表情信息,并使用圖卷積網絡(graph convolutional network,GCN)實現表情遷移.由于人臉結構空間維度高,并且人們對表情變化細節極其敏感,因此保證遷移后表情模型的個性細節特征是該方法的難點.

肌肉模型是通過模擬肌肉底層的位移來控制三維人臉模型運動,依據解剖學原理將面部肌肉分為線性肌、括約肌和塊狀肌等.Platt 等人[42]率先提出該模型,使用彈簧特性對人臉肌肉建模,通過肌肉的彈力控制人臉運動.Zhang 等人[43]采用彈簧-質點模型建立肌肉模型,模擬人臉皮膚的彈性效果.Yue 等人[44]建立下巴旋轉模型與口部肌肉模型,然后運用GFFD (廣義自由變形)面模擬面部皮膚運動,最后通過融合肌肉模型與皮膚變形實現面部表情的變化.基于肌肉模型的運動控制法通過對人臉結構進行物理仿真,可以真實的模擬人臉運動,但由于人臉肌肉結構復雜,使用該方法生成動畫需要大量的人工交互輔助,因此不適用普通消費級用戶.

4 語音驅動的三維人臉動畫效果評價

語音驅動三維人臉動畫效果評價包括主觀評價和客觀評價兩種方法.主觀評價通過給出不同分值的動畫參考樣例,使用平均分(mean opinion score,MOS)[45]、診斷可接受性測量(diagnostic acceptability measure,DAM)[46]方法進行評價.評價內容包括合成人臉動畫整體的自然度、流暢度,以及語音與嘴部運動及面部神態的一致性.

客觀評價包括合成動畫實時性評價、語音-視覺映射精度評價、動畫流暢度評價.在實時性方面,通過計算語音預處理、語音-視覺映射、三維人臉模型形變渲染的總時間判斷合成動畫的實時性[23,24].在語音-視覺映射精度方面,通過計算真實值與動畫面部關鍵點的差值判斷語音-視覺映射的精度,計算方法如歐氏距離[20,21]、均方根誤差[22,24]、關鍵點運動軌跡差值評估[18]等.在動畫流暢度方面,通過計算當前動畫幀面部關鍵點位置與前后幀的位移判斷動畫流暢度[23].

5 結論及展望

隨著人工智能與虛擬人的不斷結合,使用深度學習方法實現端到端的語音驅動三維人臉動畫成為研究的主流方向.綜合國內外對該技術的研究現狀,在未來的發展中仍然有許多挑戰,特別是在數據集、面部表情細節動畫、頭部運動姿態等方面.

(1)由于深度學習需要大量數據作為支撐,數據集的全面性直接影響了語音-視覺映射模型的構建效果,現有的公開三維視聽數據集較少,且沒有統一的構建標準,因此很難對不同的語音-視覺映射模型進行統一的客觀評價.

(2)人們會通過細微的表情變化揣摩說話時人的情感,虛擬人的面部微表情可以增強角色的感染力,因此可以考慮從提高語音情緒細節特征的表達能力入手,模擬眼角、嘴角、眉毛等面部細節的變化.

(3)目前語音驅動三維人臉動畫的表情合成是基于離散情緒的,只能刻畫有限的幾種情緒類型.但在現實生活中,人類的情緒是復雜的,存在悲喜交加、驚喜交集等情況.因此可以使用語音情緒識別中的連續情感模型,分析可視化的復合語音情緒,實現人臉表情的豐富性.

(4)人們在說話時會產生不同頻率的頭部運動,然而語音與頭部姿態關聯性較弱,因此可以考慮使用眼動追蹤等相關技術實現頭部姿態估計,增強語音動畫的真實感.

(5)由于人臉的結構復雜,在生成人臉動畫時需要復雜的協同控制模擬真實的人臉運動和表情變化,使用基于三維頂點坐標的形狀參數控制多邊形形變模型,雖然可以擬合表情細節運動,但是難以達到實時的運行效率.因此可以使用基于blendshape 權重的表情語義參數控制blendshape 模型,合成三維人臉動畫,通過優化表情基中的面部皺紋等個性細節特征,實現高精度的三維人臉動畫.

猜你喜歡
人臉建模語音
物理建模在教與學實踐中的應用
在經歷中發現在探究中建模
微信語音恐懼癥
玻璃窗上的人臉
思維建模在連續型隨機變量中的應用
求距求值方程建模
魔力語音
Magic Phonetics魔力語音
對方正在輸入……
智力考場:有趣的圖片測試
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合