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