吳梓龍,徐炳權(quán),鄧炫燁
(廣州軟件學(xué)院,廣東 廣州 510900)
目前市場上能看到的很多虛擬角色,作品品質(zhì)精良,熱度也非常高。但是,大多數(shù)的虛擬偶像作品使用的是臉部標(biāo)記,需要一套完整昂貴的動(dòng)作捕捉設(shè)備系統(tǒng)來進(jìn)行演員動(dòng)作信息采集工作,并且需要專業(yè)技術(shù)人員才能完成一個(gè)較為真實(shí)的虛擬角色驅(qū)動(dòng),雖然使用影視級專業(yè)設(shè)備效果較好,但是制作周期長,受成本限制,內(nèi)容也比較短。因此本文探討了基于深度學(xué)習(xí)技術(shù)結(jié)合Kinect V2攝像頭的虛擬角色制作系統(tǒng),利用數(shù)字化三維模型及深度學(xué)習(xí)算法,實(shí)現(xiàn)低成本的虛擬角色制作流程。
表1 動(dòng)作捕捉軟硬件公司及其產(chǎn)品
虛擬化角色是指在現(xiàn)實(shí)世界中不存在的人物角色,是由人設(shè)計(jì)出來的,存在于電視劇、電影、游戲、動(dòng)漫等虛擬世界里的角色,虛擬角色的產(chǎn)生能夠滿足人們對內(nèi)心的形象進(jìn)行構(gòu)建,因此,虛擬角色在世界各地都具有良好的市場。虛擬化角色的本質(zhì)是一段程序代碼,通過獲取真人的動(dòng)作姿勢序列,計(jì)算出虛擬角色所需進(jìn)行的動(dòng)作姿勢序列。虛擬角色的形象在電腦屏幕,電視機(jī),VR眼鏡等設(shè)備上顯示。當(dāng)真人的動(dòng)作發(fā)生改變時(shí),虛擬角色的形態(tài)也隨之進(jìn)行變化,以及利用算法生成當(dāng)前幀虛擬角色的臉部表情,從而實(shí)現(xiàn)角色的虛擬化。
動(dòng)作捕捉(Motion capture)的實(shí)質(zhì)就是要測量、跟蹤、記錄物體在三維空間中的運(yùn)動(dòng)軌跡。是指記錄并處理人或其他物體動(dòng)作的技術(shù)。它廣泛應(yīng)用于軍事,娛樂,體育,醫(yī)療應(yīng)用,計(jì)算機(jī)視覺以及機(jī)器人技術(shù)等諸多領(lǐng)域。一般來說常用的運(yùn)動(dòng)捕捉設(shè)備一般由一下幾個(gè)部分組成:
傳感器:傳感器可以獲取運(yùn)動(dòng)物體的運(yùn)動(dòng)位置信息,一般是固定在運(yùn)動(dòng)物體的表面或內(nèi)部。
信息捕捉設(shè)備:不同的動(dòng)作捕捉系統(tǒng)所需的信息捕捉設(shè)備不同,如果是機(jī)械動(dòng)作捕捉系統(tǒng)則是利用線路板對電信號進(jìn)行捕捉。如果是光學(xué)動(dòng)作捕捉系統(tǒng)則利用紅外線攝像機(jī)。
數(shù)據(jù)傳輸設(shè)備:對于動(dòng)作捕捉系統(tǒng)獲得的大量動(dòng)作信息,最終要傳送到計(jì)算機(jī)進(jìn)行數(shù)值處理,數(shù)據(jù)傳輸設(shè)備就是用來實(shí)現(xiàn)此傳輸過程。
數(shù)據(jù)處理設(shè)備:動(dòng)作捕捉系統(tǒng)所獲取的動(dòng)作數(shù)據(jù)是單一的數(shù)字?jǐn)?shù)據(jù),需要經(jīng)過處理后,利用三維模型對數(shù)字?jǐn)?shù)據(jù)進(jìn)行可視化展示,完成虛擬角色的動(dòng)畫展示。這個(gè)過程需要用到數(shù)據(jù)處理軟件或硬件來實(shí)現(xiàn)。數(shù)據(jù)處理設(shè)備如果性能更好,則渲染出來的虛擬角色動(dòng)作將更加自然、更接近人類的動(dòng)作姿勢。
目前主要的商用動(dòng)作捕捉技術(shù)有以下幾種:
(1)機(jī)械式運(yùn)動(dòng)捕捉:機(jī)械式運(yùn)動(dòng)捕捉采用機(jī)械設(shè)備來進(jìn)行動(dòng)作的捕捉以及動(dòng)作軌跡的測量
其優(yōu)點(diǎn)是成本低,精度高,能夠?qū)崟r(shí)測量并同時(shí)測量多個(gè)角色。缺點(diǎn)是使用方式不方便,機(jī)械裝置本身會對表演者的動(dòng)作造成阻礙及限制。使得表演者不能流暢地展現(xiàn)動(dòng)作姿勢。
聲學(xué)式運(yùn)動(dòng)捕捉:常用的聲學(xué)式運(yùn)動(dòng)捕捉設(shè)備由發(fā)射器、接收器以及處理單元組成。其優(yōu)點(diǎn)是設(shè)備成本較低,但其缺點(diǎn)也比較明顯,聲學(xué)式運(yùn)動(dòng)捕捉設(shè)備對運(yùn)動(dòng)的捕捉有較大的延遲和滯后,不能實(shí)現(xiàn)較高的實(shí)時(shí)性,由于利用聲學(xué)原理,工作過程中受噪音和多次反射等干擾較大。由于聲波在空氣中的傳播速度受氣壓、濕度、溫度等常規(guī)因素的影響較大,需要在其動(dòng)作捕捉算法中對相應(yīng)的影響因素進(jìn)行特定的調(diào)整來進(jìn)行補(bǔ)償。
(2)電磁式運(yùn)動(dòng)捕捉:電磁式動(dòng)作捕捉設(shè)備是較為常用的運(yùn)動(dòng)捕捉設(shè)備,因?yàn)槠鋬?yōu)點(diǎn)明顯,能夠記錄六位信息,在一幀內(nèi)得到空間位置、方向位置兩種信息,由于表演者需要排練、修改調(diào)整節(jié)目,電磁式運(yùn)動(dòng)捕捉的速度快,實(shí)效性高的特點(diǎn)能夠滿足表演者復(fù)雜的需求。設(shè)備的定標(biāo)過程較為簡單,目前電磁式運(yùn)動(dòng)捕捉技術(shù)的發(fā)展也較為成熟,魯棒性好且成本較為低廉。但缺點(diǎn)是對環(huán)境的要求較為嚴(yán)格,表演場地不能有金素物體,否則會造成電磁場畸變。導(dǎo)致信息捕捉過程受影響。由于電磁式運(yùn)動(dòng)捕捉設(shè)備需要連接電纜,表演者的活動(dòng)范圍會大幅降低。而對于劇烈的運(yùn)動(dòng)和表演,電磁式運(yùn)動(dòng)捕捉設(shè)備則不能適用。
(3)光學(xué)式運(yùn)動(dòng)捕捉:光學(xué)式運(yùn)動(dòng)捕捉設(shè)備通過對物體上所預(yù)先設(shè)置的特定光點(diǎn)的監(jiān)視和跟隨來完成動(dòng)作捕捉的過程。由于運(yùn)用了較少的侵入式設(shè)備,光學(xué)式運(yùn)動(dòng)捕捉系統(tǒng)能夠提供范圍大,無電纜,無機(jī)械裝置的空間,表演者能夠無束縛地進(jìn)行表演。其采樣率也相對較高,能夠滿足大多數(shù)高速運(yùn)動(dòng)的捕捉。所需標(biāo)記物也可隨意增添刪減,這使得系統(tǒng)的規(guī)模能夠根據(jù)需求進(jìn)行靈活變動(dòng)。光學(xué)式運(yùn)動(dòng)捕捉的缺點(diǎn)是設(shè)備價(jià)格及維護(hù)價(jià)格昂貴,后處理的工作量巨大,適合科研類研究。
(4)慣性導(dǎo)航式動(dòng)作捕捉:慣性導(dǎo)航式動(dòng)作捕捉設(shè)備是通過慣性導(dǎo)航傳感器AHRS(航姿參考系統(tǒng))、IMU(慣性測量單元)等傳感器對表演者的運(yùn)動(dòng)加速度、位置、傾斜角等信息進(jìn)行采集,其優(yōu)點(diǎn)是沒有表演環(huán)境的限制,捕捉精確度高,采樣快。因?yàn)槠鋫鞲衅鞒叽缧≈亓枯p,表演者佩戴后不會受到肢體的限制。但由于MEMS器件存在明顯的漂移,慣性導(dǎo)航式動(dòng)作捕捉設(shè)備無法長時(shí)間的人體對動(dòng)作進(jìn)行精確的跟蹤。
為了獲得不受周圍光照影響的骨骼信息,本文采用無標(biāo)記光學(xué)編碼技術(shù)進(jìn)行設(shè)計(jì),光編碼(Light coding)是利用連續(xù)光(近紅外線)對測量空間進(jìn)行編碼,經(jīng)過感應(yīng)器讀取編碼的光線,交由晶片運(yùn)算進(jìn)行解碼后,產(chǎn)生一張具有深度的圖像。其關(guān)鍵的技術(shù)在于Laser Speckle鐳射光散斑,當(dāng)其照射到粗糙物體或穿透玻璃后,會形成隨機(jī)的反射光斑,稱之為散斑。散斑具有高度隨機(jī)性,會隨著距離的變換而改變圖案,因?yàn)榭臻g中的散斑都都具有不同圖案,所以任何進(jìn)入該空間的物體,以及移動(dòng)的事物,其位置都可以被準(zhǔn)確的記錄。
對于面部驅(qū)動(dòng)模塊,本文采用通過VOCA(聲控角色動(dòng)畫)進(jìn)行驅(qū)動(dòng)效果實(shí)現(xiàn)。該技術(shù)是通過對語音特征提取并訓(xùn)練輸出,再對該數(shù)據(jù)進(jìn)行解碼并通過改變權(quán)重來驅(qū)動(dòng)面部表情。可以不受語言的限制,并且無需使用攝像頭,提高了便利性。
動(dòng)作捕捉以微軟公司的KinectV2攝像頭作為主要的人體肢體動(dòng)作信息獲取方式。所獲取的圖像效果如圖1所示。
圖1 三維模型捕獲實(shí)驗(yàn)
KinectV2在獲得深度圖像后,Kinect運(yùn)用分隔技術(shù)將人體從復(fù)雜的背景中摳像出來,在這個(gè)過程中,在深度圖像中為每個(gè)被跟蹤的人創(chuàng)建所謂的分割遮罩(分割遮罩為了排除人體以外背景圖像,采取的圖像分割的方法)Kinect需做的下一件事情就是尋找圖像中較可能是人體的物體,接下來kinect會對景深圖像(機(jī)器學(xué)習(xí))進(jìn)行評估,來判別人體的不同部位。之后利用已訓(xùn)練好的決策樹分類器對人體身體部位進(jìn)行分類識別,最后生成骨架系統(tǒng)。Kinect人體骨架圖如圖2所示。
圖2 Kinect人體骨架圖
在 Intel(R) Core(TM) i7-8700K CPU @3.70 GHz×12,32 GB內(nèi)存,Ubuntu 20.04.3LTS系統(tǒng),GeForce RTX 2080 Rev顯卡的計(jì)算機(jī)上驗(yàn)證實(shí)現(xiàn)。
通過Anaconda安裝Python3.6.8的虛擬環(huán)境,并搭載Tensor flow 1.14.0,安裝以下所需庫numpy、scipy、chumpy、opencv-python、resampy、python-speech-features、scikit-learn、image、ipython、matplotlib、trimesh、pyrender。在虛擬環(huán)境安裝網(wǎng)格處理庫MPI-IS/mesh,該庫需要編譯Python和c++文件,所以還需安裝boost進(jìn)行編譯。
下載經(jīng)過訓(xùn)練的VOCA模型、音頻序列和模板網(wǎng)格、FLAME模型、DeepSpeech模型 (v0.1.0)并置于對應(yīng)的文件夾。VOCA網(wǎng)絡(luò)架構(gòu)與模型架構(gòu)如表2,圖3所示。
表2 VOCA網(wǎng)絡(luò)架構(gòu)
圖3 模型架構(gòu)
在實(shí)驗(yàn)測試中,測試者對虛擬主播形象進(jìn)行肢體動(dòng)作控制,共測試了6種不同的肢體動(dòng)作(如表3所示),測試者共測試了18次,系統(tǒng)成功捕捉到肢體動(dòng)作并計(jì)算出骨骼信息,成功控制了虛擬主播形象17次,成功率為94.4%,識別率達(dá)到設(shè)想水平。
表3 肢體驅(qū)動(dòng)實(shí)驗(yàn)
在實(shí)驗(yàn)測試中,共生成100幀人臉表情動(dòng)畫,其中80幀符合實(shí)驗(yàn)預(yù)期效果,成功率為80%,數(shù)據(jù)如表4所示。
表4 表情生成實(shí)驗(yàn)
基于深度學(xué)習(xí)的虛擬角色制作系統(tǒng)能最大程度地輕量化虛擬角色制作的過程,使虛擬角色動(dòng)作更加真實(shí),展示出廣闊的創(chuàng)新空間。高度擬人化的虛擬主播形象,使得其更具有人格化魅力。早期的虛擬主播只是對真人進(jìn)行模仿,往往以真人主播為原型。本系統(tǒng)通人工智能技術(shù),運(yùn)用KinectV2攝像機(jī)對人體骨骼進(jìn)行捕捉,獲生成對應(yīng)的骨架。再將訓(xùn)練好的VOCA模型、音頻序列和模板網(wǎng)絡(luò)、FLAME模型、DeepSpeech模型置于對應(yīng)文件,獲得對應(yīng)的面部表情。從而,讓虛擬主播的人物美化度逐漸趨于完善。虛擬角色的制作不受人力物力的限制,節(jié)約了制作成本,使得虛擬角色能夠以簡單輕便的形式展現(xiàn)。突破了傳統(tǒng)虛擬角色制作的復(fù)雜冗余的障礙。根據(jù)對相關(guān)市場調(diào)查,虛擬數(shù)字人相關(guān)產(chǎn)業(yè)規(guī)模正在不斷擴(kuò)大,通過頭豹研究所數(shù)據(jù)可知,當(dāng)前虛擬數(shù)字人市場規(guī)模已超2 000億元,預(yù)計(jì)2030年將達(dá)到2 703億元,其中身份型虛擬人將在未來發(fā)展中占據(jù)主導(dǎo)地位。因此,基于深度學(xué)習(xí)的虛擬角制作系統(tǒng),能夠?yàn)椴煌男枨蟮奶摂M人物進(jìn)行個(gè)性化定制。