AI 數字人面部與肢體的驅動演算法作為數字人研發的重要環節,可以大幅度降低 VR Chat、虛擬直播和遊戲 NPC 等領域中的驅動成本。
近年來,基於語音生成面部、肢體和手部的動作的各類獨立基線模型已經逐漸成熟。然而,直接將不同模型的動畫結果混合會導致最終全身整體的動畫不協調。研究者逐漸考慮使用統一的框架來同時生成面部表情和肢體動作。
然而,儘管研究社群在面部的表情和肢體的動作上分別存在統一的資料標準,已有的基線模型僅在獨立的資料格式上進行訓練和評估,比如 FLAME (面部) 和 AMASS (肢體)。社群仍然缺少面向全身的,格式統一的訓練資料和基線模型。
針對此問題,東京大學,清華大學,德國馬普所的研究者聯合提出了 EMAGE,一個從音訊和動作的掩碼中生成人體全身動作的框架,包括面部、區域性肢體、手部和全域性運動。
論文地址:https://arxiv.org/abs/2401.00374
專案主頁:https://pantomatrix.github.io/EMAGE/
影片結果:https://www.youtube.com/watch?v=T0OYPvViFGE
hugging face space 連結:https://huggingface.co/spaces/H-Liu1997/EMAGE
EMAGE 研究論文包含 BEAT2 與 EMAGE 兩部分。使用者可以自定義動作的輸入,在接受預定義的時序與空間的動作輸入方面具有靈活性,最終可生成完整的、與音訊相同步的結果,EMAGE 輸出全身動作的效果屬於業界 SOTA。
BEAT2: 即 BEAT-SMPLX-FLAME,是語音與基於網格的動作資料的全身資料集,共有 60 小時的資料。BEAT2 將 SMPLX 的肢體與 FLAME 的面部引數相結合,並進一步解決了頭部、頸部和手指等運動的模型問題,為研究社群提供了一個標準化且高質量的 3D 動捕資料集。
左:將精調後的 SMPLX 肢體引數結果(Refined Moshed)與 BEAT 的原始骨架資料(BEAT)、使用 AutoRegPro 的重定向資料(Retargeted)以及 Mosh++ 的初始結果(Moshed)進行比較,精調的結果擁有正確的頸部彎曲、適當的頭頸形狀比例和詳細的手指彎曲。
右:將原始 BEAT 中的混合表情權重視覺化,與 ARKit 的基礎臉部模板(BEAT)、基於線性 Wrapped 的方法(Wrapped Optimum)以及人工 PCA 對映 FACs 的表情最佳化(Handcraft Optimum)進行比較。最終的人工對映最佳化基於 FLAME 混合表情,實現了準確的唇動細節和自然對話時的口型。
EMAGE:在訓練過程中利用了肢體動作掩碼的先驗知識來提高推理效能。EMAGE 使用了一個音訊與動作掩碼的轉換器,有效提高了音訊生成動作和動作掩碼下的動作重建的聯合訓練的效率,從而有效地將音訊和肢體動作的提示幀編碼進網路。動作掩碼的肢體提示幀分別被用於生成面部和肢體動作。此外,EMAGE 自適應地合併了音訊的節奏和內容的語音特徵,並利用身體各個部位 (共計四種) 的組合式 VQ- VAEs 來增強結果的真實性和多樣性。
下圖給出了 EMAGE 生成肢體動畫的例子:
從上到下依次為:真實資料、不使用肢體提示幀生成的資料、使用肢體提示幀生成的資料、肢體提示幀的視覺化:
EMAGE 可以生成多樣化、具有語義和與音訊同步的肢體動作,例如,對於 “spare time” 這個提示詞,可以同時舉起雙手,而對於 “hike in nature” 則可以採取放鬆的動作。
此外,如第三行和第四行所示,EMAGE 可以靈活地接受非音訊同步的肢體提示幀,基於任意幀或關節,以此明確引導生成的動作。例如,重複類似的動作比如舉起雙手,或是改變行走方向等。注:此圖中,第三列的生成結果的關節提示(灰色網格),與第四行的肢體提示幀的關節(綠色網格)並不一致。
下圖是 EMAGE 生成面部動畫的結果:
EMAGE 生成的面部運動與基線模型的對比。
分別是臉部單獨生成的方法如 faceformer 與 codetalker、全身整體動作生成方法如 Habibie et al. 和 Talkshow。在 BEAT2 資料集中,因為 codetalker 具有離散的面部先驗知識,所以即使 codetalker 的 MSE(均方誤差)更高,即更偏離真實資料,但主觀結果更好。而 EMAGE 則利用離散的面部先驗知識和動作掩碼的肢體提示幀,實現了更精準的唇動效能。
模型介紹
EMAGE 是一個支援使用者自定義輸入,帶有動作掩碼與音訊輸入的全身動作建模框架,使用新提出的資料集 BEAT2(BEAT-SMPLX-FLAME),生成面部表情、區域性身體動作、手部動作和全域性平移運動時,是以音訊與動作掩碼作為基準聯合訓練。灰色身體部位是使用者輸入的肢體提示幀,藍色表示整體的網路輸出。
演算法細節
EMAGE 採取了兩種訓練路線:動作掩碼重建(MaskedGesture2Gesture,即 MG2G)和使用音訊的動作生成(Audio2Gesture,即 A2G)。
MG2G:透過基於 Transformer 的動作的時空編碼器與基於交叉注意力的動作解碼器,來對肢體提示幀進行編碼。
A2G:利用輸入的肢體提示與獨立的的音訊編碼器,對於經過預訓練的面部和肢體潛徵進行解碼。
可切換的交叉注意力層在上述過程中作為關鍵元件,對於合併肢體提示幀和音訊特徵起重要作用。此融合使特徵被有效地解耦並可以被用於動作的解碼。動作潛徵被重建之後,EMAGE 使用預訓練的 VQ-Decoder 來對於面部和區域性肢體運動進行解碼。
此外,預訓練的全域性運動預測器也被用來估計全身的全域性平移,使得模型生成逼真並且連貫動作的能力得到加強。
CRA 和 VQ-VAEs 的與訓練模型的細節
左圖:內容節奏注意力模組 (CRA) 將音訊的節奏(初始語音和振幅)與內容(來自文字的預訓練詞條嵌入)自適應地相融合。這種架構可以讓特定幀更有效地基於音訊的內容或節奏,生成更加具有語義的動作。
右圖:透過對於面部、肢體上半身、手部和肢體下半身的分別重建,來預訓練四個組合式 VQ-VAEs 模型,以更加明示地將與音訊無關的動作相解耦。
前向傳播網路對比
直接融合模組 (a) : 將音訊特徵與未精調的肢體特徵合併,僅基於位置嵌入重組音訊特徵。
自注意力解碼器模組 (b) : 為 MLM 模型中所採用的模組,只限於自迴歸推理的任務。
EMAGE (c) : 融合 (a) 與 (b) 的長處,同時使音訊特徵融合更有效,且可以自迴歸解碼。