本網站內容使用人工智慧(AI)或機器翻譯技術翻譯,可能存在錯誤。

Skip to content

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

Inside the Tech - Avatar Facial Expressions Cover Photo

《科技內幕》是配合我們《科技對談播客推出的部落格系列。在播客第 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 是一個創意平台,而不僅僅是一個工具。而且我們所打造的創意賦能工具,其規模遠超我過往參與的任何專案,這實在令人無比振奮。