楊文韜 劉沛卿 佟佳欣 柳 楊
1.廣西美術(shù)出版社,廣西南寧 530023
2.北京郵電大學(xué),北京 100876
元宇宙的概念是科幻小說(shuō)《雪崩》第一次提出的,如今我們描述的元宇宙是一個(gè)高度沉浸且永續(xù)發(fā)展的三維時(shí)空互聯(lián)網(wǎng),是與現(xiàn)實(shí)世界映射和交互的虛擬世界(圖1)。

圖1 元宇宙應(yīng)用行為邏輯①
近年來(lái),網(wǎng)絡(luò)技術(shù)、人工智能、虛擬現(xiàn)實(shí)等領(lǐng)域快速發(fā)展,元宇宙也從概念走向?qū)嵺`。目前元宇宙的發(fā)展受到了政府、企業(yè)和社會(huì)的廣泛關(guān)注和支持,根據(jù)麥肯錫2022 年6 月發(fā)布的《元宇宙中的價(jià)值創(chuàng)造-虛擬世界的真實(shí)業(yè)務(wù)》報(bào)告,預(yù)計(jì)2030 年全球元宇宙的市場(chǎng)規(guī)模有望高達(dá)5萬(wàn)億美元。
在元宇宙中,數(shù)字人作為虛擬人和人形機(jī)器人的統(tǒng)稱,是元宇宙中最重要的參與者和創(chuàng)造者,也是元宇宙中最具價(jià)值和影響力的數(shù)字資產(chǎn)。因此如何自動(dòng)生成數(shù)字人,并實(shí)現(xiàn)實(shí)時(shí)驅(qū)動(dòng)是元宇宙中的關(guān)鍵問(wèn)題之一,它涉及到大量前沿技術(shù),如人工智能(AI)、計(jì)算機(jī)圖形學(xué)(CG)、區(qū)塊鏈(Blockchain)、非同質(zhì)化通證(NFT)等,這些技術(shù)為數(shù)字人提供了形象、語(yǔ)言、行為等多方面的支持。
與此同時(shí),數(shù)字人可以提高影視作品的制作水平和表現(xiàn)方式,也有望成為影視行業(yè)新的增長(zhǎng)點(diǎn)和內(nèi)容創(chuàng)作工具。數(shù)字人可以作為虛擬演員,參與影視劇、游戲、動(dòng)畫(huà)等作品的制作和表演。數(shù)字演員可以根據(jù)劇本和導(dǎo)演的指導(dǎo),表現(xiàn)出各種復(fù)雜和細(xì)致的情感和動(dòng)作,增強(qiáng)作品的真實(shí)感和美感。例如,迪士尼公司利用面部捕捉技術(shù)和三維建模技術(shù),制作了電影《獅子王》中的虛擬動(dòng)物角色;《阿凡達(dá)》的續(xù)作《阿凡達(dá):水之道》使用了實(shí)時(shí)渲染、水下動(dòng)作捕捉、表情捕捉等技術(shù),對(duì)水下目標(biāo)上的特定光點(diǎn)進(jìn)行跟蹤,將捕捉到的光點(diǎn)進(jìn)行數(shù)據(jù)處理和分析,建立的CG 三維模型高度擬真,使虛擬角色的動(dòng)作、表情以及在水中的光影動(dòng)態(tài)清晰地展現(xiàn)出來(lái),栩栩如生;其他應(yīng)用到數(shù)字人技術(shù)的經(jīng)典影視作品還包括《玩具總動(dòng)員》系列、《變形金剛》系列、《星球大戰(zhàn)》系列作品等。數(shù)字人技術(shù)可以幫助影視制片方創(chuàng)造出更加逼真、華麗的視覺(jué)效果,同時(shí)也拓展了藝術(shù)表現(xiàn)的范圍和可能性。
本文將對(duì)目前主流的數(shù)字人生成和驅(qū)動(dòng)技術(shù)進(jìn)行系統(tǒng)梳理,同時(shí)結(jié)合多種技術(shù),提出一種可行的基于照片的數(shù)字人生成和實(shí)時(shí)驅(qū)動(dòng)架構(gòu)。
數(shù)字人(Digital Human)是指利用計(jì)算機(jī)技術(shù)和人工智能技術(shù),根據(jù)真實(shí)人類的外貌、動(dòng)作、聲音等特征,生成的具有高逼真度以及高交互性的虛擬人物。數(shù)字人是一種集成了計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理、機(jī)器學(xué)習(xí)等多個(gè)領(lǐng)域的知識(shí)和技術(shù)的復(fù)雜系統(tǒng),是人工智能技術(shù)在虛擬現(xiàn)實(shí)(VR)、增強(qiáng)現(xiàn)實(shí)(AR)、影視娛樂(lè)等領(lǐng)域的重要應(yīng)用之一。數(shù)字人不僅可以模仿真實(shí)人類的表情、語(yǔ)言、情感,與人類或虛擬對(duì)象進(jìn)行真實(shí)的交互行為,還可以根據(jù)不同的場(chǎng)景和需求,自主地做出合理與有意義的反應(yīng)。
數(shù)字人的發(fā)展歷程主要經(jīng)歷了以下四個(gè)階段,分別是萌芽階段、探索階段、初級(jí)階段和成長(zhǎng)階段。
(1)萌芽階段(20 世紀(jì)80 年代至21 世紀(jì)初)。在這個(gè)階段,人們開(kāi)始嘗試將虛擬人物引入到現(xiàn)實(shí)世界,技術(shù)主要以手繪為主。例如,日本的二次元文化興起,動(dòng)漫角色逐漸受到歡迎,出現(xiàn)了一些動(dòng)漫角色作為虛擬歌手等形象出現(xiàn)在大眾視野,如《超時(shí)空要塞》中的林明美就被制作方打造成虛擬主播,其出品的音樂(lè)專輯還進(jìn)入日本當(dāng)時(shí)的Oricon 音樂(lè)排行榜。
(2)探索階段(2000-2016 年)。在這個(gè)階段,3D動(dòng)畫(huà)、動(dòng)作捕捉等技術(shù)逐步發(fā)展,開(kāi)始應(yīng)用在影視制作中。基于語(yǔ)音合成軟件VOCALOID 以及CG 合成技術(shù),出現(xiàn)了以初音未來(lái)為代表的一批虛擬數(shù)字人,形象以二次元風(fēng)格、3D 表現(xiàn)為主。
(3)初級(jí)階段(2017-2020 年)。在這個(gè)階段,受益于深度學(xué)習(xí)(Deep Learning)算法的發(fā)展與提升,數(shù)字人的生成技術(shù)開(kāi)始步入正軌,進(jìn)入初級(jí)階段。例如,伴隨嗶哩嗶哩、YouTube 等渠道的推動(dòng),以“絆愛(ài)”“洛天依”“小央”“小視”為代表的一批虛擬主播開(kāi)始出現(xiàn),這些虛擬數(shù)字人通常由專業(yè)團(tuán)隊(duì)來(lái)制作和運(yùn)營(yíng),通過(guò)直播等渠道面向用戶,形象以二次元風(fēng)格為主。
(4)成長(zhǎng)階段(2020 年至今)。在這個(gè)階段,人工智能的內(nèi)容生產(chǎn)能力極大提升,同時(shí)伴隨元宇宙對(duì)虛擬人賽道的催化,虛擬數(shù)字人開(kāi)始得到進(jìn)一步的發(fā)展和應(yīng)用,出現(xiàn)了Lil Miquela、柳夜熙等一批在社交媒體上受到極大關(guān)注的虛擬人,同時(shí),相關(guān)應(yīng)用也開(kāi)始從虛擬主播、虛擬偶像的范疇向外拓展,形象也開(kāi)始脫離單純的二次元風(fēng)格,出現(xiàn)了類寫(xiě)實(shí)、AI 合成真人等,行業(yè)逐步進(jìn)入成長(zhǎng)階段。例如,坐擁百萬(wàn)粉絲的Lil Miquela 是一款由美國(guó)公司Brud 開(kāi)發(fā)的虛擬模特軟件,用戶可以通過(guò)Instagram 等社交平臺(tái)來(lái)關(guān)注Lil Miquela 的生活和動(dòng)態(tài),并與她進(jìn)行互動(dòng)。
在發(fā)展早期,大部分?jǐn)?shù)字人是依靠人工建模生成,但是這種方法效率非常低。如今隨著計(jì)算機(jī)視覺(jué)和人工智能技術(shù)的發(fā)展,涌現(xiàn)出越來(lái)越多的自動(dòng)化生成數(shù)字人的技術(shù)。這些技術(shù)主要分為兩類:基于圖像的數(shù)字人(Image-based Digital Human)生成技術(shù)和基于模型的數(shù)字人(Model-based Digital Human)生成技術(shù)。本節(jié)將分別介紹這兩種技術(shù)。
3.1.1 基于圖像的數(shù)字人生成技術(shù)概述
基于圖像的數(shù)字人生成技術(shù),是指利用真實(shí)人類的圖像或視頻作為輸入,通過(guò)圖像處理和圖像合成技術(shù)對(duì)人臉圖像進(jìn)行三維重建,生成具有相同或相似外貌和動(dòng)作的數(shù)字人,通常具有較高的真實(shí)感和細(xì)節(jié),但是這種數(shù)字人在后期驅(qū)動(dòng)時(shí)需要對(duì)模型進(jìn)行重拓?fù)洹?/p>
這種方法的流程如下:
(1)圖像采集:構(gòu)建多種光照環(huán)境,從真實(shí)人類的圖像或視頻中采集出在各種光照環(huán)境下,面部的表情樣本以及面部特征點(diǎn),并構(gòu)建出二維或三維的特征點(diǎn)云。
(2)三維重建:將輸入后的真實(shí)人臉圖像,通過(guò)圖像處理和圖像合成技術(shù),對(duì)每張二維人臉圖像進(jìn)行一次三維重建,得出各個(gè)人臉模型。
(3)模型對(duì)齊:在得出的各個(gè)人臉模型中,選擇一定數(shù)量可信度較高的結(jié)果,以分區(qū)的方式按照權(quán)重進(jìn)行結(jié)合。
(4)模型計(jì)算:將對(duì)齊后的模型進(jìn)行計(jì)算,生成具有連貫性和一致性的新模型,從而得到該個(gè)體的三維重建結(jié)果。生成具有相同或相似外貌和動(dòng)作的數(shù)字人。
(5)模型渲染:將融合后的模型進(jìn)行渲染,增加一些細(xì)節(jié)和效果,使得生成的數(shù)字人更加逼真和自然。渲染的方法有多種,例如紋理映射、光照模型、陰影效果、反射效果等。
3.1.2 運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)
基于運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)(Structure from Motion,SfM)的人臉三維重建技術(shù)[1]是指從不同的角度拍攝運(yùn)動(dòng)中的人物,捕獲一組或多組二維人臉圖像,捕獲設(shè)備如圖2 所示,通過(guò)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)的方法,恢復(fù)出三維的人臉模型。基于SfM 的人臉三維重建的基本思想是利用圖像之間的對(duì)應(yīng)關(guān)系,通過(guò)幾何原理和優(yōu)化算法,求解出相機(jī)參數(shù)和三維點(diǎn)坐標(biāo),從而實(shí)現(xiàn)從二維到三維的轉(zhuǎn)換。基于SfM 的三維重建技術(shù)主要包括以下幾個(gè)步驟:

圖2 實(shí)驗(yàn)室中基于SfM 方法生成數(shù)字人的設(shè)備
(1)人臉對(duì)齊:從輸入的二維人臉圖像中檢測(cè)出人臉的位置和姿態(tài),以及一些關(guān)鍵點(diǎn),如眼睛、鼻子、嘴巴等,然后將不同圖像中的人臉對(duì)齊到一個(gè)統(tǒng)一的坐標(biāo)系中,以便于后續(xù)的特征提取和匹配。
(2)特征提取:從輸入的二維圖像中提取出一些具有區(qū)分性和穩(wěn)定性的特征點(diǎn),如角點(diǎn)、邊緣、區(qū)域等,以及對(duì)應(yīng)的特征描述符,如SIFT、SURF、ORB 等,用于后續(xù)的特征匹配。然后根據(jù)這些特征進(jìn)行圖像匹配和對(duì)應(yīng)。
(3)特征匹配:根據(jù)特征描述符的相似度,找出不同圖像中對(duì)應(yīng)的特征點(diǎn),進(jìn)行特征匹配,用于后續(xù)的運(yùn)動(dòng)估計(jì)。
(4)相機(jī)標(biāo)定:根據(jù)一些已知的相機(jī)參數(shù)或者通過(guò)一些標(biāo)定方法,確定相機(jī)的內(nèi)參(Intrinsic Parameters)和外參(Extrinsic Parameters)。
(5)運(yùn)動(dòng)估計(jì):根據(jù)特征匹配,估計(jì)出相機(jī)之間的相對(duì)運(yùn)動(dòng)關(guān)系,即旋轉(zhuǎn)矩陣(Rotation Matrix)和平移向量(Translation Vector)。
(6)稀疏重建:根據(jù)相機(jī)的內(nèi)參、外參和特征匹配,利用三角測(cè)量(Triangulation)方法,恢復(fù)出場(chǎng)景中特征點(diǎn)的三維坐標(biāo),形成稀疏的三維點(diǎn)云。稀疏重建還可以利用捆集調(diào)整(Bundle Adjustment)方法,來(lái)同時(shí)優(yōu)化相機(jī)參數(shù)和三維點(diǎn)坐標(biāo),提高重建的精度和魯棒性。
(7)稠密重建:根據(jù)相機(jī)的內(nèi)參、外參和稀疏的三維點(diǎn)云,利用立體視覺(jué)(Stereo Vision)或者多視圖立體(Multi-view Stereo)方法,恢復(fù)出場(chǎng)景中更多的三維點(diǎn)或者表面,形成稠密的三維點(diǎn)云或者網(wǎng)格。稠密重建可以分為基于像素的方法和基于塊的方法,基于像素的方法是指直接在像素級(jí)別進(jìn)行深度估計(jì),基于塊的方法是指在一些預(yù)定義的塊或者窗口上進(jìn)行深度估計(jì)。
基于SfM 的人臉三維重建技術(shù)有以下幾個(gè)優(yōu)點(diǎn)。首先,無(wú)需人為干預(yù)或者先驗(yàn)知識(shí),只需要自動(dòng)地提取和匹配特征,以及求解和優(yōu)化相機(jī)參數(shù)和三維點(diǎn)坐標(biāo),從而提高了效率和準(zhǔn)確性;其次,適用于各種大規(guī)模或者動(dòng)態(tài)場(chǎng)景中的人臉圖像,只需要保證圖像之間有足夠的重疊和視差,就可以恢復(fù)出人臉的三維結(jié)構(gòu),從而提高了魯棒性和多樣性;再次,可以從無(wú)序或者稀疏的圖像集合中進(jìn)行重建;最后,無(wú)需特殊的設(shè)備或者標(biāo)定對(duì)象,只需要普通的相機(jī)或者手機(jī)就可以拍攝人臉圖像,從而降低了成本和難度。
基于SfM 的三維重建技術(shù)同時(shí)也面臨以下幾個(gè)挑戰(zhàn)。首先,人臉在不同的表情下,會(huì)產(chǎn)生不同的形變和紋理變化,這會(huì)影響特征提取和匹配的穩(wěn)定性和一致性,以及運(yùn)動(dòng)估計(jì)和重建的準(zhǔn)確性和完整性;其次,人臉在不同的光照條件下,會(huì)產(chǎn)生不同的亮度和陰影變化,這會(huì)影響特征提取和匹配的區(qū)分性和可靠性,以及重建的真實(shí)性和自然性;再次,人臉在拍攝過(guò)程中,可能會(huì)被一些物體或者頭發(fā)等遮擋部分區(qū)域,這會(huì)影響特征提取和匹配的完整性和對(duì)應(yīng)性,以及重建的連續(xù)性和光滑性;最后,隨著圖像數(shù)量的增加,SfM 的計(jì)算量和內(nèi)存消耗也會(huì)隨之增加,這會(huì)影響SfM 的速度和效率,以及重建的規(guī)模和質(zhì)量。
3.2.1 基于模型的數(shù)字人生成技術(shù)概述
基于模型的數(shù)字人(Model-based Digital Human)生成技術(shù)是一種參數(shù)化的生成技術(shù)。首先采集大量三維人臉模型,然后通過(guò)重拓?fù)渥屗心P途哂邢嗤狞c(diǎn)數(shù),而且每個(gè)點(diǎn)具有同樣的語(yǔ)義,最后,基于數(shù)據(jù)分析得到平均人臉模型,并通過(guò)主成分分析等方法得到若干基向量和對(duì)應(yīng)的系數(shù)。因此只需要得到對(duì)應(yīng)的系數(shù)就能重建三維人臉。這種類型的數(shù)字人通常具有較高的靈活性和可編輯性,但是缺乏逼真度和自然性,難以表現(xiàn)細(xì)微和復(fù)雜的情感或動(dòng)作。
這種技術(shù)通常包括以下幾個(gè)步驟:
(1)模型構(gòu)建:根據(jù)真實(shí)人類或虛構(gòu)角色的特征,構(gòu)建出平均人臉形變模型。模型可以分為靜態(tài)模型和動(dòng)態(tài)模型。靜態(tài)模型是指只包含形狀信息的模型,動(dòng)態(tài)模型是指包含形狀信息和運(yùn)動(dòng)信息的模型。
(2)模型參數(shù)化:將平均人臉形變模型轉(zhuǎn)化為一組參數(shù),方便對(duì)模型進(jìn)行編輯和控制。
(3)參數(shù)估計(jì):設(shè)計(jì)算法,從輸入的圖像或視頻中估計(jì)模型的參數(shù),使得到的模型和照片中的人盡可能接近。
3.2.2 基于3DMM 的數(shù)字人生成
3.2.2.1 3DMM 介紹
三維可變形模型(3D Morphable Model,3DMM)[2]是一類通用的三維人臉模型,用固定的點(diǎn)數(shù)來(lái)表示人臉。它的核心思想就是人臉可以在三維空間中進(jìn)行一一匹配,并且可以由其他許多幅人臉正交基加權(quán)線性相加而來(lái)。3DMM 模型可以分解為形狀和紋理兩個(gè)部分,每個(gè)部分都可以用主成分分析(PCA)得到一組特征向量和特征值,用于描述人臉的變化。常見(jiàn)的3DMM 模型有Basel Face Model 和Large Scale Face Model 等。基于3DMM 的數(shù)字人生成技術(shù)是指以3DMM 模型作為先驗(yàn)知識(shí),利用三維可變形人臉模型,從單張或多張二維圖像中恢復(fù)出三維的人臉模型,并根據(jù)需要進(jìn)行編輯和渲染的技術(shù)。這種技術(shù)可以實(shí)現(xiàn)對(duì)真實(shí)人物或虛擬人物的三維重建和生成,也可以實(shí)現(xiàn)不同表情、姿態(tài)、光照、風(fēng)格等屬性的三維變換。

表1 常見(jiàn)的3DMM 模型和參數(shù)
3.2.2.2 基于深度學(xué)習(xí)的3DMM 參數(shù)估計(jì)
3DMM 參數(shù)估計(jì)是指從二維人臉圖像中恢復(fù)出對(duì)應(yīng)的3DMM 參數(shù),從而實(shí)現(xiàn)三維人臉重建。傳統(tǒng)的3DMM 參數(shù)估計(jì)方法通常基于分析-合成(Analysis-by-synthesis)的框架,通過(guò)迭代優(yōu)化一個(gè)目標(biāo)函數(shù)來(lái)擬合輸入圖像,這種方法需要消耗大量的計(jì)算資源,且容易陷入局部最優(yōu)解。
近年來(lái),隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的3DMM 參數(shù)估計(jì)方法逐漸受到關(guān)注。這類方法利用深度神經(jīng)網(wǎng)絡(luò)來(lái)直接從二維人臉圖像中預(yù)測(cè)出3DMM 參數(shù),無(wú)需進(jìn)行迭代優(yōu)化,因此具有更高的效率和魯棒性。基于深度學(xué)習(xí)的3DMM 參數(shù)估計(jì)方法可以分為兩類,即監(jiān)督學(xué)習(xí)方法和非監(jiān)督學(xué)習(xí)方法。
監(jiān)督學(xué)習(xí)方法是指使用帶有真實(shí)3DMM 參數(shù)標(biāo)簽的人臉圖像作為訓(xùn)練數(shù)據(jù),訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)來(lái)回歸出3DMM 參數(shù)。這類方法的優(yōu)點(diǎn)是可以直接利用現(xiàn)有的3DMM 模型和數(shù)據(jù)集,如Basel Face Model(BFM)和300W-LP 等,而不需要額外的數(shù)據(jù)處理或標(biāo)注[3]。缺點(diǎn)則是需要大量的帶標(biāo)簽數(shù)據(jù)來(lái)訓(xùn)練網(wǎng)絡(luò),而且真實(shí)的3DMM 參數(shù)標(biāo)簽往往不容易獲取或不準(zhǔn)確,導(dǎo)致網(wǎng)絡(luò)泛化能力受限。
非監(jiān)督學(xué)習(xí)方法是指使用無(wú)標(biāo)簽或弱標(biāo)簽的人臉圖像作為訓(xùn)練數(shù)據(jù),訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)出3DMM 參數(shù),并使用一些自監(jiān)督或弱監(jiān)督的損失函數(shù)來(lái)約束網(wǎng)絡(luò)輸出[4]。這類方法的優(yōu)點(diǎn)是可以利用大量的無(wú)標(biāo)簽或弱標(biāo)簽數(shù)據(jù)來(lái)訓(xùn)練網(wǎng)絡(luò),提高網(wǎng)絡(luò)泛化能力和表達(dá)能力,而且可以避免依賴于特定的3DMM 模型或數(shù)據(jù)集。該方法的缺點(diǎn)是需要設(shè)計(jì)合適的損失函數(shù)來(lái)保證網(wǎng)絡(luò)輸出與輸入圖像之間的一致性和可解釋性,而且需要考慮一些影響因素,如光照、表情、姿態(tài)等。
總之,基于深度學(xué)習(xí)的3DMM 參數(shù)估計(jì)是一種新興且有前景的三維人臉重建技術(shù),它可以有效地從二維人臉圖像中恢復(fù)出三維人臉結(jié)構(gòu)和外觀信息,為人臉?lè)治觥⒆R(shí)別、編輯等應(yīng)用提供有價(jià)值的輸入。未來(lái)的研究方向包括提高網(wǎng)絡(luò)精度和魯棒性、擴(kuò)展網(wǎng)絡(luò)表達(dá)能力和泛化能力。
虛幻引擎(Unreal Engine,UE)是Epic Games 公司開(kāi)發(fā)的主流游戲引擎。它在數(shù)字人類領(lǐng)域也有著深入的探索和突破,如在2018 年推出了Siren 項(xiàng)目展示了實(shí)時(shí)捕捉和渲染高保真數(shù)字人類的能力;在2019年推出了Unreal Engine 4.23 版本,增加了對(duì)MetaHuman Framework(MHF)的支持,提供了一套用于創(chuàng)建和控制數(shù)字人類的工具集;在2020 年推出了Unreal Engine 5 版本,進(jìn)一步提升了數(shù)字人類的渲染質(zhì)量和性能。
MetaHuman Creator 是虛幻引擎提供的一種基于云端的軟件工具,可以在幾分鐘內(nèi)創(chuàng)建高保真數(shù)字人類,并將其導(dǎo)入到虛幻引擎中進(jìn)行動(dòng)畫(huà)制作和交互。MetaHuman Creator 是基于MHF 開(kāi)發(fā)的,利用了云計(jì)算、機(jī)器學(xué)習(xí)、計(jì)算機(jī)圖形學(xué)等技術(shù),實(shí)現(xiàn)了快速、簡(jiǎn)單、靈活、逼真地生成數(shù)字人類的目標(biāo)。
數(shù)字人的驅(qū)動(dòng)是指通過(guò)不同的方式控制數(shù)字人的動(dòng)作和表情,使其能夠與用戶或環(huán)境進(jìn)行交互。根據(jù)驅(qū)動(dòng)方式的不同,數(shù)字人的驅(qū)動(dòng)可以分為內(nèi)驅(qū)和外驅(qū)兩種。
內(nèi)驅(qū)是指通過(guò)數(shù)字人自身的智能系統(tǒng),自動(dòng)讀取并解析識(shí)別外界輸入信息,根據(jù)解析結(jié)果決策數(shù)字人后續(xù)的輸出文本,驅(qū)動(dòng)人物模型生成相應(yīng)的語(yǔ)音與動(dòng)作來(lái)使數(shù)字人與用戶互動(dòng)。內(nèi)驅(qū)的優(yōu)點(diǎn)是可以實(shí)現(xiàn)數(shù)字人的自主性和靈活性,不需要依賴于外部設(shè)備或人工操作;缺點(diǎn)是需要設(shè)計(jì)復(fù)雜的智能算法和模型,以及大量的數(shù)據(jù)和知識(shí)來(lái)支持?jǐn)?shù)字人的理解和表達(dá)能力。其典型應(yīng)用場(chǎng)景有虛擬客服、虛擬講師、虛擬員工等服務(wù)領(lǐng)域。經(jīng)典的內(nèi)驅(qū)方法有:
(1)語(yǔ)音驅(qū)動(dòng):將語(yǔ)音輸入到深度模型,預(yù)測(cè)嘴型和面部微表情系數(shù)。
(2)音素驅(qū)動(dòng):將文本序列轉(zhuǎn)換成音素序列,并通過(guò)深度學(xué)習(xí)模型預(yù)測(cè)嘴型和面部微表情系數(shù)。
(3)語(yǔ)音和音素多模融合驅(qū)動(dòng):融合語(yǔ)言和音素兩個(gè)模態(tài)的信息預(yù)測(cè)嘴型和面部微表情系數(shù)。一般這種方法得到的系數(shù)更準(zhǔn)確,效果更好。
(4)傳感器數(shù)字人驅(qū)動(dòng):通過(guò)少量的動(dòng)作捕捉設(shè)備輔助,其余依靠AI 智能算法模型的解析及推理生成實(shí)時(shí)動(dòng)作數(shù)據(jù)。
(5)語(yǔ)義和聲音驅(qū)動(dòng):根據(jù)語(yǔ)義和聲音生成特定場(chǎng)合下的數(shù)字人動(dòng)作,如手勢(shì)、步伐等。
外驅(qū)是指通過(guò)外部設(shè)備或人工操作,采集真人的動(dòng)作和表情數(shù)據(jù),然后將這些數(shù)據(jù)轉(zhuǎn)換為數(shù)字人模型的控制信號(hào),從而驅(qū)動(dòng)數(shù)字人進(jìn)行相應(yīng)的動(dòng)作和表情。外驅(qū)的優(yōu)點(diǎn)是可以實(shí)現(xiàn)數(shù)字人的真實(shí)性和逼真性,以及高度的個(gè)性化和定制化;缺點(diǎn)是需要使用專業(yè)的設(shè)備或軟件,以及大量的人力和時(shí)間來(lái)完成數(shù)據(jù)采集和處理。其典型應(yīng)用場(chǎng)景有直播、影視、游戲等娛樂(lè)領(lǐng)域。經(jīng)典的外驅(qū)方法有:
(1)動(dòng)作捕捉:通過(guò)在真人不同的關(guān)節(jié)增加慣性、光學(xué)等動(dòng)作捕捉設(shè)備傳感器來(lái)獲取真人的動(dòng)作數(shù)據(jù),以提升動(dòng)作還原精度。
(2)面部捕捉:通過(guò)在真人的面部貼上標(biāo)記點(diǎn)或使用面部識(shí)別技術(shù)來(lái)獲取真人的面部表情數(shù)據(jù),以提升表情還原精度。
(3)聲音捕捉:通過(guò)在真人的嘴邊安裝麥克風(fēng)或使用語(yǔ)音識(shí)別技術(shù)來(lái)獲取真人的聲音數(shù)據(jù),以提升語(yǔ)音還原精度。
總之,內(nèi)驅(qū)和外驅(qū)是兩種不同的數(shù)字人驅(qū)動(dòng)方式,各有優(yōu)缺點(diǎn),也適用于不同的應(yīng)用場(chǎng)景。未來(lái)可能會(huì)出現(xiàn)更多結(jié)合內(nèi)外驅(qū)優(yōu)勢(shì)的混合驅(qū)動(dòng)方式用以提高數(shù)字人的交互性能和體驗(yàn)效果。本文接下來(lái)將重點(diǎn)介紹外驅(qū)方法。
基于BlendShape 的數(shù)字人驅(qū)動(dòng)技術(shù)是指通過(guò)預(yù)設(shè)不同的面部表情形狀(如微笑、皺眉、張嘴等),并給每個(gè)形狀賦予一個(gè)權(quán)重,通過(guò)調(diào)節(jié)權(quán)重的大小來(lái)混合不同的形狀,從而生成各種表情[5]。BlendShape在Unity、Unreal等游戲引擎中有很好的支持。
應(yīng)用BlendShape 技術(shù)進(jìn)行驅(qū)動(dòng)有2 個(gè)關(guān)鍵的步驟:
(1)得到預(yù)設(shè)的表情基。這一步可以借助一些人工操作來(lái)制作預(yù)設(shè)的表情基,或者利用3DMM 中的表情系數(shù)來(lái)構(gòu)建表情基。目前業(yè)內(nèi)最常用的是蘋(píng)果發(fā)布的ARKit 中提供的52 個(gè)表情基,這套表情基涵蓋了臉部大部分區(qū)域和基礎(chǔ)表情。
(2)估計(jì)BlendShape 系數(shù)。確定好BlendShape的表情基后,只需要估計(jì)各表情基的系數(shù)就能實(shí)現(xiàn)驅(qū)動(dòng)了。估計(jì)表情基的系數(shù)有兩種主流方法:一是用最小二乘法求解,針對(duì)數(shù)字人模型上的所有點(diǎn)和帶權(quán)重的表情基建立等式,進(jìn)而使用最小二乘法得到誤差最小的系數(shù);二是利用深度學(xué)習(xí)技術(shù),在大規(guī)模數(shù)據(jù)集上訓(xùn)練能直接估計(jì)BlendShape 系數(shù)的深度學(xué)習(xí)模型。
三維模型中的骨骼是指一種用于驅(qū)動(dòng)模型運(yùn)動(dòng)的技術(shù),它是由一系列的關(guān)節(jié)和骨骼組成,形成一個(gè)層級(jí)結(jié)構(gòu)。骨骼需要與模型進(jìn)行綁定和蒙皮操作,即將模型的頂點(diǎn)與骨骼關(guān)聯(lián)起來(lái),賦予每個(gè)頂點(diǎn)一個(gè)或多個(gè)權(quán)重值,表示該頂點(diǎn)受到哪些骨骼的影響。通過(guò)對(duì)骨骼進(jìn)行位移和旋轉(zhuǎn)等操作可以實(shí)現(xiàn)動(dòng)畫(huà)效果。
在計(jì)算機(jī)視覺(jué)中有一系列方法可以估計(jì)人臉部的關(guān)鍵點(diǎn)[6],機(jī)器學(xué)習(xí)算法工具包dlib 提供的算法能檢測(cè)出人臉部68 個(gè)關(guān)鍵點(diǎn),MediaPipe 能檢測(cè)400 多個(gè)關(guān)鍵點(diǎn)[7]。因此可以根據(jù)關(guān)鍵點(diǎn)位置在模型上添加對(duì)應(yīng)的骨骼,然后通過(guò)算法實(shí)時(shí)檢測(cè)關(guān)鍵點(diǎn)位置并實(shí)時(shí)驅(qū)動(dòng)骨骼,進(jìn)而實(shí)時(shí)驅(qū)動(dòng)數(shù)字人。
基于上述各關(guān)鍵技術(shù),本文提出一種數(shù)字人生成和實(shí)時(shí)驅(qū)動(dòng)架構(gòu),該架構(gòu)的流程如圖3所示。

圖3 數(shù)字人生成和實(shí)時(shí)驅(qū)動(dòng)架構(gòu)示意圖
該架構(gòu)基于Unity 實(shí)現(xiàn),并利用flask 搭建web端,其中Unity 主要提供用戶界面,web 端實(shí)現(xiàn)數(shù)字人生成和驅(qū)動(dòng)算法。該架構(gòu)能同時(shí)完成生成和驅(qū)動(dòng)的任務(wù)。
本文設(shè)計(jì)一種基于深度學(xué)習(xí)的,不需要三維數(shù)據(jù)訓(xùn)練的數(shù)字人自動(dòng)生成方法。該算法能依次完成下列任務(wù):使用3DMM 描述人臉、使用深度學(xué)習(xí)網(wǎng)絡(luò)從照片中估計(jì)3DMM 系數(shù)、基于骨骼點(diǎn)實(shí)現(xiàn)臉部和頭部的融合、基于模板為模型自動(dòng)綁定骨骼和UV 映射關(guān)系。
(1)基于深度學(xué)習(xí)的3DMM 系數(shù)估計(jì)。本方法搭建了一個(gè)無(wú)監(jiān)督深度學(xué)習(xí)網(wǎng)絡(luò),該網(wǎng)絡(luò)只需要輸入一張照片即可完成數(shù)字人重建。同時(shí)該網(wǎng)絡(luò)在訓(xùn)練階段也不需要三維數(shù)據(jù),因此極大降低了對(duì)訓(xùn)練數(shù)據(jù)集的要求。從網(wǎng)絡(luò)結(jié)構(gòu)上,它由編碼器和解碼器組成,編碼器使用經(jīng)典的ResNet 網(wǎng)絡(luò)從圖像中提取特征,再將特征送入解碼器估計(jì)3DMM 系數(shù)。同時(shí)本網(wǎng)絡(luò)是使用可微分的渲染模塊,所以網(wǎng)絡(luò)在訓(xùn)練時(shí),可以通過(guò)計(jì)算得到的3DMM 重新渲染到二維空間,并通過(guò)和輸入照片的比較構(gòu)建損失函數(shù),實(shí)現(xiàn)網(wǎng)絡(luò)參數(shù)的更新。
(2)臉部生成。作者在Unity 平臺(tái)下搭建了數(shù)字人生成和驅(qū)動(dòng)系統(tǒng),用戶在Unity 中上傳圖片,Unity將圖片傳送給Web 端,調(diào)用前面訓(xùn)練好的網(wǎng)絡(luò),即可得到對(duì)應(yīng)人物的3DMM 系數(shù),并生成對(duì)應(yīng)的臉部模型,最后存入數(shù)據(jù)庫(kù)中,等待下次調(diào)用。
(3)臉部和頭部模型融合。根據(jù)3DMM 系數(shù)只能得到臉部模型,因此作者準(zhǔn)備一個(gè)頭部模型,并將臉部和頭部融合。但是不同的人生成的臉部形狀不一,所以在臉部和頭部重疊的區(qū)域添加了8 個(gè)骨骼點(diǎn),編寫(xiě)Python 腳本,首先通過(guò)位移和縮放進(jìn)行初步對(duì)齊,初步對(duì)齊后,頭部和臉部的朝向一樣,臉部的長(zhǎng)度一樣,然后再調(diào)整頭部左右兩側(cè)的骨骼點(diǎn)使其和臉部貼合,最后再融合頭部和臉部,得到完整的數(shù)字人頭部模型。
(4)自動(dòng)綁定骨骼和UV 映射。根據(jù)3DMM 系數(shù)只能得到臉部的網(wǎng)格模型,為了驅(qū)動(dòng)需要增加骨骼,為了展示皮膚細(xì)節(jié),需要添加UV 貼圖。因此作者在選定3DMM 模型后,就使用標(biāo)準(zhǔn)的3DMM 模型手工完成了骨骼綁定,并確定了UV 貼圖映射關(guān)系。因?yàn)?DMM 模型具有一致的拓?fù)浣Y(jié)構(gòu),因此可以通過(guò)編寫(xiě)Python 腳本從模板中讀取骨骼和UV 映射,并遷移至新生成的模型中。
通過(guò)上述方法,可以無(wú)監(jiān)督地訓(xùn)練能從照片中估計(jì)3DMM 系數(shù)的深度學(xué)習(xí)網(wǎng)絡(luò),可以將生成的臉部模型和頭部模型融合,并給生成的模型做骨骼綁定,增加UV 映射,最后得到一個(gè)帶有骨骼和紋理,可以驅(qū)動(dòng)的頭部模型。
4.2 和4.3 小節(jié)分別介紹了2 種主流的數(shù)字人驅(qū)動(dòng)技術(shù),但是它們各有特點(diǎn)。
基于BlendShape 的數(shù)字人驅(qū)動(dòng)技術(shù)適合完成幅度不大的表情驅(qū)動(dòng)。BlendShape 是通過(guò)加權(quán)的表情基來(lái)驅(qū)動(dòng)數(shù)字人的,它能表達(dá)的表情受限于表情基的選擇,因此當(dāng)面對(duì)較夸張的表情時(shí),它無(wú)法讓數(shù)字人做到和真人一樣的表情。
基于骨骼的數(shù)字人驅(qū)動(dòng)技術(shù)直接通過(guò)人臉關(guān)鍵點(diǎn)控制骨骼點(diǎn),因此具有很強(qiáng)的表達(dá)能力,但是當(dāng)關(guān)鍵點(diǎn)檢測(cè)不穩(wěn)定時(shí),會(huì)影響驅(qū)動(dòng)效果。
因此我們提出融合BlendShape 的思想和骨骼實(shí)現(xiàn)數(shù)字人驅(qū)動(dòng)。主要分五步:
(1)人臉關(guān)鍵點(diǎn)提取。人臉關(guān)鍵點(diǎn)是基于骨骼驅(qū)動(dòng)的數(shù)據(jù)來(lái)源,本文使用MediaPipe 框架提供的人臉關(guān)鍵點(diǎn)檢測(cè)算法。該算法能提取出人臉上468 個(gè)關(guān)鍵點(diǎn),我們從中選出47 個(gè)點(diǎn)作為骨骼點(diǎn)來(lái)驅(qū)動(dòng)臉部表情。
(2)人臉關(guān)鍵點(diǎn)坐標(biāo)平滑。使用算法從視頻中提取人臉關(guān)鍵點(diǎn)時(shí),會(huì)因?yàn)楣庹兆兓×疫\(yùn)動(dòng)等原因?qū)е鹿烙?jì)的關(guān)鍵點(diǎn)位置抖動(dòng),這會(huì)嚴(yán)重影響驅(qū)動(dòng)效果。作者提出使用卡爾曼濾波器對(duì)數(shù)據(jù)進(jìn)行平滑,成功消除了大部分抖動(dòng)。
(3)表情系數(shù)提取。3DMM 中包含了表情系數(shù),因此可以利用訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)估計(jì)表情系數(shù),并得到該表情下臉部各點(diǎn)的三維坐標(biāo)變化量。這些變化量可以看做基于BlendShape 驅(qū)動(dòng)的結(jié)果。
(4)融合BlendShape 和骨骼的數(shù)字人驅(qū)動(dòng)。基于BlendShape 和基于骨骼驅(qū)動(dòng)各有特點(diǎn),因此作者提出一種融合驅(qū)動(dòng)算法,該算法即能表示較夸張的表情,同時(shí)約束各點(diǎn)的坐標(biāo),確保它們?cè)诒砬榭臻g內(nèi)。該算法基于卡爾曼濾波器的思路設(shè)計(jì),通過(guò)計(jì)算基于BlendShape 和基于骨骼驅(qū)動(dòng)的結(jié)果在上一幀模型關(guān)鍵點(diǎn)的速率來(lái)作為影響兩套數(shù)據(jù)權(quán)重的因素。
(5)眼球驅(qū)動(dòng)。生成的3DMM 模型眼球是無(wú)法運(yùn)動(dòng)的,而對(duì)數(shù)字人來(lái)說(shuō),眼睛是很關(guān)鍵的部位,因此作者針對(duì)性地提出了眼球驅(qū)動(dòng)算法。該算法利用MediaPipe 的結(jié)果,得到左右瞳孔上10 個(gè)關(guān)鍵點(diǎn)的位置,基于三維剛體變換,相機(jī)模型,通過(guò)在左右眼旋轉(zhuǎn)矩陣上增加額外約束推導(dǎo)出求解公式,得到左右眼的旋轉(zhuǎn)歐拉角。
通過(guò)上述方法,可以得到BlendShape 系數(shù)和平滑的人臉關(guān)鍵點(diǎn)位置,并通過(guò)二者的融合提升驅(qū)動(dòng)效果,同時(shí)本方法能計(jì)算驅(qū)動(dòng)眼球所需的歐拉角。
數(shù)字人作為一種新興的虛擬人物形式,具有很強(qiáng)的創(chuàng)造性和靈活性,可以在各種場(chǎng)合和領(lǐng)域發(fā)揮重要的作用。隨著計(jì)算機(jī)技術(shù)和人工智能技術(shù)的不斷發(fā)展和進(jìn)步,數(shù)字人應(yīng)用的趨勢(shì)也越來(lái)越多樣化、個(gè)性化以及智能化。相信在不久的將來(lái),隨著技術(shù)進(jìn)步、市場(chǎng)需求、政策支持等多方面因素的推動(dòng),數(shù)字人作為一種新興的數(shù)字化“人力”資產(chǎn),將在各個(gè)領(lǐng)域發(fā)揮更大的作用,成為虛實(shí)融合世界的重要參與者和創(chuàng)造者。
作者貢獻(xiàn)聲明:
楊文韜:生成技術(shù)調(diào)研,撰寫(xiě)和修訂論文,全文文字貢獻(xiàn)40%;
劉沛卿:驅(qū)動(dòng)技術(shù)調(diào)研,修訂論文第四章,全文文字貢獻(xiàn)25%;
佟佳欣:組織實(shí)驗(yàn)測(cè)試,修訂論文第五章,全文文字貢獻(xiàn)20%;
柳楊:論文整體架構(gòu),確定技術(shù)方案,修訂論文,全文文字貢獻(xiàn)15%。
注釋
①圖片源自:龔才春,中國(guó)元宇宙白皮書(shū),2022.1(26):89。