語音生成口型與表情技術的演進與未來

SeanQ發表於2022-07-12
近年來越來越多的超寫實角色出現在遊戲中,他們通常採用照掃(3D photogrammetry scanning)為基礎對真人模特進行建模、加工,在滿足遊戲藝術效果的同時儘可能還原人物特別是其面部的細節特徵,使得玩家能夠獲得更真實的角色扮演體驗。

但是,靜態人臉照掃建模之後,怎麼讓這個角色面部動起來,並能自然地說話和表達情緒,是一個關鍵的難題,也隨之衍生出了兩種不同的主流解決方案:

一種方案是,將3D照掃擴充套件為4D照掃,加入時序維度,從而能夠採集到演員最精細的面部變化。然而這樣的資料量十分巨大、後期處理時間及人力開銷過重,並不適合大規模資產製作;

另一種方案是,採用面部跟蹤的技術,通過RGB、RGBD、雙目、紅外攝像頭等裝置捕捉人臉資訊,提取面部特徵並對映為繫結資產的引數,從而驅動角色面部運動。然而這種方案也有一些侷限,例如MMO型別的遊戲中通常有大量的角色對白,即使採用面部跟蹤也會成本巨大。

正因為兩種方案的侷限性,探索從語音對白作為輸入直接生成角色口型表情序列,也就成為了一個重要的研究方向。

為了方便閱讀和比對,我這裡就將語音生成口型與表情的技術演化劃分為四個階段。

語音生成口型與表情技術的演進與未來
[ 照掃及表情跟蹤 ]

一、早期基於音素的方案

音素(Phoneme),是人類語言中能夠區別意義的最小聲音單位。視素(Viseme),則是視覺方式呈現出的音素,描繪出發音時的嘴部姿態。

音素與視素之間,並不是一一對應的關係。例如人類對音素b、p、m的發音方式相似度很高,因而可以對應相同的視素。要想解決語音自動生成口型動畫的問題,一個自然的想法是,從語音分析出對應的音素序列,並對映為視素序列。遊戲角色則通過預製作好一些標準視素,根據前面得到的序列動態的啟用並混合視素,生成角色口型動畫。

語音生成口型與表情技術的演進與未來
[ 音訊、音素對齊 ]

語音生成口型與表情技術的演進與未來
[ 視素的例子 ]

要想從語音生成對應音素序列,不僅需要知道語音對應的音素,還需要在時間序列上和原始音訊對齊。不過,這也正是ASR(自動語音識別Automatic Speech Recognition)領域的研究方向之一。因此,我們可以採用ASR領域的一些工具來實現這個目標,這通常需要結合特定語言的G2P(Grapheme-to-phoneme)以及Acoustic model共同完成這項任務。

另外需要考慮的是,遊戲應當製作哪些標準視素,以及如何製作這些視素?

挑選視素並沒有固定的標準,有些遊戲僅僅製作5~10個較為重要、視覺效果明顯的視素,如a、e、o、zh、w等,也有些工作會拆分的更細緻製作超過20個以上的視素。這可以根據遊戲需要的效果質量以及美術製作預算決定。

Blendshape或者Pose的形式都可以作為這些視素的載體,這些美術資產可以手工製作,也可以使用類似Deformation Transfer或者Auto Rigging的演算法進行遷移生成,最終根據視素序列對之進行K幀(Keyframing)生成動畫。

二、更自然的音素方案

語音生成口型與表情技術的演進與未來
[ OH的發音動作 ]

語音生成口型與表情技術的演進與未來
[ JALI的LIP/JAW模型 ]

前面我們也提到了,音素-視素並不是一一對應的關係。比如上圖展示了“Oh”的五種不同發音口型,這就是一個音素對應五種視素的例子。

而JALI(1)的工作,首先提出瞭解決上述問題的方案。他們通過觀察發現,人們發音時的動作可以拆分為兩個維度,一是下巴骨骼的運動,二是嘴部肌肉的運動。而不同的說話"風格",可以通過調整這兩個維度從而捕捉到更有表達力的口型。

除此之外,JALI還總結了一些協同發音(Co-articulation)的規則,這樣就可以通過上下文來調整視素的表達,從而使生成的視素序列更為自然。

語音生成口型與表情技術的演進與未來
[ Deep Speech Animation ]

語音生成口型與表情技術的演進與未來
[ VisemeNet ]

值得一提的是,JALI技術已經在大型RPG遊戲《賽博朋克2077》中有了實際運用。遊戲十餘種本地化配音中的每一個字,都通過JALI技術實現了從語音到面部動畫與口型的同步。

語音生成口型與表情技術的演進與未來
[ 賽博朋克2077 ]

然而JALI的工作雖然提升了口型的表達效果,卻也有一些侷限:

一方面,解決協同發音的現象主要依賴人為定義的若干規則,此種做法既不完備也不繫統;

另一方面,說話的"風格"需要較多的美術手工調整,這不利於大規模對白情形下需要的高度自動化工作流。

一些基於音素的後續方案,側重於解決上述問題。鑑於音素視素的非線性對映關係,很自然的想到可以用神經網路來表達,所以Disney(2)就設計了一種資料驅動的方案,此項工作使用Sliding Window CNN的方式接收一小段音素序列作為輸入,輸出AAM人臉模型引數曲線。儘管此種人臉模型略為過時,但將之替換為Blendshapes引數也並不困難,這樣協同發音的隱式規則從資料中自然習得,就不再需要語言專家人為指定。

VisemeNet(3)的改進則更多一些,主要由音素組、人臉關鍵點、視素三個階段的LSTM組成。前兩個階段的輸入是語音提取的MFCC特徵,利用網路得到音素、人臉關鍵點序列,並將網路的特徵作為輸入給到下一視素階段,分別預測視素啟用、協同發音引數、風格引數序列。

這一工作將之前我們對音素口型方面的經驗完整的繼承了下來,並將其中的幾乎所有模組改造成了資料驅動的網路表示,取得較好效果的同時提升了自動化程度,減少了手工介入的必要性。

該部分涉及的相關研究:

(1) JALI: An Animator-Centric Viseme Model for Expressive Lip Synchronization

JALI:一種以動畫師為核心的視素模型驅動的表達力豐富的口型同步方法

連結:https://www.dgp.toronto.edu/~elf/JALISIG16.pdf

(2) A Deep Learning Approach for Generalized Speech Animation

一種資料驅動的,通用的語音動畫的深度學習方法

連結:https://home.ttic.edu/~taehwan/taylor_etal_siggraph2017.pdf

(3) VisemeNet: Audio-Driven Animator-Centric Speech Animation

視素網路:音訊驅動的動畫師為中心的口型動畫

連結:https://arxiv.org/abs/1805.09488

三、端到端的學習方案

語音生成口型與表情技術的演進與未來
[ 英偉達端到端方案 ]

儘管VisemeNet很好地將傳統對於音素口型的經驗整合到了網路之中,但是其三階段的網路架構有些過於複雜,訓練資料的生成也需要美術的手工標註,這都加大了此方案應用落地的難度。

深度神經網路表達出了強大的非線性擬合能力,因而值得我們探索是否可能建立語音到口型的端到端模型。英偉達在(4)中實現了這樣的方案,這項工作採用原始音訊資料作為輸入,使用LPC(Linear Predictive Coding)提取的Autocorrelation係數作為特徵,通過神經網路直接輸出預製模板的面部頂點。

這項工作得以成功輸出高質量的結果、並能將之應用於遊戲角色之上,有如下幾個關鍵點:

第一是高質量的訓練資料,英偉達使用了Di4D Pro裝置採集了高質量的演員說話時的人臉4D資料;

第二是較為稠密的模板面部,這為表達出面部的豐富細節提供了基礎,文章中網路在最後的全連線層使用PCA引數作為初始化,通過訓練對之調整直接輸出全臉稠密頂點;

第三是遷移演算法,這項工作使用Deformation Transfer演算法將模板面部的結果遷移到其他角色,這使得高質量的口型動畫重定向到遊戲中的其他角色成為可能。

當然英偉達的這項工作也有些不足之處,例如他的口型輸出和訓練資料中演員的表演特點是高度相關的,如果想切換到另一種風格,則需要重新採集資料和訓練,而這又是十分費力耗時的。VOCA(5)的工作則利用了FLAME模型以及其採集的高清4D資料作為基礎,加入了One-hot identity encoding作為不同個體說話風格的編碼,從而可以在推理時調整此項得到不同效果的口型動畫序列,當然實際測試而言VOCA並沒有取得明顯更優質的效果,這可能是由於資料質量等原因,不過其描述的方法論或許有一定的借鑑意義。

該部分涉及的相關研究:

(4)Audio-Driven Facial Animation by Joint End-to-End Learning of Pose and Emotion

一種音訊驅動的,端到端姿勢與情緒協同學習的面部動畫解決方案

連結:https://research.nvidia.com/publication/2017-07_audio-driven-facial-animation-joint-end-end-learning-pose-and-emotion

(5)Capture, Learning, and Synthesis of 3D Speaking Styles

3D 口型風格的捕捉、學習與合成

連結:https://openaccess.thecvf.com/content_CVPR_2019/papers/Cudeiro_Capture_Learning_and_Synthesis_of_3D_Speaking_Styles_CVPR_2019_paper.pdf


四、口型與表情的結合

語音生成口型與表情技術的演進與未來
[ 不同情緒下的口型 ]

如果角色僅僅在說話的時候有同步的口型動畫,卻面無表情眼都不眨一下,那麼也會顯得十分呆板和不自然。除此之外人們在喜怒哀樂不同情緒下表達說出同樣的對白,面部的動作也是有所區別的。

之前提到的英偉達的工作通過加入情緒狀態(emotional state)的隱變數(latent code),在學習的過程中自動將各幀蘊含的情緒編碼在其中間,從而對情緒進行建模。推理的時候便可以找到參考幀(reference frame)的隱變數來修改為相應的情緒,從而產生不同的表情。然而此種方法產生的隱變數沒有清晰的語義,實際應用的效果也差強人意。

為了得到清晰的情緒語義,我們可以對語音進行情緒分類,從而得到其對應的高興、悲傷、驚訝、憤怒等情緒類別。美術可以預製這些情緒對應的表情資產,演算法在生成口型同時混合這些面部表情從而得到更為自然、真實的語音口型效果。當然我們也可以使用其他方案來更好的編碼表情。

語音生成口型與表情技術的演進與未來
[ 情緒編輯 ]

例如(6)將人臉從難過到高興分為不同的情緒層次,為其賦予不同的插值權重,除了可以表達語音情緒之外,還可以根據情緒的強烈程度來微調錶情。(7)當中提出的整合情緒的重建方案,也可以提供更多優質的資料。

該部分涉及的相關研究:

(6)Audio-Driven Emotional Video Portraits
音訊驅動的情緒視訊肖像生成


連結:https://jixinya.github.io/projects/evp/resources/evp.pdf

(7)Emotion Driven Monocular Face Capture and Animation

情緒驅動的單目人臉捕捉及動畫研究

連結:https://ps.is.mpg.de/uploads_file/attachment/attachment/686/EMOCA__CVPR22.pdf

總結

總得來說,語音生成口型與表情的技術,在遊戲角色動畫、高清數字人等領域有著非常廣泛的應用,學術界及工業界也在這一領域進行了長期大量的探索。

我相信,隨著我們對語音、口型、情緒、表情的瞭解愈發深入,也會得到更加自然,甚至足以亂真的結果,同時擁有更多維度、更強的控制能力,並不斷擴充套件他們的應用領域,豐富角色在虛擬世界的表現力。

這裡是文中提到所有研究的來源連結,有興趣深入瞭解的朋友可以看看:

(1) JALI: An Animator-Centric Viseme Model for Expressive Lip Synchronization

JALI:一種以動畫師為核心的視素模型驅動的表達力豐富的口型同步方法

連結:https://www.dgp.toronto.edu/~elf/JALISIG16.pdf

(2) A Deep Learning Approach for Generalized Speech Animation

一種資料驅動的,通用的語音動畫的深度學習方法

連結:https://home.ttic.edu/~taehwan/taylor_etal_siggraph2017.pdf

(3) VisemeNet: Audio-Driven Animator-Centric Speech Animation

視素網路:音訊驅動的動畫師為中心的口型動畫

連結:https://arxiv.org/abs/1805.09488

(4)Audio-Driven Facial Animation by Joint End-to-End Learning of Pose and Emotion

一種音訊驅動的,端到端姿勢與情緒協同學習的面部動畫解決方案

連結:https://research.nvidia.com/publication/2017-07_audio-driven-facial-animation-joint-end-end-learning-pose-and-emotion

(5)Capture, Learning, and Synthesis of 3D Speaking Styles

3D 口型風格的捕捉、學習與合成

連結:https://openaccess.thecvf.com/content_CVPR_2019/papers/Cudeiro_Capture_Learning_and_Synthesis_of_3D_Speaking_Styles_CVPR_2019_paper.pdf

(6)Audio-Driven Emotional Video Portraits

音訊驅動的情緒視訊肖像生成

連結:https://jixinya.github.io/projects/evp/resources/evp.pdf

(7)Emotion Driven Monocular Face Capture and Animation

情緒驅動的單目人臉捕捉及動畫研究

連結:https://ps.is.mpg.de/uploads_f


來源:騰訊遊戲學堂
原文:https://mp.weixin.qq.com/s/w2NuSaOS7y888b42TG-MsQ


相關文章