火山引擎虚拟数字人技术与应用
導讀:火山引擎正在打造完善的虛擬數字人技術和應用體系,那么火山引擎是如何定義虛擬數字人的呢?火山引擎 2D 虛擬數字人和 3D 數字人采用了怎樣先進的技術?火山引擎數字人有哪些應用和前景展望?今天我們就來一起探秘火山引擎虛擬數字人技術與應用。
今天的介紹會圍繞下面五點展開:
-
火山引擎虛擬數字人簡介
-
2D 數字人技術體系
-
3D 數字人技術體系
-
火山引擎虛擬數字人應用
-
火山引擎虛擬數字人展望
分享嘉賓|樊博?字節跳動AI-Lab智能語音 算法研究員
編輯整理|張續然 中睿信
出品社區|DataFun
01/火山引擎虛擬數字人簡介
首先介紹一下火山引擎虛擬數字人的基本情況。
1. 火山引擎虛擬數字人定義
火山引擎虛擬數字人是以虛擬數字人形式代替真人員工和客戶溝通,提供可視化、智能化的交互服務,為企業提供高度擬人化的服務型數字員工。
虛擬數字人中的“虛擬”指數字人能夠通過不同媒介存在于虛擬世界,包括移動端、PC 端和 VR 設備等。虛擬數字人中的“數字”指數字人具有數字化的外表,通過多模態技術賦予其智能,這里的智能包括聆聽、表達、交互和感知四大類:
-
聆聽:語音增強、語音識別、聲紋識別、語種識別等
-
表達:語音合成、跨語言合成、多方言合成、語音變聲等
-
交互:自然語言理解、機器翻譯、問答系統等
-
感知:活體檢測、人臉識別、情感識別等
虛擬數字人中的“人”指通過多模態技術賦能的數字人的行為、技能高度擬人化。
2. 火山引擎虛擬數字人分類
火山引擎虛擬數字人目前可以分為?AI 智能驅動型數字人和中之人驅動型數字人。AI 智能驅動型數字人是基于各種 AI 多模態技術打造的數字人。中之人驅動型數字人是基于真人驅動技術打造的數字人。當前火山引擎虛擬數字人的研究重點方向是 AI 智能驅動型數字人。
AI 智能驅動型數字人按能力劃分可以分為播報型數字人、交互型數字人和感知型數字人,按形象類別劃分可以分為 2D 數字人和 3D 數字人。
在能力方面,播報型數字人僅具備表達能力,交互型數字人具備聆聽、表達和交互的能力,感知型數字人在交互型數字人的基礎上增加感知能力。
在形象類別方面,火山引擎支持 2D 真人、3D 卡通和 3D 超寫實形象。旨在通過豐富的形象覆蓋更多樣的落地場景。
02/2D 數字人技術體系
1. 2D 數字人技術全景
2D 數字人技術體系分為頭部、肢體和系統三大部分。頭部層面主要包括驅動算法和定制化。頭動驅動算法的主要功能是驅動頭動、唇形運動和表情等。驅動算法包括文本、語音驅動唇形、身份/表情/姿態擬合、人臉關鍵點檢測、面部生成、人臉轉正、可控頭動等技術。定制化主要用于增強人頭的定制能力。定制化能力包括虛擬人臉、換臉、換頭、人臉編輯、人臉美化、人臉分割、人臉回復、五官改變、口型修正等技術。
肢體主要包括驅動算法和應用。驅動算法包括動作預測、動作生成、動作切換和人體姿態估計。應用包括模擬試穿等。
系統層面主要包括數字人建模前處理和后處理相關的算法集合。本次分享的重點是驅動算法和定制化中的換臉算法。
2. 2D 數字人語義提取和驅動技術原理
當前火山數字人的輸入是文本或語音。定制一個 2D 數字人首先需要錄制主播的音視頻數據,這里的錄制工作需要專業的主播按照指定的文本朗讀錄制形成訓練集,在訓練階段從訓練集的音頻中提取文本或語音特征,同時從視頻中提取頭部相關的語義特征,最后通過 NN 模型學習兩者之間的映射關系。
這里重點介紹語義特征提取,語義特征包括身份、表情、姿態和人臉特征點信息,對于訓練集每一個視頻的每一幀,都會通過身份、表情和姿態擬合模塊提取主播的身份、表情和三維姿態特征信息。為更好的實現數字人生成效果,三維姿態信息需要既準又穩。在拿到三維姿態信息之后,需要對人臉做歸一化處理,這一步非常關鍵,在人臉歸一化之后需要做人臉特征點提取,提取的特征點可以消除姿態的影響,以便在最終 NN 模型訓練階段更容易收斂,同時也會使最終合成的唇形效果更好。
在驅動階段,提取文本特征后通過時長模型對音素級的特征進行幀級延展,然后分別將延展后的特征送到 TTS 模塊和訓練好的 NN 模塊,TTS 模塊生成文本對應的語音。NN 模塊生成頭部相關的語義信息,語義信息用于面部生成和肢體生成,面部生成和肢體生成的圖像與 TTS 生成的語音共同封裝成視頻流最終形成數字人播報的效果。如果改為語音輸入,則 TTS 模塊可以忽略,即語音輸入直接走 NN 模塊,用真人語音替代之前 TTS 合成的語音,同樣可以生成數字人播報的效果。
3. 多語種數字人技術方案
前述技術方案主要支持單語種播報,當訓練集是中文時,數字人無法播報英文或者其他語種,如果需要播報其他語種,則需要錄制多語種的訓練集。在實際操作中,以上方案不能滿足一些場景的需求,因此我們提出多語種數字人方案,主播僅需錄制單語種音視頻即可實現多語種數字人的多語種表達。
當前多語種數字人的技術方案在訓練階段和前述流程差不多,不同的點在于我們將從訓練集的音頻中提取一個無監督特征,這里的無監督特征不包含音色信息,在訓練階段相當于訓練無監督特征和提取的語義特征之間的映射關系。在驅動階段,對于指定語種的輸入文本附加上目標語種的參考音色信息,此時在解碼器中解出的就是無監督特征,這個特征就包括目標語種的韻律和風格信息。因為無監督特征不包含音色信息,所以當我們再把無監督特征送到跨語言合成模型的時候,需要附帶目標音色信息。這里的目標音色信息指主播在做訓練集朗讀時僅錄制中文,并將中文音色信息作為輸入,然后跨語言合成模型就會生成指定語種輸入文本對應的語音。在無監督特征方面,通過剛才訓練好的 NN 模型,生成頭部相關的語音信息,最后通過面部生成和肢體生成得到圖像,然后和語音打包成視頻流形成數字人播報。基于多語種數字人方案也可以實現多方言數字人播報的效果。
4. 數字人交互系統
為拓展數字人的應用場景,需要給數字人增加交互能力。因此我們需要整合多模態 AI 技術實現數字人從播報到交互的升級。
火山引擎虛擬數字人交互系統在交互過程中能夠在不同狀態之間進行切換,常見的三個狀態為表達、聆聽和休閑,在實際交互過程中數字人的狀態變化會更加復雜。
表達指數字人在說話,聆聽指數字人在聽用戶講話,休閑指沒有交互的狀態下數字人所處的狀態。狀態之間的切換通過狀態機控制,狀態切換的信號來源于理解決策層的輸出。用戶的語音通過語音識別系統和語義理解之后會形成是否打斷、對話內容、動作標簽和狀態類型等信號。比如對話內容是需要數字人播報出來的文本,假如數字人處于聆聽或者休閑狀態時收到對話內容,它需要立刻切換到表達狀態。當數字人收到打斷請求時,它需要立刻從表達狀態切換到聆聽狀態,聽取客戶輸入的語音內容。如果數字人處于表達狀態中收到動作標簽,則它需要在表達的同時插入動作,這也要求數字人具備動作插入能力。
5. 數字人交互系統
數字人定制化換臉,主要針對已經上線的主播對其頭部尤其是面部特征進行定制化,這樣做的好處是在規避版權風險的同時能夠完成成熟能力的復制。常規定制一個數字人需要成本,如果數字人能定制化,就可以快速完成復制。比如現在我們可以對已上線的數字人進行換臉,或者五官的改變去替換 TA 的身份,這樣我們就能快速上線一個新的主播。或者我們對它的人臉進行編輯,比如膚色、頭發和年齡進行更改,這樣就能豐富數字人的形象設置。
在換臉時,我們首先會描述目標形象的各類特征,然后通過虛擬人臉生成模塊生成一個虛擬人臉,這里不用真人人臉的原因是使用真人人臉有版權風險。通過虛擬人臉生成出的虛擬人臉照片符合我們描述的人臉特征,然后我們用虛擬人臉的照片進行身份提取,將提取的身份用于替換目標人臉,編碼出來的身份信息在解碼后得到最終的換臉效果。
6. 2D 數字人核心優勢
火山引擎?2D 數字人的核心優勢主要包括以下 4 點:
-
效果優良:整體自然度 MOS 評測可以達到 3.9,唇形準確度高達 98.6%。
-
高并發:T4 單卡 20 核 1080P/25fps 視頻流支持 10 路并發,支持公有云接口調用及私有化部署。
-
功能全面:支持打斷以及通過 SSML 的形式插入動作,支持任意背景更換,支持音色切換,多語種、多方言。?
-
低成本:5min 數據即可完成基本定制,自動化平臺支持自動化訓練及上線。
03/3D 數字人技術體系
1. 3D 數字人技術全景
3D 數字人技術體系分為頭部、肢體和系統三大部分。
頭部層面主要包括驅動算法和相關算法。頭動驅動算法的主要功能是驅動頭動、唇形運動和表情等。驅動算法包括文本/語音驅動唇形、表情系統、唇形運動遷移等技術。相關算法主要用于 3D 人像建模和驅動。相關算法包括人臉重建、面部捕捉和數據修正。
肢體主要包括驅動算法和相關算法。驅動算法包括動作預測、動作生成、動作切換和高級動作系統。相關算法包括單目動捕、多目動捕和動作重定向。
引擎功能層面主要包括離屏渲染、換裝/配飾、場景特效、攝像機系統、背景更換、背景音樂、動畫采樣、轉場動環、圖片輪播和運動匹配等。
2. 3D 數字人制作流程
3D 數字人的制作流程首先需要描述數字人的需求,然后根據需求進行原畫設計,當設計稿敲定后,就可以進行灰模制作,灰模制作后將進行材質制作,材質制作完成后將進行面部和肢體綁定。
完成綁定后需要在渲染引擎中進行渲染測試。渲染測試通過后需要根據訓練需求進行數據采集,這里主要有兩方面的數據采集,一方面是面部捕捉,另一方面是動作捕捉。
面捕和動捕的數據都需要進行數據精修。面捕的數據主要用于面部驅動能力的訓練,動捕的數據主要用于肢體驅動能力的訓練,然后下一步進入驅動模型的訓練,最后集成引擎能力完成 3D 數字人的上線。
3D 數字人在訓練階段的技術處理過程和 2D 數字人相似,剛剛提到的面部驅動參數的精修數據相當于輸出特征,然后再學習文本語音特征和面部精修數據之間的映射關系。在驅動階段不同于 2D 數字人的是會根據 NN 模型拿到面部驅動參數,同時通過高級動作系統進行肢體驅動,然后將面部動畫和肢體動畫以及語音通過渲染合成得到最終的數字人視頻流。
3. 3D 數字人唇形遷移技術
我們當前定制出自然唇形效果時需要錄制小時級數據,同時小時級數據又需要精修,這里的數據錄入和訓練成本比較高。為了優化成本,我們提出一種遷移方案,即通過已經制作好的數字人 A 的唇形效果遷移到數字人 B 上,這樣數字人 B 只需要錄制少量的數據即可完成唇形訓練。
當前火山引擎已經實現該技術方案,我們的數字人只需要錄制 5 分鐘以內的小數據量即可實現之前的效果。在技術流程上,數字人 B 錄制的小數據量精修數據會在原子發音單元實現上下文相關參數統計,然后在結合數字人A成熟的 NN 驅動模型自動推導出非線性后處理模塊,在這個非線性后處理模塊調整數字人 NN 模塊的輸出,這里輸出的面部驅動參數可以適配到數字人 B 上,后面和前述流程一樣,最終通過渲染合成得到展示效果。
04/火山引擎虛擬數字人應用
火山引擎數字人應用平臺集成了上述所有技術能力。這里主要有兩部分功能需要重點介紹:數字人管理和視頻創作。數字人管理頁面可以配置數字人,在配置完成之后可以進行實時交互。視頻創作主要用于內容生產。
在以上頁面支持選擇已經支持的數字人形象,包括 2D 數字人形象和 3D數字人形象,選擇完成后支持形象設置、畫面設置和能力設置,配置完成后保存數字人即可進行實時交互。
以上是視頻創作頁面,這里包括三個不同的軌道,包括文本軌道、動作軌道和圖素軌道。
我們還可以在數字人播報的任意時刻插入指定動作。
圖片素材這部分可以插入 Logo 還有圖片視頻相關的元素。
火山引擎數字人也支持應用于金融面審和電商直播等場景。
05/火山引擎虛擬數字人展望
火山引擎虛擬數字人接下來主要有以下方面的展望:
-
提升表現力:2D 數字人支持大姿態面部合成;提升面部合成情感表現力;提升肢體動作表現力。
-
增強感知能力:引入多模態感知能力,包括環境感知、活體檢測和人臉識別等相關能力;提升數字人可控度,探索支持大姿態的頭部運動,提升數字人適配多模態感知能力輸出信號的可控度。
-
加強定制化能力:2D 數字人引入更多人臉相關能力,以便完成更豐富的形象配置;3D 數字人完善引擎能力建設,支持燈光等各類場景特效;3D 數字人探索角色定制,包括捏臉、體型定制、換裝換膚等。?
-
降低數據成本:積累大數據模型,探索小數據量邊界;完善遷移方案,小成本完成成熟能力復制。
今天的分享就到這里,謝謝大家。
分享嘉賓
樊博|字節跳動AI-Lab智能語音?算法研究員
樊博,碩士,西北工業大學優秀畢業生。曾任職于IBM中國研究院、搜狗、Bigo,獲得搜狗CEO特別獎等獎勵。目前在字節跳動AI-Lab擔任算法工程師職位,主要負責多模態數字人整體框架設計與技術迭代,探索ToB、ToC等落地場景。曾在Interspeech、ICASSP等會議發表論文6篇。
總結
以上是生活随笔為你收集整理的火山引擎虚拟数字人技术与应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机设备不能正常启动怎么办,电脑没有找
- 下一篇: 解析阿里“聚石塔”产品