元宇宙的火熱讓人們對未來虛擬世界的形態充滿了幻想,此前我們為大家揭秘了聲網自研的3D空間音頻技術如何在虛擬世界中完美模擬現實聽覺體驗,增加玩家沉浸感。今天我們暫時離開元宇宙,回到現實世界,來聊聊聲網自研的 Agora Lipsync(唇音同步) 技術是如何實現無需打開攝像頭,無需面部捕捉技術,只需上傳一張/多張人臉頭像就可以通過說話人的語音音頻信號,來驅動靜態人臉頭像的嘴部運動。
在介紹 Agora Lipsync 技術前,我們先來簡單了解下目前行業比較類似的兩類技術:Oculus Lipsync,Oculus Lipsync是一種 Unity 集成,用于將虛擬角色的唇部動作同步至語音。它主要是離線或實時分析音頻輸入,然后預測用于令虛擬角色或非玩家角色(NPC)嘴唇動畫化的一組發音嘴型,為了提升音頻驅動面部動畫的準確性,Oculus Lipsync 利用一個神經網絡模型來學習語音和音素之間的映射關系。通過模型把輸入音頻轉為音素,音素能夠對應到特定的視覺音素,再基于 Unity 集成技術實現虛擬角色嘴唇和面部的姿勢和表達。該技術主要應用于虛擬主播與游戲領域。
面部捕捉技術,在當下很多發布會與活動會議都運用到了全息影像,嘉賓在舞臺之外身穿特定的硬件設備,他的肢體動作與演講的嘴型動作都會實時同步在舞臺大屏幕中的虛擬形象中,其中想要實現唇音同步,就需要運用到關鍵的面部表情捕捉技術與相關的硬件設備。
相比這兩種技術,聲網的 Agora Lipsync 有著核心區別, Agora Lipsync 無需攝像頭、無需面部表情捕捉技術,而是通過深度學習算法中的生成對抗網絡,將中英文(或其他語種)發音的嘴型、面部表情智能關聯起來,驅動人像模擬真人說話嘴型,支持2D人像圖片和3D人像模型。
接下來,我們將重點揭秘 Agora Lipsync 實現語音驅動嘴型運動背后的技術原理。
生成對抗網絡+模型輕量化實現語音信號驅動人像嘴型運動
語音驅動嘴型技術,顧名思義,通過說話人的語音音頻信號,來驅動靜態人臉頭像的嘴部運動,使得生成的人臉頭像嘴部狀態與說話人的語音高度匹配。實時語音驅動人臉圖像說話這項技術的實現需要克服諸多挑戰,首先要找到語音信息和人臉信息之間的對應關系,音素是我們人說話的最小可發音單元,可以通過音素去找到對應的嘴型,但是發出相同音素的嘴型狀態不止一個,再加上不同的人面部特征、說話狀態也會存在差異,所以這是一個復雜的一對多問題。其次還會面臨一些其他挑戰,包括生成的說話人臉是否失真,以及說話人臉嘴型變化是否流暢等等。此外,如果是在低延時的實時互動場景下使用,還需要考慮計算量復雜度等問題。
圖1:例如a這個音素,發音的嘴型張合程度都不是唯一的
傳統的 Lipsync(唇音同步)方法可以通過語音處理結合人臉建模的方式實現,然而語音能夠驅動的口型數量往往比較有限,而聲網的 Agora Lipsync 通過深度學習算法,可以實現實時生成說話人臉圖像。目前,深度學習算法隨著數據規模的增加不斷提升其性能,通過設計神經網絡可以從數據中自動提取特征,削減了對每一個問題手動設計特征提取器的工作。深度學習目前已經在計算機視覺、自然語言處理等多個領域大放異彩。
在實現語音驅動人臉圖像任務中,我們需要將語音一維信號映射到圖像二維像素空間。聲網使用了深度學習中的生成對抗網絡(GAN),GAN的思想來自零和博弈理論,由兩個部分組成,一個是生成器Generator,接收隨機噪聲或者其他信號用來生成目標圖像。一個是判別器 Discriminator,判斷一張圖像是不是“真實的”,輸入是一張圖像,輸出是該圖像為真實圖像的概率。生成器的目標是通過生成接近真實的圖像來欺騙判別器,而判別器的目標是盡量辨別出生成器生成的假圖像和真實圖像的區別。生成器希望假圖像更逼真判別概率高,而判別器希望假圖像再逼真也可以判別概率低,通過這樣的動態博弈過程,最終達到納什均衡點。大自然里就存在很多生成對抗的例子,在生物進化的過程中,被捕食者會慢慢演化自己的特征,從而達到欺騙捕食者的目的,而捕食者也會根據情況調整自己對被捕食者的識別,共同進化。
基于GAN的深度神經網絡訓練完成之后,生成器可以將輸入信號轉化并生成逼真的圖像。對此,聲網設計了針對語音驅動圖像任務的深度學習模型,利用大規模視頻語料數據,使得模型可以根據輸入的語音生成說話人臉。模型內部對輸入的語音與圖像兩種不同模態的信號進行特征提取,得到相應的圖像隱向量與語音隱向量,并進一步學習到兩種跨模態隱向量之間的隱式映射關系,從而根據這種關系將隱向量特征重建成為和原始音頻相匹配的說話人臉圖像。除了生成圖像是否逼真,還要考慮時序穩定性和音畫匹配度,對此我們設計了不同的損失函數在訓練中加以約束。整個模型推理計算過程是端到端實現的。
同時,Agora Lipsync 還適配中、日、德、英文等多語種語音以及多種膚色人群,滿足不同國家與地區的用戶體驗。
我們可以通過下方的圖2更直觀的了解生成對抗網絡是如何端到端地學習生成說話人臉頭像。
圖2可以分為4個流程:1、深度學習模型中的 Generator 生成器接收一張人臉圖像和一小段語音,經過生成器內部的特征提取與處理生成一張偽造的人像圖片(Fake image)。2、圖中的“Real Data”指的是用于訓練的視頻序列,從中取出和 Audio 相匹配的目標圖像。將目標圖像和 Generator 生成的 Fake Image 比較它們的差異,根據損失函數通過反向傳播進一步更新生成器中的模型參數,從而讓生成器學習得更好,生成更加逼真的 Fake Image;3、比較差異的同時,將 Real Data 中的目標圖像與 Fake Image 輸入到 Discriminator 判別器中,讓判別器學習區分真偽;4、整個訓練過程中生成器與判別器相互對抗,相互學習,直到生成器和判別器的性能達到一種平衡狀態。最終生成器將會生成更為接近真實人臉嘴型狀態的圖像。
圖2:生成對抗網絡如何生成對應的人臉圖像
深度學習模型可以端到端的生成說話人臉圖像,但是往往計算量和參數量較大,由于存儲和功耗的要求,在低資源下實時應用該算法仍然具有一定的挑戰性。目前常用的一些模型輕量化技術有人工設計輕量化結構、神經架構搜索、知識蒸餾以及模型剪枝等等。在 Agora Lipsync 的語音驅動嘴型任務中,聲網設計的模型本質上是一個圖像生成模型,體量相對較大,我們通過模型輕量化技術,設計了端到端的輕量化語音驅動圖像模型,只需要傳輸語音流就可驅動靜態圖像生成說話人臉,在保證效果的基礎上大大地縮小了模型的計算量和參數量,從而滿足移動端的落地需求,通過輸入語音信號,能夠實時驅動一張靜止人臉圖像產生嘴部運動,達到音畫同步的效果。
介紹完 Agora Lipsync 的技術原理,我們再來看它的應用場景有哪些,相比于元宇宙虛擬世界與真實的視頻社交場景,Agora Lipsync 填補了在語音社交場景,不打開攝像頭,卻能體驗真人視頻連麥既視感的場景玩法空白,在語聊房、互動播客、視頻會議等場景中具有巨大的應用價值。
語聊房:在傳統的語聊房中,用戶通常會選擇真人頭像或者虛擬的頭像進行語音連麥,往往需要通過有話題性、趣味性的聊天內容才能保障語聊房間的內容質量與時長性,而通過加入語音驅動嘴型運動的技術,可以在形式上讓聊天過程更具生動性與趣味性,對于不想打開攝像頭的玩家,可以選擇一張自己好看的或者搞怪的照片作為頭像,這樣大家不打開攝像頭,也能看到彼此的人臉頭像仿佛在真實的說話,最終增加了玩家在語聊房中進一步聊天的動力。
互動播客:去年以Clubhouse為代表的互動播客平臺曾風靡全球,相比傳統的語聊房,互動播客平臺的話題內容、用戶關系有著明顯的差別,播客房間的聊天話題主要以科技、互聯網、職場、創業、股市、音樂等話題為主,用戶上傳自己真人頭像的意愿也非常高,通過加入語音驅動嘴型運動技術,可以讓用戶之間的聊天更具參與感與真實感。
視頻會議:在視頻會議場景中往往都會要求參會用戶盡量都打開攝像頭,然而經常會遇到部分用戶不方便打開攝像頭,造成有人開視頻、有人開語音的會議場景,通過 Agora Lipsync 一方面可以讓無法打開攝像頭的用戶避免尷尬,通過驅動人臉頭像的嘴部運動營造出仿佛是真人參加視頻會議的場景感。另一方面,通過語音驅動人臉說話的方式,視頻會議傳輸可以不用傳輸視頻流,只需要語音流,特別是在弱網條件下,不僅避免了畫面卡頓或延遲,同時也減少了傳輸成本。
目前 Agora Lipsync 技術主要支持2D人像圖片和3D人像模型,未來在聲網算法團隊的持續鉆研下,該技術也將進一步升級,不僅可以支持卡通頭像,還有望通過語音進一步驅動頭部、眼睛等器官的運動,實現更廣泛的應用場景與場景價值。
如您想進一步咨詢或接入 Agora Lipsync 技術,可通過聲網的微信公眾號找到這篇文章,點擊文章最下方的「閱讀原文」留下您的信息,我們將與您及時聯系,做進一步的溝通。