MNN-TaoAvatar開源
發(fā)布日期:2025/7/10 7:36:50 瀏覽量:
TaoAvatar 是由阿里巴巴淘天 Meta 技術(shù)團隊研發(fā)的 3D 真人數(shù)字人技術(shù),這一技術(shù)能在手機或 XR 設(shè)備上實現(xiàn) 3D 數(shù)字人的實時渲染以及 AI 對話的強大功能,為用戶帶來逼真的虛擬交互體驗。TaoAvatar 基于先進(jìn)的 3D 高斯?jié)姙R技術(shù),提供了一套全身互動式的真人數(shù)字人解決方案。它通過多視角視頻的輸入,可以迅速生成具有高逼真度的數(shù)字人形象,這些形象不僅能夠精準(zhǔn)地捕捉到細(xì)膩的面部表情和手勢動作,甚至連衣物細(xì)微的褶皺以及頭發(fā)的自然擺動都能清晰呈現(xiàn),帶來一種自然而真實的視覺體驗。MNN-TaoAvatar 不僅能夠在手機端流暢運行,還完美兼容了 XR 設(shè)備。
MNN-TaoAvatar 具有兩個核心優(yōu)勢:端側(cè)實時對話和端側(cè)實時渲染。
端側(cè)實時對話
首先,為了實現(xiàn)端側(cè)的實時對話,需要將 ASR(自動語音識別)、TTS(文本轉(zhuǎn)換語音)和 A2BS(口型驅(qū)動)的綜合 RTF(Real Time Factor,實時因素)控制在 1 以內(nèi),即能在 1 秒內(nèi)生成 1 秒長度的語音,RTF 值越小生成速度越快。通過持續(xù)優(yōu)化,我們?nèi)〉昧艘韵峦黄疲?/span>
為了讓數(shù)字人的面部動作更為自然,渲染過程主要分為兩個關(guān)鍵步驟:首先,根據(jù)語音輸入,通過算法模型精準(zhǔn)提取面部表情動作的系數(shù),然后將表情系數(shù)和數(shù)字人 3D 模型的預(yù)錄數(shù)據(jù)進(jìn)行融合,最終借助 NNR 渲染器完成高質(zhì)量渲染。這兩部分我們做到的性能如下:
上文提及的具體端側(cè)模型的功能及我們做到的技術(shù)指標(biāo)如下(基于搭載高通驍龍 Snapdragon 8 Elite芯片的智能手機測試結(jié)果):
在用戶尚未輸入語音的情況下,MNN-TaoAvatar 會利用 MNN-NNR 來渲染默認(rèn)的數(shù)字人模型姿態(tài),生成閉唇、靜態(tài)表情或者預(yù)設(shè)動作的畫面。一旦用戶開始語音輸入,系統(tǒng)將按以下流程運行:
MNN-TaoAvatar 是基于 MNN 引擎構(gòu)建而成的,它集成了 MNN-LLM、MNN-NNR 以及 Sherpa-MNN(包括 MNN-ASR 和 MNN-TTS)等多種算法模塊。下圖展示了這些模塊在應(yīng)用中的架構(gòu)示意:
MNN(Mobile Neural Network)是一款功能強大的開源、跨平臺 AI 模型推理引擎。
? MNN:輕量級 AI 推理引擎
它的核心優(yōu)勢如下:
MNN-LLM 是基于 MNN 之上開發(fā)的 MNN-Transformer 模塊的一個子功能模塊,用于支持大語言模型與文生圖等 AIGC 任務(wù)。它包含以下關(guān)鍵技術(shù):
? MNN-LLM:移動端部署大模型
MNN-Transformer 由三個核心部分構(gòu)成:導(dǎo)出工具、量化工具以及插件與引擎。
為提升語音識別在端側(cè)上的表現(xiàn),MNN 團隊對原始 sherpa-onnx 框架進(jìn)行了深度優(yōu)化,推出 Sherpa-MNN,它支持 ASR(自動語音識別)和 TTS(文本轉(zhuǎn)語音)算法,并具備如下優(yōu)勢:
性能翻倍:在 MacBook Pro M1 上(基于 arm64 架構(gòu)),單線程運行經(jīng)過量化處理的流式 ASR 模型(具體模型為 sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20)。在這一測試中,onnxruntime 的 RTF(實時因子)為 0.078,而 MNN 的 RTF 僅為 0.035,相比于 onnxruntime 快出一倍。
MNN-NNR 是 TaoAvatar 的核心 3D 渲染引擎,專為在移動設(shè)備上實時渲染高質(zhì)量數(shù)字人模型而設(shè)計。其核心的技術(shù)優(yōu)勢如下:
? Sherpa-MNN:離線語音智能新方案
? MNN-NNR:高效神經(jīng)網(wǎng)絡(luò)渲染引擎
為了讓數(shù)字人模型能夠?qū)崿F(xiàn)高效的渲染,我們進(jìn)行了以下幾項深度優(yōu)化:
數(shù)據(jù)同步優(yōu)化
在這些優(yōu)化的加持下,MNN-NNR 成功實現(xiàn)了在動畫模型僅以較低頻率(如 20 fps)更新的情況下,畫面依然能夠以 60 fps 的流暢度進(jìn)行輸出。
傳統(tǒng)高斯點云重建成本高、存儲體積大,而 TaoAvatar 采用了全新的多重優(yōu)化方案:
通過相同素材重建得到的數(shù)字人模型,在不同高斯點云數(shù)量下,會呈現(xiàn)出不同的清晰度、模型體積和渲染性能。為了找到最佳的平衡點,我們進(jìn)行了多種不同點云數(shù)量模型的測試:
為了消除數(shù)據(jù)同步所需的時間,我們讓所有模型都在 MNN GPU 后端上運行,并在 NNR Runtime 中配置 MNN 所使用的 GPU 后端與渲染共享同一個上下文。這樣,MNN Tensor 的數(shù)據(jù)就直接存儲在 GPU 內(nèi)存中。NNR Runtime 實現(xiàn)了直接讀取 MNN Tensor GPU 內(nèi)存的方案,無需進(jìn)行數(shù)據(jù)拷貝即可直接用于渲染,從而免除了數(shù)據(jù)同步的時間。
在 NNR Runtime 中,我們實現(xiàn)了「Dirty 機制」,每一幀只運行輸入數(shù)據(jù)發(fā)生變化的 MNN 模型。在 TaoAvatar 場景中,深度模型包括 Base Deformer、Aligner、Deformer、Color Compute 和 Sort 等。由于動態(tài)高斯數(shù)字人重建所需的圖像是以 20 幀/秒的速度采集的,為了保持高斯數(shù)字人動作的平滑性和一致性,驅(qū)動高斯數(shù)字人動作的參數(shù)只需以 20 fps 的頻率設(shè)置即可。
因此,Base Deformer、Aligner 和 Deformer 只需以 20 fps 的頻率運行。在視角變化不大的情況下,也不需要每幀都對高斯點進(jìn)行排序,所以 Sort 模型通過另一個開關(guān)來控制運行。這樣,每幀實際運行的模型就只剩下 Color Compute,從而大幅降低了整體的運行時間。
對于使用 MNN 編譯器的模型,將輸入數(shù)據(jù)進(jìn)行 fp16 壓縮,可以提升 50% 的性能。
對于高斯排序,MNN 實現(xiàn)了基于 GPU 的基數(shù)排序算法,并且利用 autotuning 技術(shù),確保在各類 GPU 上都能達(dá)到最佳性能。
? 3D 高斯數(shù)字人:小模型也能高質(zhì)量
雖然我們已經(jīng)進(jìn)行了大量的優(yōu)化工作,但由于需要將多個模型集成到手機中,所以對手機性能還是有一定要求的。以下是 MNN-TaoAvatar 的推薦配置:
?? 性能不足的設(shè)備可能會遇到卡頓、聲音斷續(xù)或功能受限哦。
想要親自體驗一下嗎?只需按照以下簡單的步驟操作即可。
首先克隆項目代碼:
然后構(gòu)建并部署:
連接你的安卓手機,打開 Android Studio 點擊「Run」,或執(zhí)行:
通過這兩個步驟,你就可以在自己的手機上體驗 MNN-TaoAvatar 數(shù)字人應(yīng)用了!
資源鏈接:
TaoAvatar Github 下載:https://github.com/alibaba/MNN/blob/master/apps/Android/MnnTaoAvatar/README_CN.md
TaoAvatar 論文:https://arxiv.org/html/2503.17032v1
MNN LLM論文:https://arxiv.org/abs/2506.10443
TaoAvatar模型合集:https://modelscope.cn/collections/TaoAvatar-68d8a46f2e554a
LLM模型:Qwen2.5-1.5B MNN:https://github.com/alibaba/MNN/tree/master/3rd_party/NNR
TTS模型:bert-vits2-MNN:https://modelscope.cn/models/MNN/bert-vits2-MNN
基礎(chǔ)TTS模型:Bert-VITS2:https://github.com/fishaudio/Bert-VITS2
聲音動作模型:UniTalker-MNN:https://modelscope.cn/models/MNN/UniTalker-MNN
基礎(chǔ)聲音動作模型:UniTalker:https://github.com/X-niper/UniTalker
神經(jīng)渲染模型:TaoAvatar-NNR-MNN:https://modelscope.cn/models/MNN/TaoAvatar-NNR-MNN
ASR模型:Sherpa 雙語流式識別模型:https://modelscope.cn/models/MNN/sherpa-mnn-streaming-zipformer-bilingual-zh-en-2023-02-20
china3dv live demo滑動可以看到 TaoAvatar:http://china3dv.csig.org.cn/LiveDemo.html
硬件要求
? 快速體驗
git clone https://github.com/alibaba/MNN.gitcd apps/Android/Mnn3dAvatar
/gradlew installDebug
馬上咨詢: 如果您有業(yè)務(wù)方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗積累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 聯(lián)系人:石先生/雷先生