一个基于VR的舞蹈训练系统的研究
2018-02-15孙国玉陈文娟李海燕孙庆杰
孙国玉,陈文娟,李海燕,孙庆杰
(中国传媒大学,动画与数字媒体艺术学院,北京 100024)
1 引言
舞蹈是人们通过肢体来表达言语和情感的艺术形式,也是一种受大众欢迎的活动。随着VR相关技术的发展,研究者们尝试采用不同的方法在3D虚拟环境中构建了无监督、无真实舞蹈老师的舞蹈学习系统或者舞蹈游戏从而为舞蹈爱好者提供更多的娱乐途径[2,3,4]。由于舞蹈动作具有强差异性,节奏性,动作组合多样性等特点,因此如何有效的自动识别和诊断这些复杂的舞蹈动作,成为这些研究中丞待解决的课题[5,6,7]。因此,在本文所构建的虚拟舞蹈自学习系统,提出了一种基于舞蹈姿态时空特征的球形自组织特征映射神经网络(S-SOFM)的识别方法,并提出一种优化的OE—DTW算法[8]来对学生动作和模版动作进行相似性计算,自动生成有效的反馈意见成绩,在没有老师的情况下,让学生在舞蹈动作的自学习过程中仍旧可以得到有价值的帮助。同时由于该框架将在完全沉浸式的虚拟现实环境中实现,学习者不仅可以从各种角度观看虚拟教师的舞蹈动作[3,4,9],还可以从视觉方面“秀”出学生自己的舞蹈动作是否标准,形象指出哪些部分需要改进,对学生的“不标准”的舞蹈动作的及时、有效的识别,对于保持学生的学习兴趣和加强学习反馈的效果都发挥着很重要的作用。
2 人体特征提取
本文提取的舞蹈动作特征主要是用来分析在舞蹈动作中人体姿态在空间中动态的变化特点,帮助学习者了解在舞蹈运动中身体的某一个部位如何变化才能达到动作的要求。本文把人体分成了总共10个部分,通过描述这10个身体部位的关系来表示人体外形的信息。如图1所示,躯干被分为两部分:上躯干(A)和下躯干(B)。其余部分包括左(C)/右大臂(E),左(D)/右前臂(F),左(G)/右大腿(I)和左(H)/右小腿(J)。
2.1 躯干特征
图1 姿态组成部分
图2 下躯干坐标系
图3 躯干特征集
2.2 一级关节特征
图4 上臂对应坐标系
图5 左前臂的局部坐标系
2.3 二级关节特征
由此,通过以上的方法,我们首先就舞蹈动作中的姿态部分进行了特征的提取,一共得到了19个特征值来描述人体的姿态。通过姿态的特征集合,可以让我们对舞蹈动作的姿态的动态变化有一个全面的描述。
3 动作的识别与评估
针对舞蹈动作中所包含的姿态序列具有时序性和逻辑性等特点,舞蹈动作可以被解析成一系列离散的姿态时序集合。该系统采用了S-SOFM的神经网络来构建输出模型,自组织特征映射神经网络(SOFM)是由芬兰学者Kohonen在1982年提出的一种聚类学习方法[10]。而S-SOFM[11,12](球面自组织特征映射神经网络)模型则继承了SOFM的优点,保持输入样本空间的拓扑结构不变,同时消除了“边界效应”,输入层特征空间中的密度区域在映射到S-SOFM球面体模型上之后具有相等间隔和最大限度分离的对应节点位置,通过自组织特征映射算法,对输入的样本在训练学习之后自动形成一种内部表达,最终映射到输出层(输出节点会形成一个封闭球面体)中。因此,人体运动的姿势序列能够以最大程度的分离状态被分配到S-SOFM球体模型的输出节点上,且每个动作模版都会形成一个独特的“轨迹”。这种保留了原始数据的拓扑映射关系的训练方法使得一个动作片段(一序列姿态集合)如图6所示,在S-SOFM模型中形成的轨迹是有序的、平滑的。
图6 球体模型上的轨迹显示一个动作是由5个简单“姿态”构成
3.1 S-SOFM神经网络模型设定
为了构建一个合理的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。在对舞蹈动作的学习与训练过程中,这些节点的权重向量便代表输入空间里的一个关键姿态,节点的总数代表了通过训练模型得到的关键姿态总量。在这个模型中,节点与它们的直接邻居间都是等距的,而这些距离就形成了六边形的邻域。
3.2 舞蹈动作模版的构建与度量
在对S-SOFM网络模型训练之后,每个节点都会表示一个典型的舞蹈姿态。对一个动作片段的描述就是将一个舞蹈动作离散成一组姿态序列,并将这个姿态序列投射到S-SOFM球体模型的姿态空间上,对于每一个输入姿态来说,投射过程就是在找到输出球体上的最佳匹配节点(也称为获胜节点)以后,使用这个节点的索引标号来标识输入的姿态,因此,如下公式所示,一个完整的舞蹈动作片段(一个由姿态构成的时间为T的序列)在完成向输出空间的投射之后,在输出空间上形成一段“轨迹”的同时,也会得到一组包含时序信息的索引标识号。
Oc,n(t)={ot},tT
(3)
因此,每一类别的舞蹈动作都可以用这样一组“独特”的索引号序列Oc,n来标识,我们把这组序列号信息称之为定义一个舞蹈动作片段的基本信息模版,为了更好对动作片段进行描述,在此基础之上,我们基于舞蹈动作的稀疏编码对舞蹈动作片段的基本信息模版进行高层次的描述,并把它作为用于识别的舞蹈动作模版。
舞蹈的基本信息模版从逻辑上看类似于在是个在自然语言处理和信息检索(IR)领域中比较流行的bag-of-words(BOW)词袋模型。在输出的球体模型的每一个节点所代表的姿态都可以被看做是一个特殊的词条,同理可得,一个动作片段可以看成是一组词条根据特定的文法规则组合在一起。在应用词袋模型的文件分类研究中,统计关键词出现的频率可以用来当作训练分类器的一个重要特征。本文借鉴了词袋中的词频特征分类方法,把舞动动作片段里面的姿态序列按照出现频率进行统计,从而形成了一个动作片段或一组类似动作的“直方图”。因此,我们将舞蹈动作片段从原来由姿态序列的索引编号描述转化为动作频率的直方图表示,每个舞蹈动作片段的直方图则是该动作所包含的姿态的频率的统计值构成,两个舞蹈动作的相似性可以通过直方图间的相似距离来度量。依照直方图统计规则,一个动作序列(包含n个姿态)的直方图可以用如下公式表示:
(4)
fu是舞动动作中第u个输出节点的出现频率,n表示该舞蹈所包含的姿态数量。新输入动作的动作模版,和已知的动作模版进行匹配计算,这里的模板相似性度量采用欧式距离,从而判别未知动作所属的类别,在舞蹈自学系统中,这个识别过程可以是离线完成,也可以是在线完成。
(5)
3.3 动作评估
针对姿态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)
4 结果分析与讨论
4.1 系统的构建
如下图7-8所示,舞蹈自训练系统是架设在多通道沉浸式CAVE虚拟环境中来实现,利用3D Unity引擎来构建VR学习环境,同时作为舞蹈动作分析反馈界面,系统通过与Kinect传感器接作为学生动作的实时数据采集,而MiddleVR则用于控制CAVE中的图形图像的显示。
图7 系统架构
图8 VR系统中的环境学习
4.2 模版动作的建立
我们构建了如下舞蹈动作列表,动作由老师和学生分别完成各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 每个动作的训练平均成绩
5 结论
本文针对舞蹈的虚拟学习系统提出了一个新的识别方法,基于舞蹈动作的独特性提出了舞蹈特征提取方法,利用S-SOFM网络训练得到一个球形自组织特征映射模型以此来量化典型舞蹈动作中姿势空间。通过把序列化的舞蹈姿势投射在S-SOFM输出空间上从而形成一条平滑的轨迹,得到了一个动作的基本信息模版,通过使用设定的动作模版对每类动作进行高层次描述,并且通过欧氏距离不同的度量算法,对教师和学生进行的进行相似性评估。总体来说,虽然动作的难度不大,不过对于独立动作的平均识别率主体在90.5%-96%的范围内,识别的方法可以显示出一定的健壮性。系统所得出的评估成绩也显示了,系统具有一定的有效性与可行性,在后续的研究中,系统还会就如何学习舞蹈家的评价标准,如何进行有效的动作的评估等研究工作进行进一步探讨,从而可以在系统准确性与可用性等方面得到进一步提高。