kinect骨骼追踪在舞蹈表演评估中的应用

     Proceedings of the 19th ACM international conference onMultimedia,2011-12:659-662.

kinect骨骼追踪在舞蹈表演评估中的应用

Dimitrios S. Alexiadis,      Philip Kelly, Petros Daras,       Noel E.O'Connor,    

Tamy Boubekeur,       Maher Ben Moussa                 

(海拉斯研究技术中心,爱尔兰都柏林城市大学,    巴黎高科电信学院,瑞士日内瓦大学)

摘  要  

该系统根据舞蹈表演者每个动作的表现,通过kinect人类骨架跟踪逆向提供一种基于3D的虚拟环境视觉反馈,以此来评估舞蹈表演者的表现。该系统的另一个优点在于可同时进行多人测评。与传统的游戏场景相比,该系统中舞蹈表演者必须通过与预先录制的视频保持同步。本文设计目标为在线互动设置、修改、练习和改进用户的舞蹈编排。在该系统中一些场景问题已经得到解决,通过适当的信号处理和软计算方法,使得两个不同的用户可以通过舞蹈动作的时间戳对另一个表演者的表现进行评估。

关键词  骨骼追踪,kinect,信号处理

1 简介

未来的社交网络正在向以丰富、协作、实时、逼真的互动为中心的方向发展。2011年,作为ACM多媒体挑战大赛的一部分,华为3D生活/EMC2宣布支持实时在线人机互动。本课题应用程序场景为在线舞蹈萨尔萨舞(拉丁舞的一种),舞蹈老师编排舞蹈步骤供学生选择,然后另一个在线用户(例如一个学生)可以尝试舞蹈动作模拟,系统对动作表现进行反馈,帮助完善其舞蹈动作。一般情况下当学生已经达到一定水平后,老师都可以在线更改舞蹈编排,因此,该系统库有良好的在线互动性。

本文中研究了一些具有挑战性难题的技术。我们目标是实现舞蹈动作实时自动对齐,以此来评估和反馈舞蹈表演。更具体地说,在该系统中,学生的舞蹈动作可以在时间上自动与老师的动作进行对齐,然后分别计算出一个整体分数和瞬时分数,以此来评估该学生的表现,同时提供视觉反馈的功能。从Kinect深度图像获取相关数据集是调整和评估舞蹈表演这一过程中最的大难题。为此,通过从Kinect深度图像获取人类骨架跟踪的一套信号处理方法成为了我们对舞蹈动作进行评价的依据。此外,该系统提供了一个可视化的虚拟的3D游戏环境,该环境中将老师和学生的舞蹈动作一一对应,并获取舞蹈表演者的舞蹈分数。该可视化工具还提供了改变视角方向、多个角度分析舞蹈动作等功能。

 

本文组织如下:

在第二部分我们简要地描述从ACM挑战大赛获取的数据集;在第三部分,我们介绍如何运用Kinect骨架跟踪实现舞蹈者动作跟踪;在第四部分我们详细的提出了对舞蹈表演者评价的信号处理方法;第五部分简述了可视化工具及其基本操作;最后,在第六部分我们列出了实验开发过程中用到的一些软件。

2.数据采集

    在该系统中,我们从ACM挑战大赛中华为3D生活/ EMC2 的《在网络虚拟环境中的现实交互》采集数据,其中包括萨尔萨舞舞蹈表演者的录像与各种动作的捕获,设备采用微软Kinect传感器。该数据集包括两个专业的舞者录像(一个男性和一个女性),和十三个业余舞者(八个男性和五个女性),六种不同的舞蹈编排。虽然数据集中包含了更多的信息,但该系统中我们仅仅使用Kinect数据,这对许多家庭爱好者更为有利。

3、KINECT骨架跟踪

Kinect数据集的舞蹈录像使用OpenNI获取,采用OpenNI编码。OpenNI SDK提供一种高级骨架跟踪模块,它可以检测捕获用户的身体关节。更具体地说,OpenNI跟踪模块跟踪17个关节点(头、颈、躯干、左右衣领、左右肩、左右肘、左右臀部、左右手、左右膝、左右脚),以及相应的跟踪信息(见图2)。

4、舞蹈表演评价

根据第三部分描述,我们开发了基于C++ OpenNI的骨架跟踪软件和基于MATLAB的程序外包。骨骼追踪模块输出的位置对应于每帧舞者的关节,这些位置实际上构成了一个3D矢量信号。此外,舞蹈动作也可以通过骨架跟踪模块的输出获得。在该系统中,这些动态的舞蹈动作是根据关节的瞬时三维速度和离散时间位置信号量的高斯一阶导数卷积计算获得的。为了提供一个测评分数,我们为每个舞者与相应的专业的人士比较对齐位置和速度矢量信号。

 为了以统一的方式处理三坐标变量X,Y和Z,信号处理技术利用超复杂数字和专门四元数。四元数这一在3D图形领域极受欢迎的名词最近被用于信号和图像处理,它简单地说由复杂的数字构成,一般认为虚部由一个3D“向量”构成,而不仅是一个标量虚部。四元数理论的细节超出了本文的范围,有兴趣的读者可自行查阅相关文集。

4.1.1舞者对齐

关于数据集的盛大挑战是将所有舞者舞步对齐到与它们对应的背景音乐,然而这个音乐不是可用的数据,并且Kinect数据流与开始/结束的背景音乐不同步。因此,Kinect舞蹈序列实际上与数据帧编号不对应。此外,我们处理的数据对象通常是两个不同的舞蹈序列,并且我们想对比的数据不具有相同的时间长度。另外,一时间戳为标准进行对实例的骨骼跟踪进而检测到舞者并开始跟踪的方法并不是一直有效。因此,为了获得更多的有用的信号,我们预先将舞蹈序列进行对齐。在该系统中,对齐完全是通过利用Kinect数据得到的。

 预先将舞蹈序列进行对齐方案如下:1)对于每个序列,丢弃所有检测到舞者前的帧,即在检测到至少一个关节点前丢弃所有数据;2)用一个标志值代表一个未被发现/跟踪的节点;3)对应最小的标志值,使得这两个序列有相同的时间长度。注意,标记值不考虑进一步的计算。在该系统中,舞蹈的对齐只通过Kinect数据和四元的交叉协方差。两个舞蹈序列之间的时移是通过计算所有关节的四元交叉协方差获取的。如图1。

 

图1. 上面两图:专业舞蹈表演者和一个业余舞者在Z轴方向的所有关节;第三幅:对应模量的四元交叉协方差;均采用三帧数据。

 

4.1.2舞者评价

在该系统中根据一个舞蹈演员的表现计算出三个不同的分数,随后综合起来产生一个总体得分。分数计算方式如下:

分数1:接头位置

通过每一对接头位置信号计算各关节的四元的相关系数得到一个分数,然后计算各节点加权平均值作为一个总分S1。

分数2:关节速度

同样,通过提取每个关节的速度信号而不考虑他们的位置,计算各关节的四元的相关系数得到一个分数,最后计算各节点加权平均值作为一个总分S2。

分数3:3D流错误

对于给定的一个帧,一般认为关节点的速度是一个3D运动(流)向量。受相关的2 d光学流影响,我们通过在同一坐标下对每个关节点的三维速度矢量进行标准化并计算向量的内积获得一个分数。为了减小由于不准确的骨架跟踪造成的误差,所有的关节分数都是由各自关节点内的数据计算得到。

总分

通过计算S1,S2和S3的加权平均值得到最终成绩。其中,更改三个权值比重可以确定对应的优化的方法。

与真实评级的关系

因为分数是将业余的舞蹈表演者与专业的人比较得到的,所以,假设参考的专业舞蹈表演者是“优秀”,自动得到的成绩在一定程度上能反映出五个真实标准(“上半身流畅性”和“下半身流畅性”、“音乐配合度”、“身体平衡性”和“编排”)。而需要注意的是计算分数时主要考虑到的是“编排”和“音乐匹配”性能,这在一定程度上可参照S1和S2之间的相关性,因此,这些信号在一定程度上具有时间匹配性。分数S3也是根据类似的方法提出的。上面的参数可以通过简单的场景模拟实验得到,但是实验模拟的具体方法超出了本文的范围。

瞬时分数和不同身体部位单独的分数

如果需要不同部分舞蹈的得分,而不是一个单一整体分数,可采用一个简单的方法得到瞬时分数。在这种情况下,我们采用时间滑动窗口,即一段时间t内的瞬时得分而不考虑整个时间间隔内的矢量信号,运用上述方法对时间间隔t内的不同身体部位的动作长度L分别计算。

 另外,上述方法可以通过反馈进行扩展,以便业余舞蹈家可以提高自己的表演。在这种情况下,可以提取不同的身体部位分别计分,如上下肢等等。

5.系统外部框架

统外部框架分为两个不同的部分:1)数据采集软件;2)数据可视化软件

数据采集软件

为了整合开发方法,我们基于Matlab开发了一个图形用户界面(GUI),以便允许参数的和提供初始可视化结果,在该GUI中系统中用到的所有参数均可以控制。如图2。


图2:数据采集软件GUI

 

数据可视化软件

尽管数据采集软件提供了一些基本的二维可视化界面,我们相信借助虚拟3d游戏环境用户将受益更多。在这样一个环境中,用户可以从任何方向自由查看他们的舞蹈动作,包括与之对应的舞蹈老师,让他们从各种角度主观地评价自己的动作。此外,用户还可以在一个特定的帧暂停、后退、前进,或低速连续播放,以便用户更准确地分析他们的舞蹈动作。对于这个该3D可视化环境,我们采用了游戏开发工具Unity,它可以将人体运动映射到实景照片中,也可以将人体映射到一个虚拟的舞蹈工作室。此外,我们提供反馈运动而言,他们可以根据老师的动作来评价自己的运动,如图3。


图3:从多个角度和不同时间的可视化结果,注意:图片中相似动作成绩较好,不相似动作分数较低(如右下角图)。

 

6.实验结果

尽管极难自动评估舞蹈动作这种主观的东西,但根据我们的实验,我们采用的方法的确得到了一些有意义的结果,比如(1)专业的舞者(Bertand或AnneSophie-k)做相同的舞蹈动作编排,得到的分数都比较高。例如,在图2中,专业的男性舞者Bertand是与自己相比对,在不同的时间t1、t2内对不同的舞蹈动作c3进行捕捉,得到的分数都比较高。对我们的系统而言,在本例中Bertand获得较高的分数是至关重要的,因为一个专业舞者在两个不同的捕获时间内几乎能够执行相同的舞蹈动作;(2)对于业余舞者,所有三个分数的排名基本差不多;(3)系统排名并不严重偏离使用真实数据产生的排名;(4)三个相似的行为具有三个相似的瞬时分数(例如它们在相同的时间的情况下有几乎相同的最小值或最大值,请参见图2);(5)不完全一致的两个舞蹈者,由于丢失了时间协调性得到的瞬时分数低。

一些实验结果见表1,对于舞蹈动作c2、c3,系统给出的总分见表最后一列。在这些实验中,Bertand或AnneSophie-k均视为专业舞者。表中按老师给舞蹈表演着的最终成绩排序,每列分别为“舞蹈编排”(CH)、“音乐匹配”(MT)和“身体平衡”(BB),分数在1-5之间,分数越高性能越好。从表中可以看出,实验结果具有很强的相关性,实际排名与根据计算得到的分数很相似。值得注意的是低分数0.33和0.32是由于骨骼追踪过程中骨架校准失败和数据损坏造成。


表1:老师排名与系统评分

7.结论

从Kinect深度地图得到的骨架跟踪可以为信号处理提供输入,进而可以在线实时评价处于互动环境中的舞蹈表演着。在本文中给出了一些相关的新颖观点和系统工作的具体描述。实验结果前景良好,实验方法的合理性为在线实时互动的舞蹈课提供了可能。

8.致谢

本课题受到欧盟委员会资助,合同编号FP7-247688。

参考文献

[1]   http://unity3d.com/.

[2]   http://www.3dlife-noe.eu/3dlife/2011/04/3dlife-acm-

[3]   http://www.openni.org/.

[4]   J. L. Barron, D. J. Fleet, and S. Beauchemin. Performanceof optical flow techniques.International Journal of ComputerVision, 12:43–77,1994.

[5] C. E. Moxey, S. J. Sangwine, and T. A. Ell. Hypercomplexcorrelation techniques for vector images.IEEE Trans.on Signal Processing, 51:1941–1953, 2003.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值