開(kāi)發(fā)一個(gè)自己的數(shù)字人,F(xiàn)ACEGOOD把語(yǔ)音驅(qū)動(dòng)表情技術(shù)開(kāi)源了
目前,元宇宙熱潮下,AI 數(shù)字人也開(kāi)始涉及眾多領(lǐng)域,包含文娛、服務(wù)、教育、營(yíng)銷等。市面上出現(xiàn)的 AI 數(shù)字人包括功能型 AI 數(shù)字人,如虛擬助手、虛擬導(dǎo)游、虛擬客服等;陪伴型 AI 數(shù)字人,如虛擬伴侶、虛擬家屬等;社會(huì)型 AI 數(shù)字人,如虛擬主播、虛擬偶像、虛擬教師、虛擬醫(yī)生、虛擬導(dǎo)購(gòu)等。
浦發(fā)銀行的首位銀行業(yè)數(shù)字員工「小浦」
虎牙 AI 數(shù)字人晚玉
搜狐新聞客戶端聯(lián)合搜狗推出的首個(gè)明星「AI 數(shù)字人」主播。
為了實(shí)現(xiàn)虛擬數(shù)字人的多域化滲透,讓更多 AI 數(shù)字人的場(chǎng)景落地,FACEGOOD 決定將語(yǔ)音驅(qū)動(dòng)口型的算法技術(shù)正式開(kāi)源,這是 AI 虛擬數(shù)字人的核心算法,技術(shù)開(kāi)源后將大程度降低 AI 數(shù)字人的開(kāi)發(fā)門(mén)檻。
項(xiàng)目地址:https://github.com/FACEGOOD/Audio2Face
項(xiàng)目背景
2019 年,第十屆中國(guó)國(guó)際新媒體短片節(jié)組委會(huì)和 FACEGOOD 聯(lián)合發(fā)布陸川導(dǎo)演 AI 數(shù)字人。
陸川導(dǎo)演 AI 數(shù)字人形象
觀眾可以和 AI 數(shù)字陸川面對(duì)面互動(dòng)交流,為觀眾帶來(lái)打破虛擬空間和現(xiàn)實(shí)空間次元壁的實(shí)時(shí)實(shí)感交流互動(dòng)體驗(yàn)。為了能達(dá)到實(shí)時(shí)交互的效果,F(xiàn)ACEGOOD 開(kāi)發(fā)了一套數(shù)字人實(shí)時(shí)語(yǔ)音交互系統(tǒng),實(shí)現(xiàn)了語(yǔ)音到表情動(dòng)畫(huà)的實(shí)時(shí)轉(zhuǎn)換。
如今,F(xiàn)ACEGOOD 選擇將全套語(yǔ)音驅(qū)動(dòng)表情的技術(shù)代碼開(kāi)源,免費(fèi)提供給廣大數(shù)字人開(kāi)發(fā)者使用。
技術(shù)解讀
該技術(shù)可以將語(yǔ)音實(shí)時(shí)轉(zhuǎn)換成表情 blendshape 動(dòng)畫(huà)。這樣做的原因是在現(xiàn)行的產(chǎn)業(yè)中,用 BS 去驅(qū)動(dòng)數(shù)字形象的動(dòng)畫(huà)表情仍是主流,方便動(dòng)畫(huà)藝術(shù)家對(duì)最終動(dòng)畫(huà)產(chǎn)出最藝術(shù)調(diào)整,傳輸?shù)臄?shù)據(jù)量小,方便動(dòng)畫(huà)在不同的數(shù)字形象之間進(jìn)行傳遞等等。
基于這些實(shí)際生產(chǎn)中的需求,F(xiàn)ACEGOOD 對(duì)輸入和輸出數(shù)據(jù)做了相應(yīng)的調(diào)整,聲音數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽不再是模型動(dòng)畫(huà)的點(diǎn)云數(shù)據(jù)而是模型動(dòng)畫(huà)的 blendshape 權(quán)重。最終的使用流程如下圖 1 所示:
在上面的流程中,FACEGOOD 主要完成 Audio2Face 部分,ASR、TTS 由思必馳智能機(jī)器人完成。如果你想用自己的聲音,或第三方的,ASR、TTS 可以自行進(jìn)行替換。
當(dāng)然,FACEGOOD Audio2face 部分也可根據(jù)自己的喜好進(jìn)行重新訓(xùn)練,比如你想用自己的聲音或其它類型的聲音,或者不同于 FACEGOOD 使用的模型綁定作為驅(qū)動(dòng)數(shù)據(jù),都可以根據(jù)下面提到的流程完成自己專屬的動(dòng)畫(huà)驅(qū)動(dòng)算法模型訓(xùn)練。
那么 Audio2Face 這一步的框架是什么樣呢?又如何制作自己的訓(xùn)練數(shù)據(jù)呢?具體如下圖 2 所示:
常規(guī)的神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練大致可以分為三個(gè)階段:數(shù)據(jù)采集制作、數(shù)據(jù)預(yù)處理和數(shù)據(jù)模型訓(xùn)練。
- 第一階段,數(shù)據(jù)采集制作。這里主要包含兩種數(shù)據(jù),分別是聲音數(shù)據(jù)和聲音對(duì)應(yīng)的動(dòng)畫(huà)數(shù)據(jù)。聲音數(shù)據(jù)主要是錄制中文字母表的發(fā)音,以及一些特殊的爆破音,包含盡可能多中發(fā)音的文本。而動(dòng)畫(huà)數(shù)據(jù)就是,在 maya 中導(dǎo)入錄制的聲音數(shù)據(jù)后,根據(jù)自己的綁定做出符合模型面部特征的對(duì)應(yīng)發(fā)音的動(dòng)畫(huà);
- 第二階段,主要是通過(guò) LPC 對(duì)聲音數(shù)據(jù)做處理,將聲音數(shù)據(jù)分割成與動(dòng)畫(huà)對(duì)應(yīng)的幀數(shù)據(jù),及 maya 動(dòng)畫(huà)幀數(shù)據(jù)的導(dǎo)出。
- 第三階段就是將處理之后的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入,然后進(jìn)行訓(xùn)練直到 loss 函數(shù)收斂即可。