科技內幕 - 解析《阿凡達》的面部表情

《科技內幕》是配合我們《科技對談》播客推出的部落格系列。在播客第 20 集《虛擬化身與自我表達》中,Roblox 執行長 David Baszucki 與工程資深總監 Kiran Bhat、產品資深總監 Mahesh Ramasubramanian 以及首席產品經理 Effie Goenawan 進行了對談,探討透過虛擬化身實現沉浸式溝通的未來,以及我們為實現此目標所解決的技術挑戰。 在本期《Inside the Tech》中,我們與工程經理 Ian Sachs 進行了對談,深入探討其中一項技術挑戰——為虛擬角色實現面部表情——以及隸屬於 Engine 團隊的「虛擬角色創作」團隊,如何透過其工作協助使用者在 Roblox 上展現自我。
貴團隊目前面臨的最大技術挑戰是什麼?
當我們思考虛擬角色在 Roblox 上如何代表使用者時,通常會考量兩點:行為表現與外觀呈現。因此,我團隊的主要重點之一,就是讓虛擬角色能精準反映使用者的表情。例如,當使用者微笑時,他們的虛擬角色會同步微笑。
追蹤面部表情的難點之一,在於調校模型的效率,以便能在使用者的裝置上即時捕捉這些表情。我們致力於讓 Roblox 上的盡可能多的人都能使用這項功能,因此必須支援極廣泛的裝置類型。而裝置所能處理的運算能力,正是其中關鍵的考量因素。 我們希望每個人都能自由表達自我,而不僅限於擁有高性能裝置的用戶。因此,我們正部署首個深度學習模型來實現此目標。
我們正在解決的第二項關鍵技術挑戰,是簡化創作者開發動態化身(供玩家自訂)的流程。製作這類化身相當複雜,因為必須建模頭部;若要實現動畫效果,還需進行非常具體的骨骼綁定工作,例如為線性混合皮膚綁定設置關節和權重。 我們希望讓這個流程對創作者更為簡便,因此正在開發簡化技術。創作者只需專注於建構靜態模型,當他們完成後,我們便能自動進行骨骼綁定與籠化處理。如此一來,臉部追蹤與分層服裝功能便能立即運作。
我們採用了哪些創新方法和解決方案來應對這些技術挑戰?
我們採取了幾項關鍵措施,以確保能準確獲取面部表情的相關資訊。首先是採用業界標準的 FACS(面部動畫控制系統)。這些控制點是所有功能的關鍵,因為它們正是驅動虛擬角色面部表情的依據——例如嘴巴張開的幅度、哪隻眼睛睜開以及睜開的程度等。我們可以運用約 50 種不同的 FACS 控制點來描述所需的面部表情。
當您建立機器學習演算法,以從圖像或影片中推估臉部表情時,會透過向模型展示具有已知真實表情(以 FACS 描述)的範例圖像來訓練模型。透過向模型展示許多不同表情的圖像,模型便能學會推估先前未見過的臉部表情。
通常在進行人臉追蹤時,這些表情會由人工標註,最簡單的方法是使用標記點——例如在圖像上放置點來標記眼角等面部特徵的像素位置。
但 FACS 權重有所不同,因為你無法單憑一張圖片就判斷:「嘴巴張開的程度是 0.9 還是 0.5。」為了解決這個問題,我們使用合成資料直接生成 FACS 權重,這些權重由 3D 模型構成,並根據不同角度和光照條件下的 FACS 姿勢進行渲染。
遺憾的是,由於模型需要泛化到真實面孔,我們無法僅憑合成數據進行訓練。因此,我們結合真實與合成數據,先讓模型在地標預測任務上進行預訓練,使模型能夠僅使用純合成數據來學習 FACS 預測任務。
我們希望臉部追蹤功能能適用於所有人,但不同裝置的運算能力各異。這意味著我們需要建立一個能夠動態適應任何裝置處理能力的系統。 我們透過將模型拆分為兩個階段來實現此目標:稱為 BaseNet 的快速近似 FACS 預測階段,以及稱為 HiFiNet 的更精確 FACS 精細化階段。在執行期間,系統會測量其效能;在最佳條件下,我們會同時執行兩個模型階段。但若偵測到效能下降(例如因使用低階裝置),系統便僅執行第一階段。
從這項技術工作中,您學到了哪些關鍵經驗?
其中一項體悟是,讓某項功能運作起來,其實只是成功發布產品所需工作的一小部分。絕大部分的工作都花在工程開發和單元測試的過程中。我們必須確保擁有完善的機制來判斷資料管道是否健全,同時也需不斷自問:「這個新模型真的比舊模型更好嗎?」
在展開核心工程開發之前,我們所建立的所有管道——包括實驗追蹤、確保資料集能反映用戶多樣性、評估結果,以及部署新模型並收集反饋——這些都共同構成了模型的完善基礎。儘管這部分至關重要,卻往往是整個流程中較少被提及的環節。
貴團隊最符合 Roblox 的哪項價值觀?
掌握專案所處的階段至關重要,因此在創新過程中,具備長遠視野非常重要,特別是在研究階段,當你試圖解決重要問題時更是如此。但在釐清哪些問題值得投入創新時,尊重社群同樣關鍵,因為我們希望解決那些對更廣泛社群最具價值的問題。例如,我們特別選擇著手「全民臉部追蹤」而非僅僅是「臉部追蹤」。 當開發進度達到 90% 時,將原型轉化為實用功能的關鍵在於執行力,以及能否適應專案的當前階段。
對於 Roblox 和你的團隊未來的發展方向,什麼最讓你感到興奮?
我一直傾向於開發能激發人們創造力的工具。創作的過程之所以特別,在於最終產出的成果是獨一無二、屬於你自己的。 我曾從事視覺特效及各類照片編輯工具的開發,運用數學、科學、研究與工程的洞見,賦予人們實現真正有趣事物的能力。如今在 Roblox,我得以將這份熱忱提升至全新境界。Roblox 是一個創意平台,而不僅僅是一個工具。而且我們所打造的創意賦能工具,其規模遠超我過往參與的任何專案,這實在令人無比振奮。


