謝靜文 王衛(wèi)星 馬連丹 胡寧峰
摘? 要: 少數民族原生態(tài)舞蹈是國家非物質文化遺產的重要組成部分,但由于文化的多元化使其發(fā)展和傳承受到沖擊。為了更好地保護與傳承原生態(tài)民族舞蹈,本研究結合Kinect深度相機設計并開發(fā)了一套原生態(tài)舞蹈動作的學習框架。該框架通過Kinect采集并存儲專業(yè)原生態(tài)舞者動作的骨骼信息,并使用改進的3D CNNS模型對原生態(tài)舞蹈進行識別,根據識別結果,采用Cosine-DTW算法對訓練者的舞蹈動作進行評價,從而實現原生態(tài)舞蹈動作的數字化保護與傳承。
關鍵詞: Kinect; 骨骼信息; 3D CNNS; Cosine-DTW; 原生態(tài)舞蹈
中圖分類號:TP399? ? ? ? ? 文獻標識碼:A? ? ? 文章編號:1006-8228(2023)09-136-05
Research on digital protection of primitive dance based on skeletal information
Xie Jingwen1, Wang Weixing1,2, Ma Liandan2, Hu Ningfeng2
(1. Key Laboratory of Modern Manufacturing Technology of Ministry of Education, Guizhou University, Guiyang, Guizhou 550025, China;
2. School of Mechanical Engineering, Guizhou University)
Abstract: The primitive dance of ethnic minorities is an important part of the national intangible cultural heritage, but its development and inheritance are affected by the diversity of culture. In order to better protect and inherit the primitive dance, a learning framework of primitive dance movements is designed and developed combined with the Kinect depth camera. The skeletal information of professional primitive dancers' movements is collected and stored by Kinect, and the improved 3D CNNS model is used to recognize the primitive dance. Based on the recognition results, the Cosine-DTW algorithm is used to evaluate the dance movements of the trainers, so as to realize the digital protection and heritage of primitive dance movements.
Key words: Kinect; skeletal information; 3D CNNS; Cosine-DTW; primitive dance
0 引言
原生態(tài)少數民族舞蹈作為中華民族非物質文化遺產的重要組成部分,以其獨特的肢體動作來表達社會生活、民族歷史文化和情感。然而,這種非物質文化遺產如今卻面臨著流失的風險[1]。傳統(tǒng)的舞蹈動作記錄工作中,專業(yè)的舞蹈動作大多是通過文字、圖像或視頻等方式對其進行記錄。然而這些方式很難準確、全面地將少數民族原生態(tài)舞蹈動作傳承下去。隨著數字化技術的飛速發(fā)展,基于骨骼信息的人體動作研究正逐漸成為研究與應用的熱點,人體骨架信息中包含豐富的動作特征信息,為少數民族原生態(tài)舞蹈動作研究奠定了基礎。本文基于骨架信息的舞蹈動作數字化研究包括:原生態(tài)舞蹈動作的數字化識別與評價。舞蹈動作數字化識別是指對錄入的原生態(tài)舞蹈動作與數據庫中的標準動作進行匹配,得到最為相似的動作類別;舞蹈動作的數字化評價是指通過人體骨架中各關節(jié)運動軌跡的動態(tài)變化,對動作的規(guī)范程度進行衡量。本研究使用改進的3D-CNN算法、Cosine-DTW算法,對原生態(tài)舞蹈動作進行識別與評價,同時對訓練者舞蹈動作的完成質量進行反饋,反饋框架可有效地評估出訓練者動作與標準動作的差異,訓練者可根據反饋,改進自身不規(guī)范動作,促進原生態(tài)舞蹈動作的數字化傳承。綜上所述,本文開發(fā)基于三維骨骼信息的舞蹈動作識別和評價框架,對原生態(tài)舞蹈動作的傳承和保護具有重要研究意義。
1 原生態(tài)舞蹈數據集的制作
1.1 原生態(tài)舞蹈動作調研
貴州是一個少數民族居多的省份,擁有數量龐大且極具特色的少數民族部落村寨。如西江千戶苗寨、肇興侗寨、朗德上寨等。據文獻[2]記錄,貴州地區(qū)少數民族主要有苗族、土家族、布依族、侗族等。其代表性舞種有:錦雞舞、擺手舞、織布舞、糠包舞、蘆笙舞、竹鼓舞、花鼓子、八寶銅鈴舞等。本研究從上述原生態(tài)舞種中篩選六種作為研究對象。
⑴ 擺手舞:土家族的擺手舞,舞姿大方粗獷,擺手動作有單擺、雙擺、回旋擺、邊擺邊跳等[3]。
⑵ 錦雞舞:苗族的代表性舞蹈,形如錦雞樣式的一種蘆笙樂曲舞姿。產生并盛行于貴州省苗族村寨中。錦雞舞步伐分三排式、四拍式、五拍式、七拍式不等,上身動作小,腳步動作多,輕巧靈活,腰及膝蓋以下以自然蠕動為主[4]。
⑶ 織布舞:布依族民間舞蹈形式之一,流行于貴州省等布依族地區(qū)。主要表現種棉、摘棉、抽紗、紡線到織成布匹的全過程。
⑷ 糠包舞:集中在黔南、黔西南。布依族男女青年以拋舞糠包的形式來選擇情侶,相互表達愛慕之情??钒璧奈璧竸幼饔絮悴较蚯?、轉身、起步、退步等。
⑸ 竹鼓舞:布依族原生態(tài)舞蹈。表演時舞者雙手拿相同大小或一大一小的竹鼓相互敲打,通過跳躍、轉體、擊地等方式進行演繹。擊鼓迎送、望鼓、跳鼓等是竹鼓舞關鍵動作。
⑹ 蘆笙舞:苗族原生態(tài)舞蹈。蘆笙舞的動作以矮步、蹲踢、旋轉、騰躍等為主。蘆笙舞的動作類型主要有滾山珠、蘆笙拳、蚯蚓滾沙等。
本研究篩選上述六類原生態(tài)舞蹈作為典型范例,每類舞蹈均包含3~4個能代表該舞蹈特征的動作片段,使用Kinect深度相機錄制專業(yè)舞者舞蹈動作并將其保存在原生態(tài)舞蹈數據集中,數據集中共包含六種原生態(tài)舞蹈的20種動作。
1.2 原生態(tài)舞蹈動作數據集錄制
10名身體健康的專業(yè)舞蹈志愿者(年齡(23±3)歲)參與了原生態(tài)舞蹈動作數據集的錄制。被試者實驗前12小時內沒有進行劇烈的身體運動,身體健康狀況良好,每位被試者都學習過不同的舞蹈類型,有4~5年的原生態(tài)舞蹈學習經驗。
實驗開始前,實驗者需簽署本研究的書面說明和知情同意書。實驗過程中,根據實驗室的實際環(huán)境,設置本實驗的限制條件如下:①Kinect距地面的垂直距離應為1~1.2m,距訓練者的水平距離應為2~3m。此距離范圍內,人體全部骨骼節(jié)點恰好能被Kinect相機完全檢測,數據捕獲最優(yōu)且跟蹤效能最好。②人體與Kinect的相對角度不能超過45度。若相對角度過大,Kinect檢測到關節(jié)點會出現失真的情況。③捕捉人體動作信息時,訓練者應站在Kinect的正前方,并保證受試地點開闊,無物體遮擋。
實驗要求專業(yè)被試舞者在數據采集前3~5天內按動作視頻與動作解釋學習20個原生態(tài)典型舞蹈動作示例,并能依次熟悉地跟隨音樂節(jié)奏流暢地表演。實驗期間盡量避免動作的停頓、過快和過慢。實驗過程中,根據語音指導與節(jié)拍口令舞動20個動作片段,每個動作片段執(zhí)行三次,通過動作采集程序對專業(yè)舞者的標準舞蹈動作各骨骼點坐標進行采集,實驗結束后,將錄制的600個樣本存入數據集。
2 方法
2.1 三維卷積神經網絡
三維卷積神經網絡(3D CNN)可以從時間維度和空間維度提取特征,提取多個連續(xù)幀的運動信息。本文采用改進的3D CNNs對原生態(tài)舞蹈典型動作骨架信息進行識別,骨架信息是單通道信息,計算量更小,模型識別性能更好。本文改進的3D CNNs模型框架如圖1所示,其結構包括四個卷積層、二個池化層、二個全連接層和一個Softmax分類層。
卷積層對輸出矩陣按指定步長進行卷積操作:并利用激活函數將卷積操作后的非線性特征進行提取,其公式表達為:
[Vxyzij=tanh (bij+mp=0pi-1q=0pi-1r=0pi-1wpqrijmv(x+p)(y+q)(z+r)(i-1)m)] ⑴
其中,[bij]為偏置,[Ri]表示三維卷積核的大小,[wpqrijm]為上一層第m個特征圖在點(p、q、r)處的值。
不同于二維圖像的處理,動作識別過程中需要考慮數據集在時間維度上的信息。池化層的出現可以縮小參數矩陣尺寸的形式減小特征圖,降低數據維度,從而減少最后連接層中的參數數量,并訓練提高訓練速度與準確率。最大池化的公式如下:
[Vxyz=Max(ym*n+i,n*t+j,l*r+k)] ⑵
其中,V為池化操作后的輸出,y為三維輸入向量,n,t,r為采樣步長。
若模型在訓練集中結果較好而在測試集中結果較差則為過擬合現象,Dropout策略是指在訓練過程中按一定比例隨機忽略或屏蔽一些神經元,從而防止過擬合現象的產生。Dropout參數影響了訓練模型的準確度。本文訓練過程中,也將通過Dropout 比例的調節(jié),從而減少過擬合現象。
Softmax函數為用于多分類問題的激活函數,對于長度為K的任意實向量,Softmax函數可以將其壓縮為長度K,并將其值取在[0,1]范圍內,向量中元素的總和為1。
[Softmaxx=exiiexi]? ⑶
本實驗將預處理過的原生態(tài)舞蹈典型動作數據集平均分為五組,每次實驗拿一組進行測試,其余組用作訓練,五次實驗結束后,求平均值作為實驗結果。
2.2 改進的動態(tài)時間規(guī)整算法
動態(tài)時間規(guī)整算法(DTW)具有數據需求量小、計算簡單等優(yōu)勢,常用于動作評價類研究。本文對傳統(tǒng)DTW動作匹配算法進行改進,以使其更好地適用于人體骨架數據的匹配。
骨架數據中相鄰骨骼點之間的連線構成了一個骨骼向量,考慮到人體舞蹈動作姿態(tài)主要以四肢的運動為主,故選取人體運動中權重較大的肩肘、肘腕、髖膝、膝踝等骨架特征向量與其對應的四個特征平面。待匹配的兩個骨架向量,起點均位于空間坐標軸原點,其終點位置的空間差異可作為兩者相似性的評價依據。本文在傳統(tǒng)方法的基礎上,提出一種基于余弦距離的DTW匹配算法(Cosine-DTW),相比歐式距離,余弦距離更加注重兩個向量在方向上的差異,可更好的反映待匹配的兩向量每幀之間的差異。將骨架特征向量單位化,可以減少匹配時由于測試者肢體長度不同而帶來的相對誤差;使用Cosine-DTW算法計算出待匹配的兩個向量在方向上的差異;比較骨架整體間的相似性時,將各骨架特征向量Cosine-DTW距離相加,累加值可反映兩幀骨架的整體相似程度。
[V'(Xi,Yi,Zi)=U(Xi,Yi,Zi)(U2Xi+U2Yi+U2Zi)(i=1,2…,12)]? ⑷
[V'(Xi,Yi,Zi)=V(Xi,Yi,Zi)(V2Xi+V2Yi+V2Zi)(i=1,2…,12)]? ⑸
[DU'iV'i=1-U'(Xi,Y,Zi)?V'(Xi,Y,Zi)|U'(Xi,Y,Zi)|?|V'(Xi,Y,Zi)|(i=1,2,…,12)]? ⑹
[Dsum=i=112DU'iV'i]? ⑺
其中,[U(Xi,YiZi)]代表各幀中標準動作中骨架向量[Ui]的位置信息,[U'(Xi,YiZi)]代表標準動作中[Ui]單位化后的位置信息;[V(Xi,YiZi)]代表訓練動作中骨架向量[Vi]的位置信息,[V'(Xi,YiZi)]代表訓練動作中[Vi]單位化后的位置信息;[DU'iV'i]為標準動作與測試動作骨架關節(jié)向量i的距離差距值,[Dsum]表示該骨架幀的整體差距值。
相比于無對齊的序列匹配與傳統(tǒng)基于歐式距離的DTW匹配算法,使用Cosine-DTW算法對舞蹈動作的標準程度進行度量,其結果更加科學合理,匹配結果與原始動作骨架幀能更好的對應,解決了長度不一致的動作序列的對齊問題,且余弦值能反推出待匹配的兩骨骼向量之間的角度差異,增加了骨架整體匹配精度。
3 實驗與結果分析
3.1 動作識別實驗與結果分析
動作識別的實驗環(huán)境為AMD Ryzen 7 4800H with Radeon Graphics 2.90 GHz的Windows 10系統(tǒng)計算機,使用Python3.7編寫了實驗代碼。為了緩解過擬合現象,使用Dropout技術并對其設置不同比率(0.25、0.5、0.65、0.8)進行實驗,實驗中每種比率的Dropout均迭代100次。實驗結果如圖2所示。由圖2可知,將Dropout 比率設置為0.5時,原生態(tài)舞蹈識別結果較好,故后續(xù)實驗中,Dropout比率統(tǒng)一設置為0.5。
為驗證本文方法的有效性,使用本文方法對公開數據集 MSRAction3D 數據集、UTKinec數據集及本文的原生態(tài)舞蹈數據集進行了實驗。MSRAction3D數據集使用Kinect進行錄制,記錄了十名被試者的20種動作。UT-Kinect 數據集記錄了十個受試者十種日常動作。圖3為使用本文方法在三種數據集上的訓練精度與測試精度。由下圖可知,本文方法在三種數據集上均取得了90%以上的識別精度,且在原生態(tài)舞蹈動作數據集上獲得了95%以上的識別準確率。實驗結果驗證了本文方法的有效性。
在實驗過程中,使用3D CNNs對原生態(tài)舞蹈數據集進行訓練,得到如圖4所示的訓練-損失曲線。 圖中,縱坐標為損失值,橫坐標為迭代次數。從圖4可以看出,迭代次數進行到40次左右訓練值與損失值逐漸趨于穩(wěn)定,訓練集識別效率為96%,為模型的最佳訓練結果。訓練結束后,將訓練模型保存。
隨后,使用本文算法與C3D、P3D、I3D、X3D、ConvLSTM等經典算法,對原生態(tài)舞蹈數據集進行識別。實驗結果如表1所示,由表1可知,上述七種經典算法在本文數據集中均取得了較高的識別準確度,本文模型的識別準確度高于其他經典方法。本實驗同時驗證了數據集采集、特征提取以及本文所用算法合理性。原生態(tài)舞蹈數據集將提取出來的人體骨骼信息作為關鍵動作信息進行保留,節(jié)省了存儲空間。
3.2 動作評價實驗與結果分析
本文動作識別模型被驗證取得良好效果后,隨后對測試舞蹈數據進行采集,測試舞蹈采集對被試者的舞蹈經驗不做要求。實驗對象選取了年齡在18-30歲三名志愿者。實驗中志愿者以下述三種方式模仿上述標準動作,每種類別重復十次。通過本文方法對動作進行識別并根據閾值計算動作得分。
⑴ 測試動作與標準動作在位置和速度上基本保持一致;
⑵ 測試動作與標準動作在位置上相似,只是在節(jié)奏上有輕微差異;
⑶ 測試動作與標準動作在位置和節(jié)奏上均有較大差異;
使用Python3.7編寫程序提取骨架信息,通過模型正確識別出動作所屬類別后,使用Cosine-DTW算法匹配訓練者動作數據與標準舞蹈動作數據,根據匹配結果計算出該測試者Cosine-DTW匹配距離,實驗前期依據測試動作偏離標準動作中心的程度對原生態(tài)舞蹈動作進行了閾值確定,后續(xù)將通過閾值計算出測試者的動作得分。三名實驗者錦雞舞動作評價結果如表2所示。
從表2可以看出,測試者的測試動作與標準動作在位置和速度上基本保持一致時,Cosine-DTW算法計算出的平均距離較小,測試者平均分數較高;當測試者的測試動作與標準動作在速度和節(jié)奏上差異較大時,Cosine-DTW算法計算出的平均距離最大,平均分數最低;當測試者的測試動作與標準動作在節(jié)奏上有輕微差異時,Cosine-DTW算法計算出的平均距離和平均分數介于上述兩種情況之間。實驗結果符合預期。之后對動作幀數據匹配結果進行可視化表示,部分動作幀數據的距離損失矩陣映射圖如圖5所示。其中橫坐標為標準舞蹈動作幀數,縱坐標為測試舞蹈動作幀數;白色線段代表各幀匹配關系;背景圖為部分舞蹈損失矩陣數值的jet色譜映射。
從圖5可以看出,使用Cosine-DTW進行原生態(tài)舞蹈動作的匹配,實驗者1原生態(tài)舞蹈動作的1類動作匹配中,整體與標準動作相似度高,匹配較好;2類動作匹配中,有部分骨架幀和標準骨架幀發(fā)生了偏移,但整體與標準動作具有一定的相似性,3類動作的匹配性能最差,損失矩陣數值也比較大,3類動作幀的后期與標準動作匹配失敗。結合圖5的結果,驗證了本文算法在舞蹈評價中的準確性。
4 結束語
本文針對原生態(tài)舞蹈動作傳承困難的問題,對原生態(tài)舞蹈進行調研,并使用Kinect對原生態(tài)舞蹈動作進行錄制,以改進的3D CNNS與Cosine-DTW算法實現了原生態(tài)舞蹈動作的識別與評價,公共數據集上的實驗驗證了本文方法的普適性。本項目對原生態(tài)舞蹈動作的數字化發(fā)展、非物質文化遺產傳承均具有重要意義。
參考文獻(References):
[1] 王鵑.基于動作捕捉技術的少數民族舞蹈數字化開發(fā)[J].貴州民族研究,2017,38(11):4.
[2] 王夢佳.談貴州少數民族舞蹈的發(fā)展和保護[J].大眾文藝:學術版,2013(1):1.
[3] 楊妮,宋歌瑪.土家擺手舞文化內涵及價值探析[J].藝術科技,2021,34(5):2.
[4] 歐光艷.淺析貴州苗族原生態(tài)舞蹈“錦雞舞”的藝術特征[J].大眾文藝:學術版,2011(14):2.
[5] Xie S, Sun C, Huang J, et al. Rethinking spatiotemporalfeature learning: Speed-accuracy trade-offs in video classification[C]//(ECCV),2018:305-321.
[6] Diba A, Fayyaz M, Sharma V, et al. Temporal 3DConvNets: New Architecture and Transfer Learning for Video Classification[J],2017.
[7] Shi X, Chen Z, Wang H, et al. Convolutional LSTM?Network: A Machine Learning Approach for Precipitation Nowcasting[J],2015,28:802-810.
[8] Qiu Z, Yao T, Mei T. Learning Spatio-Temporal?Representation with Pseudo-3D Residual Networks[C]. IEEE,2017:5534.
[9] Ji S, Xu W, Yang M, et al. 3D Convolutional NeuralNetworks for Human Action Recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2013,35(1):221-231.
[10] Tran D, Bourdev L, Fergus R, et al. Learningspatiotemporal features with 3D convolutional networks[C].Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago, Chile,2015:4489-4497.