張 進,汪浩文,板俊榮*
(1. 南京航空航天大學國家文化產業(yè)研究中心,江蘇南京211106;2. 南京航空航天大學藝術學院,江蘇南京211106)
由于聲樂教學實踐性強,演唱過程中的情感體驗與表達極為豐富,在目前的虛擬現(xiàn)實教育領域中應用較少。在一些為數(shù)不多的虛擬現(xiàn)實教學應用中存在真實性差、交互體驗不夠理想、教學的可視化內容相對單一,以及流暢度欠佳的情況。這些問題主要歸納如下:
首先是部分研究者通過虛擬全景視頻技術(ArcSoft Panorama Maker),制作三維全景圖像數(shù)據,使演唱者能夠在全景范圍內跟隨預設的教學主線進行視聽交互,獲取不同風格的視聽體驗效果[1-4]。在感知體驗上缺少深度交互信息,缺乏將演唱情緒與表情語言惟妙惟肖的進行展現(xiàn),難以建立具備深度性的交互功能。
其次是部分研究者通過次世代的引擎技術(VRPlatform),制作三維場景的深度信息,能夠較全面地為用戶提供關于演唱交互方面的情景選擇,也能夠實現(xiàn)一定的面部表情綁定[5-6],但是在渲染及流暢性上存在真實性差、圖形算法不夠優(yōu)化,畫面實時計算極易出現(xiàn)卡頓。
基于對以上技術優(yōu)缺點加以分析,本研究試圖以虛擬現(xiàn)實引擎技術(Unity3D)作為主要制作工具,系統(tǒng)性地針對建模、面部表情、手勢捕捉、多角度相機記錄進行全面的優(yōu)化設計,以此為聲樂演唱提供更加真實、細膩、交互多元化的應用方法。
在虛擬現(xiàn)實中,模型嵌入系統(tǒng)是表述虛擬現(xiàn)實體驗效果的前期重要因素,它的幾何分割功能能夠對場景交互體驗的流暢度起著決定性作用。即將同一模型分為3個等級的LOD(levels of detail)精度規(guī)范,以此在不同的視距范圍內將模型精度靈活切換[7-10]。這種切換方式應遵循的原則是能夠確保前景的模型精度相對較高,中景的模型精度適中或使用簡模表達,而遠景的模型精度相對較低,甚至可以通過貼圖遮罩或圖像替代的方式進行表達,進而使虛擬現(xiàn)實能夠根據場景的不同視角進行實時優(yōu)化。
人臉的面部捕捉主要是先確定面部的眼虹膜、鼻翼、嘴角等五官輪廓的大小、位置、距離等屬性,然后計算出它們的幾何特征量,使其能夠形成整體描述該面部的特征向量[11]。其技術的核心原則是遵循局部人體特征分析與神經識別算法。主要目的是利用人體面部活動的特征去與幾何關系多數(shù)據形成的識別數(shù)據庫中所有的原始參數(shù)進行比較、判斷及確認的一系列過程。
手勢捕捉系統(tǒng)基于Oculus quest2手部定位追蹤技術,對人體手部的關節(jié)部位進行關于空間坐標的捕捉,同時實時傳輸?shù)教摂M現(xiàn)實的動畫過程中[12]。其主要原理是采集每根手指的彎曲姿態(tài),通過數(shù)據歸一算法使所有手指形成統(tǒng)一的單字節(jié)數(shù)據格式,以減少冗余數(shù)據,同時利用平滑處理算法將手指之間的時空參數(shù)進行處理,使手勢的骨骼及肌肉形成自然、柔和的運動狀態(tài)。此外,手勢捕捉的過程中會形成基于明顯特征的分割方法,主要包括膚色分割與手形分割。
1)膚色分割:是一種通過使用集群膚色的方式,在顏色空間中建立精準坐標下的膚色模型,并借助RGB色域對膚色進行綜合確認。
2)手形分割:是一種基于多模式融合的分割方法,主要是為了克服復雜環(huán)境對手部主要結構分割條件的限制,完善手型的表觀特征與運動信息。常用的策略有分割幾何特征、可變形特征及空間覆蓋型特征等。
虛擬現(xiàn)實中的相機系統(tǒng)通常為第一視角輸入,也是一種主動視覺標定的形式,能夠有效記錄人眼觀察到的動態(tài)視景[13-15]。與傳統(tǒng)虛擬相機不同的是它并不需要使用已知尺寸的標定物,通過建立標定物上的坐標點及圖像點進行對應的方式,就可以及時捕捉動態(tài)的序列幀圖像,但是在一定程度上缺少增穩(wěn)功能,如果需要得到穩(wěn)定的攝像功能,需要在虛擬現(xiàn)實的程序底層做好必要的程序優(yōu)化工作。
基于對以上系統(tǒng)原理進行分析,可以歸納出虛擬現(xiàn)實在聲樂教學方面的制作思路應從三維建模、面部捕捉、手勢捕捉、相機處理等若干方面進行應用研究:首先,需要借助3ds Max作為模型建立的初始工具,分別完成場景及演唱角色的建模工作,同時在所有模型完善后應將場景模型與角色模型全部導入Unity3D虛擬現(xiàn)實制作平臺,利用平臺中的模型嵌入系統(tǒng)對模型進行適當?shù)膸缀畏指睿_定好不同層級的LOD與場景的應對關系。其次,配合面部捕捉系統(tǒng)對演唱角色的面部進行識別及綁定,精準處理好面部主要肌肉結構的定位點。再次,通過手勢捕捉系統(tǒng)完成手部骨骼節(jié)點的確認,將相應的數(shù)據與虛擬現(xiàn)實引擎接口進行聯(lián)立計算。最后,通過對相機系統(tǒng)進行程序優(yōu)化的方式,實時記錄好演唱者在演唱過程中的具體表現(xiàn),便于后續(xù)能夠借助一定的途徑直觀地分析、評價演唱者應用虛擬現(xiàn)實前后的變化??傮w而言,上述流程設計是以一種高效、簡潔的制作思路為主,如圖1。
圖1 工作流程設計
模型在虛擬現(xiàn)實的制作及體驗過程中至關重要。模型的結構準確性、面片分配狀況、精度等問題將直接影響虛擬現(xiàn)實的仿真程度與交互程度。
4.1.1 場景模型
以某T型舞臺場景為例,其主要制作方法為以下3個步驟:
1)首先,利用3ds Max中樣條線編輯創(chuàng)建3000cm(長)×2200cm(寬)×1000cm(高)的T型舞臺,將其轉換為多邊形編輯,將各個頂點焊接為整體,以便于后續(xù)對各個邊界布線連接;
2)其次,利用網格布線對整體模型的細節(jié)進行處理,配合連接、擠出、倒角、插入等功能細化舞臺模型的局部結構,對于舞臺中心地面、背景、延長臺上的造型可以通過獨立建模后再對其進行整體的橋接處理;
3)最后,利用幾何放樣配合多邊形編輯,對舞臺周邊的觀眾席、頂部燈架等輔助模型進行創(chuàng)建,建模過程中可以利用鏡像、復制簡模的手段為主,逐漸豐富好整體場景,如圖2。
圖2 舞臺場景模型
4.1.2 角色模型
角色模型應在盒體元素下創(chuàng)建,利用多邊形編輯對角色面部、肢體進行整體布線,以四邊形布線為主,盡量確保在面部五官、肢體關節(jié)等需要虛擬現(xiàn)實動畫運動的區(qū)域重點布線,細化結構關系,在一些不參與動畫運動的區(qū)域可以通過塌陷、面片合并等手段對模型面數(shù)進行有效控制,如圖3。將模型中無法避免的三角形布線放置在角色不參與動畫計算的隱蔽區(qū)域,避免模型在虛擬現(xiàn)實的動畫過程中出現(xiàn)面片褶皺等不利現(xiàn)象。
圖3 角色模型
將模型整體導入Unity3D中,設置預覽虛擬現(xiàn)實的幀率FPS幀率為70~90,在引擎中檢測好模型面片的法線、頂點閉合情況,并在藍圖接口處,通過代碼植入的方式對場景的細微局部進行二次優(yōu)化,以滿足模型的幾何分割、空間坐標、面片處理、渲染烘焙等幾個方面的優(yōu)化工作,其程序設計如下:
int main(int,char**){
osgProducer::Viewer viewer;∥創(chuàng)建一個場景
viewer.setUPViewer():
∥加載osga地形模型到節(jié)點變量中
osg::Node* node=osgDB::readNodefile(“Wutai.osga”):
viewer.setSceneData(node);∥加載模型到場景中
∥進入渲染循環(huán)
viewer.realize();
while(!viewer.done()){
viewer.sync();∥等待所有cull和draw線程的完成
viewer.update();∥通過遍歷節(jié)點更新場景
viewer.frame();∥渲染更新結果
}
viewer.sync();∥退出程序前等待所有cull和draw線程的完成
return;
}
由于系統(tǒng)采用的結構光原理,需要通過向面部方向投射光線,再利用讀取物體表面光照信息數(shù)據來確定人臉形狀。為此,在選擇面部采集設備時,除了需要配置距離傳感器、話筒、前置攝像頭外,還需要滿足具備依序排列的紅外鏡頭、泛光照明燈、泛光感應元件及點陣投影器。通常情況下,點陣投影器可以向人臉投射3萬多個肉眼不可見的光點所組成的點陣,需要通過紅外鏡頭讀取點陣圖案,并與前置攝像頭拍攝到的人臉進行聯(lián)立計算,進而獲得面部表情的深度信息,即真實的面部三維模型,聯(lián)立計算需要搭建的4個數(shù)據接口分別為:
IFTFaceTracker:人臉追蹤主要接口。
IFTResult:人臉追蹤運算結果。
IFTImage:圖像緩沖區(qū)。
IFTModel:三維人臉模型。
聯(lián)立計算需要重點獲取的數(shù)據信息分別為:
FT_CAMERA_CONFIG:彩色或深度傳感器數(shù)據。
FT_VECTOR2D:二維向量數(shù)據。
FT_VECTOR3D:三維向量數(shù)據。
FT_Translate(X Y Z):所有用于人臉追蹤所需的輸入數(shù)據。
FT_Rotate(X Y Z):三維模型人臉角度數(shù)據。
FT_Scale(X Y Z):權重矩陣數(shù)據,如圖4。
圖4 面部捕捉后的效果
與通過二維圖像進行面部捕捉的方法相比。Tj的人臉識別精度在0.1mm,能夠超過圖像2、視頻1及平面0。當光線條件Ri不夠理想時,由點陣投影器發(fā)射出來的光線-σ、接收光線σ這種主動獲取面部信息的方法,也不會影響Tj的識別效率,其面部捕捉系統(tǒng)的優(yōu)化方法可以改變如下
手勢捕捉是虛擬現(xiàn)實中的技術難點,需要通過演唱者戴著虛擬頭顯設備Oculus quest2,以及手部定位追蹤器與電腦進行相連。之后,在頭顯設備的前端再安裝深度感應相機,且向下傾斜13.4°,以此使演唱者可以從虛擬現(xiàn)實的體驗過程中實時觀測到自己的雙手,及時跟蹤自己的指尖的變化,其手勢從左到右依次為:向后、停止、向前。若指尖位置在零坐標靜止區(qū)域區(qū)(zc)內,則無法產生運動;當指尖向前伸出至靜止區(qū)域以外時,則被試運動速度的紅色進度條會隨指尖距離產生線性增加,當手指關節(jié)朝向另一個方向移動,且朝向掌心向下時,移動到靜止區(qū)以外,紅色進度條會向后產生微妙的運動。具體表現(xiàn)為一種手掌的自然伸縮變化的過程,該過程是以演唱者右手食指遠端到手掌中心的距離以mm為單位,根據每人手掌尺寸按比例擴大2.74倍,以此減少在手指彎曲時所帶來的噪波,其設置參數(shù)如下:
1)β--beta coefficient,β表示斜率系數(shù)=速度/γ(表示食指指尖到靜止區(qū)邊界的距離),向前運動γ=(position×2.74)-(zc+dzw),向后運動γ=(zc-dzw)-(position×2.74)。
2)靜止區(qū)--dead zone,在實驗開始時,當測試者把他們的手放在一個放松的、輕輕彎曲的,當手指處于舒適的位置時,就可以確定手勢的零靜止位置,如圖5。
圖5 手勢的零靜止
3)α--exponent-velocity=(β×γ)^α,當一個參數(shù)發(fā)生改變時,其它參數(shù)固定在它們的中間值。例如,β=21 m/s, dzw=25mm,α=1.0.三個參數(shù)的測試順序依次為系數(shù)、靜止區(qū)寬度、指數(shù)α。每個測試者在一個參數(shù)內測試三個水平的順序是隨機的。對于每個參數(shù)水平,測試者完成一個大目標(2m)的實驗(30個目標)和一個小目標(1m)的實驗(30個目標)。這三個參數(shù)之間的測試順序不是隨機的。
該實驗時間至少需要完成30個指標中的最后24個指標的時間,使用重復測量方差分析不同水平時間的差異,以此對小目標及大目標進行細節(jié)分層,其參數(shù)設置可見表1、表2。
表1 Beta coefficient (small target)(m/s)
表2 Dead zone width (small target)(mm)
為了更好地提高虛擬現(xiàn)實相機的穩(wěn)定性,也為了使使演唱者能夠從多個攝像機角度審視自己在虛擬空間中的動作與面部表情的綜合表現(xiàn),需要對虛擬現(xiàn)實的程序底層進行必要的優(yōu)化,其代碼修改如下:
Camera _camera;
∥ Use this for initialization
void Start ()
{
_camera=Camera.main;
}
∥unity前3個鎖定,由低到高分別是nothing/everything/default/transparentFX/ignore raycast/waterUI
從第1個到第3個可以自己設置
∥第1個為cube層;第2個為sphere層;第3個為capsule層
void Update ()
{
if (Input.GetKeyDown(KeyCode.A))
{
_camera.cullingMask=1<<1; ∥cube 只渲染第1個
}
if (Input.GetKeyDown(KeyCode.B))
{
_camera.cullingMask=1<<2; ∥sphere 只渲染第2個
}
if (Input.GetKeyDown(KeyCode.S))
{
_camera.cullingMask=1<<3; ∥capsule 只渲染第3個
}
通過上述方法,可以觀察出多視角相機的穩(wěn)定性非常理想,便于后續(xù)對演唱者的表現(xiàn)進行定量分析,如圖6.
圖6 多視角相機效果
被測人員:聲樂表演專業(yè) 20名學生,男、女各10人,5人/次,根據高、低年級組及性別分為共4組。
虛擬內容:將自定義制作的360°虛擬聲樂視頻的內容根據情緒分類劃分為正性(激動)、中性(舒適)、負性(悲傷)共6首歌曲,分別為:正性情緒歌曲《我和我的祖國》《在希望的田野上》,負性情緒歌曲《時間都去哪了》《燭光里的媽媽》,中性情緒歌曲《貝加爾湖畔》《牧歌》。
實驗結果:以問卷形式與SAM量表來進行數(shù)據收集及分析測試結果良好,如表3。
表3 聲樂交互虛擬系統(tǒng)使用體驗數(shù)據分析
通過SAM情緒自陳量表獲取高仿真度聲樂交互內容,對虛擬現(xiàn)實介入前后進行相應的分析,如圖7。
圖7 虛擬現(xiàn)實介入前后的對比
從量表數(shù)據分析可知,使用高仿真度聲樂交互虛擬系統(tǒng)產生的情緒變化要遠高于傳統(tǒng)聲樂教學課程表現(xiàn),這主要得益于虛擬現(xiàn)實技術帶來的沉浸性和高仿真度。
與傳統(tǒng)聲樂教學方法相比,基于虛擬現(xiàn)實的聲樂教學平臺能夠給演唱者更廣泛的空間選擇,也能夠對演唱水平起到積極促進作用,其優(yōu)勢如下:
1)能夠不受現(xiàn)實物理時空、費用等條件限制,有效節(jié)約硬件成本,也是一種以高仿真度環(huán)境為基礎的智能交互性體驗過程。
2)能夠構建不同的虛擬內容元素,能夠較好地實現(xiàn)大眾參與,且能夠有效刺激演唱者的各項感知器官。
3)能夠為聲樂交互的虛擬現(xiàn)實體驗帶來更加精確、細膩、多元化的沉浸感及臨場感。