吳梓龍,徐炳權,鄧炫燁
(廣州軟件學院,廣東 廣州 510900)
目前市場上能看到的很多虛擬角色,作品品質精良,熱度也非常高。但是,大多數的虛擬偶像作品使用的是臉部標記,需要一套完整昂貴的動作捕捉設備系統來進行演員動作信息采集工作,并且需要專業技術人員才能完成一個較為真實的虛擬角色驅動,雖然使用影視級專業設備效果較好,但是制作周期長,受成本限制,內容也比較短。因此本文探討了基于深度學習技術結合Kinect V2攝像頭的虛擬角色制作系統,利用數字化三維模型及深度學習算法,實現低成本的虛擬角色制作流程。

表1 動作捕捉軟硬件公司及其產品
虛擬化角色是指在現實世界中不存在的人物角色,是由人設計出來的,存在于電視劇、電影、游戲、動漫等虛擬世界里的角色,虛擬角色的產生能夠滿足人們對內心的形象進行構建,因此,虛擬角色在世界各地都具有良好的市場。虛擬化角色的本質是一段程序代碼,通過獲取真人的動作姿勢序列,計算出虛擬角色所需進行的動作姿勢序列。虛擬角色的形象在電腦屏幕,電視機,VR眼鏡等設備上顯示。當真人的動作發生改變時,虛擬角色的形態也隨之進行變化,以及利用算法生成當前幀虛擬角色的臉部表情,從而實現角色的虛擬化。
動作捕捉(Motion capture)的實質就是要測量、跟蹤、記錄物體在三維空間中的運動軌跡。是指記錄并處理人或其他物體動作的技術。它廣泛應用于軍事,娛樂,體育,醫療應用,計算機視覺以及機器人技術等諸多領域。一般來說常用的運動捕捉設備一般由一下幾個部分組成:
傳感器:傳感器可以獲取運動物體的運動位置信息,一般是固定在運動物體的表面或內部。
信息捕捉設備:不同的動作捕捉系統所需的信息捕捉設備不同,如果是機械動作捕捉系統則是利用線路板對電信號進行捕捉。如果是光學動作捕捉系統則利用紅外線攝像機。
數據傳輸設備:對于動作捕捉系統獲得的大量動作信息,最終要傳送到計算機進行數值處理,數據傳輸設備就是用來實現此傳輸過程。
數據處理設備:動作捕捉系統所獲取的動作數據是單一的數字數據,需要經過處理后,利用三維模型對數字數據進行可視化展示,完成虛擬角色的動畫展示。這個過程需要用到數據處理軟件或硬件來實現。數據處理設備如果性能更好,則渲染出來的虛擬角色動作將更加自然、更接近人類的動作姿勢。
目前主要的商用動作捕捉技術有以下幾種:
(1)機械式運動捕捉:機械式運動捕捉采用機械設備來進行動作的捕捉以及動作軌跡的測量
其優點是成本低,精度高,能夠實時測量并同時測量多個角色。缺點是使用方式不方便,機械裝置本身會對表演者的動作造成阻礙及限制。使得表演者不能流暢地展現動作姿勢。
聲學式運動捕捉:常用的聲學式運動捕捉設備由發射器、接收器以及處理單元組成。其優點是設備成本較低,但其缺點也比較明顯,聲學式運動捕捉設備對運動的捕捉有較大的延遲和滯后,不能實現較高的實時性,由于利用聲學原理,工作過程中受噪音和多次反射等干擾較大。由于聲波在空氣中的傳播速度受氣壓、濕度、溫度等常規因素的影響較大,需要在其動作捕捉算法中對相應的影響因素進行特定的調整來進行補償。
(2)電磁式運動捕捉:電磁式動作捕捉設備是較為常用的運動捕捉設備,因為其優點明顯,能夠記錄六位信息,在一幀內得到空間位置、方向位置兩種信息,由于表演者需要排練、修改調整節目,電磁式運動捕捉的速度快,實效性高的特點能夠滿足表演者復雜的需求。設備的定標過程較為簡單,目前電磁式運動捕捉技術的發展也較為成熟,魯棒性好且成本較為低廉。但缺點是對環境的要求較為嚴格,表演場地不能有金素物體,否則會造成電磁場畸變。導致信息捕捉過程受影響。由于電磁式運動捕捉設備需要連接電纜,表演者的活動范圍會大幅降低。而對于劇烈的運動和表演,電磁式運動捕捉設備則不能適用。
(3)光學式運動捕捉:光學式運動捕捉設備通過對物體上所預先設置的特定光點的監視和跟隨來完成動作捕捉的過程。由于運用了較少的侵入式設備,光學式運動捕捉系統能夠提供范圍大,無電纜,無機械裝置的空間,表演者能夠無束縛地進行表演。其采樣率也相對較高,能夠滿足大多數高速運動的捕捉。所需標記物也可隨意增添刪減,這使得系統的規模能夠根據需求進行靈活變動。光學式運動捕捉的缺點是設備價格及維護價格昂貴,后處理的工作量巨大,適合科研類研究。
(4)慣性導航式動作捕捉:慣性導航式動作捕捉設備是通過慣性導航傳感器AHRS(航姿參考系統)、IMU(慣性測量單元)等傳感器對表演者的運動加速度、位置、傾斜角等信息進行采集,其優點是沒有表演環境的限制,捕捉精確度高,采樣快。因為其傳感器尺寸小重量輕,表演者佩戴后不會受到肢體的限制。但由于MEMS器件存在明顯的漂移,慣性導航式動作捕捉設備無法長時間的人體對動作進行精確的跟蹤。
為了獲得不受周圍光照影響的骨骼信息,本文采用無標記光學編碼技術進行設計,光編碼(Light coding)是利用連續光(近紅外線)對測量空間進行編碼,經過感應器讀取編碼的光線,交由晶片運算進行解碼后,產生一張具有深度的圖像。其關鍵的技術在于Laser Speckle鐳射光散斑,當其照射到粗糙物體或穿透玻璃后,會形成隨機的反射光斑,稱之為散斑。散斑具有高度隨機性,會隨著距離的變換而改變圖案,因為空間中的散斑都都具有不同圖案,所以任何進入該空間的物體,以及移動的事物,其位置都可以被準確的記錄。
對于面部驅動模塊,本文采用通過VOCA(聲控角色動畫)進行驅動效果實現。該技術是通過對語音特征提取并訓練輸出,再對該數據進行解碼并通過改變權重來驅動面部表情。可以不受語言的限制,并且無需使用攝像頭,提高了便利性。
動作捕捉以微軟公司的KinectV2攝像頭作為主要的人體肢體動作信息獲取方式。所獲取的圖像效果如圖1所示。

圖1 三維模型捕獲實驗
KinectV2在獲得深度圖像后,Kinect運用分隔技術將人體從復雜的背景中摳像出來,在這個過程中,在深度圖像中為每個被跟蹤的人創建所謂的分割遮罩(分割遮罩為了排除人體以外背景圖像,采取的圖像分割的方法)Kinect需做的下一件事情就是尋找圖像中較可能是人體的物體,接下來kinect會對景深圖像(機器學習)進行評估,來判別人體的不同部位。之后利用已訓練好的決策樹分類器對人體身體部位進行分類識別,最后生成骨架系統。Kinect人體骨架圖如圖2所示。

圖2 Kinect人體骨架圖
在 Intel(R) Core(TM) i7-8700K CPU @3.70 GHz×12,32 GB內存,Ubuntu 20.04.3LTS系統,GeForce RTX 2080 Rev顯卡的計算機上驗證實現。
通過Anaconda安裝Python3.6.8的虛擬環境,并搭載Tensor flow 1.14.0,安裝以下所需庫numpy、scipy、chumpy、opencv-python、resampy、python-speech-features、scikit-learn、image、ipython、matplotlib、trimesh、pyrender。在虛擬環境安裝網格處理庫MPI-IS/mesh,該庫需要編譯Python和c++文件,所以還需安裝boost進行編譯。
下載經過訓練的VOCA模型、音頻序列和模板網格、FLAME模型、DeepSpeech模型 (v0.1.0)并置于對應的文件夾。VOCA網絡架構與模型架構如表2,圖3所示。

表2 VOCA網絡架構

圖3 模型架構
在實驗測試中,測試者對虛擬主播形象進行肢體動作控制,共測試了6種不同的肢體動作(如表3所示),測試者共測試了18次,系統成功捕捉到肢體動作并計算出骨骼信息,成功控制了虛擬主播形象17次,成功率為94.4%,識別率達到設想水平。

表3 肢體驅動實驗
在實驗測試中,共生成100幀人臉表情動畫,其中80幀符合實驗預期效果,成功率為80%,數據如表4所示。

表4 表情生成實驗
基于深度學習的虛擬角色制作系統能最大程度地輕量化虛擬角色制作的過程,使虛擬角色動作更加真實,展示出廣闊的創新空間。高度擬人化的虛擬主播形象,使得其更具有人格化魅力。早期的虛擬主播只是對真人進行模仿,往往以真人主播為原型。本系統通人工智能技術,運用KinectV2攝像機對人體骨骼進行捕捉,獲生成對應的骨架。再將訓練好的VOCA模型、音頻序列和模板網絡、FLAME模型、DeepSpeech模型置于對應文件,獲得對應的面部表情。從而,讓虛擬主播的人物美化度逐漸趨于完善。虛擬角色的制作不受人力物力的限制,節約了制作成本,使得虛擬角色能夠以簡單輕便的形式展現。突破了傳統虛擬角色制作的復雜冗余的障礙。根據對相關市場調查,虛擬數字人相關產業規模正在不斷擴大,通過頭豹研究所數據可知,當前虛擬數字人市場規模已超2 000億元,預計2030年將達到2 703億元,其中身份型虛擬人將在未來發展中占據主導地位。因此,基于深度學習的虛擬角制作系統,能夠為不同的需求的虛擬人物進行個性化定制。