孫國玉,陳文娟,李海燕,孫慶杰
(中國傳媒大學,動畫與數(shù)字媒體藝術(shù)學院,北京 100024)
舞蹈是人們通過肢體來表達言語和情感的藝術(shù)形式,也是一種受大眾歡迎的活動。隨著VR相關(guān)技術(shù)的發(fā)展,研究者們嘗試采用不同的方法在3D虛擬環(huán)境中構(gòu)建了無監(jiān)督、無真實舞蹈老師的舞蹈學習系統(tǒng)或者舞蹈游戲從而為舞蹈愛好者提供更多的娛樂途徑[2,3,4]。由于舞蹈動作具有強差異性,節(jié)奏性,動作組合多樣性等特點,因此如何有效的自動識別和診斷這些復(fù)雜的舞蹈動作,成為這些研究中丞待解決的課題[5,6,7]。因此,在本文所構(gòu)建的虛擬舞蹈自學習系統(tǒng),提出了一種基于舞蹈姿態(tài)時空特征的球形自組織特征映射神經(jīng)網(wǎng)絡(luò)(S-SOFM)的識別方法,并提出一種優(yōu)化的OE—DTW算法[8]來對學生動作和模版動作進行相似性計算,自動生成有效的反饋意見成績,在沒有老師的情況下,讓學生在舞蹈動作的自學習過程中仍舊可以得到有價值的幫助。同時由于該框架將在完全沉浸式的虛擬現(xiàn)實環(huán)境中實現(xiàn),學習者不僅可以從各種角度觀看虛擬教師的舞蹈動作[3,4,9],還可以從視覺方面“秀”出學生自己的舞蹈動作是否標準,形象指出哪些部分需要改進,對學生的“不標準”的舞蹈動作的及時、有效的識別,對于保持學生的學習興趣和加強學習反饋的效果都發(fā)揮著很重要的作用。
本文提取的舞蹈動作特征主要是用來分析在舞蹈動作中人體姿態(tài)在空間中動態(tài)的變化特點,幫助學習者了解在舞蹈運動中身體的某一個部位如何變化才能達到動作的要求。本文把人體分成了總共10個部分,通過描述這10個身體部位的關(guān)系來表示人體外形的信息。如圖1所示,軀干被分為兩部分:上軀干(A)和下軀干(B)。其余部分包括左(C)/右大臂(E),左(D)/右前臂(F),左(G)/右大腿(I)和左(H)/右小腿(J)。
圖1 姿態(tài)組成部分
圖2 下軀干坐標系
圖3 軀干特征集
圖4 上臂對應(yīng)坐標系
圖5 左前臂的局部坐標系
由此,通過以上的方法,我們首先就舞蹈動作中的姿態(tài)部分進行了特征的提取,一共得到了19個特征值來描述人體的姿態(tài)。通過姿態(tài)的特征集合,可以讓我們對舞蹈動作的姿態(tài)的動態(tài)變化有一個全面的描述。
針對舞蹈動作中所包含的姿態(tài)序列具有時序性和邏輯性等特點,舞蹈動作可以被解析成一系列離散的姿態(tài)時序集合。該系統(tǒng)采用了S-SOFM的神經(jīng)網(wǎng)絡(luò)來構(gòu)建輸出模型,自組織特征映射神經(jīng)網(wǎng)絡(luò)(SOFM)是由芬蘭學者Kohonen在1982年提出的一種聚類學習方法[10]。而S-SOFM[11,12](球面自組織特征映射神經(jīng)網(wǎng)絡(luò))模型則繼承了SOFM的優(yōu)點,保持輸入樣本空間的拓撲結(jié)構(gòu)不變,同時消除了“邊界效應(yīng)”,輸入層特征空間中的密度區(qū)域在映射到S-SOFM球面體模型上之后具有相等間隔和最大限度分離的對應(yīng)節(jié)點位置,通過自組織特征映射算法,對輸入的樣本在訓練學習之后自動形成一種內(nèi)部表達,最終映射到輸出層(輸出節(jié)點會形成一個封閉球面體)中。因此,人體運動的姿勢序列能夠以最大程度的分離狀態(tài)被分配到S-SOFM球體模型的輸出節(jié)點上,且每個動作模版都會形成一個獨特的“軌跡”。這種保留了原始數(shù)據(jù)的拓撲映射關(guān)系的訓練方法使得一個動作片段(一序列姿態(tài)集合)如圖6所示,在S-SOFM模型中形成的軌跡是有序的、平滑的。
圖6 球體模型上的軌跡顯示一個動作是由5個簡單“姿態(tài)”構(gòu)成
為了構(gòu)建一個合理的S-SOFM網(wǎng)絡(luò)模型來對舞蹈姿態(tài)進行描述,大量的、標準的舞蹈動作作為隨機樣本被用來對該模型進行訓練,如下公式(1)表示輸入的樣本空間,也就是舞蹈動作的庫:
X={g1,1,g1,2,g1,3,…,gc,n,}
(1)
其中g(shù)c,n是c類動作的第n個動作片段,該片段包含了m個動作姿態(tài),如公式(2)所示,pmRD是gc,n動作片段在第m個姿態(tài)的特征向量:
gc,n={p1,p2,p3,…,pm}
(2)
輸出的S-SOFM網(wǎng)絡(luò)球面模型的節(jié)點數(shù)量是以一個正二十面體為基礎(chǔ),通過多次訓練細分的方式從而達到理想的水平狀態(tài)L,模型第一級細分過程中會產(chǎn)生12個節(jié)點,而在二級(l=2)和三級(l=3)的細分過程中會分別產(chǎn)生42個和162個節(jié)點。球面上的每個節(jié)點都會被隨機分配一個初始權(quán)重向量值,并在訓練中被不斷更新,表示為wk(t)RD。在對舞蹈動作的學習與訓練過程中,這些節(jié)點的權(quán)重向量便代表輸入空間里的一個關(guān)鍵姿態(tài),節(jié)點的總數(shù)代表了通過訓練模型得到的關(guān)鍵姿態(tài)總量。在這個模型中,節(jié)點與它們的直接鄰居間都是等距的,而這些距離就形成了六邊形的鄰域。
在對S-SOFM網(wǎng)絡(luò)模型訓練之后,每個節(jié)點都會表示一個典型的舞蹈姿態(tài)。對一個動作片段的描述就是將一個舞蹈動作離散成一組姿態(tài)序列,并將這個姿態(tài)序列投射到S-SOFM球體模型的姿態(tài)空間上,對于每一個輸入姿態(tài)來說,投射過程就是在找到輸出球體上的最佳匹配節(jié)點(也稱為獲勝節(jié)點)以后,使用這個節(jié)點的索引標號來標識輸入的姿態(tài),因此,如下公式所示,一個完整的舞蹈動作片段(一個由姿態(tài)構(gòu)成的時間為T的序列)在完成向輸出空間的投射之后,在輸出空間上形成一段“軌跡”的同時,也會得到一組包含時序信息的索引標識號。
Oc,n(t)={ot},tT
(3)
因此,每一類別的舞蹈動作都可以用這樣一組“獨特”的索引號序列Oc,n來標識,我們把這組序列號信息稱之為定義一個舞蹈動作片段的基本信息模版,為了更好對動作片段進行描述,在此基礎(chǔ)之上,我們基于舞蹈動作的稀疏編碼對舞蹈動作片段的基本信息模版進行高層次的描述,并把它作為用于識別的舞蹈動作模版。
舞蹈的基本信息模版從邏輯上看類似于在是個在自然語言處理和信息檢索(IR)領(lǐng)域中比較流行的bag-of-words(BOW)詞袋模型。在輸出的球體模型的每一個節(jié)點所代表的姿態(tài)都可以被看做是一個特殊的詞條,同理可得,一個動作片段可以看成是一組詞條根據(jù)特定的文法規(guī)則組合在一起。在應(yīng)用詞袋模型的文件分類研究中,統(tǒng)計關(guān)鍵詞出現(xiàn)的頻率可以用來當作訓練分類器的一個重要特征。本文借鑒了詞袋中的詞頻特征分類方法,把舞動動作片段里面的姿態(tài)序列按照出現(xiàn)頻率進行統(tǒng)計,從而形成了一個動作片段或一組類似動作的“直方圖”。因此,我們將舞蹈動作片段從原來由姿態(tài)序列的索引編號描述轉(zhuǎn)化為動作頻率的直方圖表示,每個舞蹈動作片段的直方圖則是該動作所包含的姿態(tài)的頻率的統(tǒng)計值構(gòu)成,兩個舞蹈動作的相似性可以通過直方圖間的相似距離來度量。依照直方圖統(tǒng)計規(guī)則,一個動作序列(包含n個姿態(tài))的直方圖可以用如下公式表示:
(4)
fu是舞動動作中第u個輸出節(jié)點的出現(xiàn)頻率,n表示該舞蹈所包含的姿態(tài)數(shù)量。新輸入動作的動作模版,和已知的動作模版進行匹配計算,這里的模板相似性度量采用歐式距離,從而判別未知動作所屬的類別,在舞蹈自學系統(tǒng)中,這個識別過程可以是離線完成,也可以是在線完成。
(5)
針對姿態(tài)pi和pj的差異性測量方法,基于統(tǒng)一評價標準的需要,需要對姿態(tài)距離進行歸一化處理,因此采用了如下公式對兩個姿態(tài)的特征向量的歸一化內(nèi)積的方式來測量兩個動作的差異性。
(6)
其中,fi,k,fj,k分別為姿態(tài)pi和pj的第k個特征向量值,fk(max)表示第k個特征的最大值,fk(min)表示第k個特征的最小值,wk為第k個特征的權(quán)重。設(shè)輸入動作Q={pq,1,pq,2,…,pq,n},模版動作R={pr,1,pr,2,…,pr,n},為了比較兩個動作Q和R的相似度,首先得到如下兩個動作的距離矩陣。
(7)
兩個動作之間所存在的彎曲路徑T,T={t1,t2,…,tk}其中tk=(nk,mk)[1,n]×[1,m],則X和Y之間的距離為:
(8)
基于OE-DTW的動態(tài)規(guī)劃策略算法,動作Q與R的OE-DTW距離DOE(Q,R)為最優(yōu)路徑,即:
DOE(Q,R)=minj=1,2,…,mDDTW(Q,Rj)=DT(Q,Rj)
=min{DT(Q,Rj)}
(9)
如下圖7-8所示,舞蹈自訓練系統(tǒng)是架設(shè)在多通道沉浸式CAVE虛擬環(huán)境中來實現(xiàn),利用3D Unity引擎來構(gòu)建VR學習環(huán)境,同時作為舞蹈動作分析反饋界面,系統(tǒng)通過與Kinect傳感器接作為學生動作的實時數(shù)據(jù)采集,而MiddleVR則用于控制CAVE中的圖形圖像的顯示。
圖7 系統(tǒng)架構(gòu)
圖8 VR系統(tǒng)中的環(huán)境學習
我們構(gòu)建了如下舞蹈動作列表,動作由老師和學生分別完成各6次,從而可重復(fù)的將下列動作(同樣的動作內(nèi)容,不同的動作序列)投射到SSOM模型空間上。
表1 動作庫
1 2 3 4 5 6 圖9 舞蹈中的6個基本姿態(tài)
在圖10中,這兩行圖表示從動作G5-G6在S-SOFM模型上的映射結(jié)果,從該圖中可以直觀看到這兩類動作在球體上所呈現(xiàn)的獨特且相似度較高的軌跡,即使動作時長差異性比較大,動作軌跡的仍舊表現(xiàn)出一定的穩(wěn)定性,這也體現(xiàn)從姿態(tài)序列映射到姿態(tài)空間的一致性。由于不同類別的動作訓練得到的路徑彼此是有自己獨特性的,因此這些軌跡之間的高差異性有效保證了動作之間的識別效果。
圖10 G1-G6的動作軌跡
為評價我們所構(gòu)建的S-SOFM的輸出空間的合理性,本文分別對學生A,B動作進行動作模板構(gòu)建和匹配識別,通過相似性度量法則進行識別判定。這個過程被重復(fù)了6次,并且對每個類別分類的準確度都進行了記錄。
表2 基于舞蹈姿態(tài)頻率統(tǒng)計模版的識別率
在圖11中,所顯示的是學生在每次學習時候獲得的有關(guān)各個動作的平均成績,總體看,雖然動作比較簡單,但整體仍舊呈現(xiàn)上升趨勢,說明系統(tǒng)對于學生舞蹈學習是存在一定的幫助作用的,在多次重復(fù)訓練之后,學生的動作質(zhì)量得到了一定程度的改善。
圖11 每個動作的訓練平均成績
本文針對舞蹈的虛擬學習系統(tǒng)提出了一個新的識別方法,基于舞蹈動作的獨特性提出了舞蹈特征提取方法,利用S-SOFM網(wǎng)絡(luò)訓練得到一個球形自組織特征映射模型以此來量化典型舞蹈動作中姿勢空間。通過把序列化的舞蹈姿勢投射在S-SOFM輸出空間上從而形成一條平滑的軌跡,得到了一個動作的基本信息模版,通過使用設(shè)定的動作模版對每類動作進行高層次描述,并且通過歐氏距離不同的度量算法,對教師和學生進行的進行相似性評估??傮w來說,雖然動作的難度不大,不過對于獨立動作的平均識別率主體在90.5%-96%的范圍內(nèi),識別的方法可以顯示出一定的健壯性。系統(tǒng)所得出的評估成績也顯示了,系統(tǒng)具有一定的有效性與可行性,在后續(xù)的研究中,系統(tǒng)還會就如何學習舞蹈家的評價標準,如何進行有效的動作的評估等研究工作進行進一步探討,從而可以在系統(tǒng)準確性與可用性等方面得到進一步提高。