孫國玉,陳文娟,李海燕,孫慶杰
(中國傳媒大學,動畫與數字媒體藝術學院,北京 100024)
舞蹈是人們通過肢體來表達言語和情感的藝術形式,也是一種受大眾歡迎的活動。隨著VR相關技術的發展,研究者們嘗試采用不同的方法在3D虛擬環境中構建了無監督、無真實舞蹈老師的舞蹈學習系統或者舞蹈游戲從而為舞蹈愛好者提供更多的娛樂途徑[2,3,4]。由于舞蹈動作具有強差異性,節奏性,動作組合多樣性等特點,因此如何有效的自動識別和診斷這些復雜的舞蹈動作,成為這些研究中丞待解決的課題[5,6,7]。因此,在本文所構建的虛擬舞蹈自學習系統,提出了一種基于舞蹈姿態時空特征的球形自組織特征映射神經網絡(S-SOFM)的識別方法,并提出一種優化的OE—DTW算法[8]來對學生動作和模版動作進行相似性計算,自動生成有效的反饋意見成績,在沒有老師的情況下,讓學生在舞蹈動作的自學習過程中仍舊可以得到有價值的幫助。同時由于該框架將在完全沉浸式的虛擬現實環境中實現,學習者不僅可以從各種角度觀看虛擬教師的舞蹈動作[3,4,9],還可以從視覺方面“秀”出學生自己的舞蹈動作是否標準,形象指出哪些部分需要改進,對學生的“不標準”的舞蹈動作的及時、有效的識別,對于保持學生的學習興趣和加強學習反饋的效果都發揮著很重要的作用。
本文提取的舞蹈動作特征主要是用來分析在舞蹈動作中人體姿態在空間中動態的變化特點,幫助學習者了解在舞蹈運動中身體的某一個部位如何變化才能達到動作的要求。本文把人體分成了總共10個部分,通過描述這10個身體部位的關系來表示人體外形的信息。如圖1所示,軀干被分為兩部分:上軀干(A)和下軀干(B)。其余部分包括左(C)/右大臂(E),左(D)/右前臂(F),左(G)/右大腿(I)和左(H)/右小腿(J)。


圖1 姿態組成部分

圖2 下軀干坐標系

圖3 軀干特征集


圖4 上臂對應坐標系

圖5 左前臂的局部坐標系

由此,通過以上的方法,我們首先就舞蹈動作中的姿態部分進行了特征的提取,一共得到了19個特征值來描述人體的姿態。通過姿態的特征集合,可以讓我們對舞蹈動作的姿態的動態變化有一個全面的描述。
針對舞蹈動作中所包含的姿態序列具有時序性和邏輯性等特點,舞蹈動作可以被解析成一系列離散的姿態時序集合。該系統采用了S-SOFM的神經網絡來構建輸出模型,自組織特征映射神經網絡(SOFM)是由芬蘭學者Kohonen在1982年提出的一種聚類學習方法[10]。而S-SOFM[11,12](球面自組織特征映射神經網絡)模型則繼承了SOFM的優點,保持輸入樣本空間的拓撲結構不變,同時消除了“邊界效應”,輸入層特征空間中的密度區域在映射到S-SOFM球面體模型上之后具有相等間隔和最大限度分離的對應節點位置,通過自組織特征映射算法,對輸入的樣本在訓練學習之后自動形成一種內部表達,最終映射到輸出層(輸出節點會形成一個封閉球面體)中。因此,人體運動的姿勢序列能夠以最大程度的分離狀態被分配到S-SOFM球體模型的輸出節點上,且每個動作模版都會形成一個獨特的“軌跡”。這種保留了原始數據的拓撲映射關系的訓練方法使得一個動作片段(一序列姿態集合)如圖6所示,在S-SOFM模型中形成的軌跡是有序的、平滑的。

圖6 球體模型上的軌跡顯示一個動作是由5個簡單“姿態”構成
為了構建一個合理的S-SOFM網絡模型來對舞蹈姿態進行描述,大量的、標準的舞蹈動作作為隨機樣本被用來對該模型進行訓練,如下公式(1)表示輸入的樣本空間,也就是舞蹈動作的庫:
X={g1,1,g1,2,g1,3,…,gc,n,}
(1)
其中gc,n是c類動作的第n個動作片段,該片段包含了m個動作姿態,如公式(2)所示,pmRD是gc,n動作片段在第m個姿態的特征向量:
gc,n={p1,p2,p3,…,pm}
(2)
輸出的S-SOFM網絡球面模型的節點數量是以一個正二十面體為基礎,通過多次訓練細分的方式從而達到理想的水平狀態L,模型第一級細分過程中會產生12個節點,而在二級(l=2)和三級(l=3)的細分過程中會分別產生42個和162個節點。球面上的每個節點都會被隨機分配一個初始權重向量值,并在訓練中被不斷更新,表示為wk(t)RD。在對舞蹈動作的學習與訓練過程中,這些節點的權重向量便代表輸入空間里的一個關鍵姿態,節點的總數代表了通過訓練模型得到的關鍵姿態總量。在這個模型中,節點與它們的直接鄰居間都是等距的,而這些距離就形成了六邊形的鄰域。
在對S-SOFM網絡模型訓練之后,每個節點都會表示一個典型的舞蹈姿態。對一個動作片段的描述就是將一個舞蹈動作離散成一組姿態序列,并將這個姿態序列投射到S-SOFM球體模型的姿態空間上,對于每一個輸入姿態來說,投射過程就是在找到輸出球體上的最佳匹配節點(也稱為獲勝節點)以后,使用這個節點的索引標號來標識輸入的姿態,因此,如下公式所示,一個完整的舞蹈動作片段(一個由姿態構成的時間為T的序列)在完成向輸出空間的投射之后,在輸出空間上形成一段“軌跡”的同時,也會得到一組包含時序信息的索引標識號。
Oc,n(t)={ot},tT
(3)
因此,每一類別的舞蹈動作都可以用這樣一組“獨特”的索引號序列Oc,n來標識,我們把這組序列號信息稱之為定義一個舞蹈動作片段的基本信息模版,為了更好對動作片段進行描述,在此基礎之上,我們基于舞蹈動作的稀疏編碼對舞蹈動作片段的基本信息模版進行高層次的描述,并把它作為用于識別的舞蹈動作模版。
舞蹈的基本信息模版從邏輯上看類似于在是個在自然語言處理和信息檢索(IR)領域中比較流行的bag-of-words(BOW)詞袋模型。在輸出的球體模型的每一個節點所代表的姿態都可以被看做是一個特殊的詞條,同理可得,一個動作片段可以看成是一組詞條根據特定的文法規則組合在一起。在應用詞袋模型的文件分類研究中,統計關鍵詞出現的頻率可以用來當作訓練分類器的一個重要特征。本文借鑒了詞袋中的詞頻特征分類方法,把舞動動作片段里面的姿態序列按照出現頻率進行統計,從而形成了一個動作片段或一組類似動作的“直方圖”。因此,我們將舞蹈動作片段從原來由姿態序列的索引編號描述轉化為動作頻率的直方圖表示,每個舞蹈動作片段的直方圖則是該動作所包含的姿態的頻率的統計值構成,兩個舞蹈動作的相似性可以通過直方圖間的相似距離來度量。依照直方圖統計規則,一個動作序列(包含n個姿態)的直方圖可以用如下公式表示:
(4)
fu是舞動動作中第u個輸出節點的出現頻率,n表示該舞蹈所包含的姿態數量。新輸入動作的動作模版,和已知的動作模版進行匹配計算,這里的模板相似性度量采用歐式距離,從而判別未知動作所屬的類別,在舞蹈自學系統中,這個識別過程可以是離線完成,也可以是在線完成。
(5)
針對姿態pi和pj的差異性測量方法,基于統一評價標準的需要,需要對姿態距離進行歸一化處理,因此采用了如下公式對兩個姿態的特征向量的歸一化內積的方式來測量兩個動作的差異性。
(6)
其中,fi,k,fj,k分別為姿態pi和pj的第k個特征向量值,fk(max)表示第k個特征的最大值,fk(min)表示第k個特征的最小值,wk為第k個特征的權重。設輸入動作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的動態規劃策略算法,動作Q與R的OE-DTW距離DOE(Q,R)為最優路徑,即:
DOE(Q,R)=minj=1,2,…,mDDTW(Q,Rj)=DT(Q,Rj)
=min{DT(Q,Rj)}
(9)

如下圖7-8所示,舞蹈自訓練系統是架設在多通道沉浸式CAVE虛擬環境中來實現,利用3D Unity引擎來構建VR學習環境,同時作為舞蹈動作分析反饋界面,系統通過與Kinect傳感器接作為學生動作的實時數據采集,而MiddleVR則用于控制CAVE中的圖形圖像的顯示。

圖7 系統架構

圖8 VR系統中的環境學習
我們構建了如下舞蹈動作列表,動作由老師和學生分別完成各6次,從而可重復的將下列動作(同樣的動作內容,不同的動作序列)投射到SSOM模型空間上。

表1 動作庫

1 2 3 4 5 6 圖9 舞蹈中的6個基本姿態
在圖10中,這兩行圖表示從動作G5-G6在S-SOFM模型上的映射結果,從該圖中可以直觀看到這兩類動作在球體上所呈現的獨特且相似度較高的軌跡,即使動作時長差異性比較大,動作軌跡的仍舊表現出一定的穩定性,這也體現從姿態序列映射到姿態空間的一致性。由于不同類別的動作訓練得到的路徑彼此是有自己獨特性的,因此這些軌跡之間的高差異性有效保證了動作之間的識別效果。

圖10 G1-G6的動作軌跡
為評價我們所構建的S-SOFM的輸出空間的合理性,本文分別對學生A,B動作進行動作模板構建和匹配識別,通過相似性度量法則進行識別判定。這個過程被重復了6次,并且對每個類別分類的準確度都進行了記錄。

表2 基于舞蹈姿態頻率統計模版的識別率
在圖11中,所顯示的是學生在每次學習時候獲得的有關各個動作的平均成績,總體看,雖然動作比較簡單,但整體仍舊呈現上升趨勢,說明系統對于學生舞蹈學習是存在一定的幫助作用的,在多次重復訓練之后,學生的動作質量得到了一定程度的改善。

圖11 每個動作的訓練平均成績
本文針對舞蹈的虛擬學習系統提出了一個新的識別方法,基于舞蹈動作的獨特性提出了舞蹈特征提取方法,利用S-SOFM網絡訓練得到一個球形自組織特征映射模型以此來量化典型舞蹈動作中姿勢空間。通過把序列化的舞蹈姿勢投射在S-SOFM輸出空間上從而形成一條平滑的軌跡,得到了一個動作的基本信息模版,通過使用設定的動作模版對每類動作進行高層次描述,并且通過歐氏距離不同的度量算法,對教師和學生進行的進行相似性評估。總體來說,雖然動作的難度不大,不過對于獨立動作的平均識別率主體在90.5%-96%的范圍內,識別的方法可以顯示出一定的健壯性。系統所得出的評估成績也顯示了,系統具有一定的有效性與可行性,在后續的研究中,系統還會就如何學習舞蹈家的評價標準,如何進行有效的動作的評估等研究工作進行進一步探討,從而可以在系統準確性與可用性等方面得到進一步提高。