基于骨骼信息的原生态舞蹈数字化保护研究
2023-09-25谢静文王卫星马连丹胡宁峰
谢静文 王卫星 马连丹 胡宁峰
摘 要: 少数民族原生态舞蹈是国家非物质文化遗产的重要组成部分,但由于文化的多元化使其发展和传承受到冲击。为了更好地保护与传承原生态民族舞蹈,本研究结合Kinect深度相机设计并开发了一套原生态舞蹈动作的学习框架。该框架通过Kinect采集并存储专业原生态舞者动作的骨骼信息,并使用改进的3D CNNS模型对原生态舞蹈进行识别,根据识别结果,采用Cosine-DTW算法对训练者的舞蹈动作进行评价,从而实现原生态舞蹈动作的数字化保护与传承。
关键词: Kinect; 骨骼信息; 3D CNNS; Cosine-DTW; 原生态舞蹈
中图分类号: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 引言
原生态少数民族舞蹈作为中华民族非物质文化遗产的重要组成部分,以其独特的肢体动作来表达社会生活、民族历史文化和情感。然而,这种非物质文化遗产如今却面临着流失的风险[1]。传统的舞蹈动作记录工作中,专业的舞蹈动作大多是通过文字、图像或视频等方式对其进行记录。然而这些方式很难准确、全面地将少数民族原生态舞蹈动作传承下去。随着数字化技术的飞速发展,基于骨骼信息的人体动作研究正逐渐成为研究与应用的热点,人体骨架信息中包含丰富的动作特征信息,为少数民族原生态舞蹈动作研究奠定了基础。本文基于骨架信息的舞蹈动作数字化研究包括:原生态舞蹈动作的数字化识别与评价。舞蹈动作数字化识别是指对录入的原生态舞蹈动作与数据库中的标准动作进行匹配,得到最为相似的动作类别;舞蹈动作的数字化评价是指通过人体骨架中各关节运动轨迹的动态变化,对动作的规范程度进行衡量。本研究使用改进的3D-CNN算法、Cosine-DTW算法,对原生态舞蹈动作进行识别与评价,同时对训练者舞蹈动作的完成质量进行反馈,反馈框架可有效地评估出训练者动作与标准动作的差异,训练者可根据反馈,改进自身不规范动作,促进原生态舞蹈动作的数字化传承。综上所述,本文开发基于三维骨骼信息的舞蹈动作识别和评价框架,对原生态舞蹈动作的传承和保护具有重要研究意义。
1 原生态舞蹈数据集的制作
1.1 原生态舞蹈动作调研
贵州是一个少数民族居多的省份,拥有数量庞大且极具特色的少数民族部落村寨。如西江千户苗寨、肇兴侗寨、朗德上寨等。据文献[2]记录,贵州地区少数民族主要有苗族、土家族、布依族、侗族等。其代表性舞种有:锦鸡舞、摆手舞、织布舞、糠包舞、芦笙舞、竹鼓舞、花鼓子、八宝铜铃舞等。本研究从上述原生态舞种中筛选六种作为研究对象。
⑴ 摆手舞:土家族的擺手舞,舞姿大方粗犷,摆手动作有单摆、双摆、回旋摆、边摆边跳等[3]。
⑵ 锦鸡舞:苗族的代表性舞蹈,形如锦鸡样式的一种芦笙乐曲舞姿。产生并盛行于贵州省苗族村寨中。锦鸡舞步伐分三排式、四拍式、五拍式、七拍式不等,上身动作小,脚步动作多,轻巧灵活,腰及膝盖以下以自然蠕动为主[4]。
⑶ 织布舞:布依族民间舞蹈形式之一,流行于贵州省等布依族地区。主要表现种棉、摘棉、抽纱、纺线到织成布匹的全过程。
⑷ 糠包舞:集中在黔南、黔西南。布依族男女青年以抛舞糠包的形式来选择情侣,相互表达爱慕之情。糠包舞的舞蹈动作有蹉步向前、转身、起步、退步等。
⑸ 竹鼓舞:布依族原生态舞蹈。表演时舞者双手拿相同大小或一大一小的竹鼓相互敲打,通过跳跃、转体、击地等方式进行演绎。击鼓迎送、望鼓、跳鼓等是竹鼓舞关键动作。
⑹ 芦笙舞:苗族原生态舞蹈。芦笙舞的动作以矮步、蹲踢、旋转、腾跃等为主。芦笙舞的动作类型主要有滚山珠、芦笙拳、蚯蚓滚沙等。
本研究筛选上述六类原生态舞蹈作为典型范例,每类舞蹈均包含3~4个能代表该舞蹈特征的动作片段,使用Kinect深度相机录制专业舞者舞蹈动作并将其保存在原生态舞蹈数据集中,数据集中共包含六种原生态舞蹈的20种动作。
1.2 原生态舞蹈动作数据集录制
10名身体健康的专业舞蹈志愿者(年龄(23±3)岁)参与了原生态舞蹈动作数据集的录制。被试者实验前12小时内没有进行剧烈的身体运动,身体健康状况良好,每位被试者都学习过不同的舞蹈类型,有4~5年的原生态舞蹈学习经验。
实验开始前,实验者需签署本研究的书面说明和知情同意书。实验过程中,根据实验室的实际环境,设置本实验的限制条件如下:①Kinect距地面的垂直距离应为1~1.2m,距训练者的水平距离应为2~3m。此距离范围内,人体全部骨骼节点恰好能被Kinect相机完全检测,数据捕获最优且跟踪效能最好。②人体与Kinect的相对角度不能超过45度。若相对角度过大,Kinect检测到关节点会出现失真的情况。③捕捉人体动作信息时,训练者应站在Kinect的正前方,并保证受试地点开阔,无物体遮挡。
实验要求专业被试舞者在数据采集前3~5天内按动作视频与动作解释学习20个原生态典型舞蹈动作示例,并能依次熟悉地跟随音乐节奏流畅地表演。实验期间尽量避免动作的停顿、过快和过慢。实验过程中,根据语音指导与节拍口令舞动20个动作片段,每个动作片段执行三次,通过动作采集程序对专业舞者的标准舞蹈动作各骨骼点坐标进行采集,实验结束后,将录制的600个样本存入数据集。
2 方法
2.1 三维卷积神经网络
三维卷积神经网络(3D CNN)可以从时间维度和空间维度提取特征,提取多个连续帧的运动信息。本文采用改进的3D CNNs对原生态舞蹈典型动作骨架信息进行识别,骨架信息是单通道信息,计算量更小,模型识别性能更好。本文改进的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 比例的调节,从而减少过拟合现象。
Softmax函数为用于多分类问题的激活函数,对于长度为K的任意实向量,Softmax函数可以将其压缩为长度K,并将其值取在[0,1]范围内,向量中元素的总和为1。
[Softmaxx=exiiexi] ⑶
本实验将预处理过的原生态舞蹈典型动作数据集平均分为五组,每次实验拿一组进行测试,其余组用作训练,五次实验結束后,求平均值作为实验结果。
2.2 改进的动态时间规整算法
动态时间规整算法(DTW)具有数据需求量小、计算简单等优势,常用于动作评价类研究。本文对传统DTW动作匹配算法进行改进,以使其更好地适用于人体骨架数据的匹配。
骨架数据中相邻骨骼点之间的连线构成了一个骨骼向量,考虑到人体舞蹈动作姿态主要以四肢的运动为主,故选取人体运动中权重较大的肩肘、肘腕、髋膝、膝踝等骨架特征向量与其对应的四个特征平面。待匹配的两个骨架向量,起点均位于空间坐标轴原点,其终点位置的空间差异可作为两者相似性的评价依据。本文在传统方法的基础上,提出一种基于余弦距离的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]為标准动作与测试动作骨架关节向量i的距离差距值,[Dsum]表示该骨架帧的整体差距值。
相比于无对齐的序列匹配与传统基于欧式距离的DTW匹配算法,使用Cosine-DTW算法对舞蹈动作的标准程度进行度量,其结果更加科学合理,匹配结果与原始动作骨架帧能更好的对应,解决了长度不一致的动作序列的对齐问题,且余弦值能反推出待匹配的两骨骼向量之间的角度差异,增加了骨架整体匹配精度。
3 实验与结果分析
3.1 动作识别实验与结果分析
动作识别的实验环境为AMD Ryzen 7 4800H with Radeon Graphics 2.90 GHz的Windows 10系统计算机,使用Python3.7编写了实验代码。为了缓解过拟合现象,使用Dropout技术并对其设置不同比率(0.25、0.5、0.65、0.8)进行实验,实验中每种比率的Dropout均迭代100次。实验结果如图2所示。由图2可知,将Dropout 比率设置为0.5时,原生态舞蹈识别结果较好,故后续实验中,Dropout比率统一设置为0.5。
为验证本文方法的有效性,使用本文方法对公开数据集 MSRAction3D 数据集、UTKinec数据集及本文的原生态舞蹈数据集进行了实验。MSRAction3D数据集使用Kinect进行录制,记录了十名被试者的20种动作。UT-Kinect 数据集记录了十个受试者十种日常动作。图3为使用本文方法在三种数据集上的训练精度与测试精度。由下图可知,本文方法在三种数据集上均取得了90%以上的识别精度,且在原生态舞蹈动作数据集上获得了95%以上的识别准确率。实验结果验证了本文方法的有效性。
在实验过程中,使用3D CNNs对原生态舞蹈数据集进行训练,得到如图4所示的训练-损失曲线。 图中,纵坐标为损失值,横坐标为迭代次数。从图4可以看出,迭代次数进行到40次左右训练值与损失值逐渐趋于稳定,训练集识别效率为96%,为模型的最佳训练结果。训练结束后,将训练模型保存。
随后,使用本文算法与C3D、P3D、I3D、X3D、ConvLSTM等经典算法,对原生态舞蹈数据集进行识别。实验结果如表1所示,由表1可知,上述七种经典算法在本文数据集中均取得了较高的识别准确度,本文模型的识别准确度高于其他经典方法。本实验同时验证了数据集采集、特征提取以及本文所用算法合理性。原生态舞蹈数据集将提取出来的人体骨骼信息作为关键动作信息进行保留,节省了存储空间。
3.2 动作评价实验与结果分析
本文动作识别模型被验证取得良好效果后,随后对测试舞蹈数据进行采集,测试舞蹈采集对被试者的舞蹈经验不做要求。实验对象选取了年龄在18-30岁三名志愿者。实验中志愿者以下述三种方式模仿上述标准动作,每种类别重复十次。通过本文方法对动作进行识别并根据阈值计算动作得分。
⑴ 测试动作与标准动作在位置和速度上基本保持一致;
⑵ 测试动作与标准动作在位置上相似,只是在节奏上有轻微差异;
⑶ 测试动作与标准动作在位置和节奏上均有较大差异;
使用Python3.7编写程序提取骨架信息,通过模型正确识别出动作所属类别后,使用Cosine-DTW算法匹配训练者动作数据与标准舞蹈动作数据,根据匹配结果计算出该测试者Cosine-DTW匹配距离,实验前期依据测试动作偏离标准动作中心的程度对原生态舞蹈动作进行了阈值确定,后续将通过阈值计算出测试者的动作得分。三名实验者锦鸡舞动作评价结果如表2所示。
从表2可以看出,测试者的测试动作与标准动作在位置和速度上基本保持一致时,Cosine-DTW算法计算出的平均距离较小,测试者平均分数较高;当测试者的测试动作与标准动作在速度和节奏上差异较大时,Cosine-DTW算法计算出的平均距离最大,平均分数最低;当测试者的测试动作与标准动作在节奏上有轻微差异时,Cosine-DTW算法计算出的平均距离和平均分数介于上述两种情况之间。实验结果符合预期。之后对动作帧数据匹配结果进行可视化表示,部分动作帧数据的距离损失矩阵映射图如图5所示。其中横坐标为标准舞蹈动作帧数,纵坐标为测试舞蹈动作帧数;白色线段代表各帧匹配关系;背景图为部分舞蹈损失矩阵数值的jet色谱映射。
从图5可以看出,使用Cosine-DTW进行原生态舞蹈动作的匹配,实验者1原生态舞蹈动作的1类动作匹配中,整体与标准动作相似度高,匹配较好;2类动作匹配中,有部分骨架帧和标准骨架帧发生了偏移,但整体与标准动作具有一定的相似性,3类动作的匹配性能最差,损失矩阵数值也比较大,3类动作帧的后期与标准动作匹配失败。结合图5的结果,验证了本文算法在舞蹈评价中的准确性。
4 结束语
本文针对原生态舞蹈动作传承困难的问题,对原生态舞蹈进行调研,并使用Kinect对原生态舞蹈动作进行录制,以改进的3D CNNS与Cosine-DTW算法实现了原生态舞蹈动作的识别与评价,公共数据集上的实验验证了本文方法的普适性。本项目对原生态舞蹈动作的数字化发展、非物质文化遗产传承均具有重要意义。
參考文献(References):
[1] 王鹃.基于动作捕捉技术的少数民族舞蹈数字化开发[J].贵州民族研究,2017,38(11):4.
[2] 王梦佳.谈贵州少数民族舞蹈的发展和保护[J].大众文艺:学术版,2013(1):1.
[3] 杨妮,宋歌玛.土家摆手舞文化内涵及价值探析[J].艺术科技,2021,34(5):2.
[4] 欧光艳.浅析贵州苗族原生态舞蹈“锦鸡舞”的艺术特征[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.