APP下载

基于Kinect的体感技术在数字化舞蹈中的应用研究

2016-07-10唐满

电子技术与软件工程 2016年8期

唐满

摘 要:Kinect体感技术在数字化舞蹈中的应用,主要是将Kinect作为深度和彩色数据的获取设备,对得到的舞蹈人员原始信息,进行去噪、平滑处理、对齐等一系列操作,在此基础上,将Kinect获取的深度数据转化为与虚拟角色三维坐标一致的算法,实现用户动作、体态的变化,来控制虚拟角色动作、体态的变化。突破传统舞蹈学习方式的局限性,对舞蹈学习方式的改革和创新具有重要而深远的意义。

【关键词】Kinect 深度数据 数字化舞蹈 运动捕获

运动捕获技术(Motion Capture Technology)是在20世纪70年代后发展起来的一种关键技术,它主要用于记录人体运动数据以供后期运动分析和运动回放 [2]。Kinect技术的出现可以提高运动捕捉的实时性,运动者通过利用Kinect体感传感器获取人体运动数据,达到对动作实时记录的目的。用Kinect获取的舞蹈者的舞蹈动作,来控制虚拟角色动作、体态的变化。

1 Kinect数据捕获

Kinect数据具备对动态图像进行实时数据搜集、语音语色调节、图像数据分析、麦克风输入及人体互动等多个性能。若使用Kinect经过红外扫描图像收集区域,使得远程红外线接收器收到物体反射光源,经过处理后对图像数据进行传输,而RGB图像传感器则是经过直接收集到图像数据。Windows Kinect SDK 中深度数据和彩色数据的请求均通过Open Next Frame方法,详细数据获取步骤为:首先读取图像帧信息;其次获取彩色图像帧信息;最后,用事件模型获取数据,来获取数据帧。

2 运动数据的提取和处理

2.1 人体识别及分类

人体识别主要是把深度图像中的人体,从中分离出来,这就需要对人物周边的情景进行“过滤”。这与彩色图像相比,对深度图像不会产生影响,所以对不同的目标人物轮廓提取会比彩色图像噪声更小。根据人体结构特征及 Kinect 中人体识别的特点,对场景中出现任何类似“大”字的物体图像都有可能是人体。人体部位分类是通过特征值来进行快速分类的,用特征值来记录并识别人体的各种姿势。

2.2 骨骼识别

根据 Open NI 中“骨骼跟踪”所能捕捉到的14个关节点来生成一副骨架系统。也就是从人体的所有关节点中找出这14个关节所在位置,人体的关节点可以通过达芬奇的维特鲁威人图进行区分,同样使用机器学习算法来实现辨别。

2.3 骨骼数据提取

Kinect 中人体骨架关节点分为24个关节。实际应用过程中,通过NITE中间件分析骨架时,只能得到14个关节点信息,通过试探可以获得可用节点列表,平移向量是一般的3维空间向量,通过其旋转可用旋转矩阵、欧拉角度或四元数来表示。

2.4 骨骼关节点运动平滑

骨骼关节点运动平滑,主要是提高采样频率即提高摄像头帧率的中对骨骼关节点的平滑处理,处理过程中主要是增加运动控制节点的数目。其中,设定浮点函数的范围是从0-2,根据浮点函数对读取到的数值做平滑处理,处理后的值越大,那么它的处理结果也就越好,但是在处理过程中,也会丢失细节信息。

3 虚拟角色的创建

3.1 角色绑定

角色绑定通常是从腰部开始的。腰部的绑定包括IK的创建、拉伸及旋转设置,全局和次级控制等。然后是脚部的绑定,对脚部进行基本设定,包括添加脚部拉伸效果、拉伸开关以及脚部的空间锁定等,最终可以实现脚部的基本形态。

3.2 蒙皮

蒙皮是将模型绑定到骨架的过程。使用蒙皮将模型绑定到骨架后,它与骨架关节和骨骼的变换相一致或背离。Maya中存在三种类型的蒙皮:平滑蒙皮、刚性蒙皮和间接蒙皮。蒙皮后需要绘制相关权重,这样模型在运动时才不会变形。

4 运动重定向

所谓的运动重新定向,就是将运动数据导入到虚拟情景中,在满足信息数据实时需求的情况下,基于运动图像捕捉数据的重定向技术,该技术是基于逆向运动学的一种改进运动定向方法。该方法的输入是一个关节的角度向量数据流θsrc(t) 和离散时间下原始模型对应的末端效应器位置x1(t) ,输出则是对应离散时间点上关节目的角度向量数据流 θdes(t)。这种算法的主要优点如下:

(1)关节比例不同,结构的模型之间的运动重定向;

(2)在重定向过程中可以较好的保留原始运动特征;

(3)进一步减少了图像数据捕捉过程中数据错误问题。

5 控制虚拟角色运动

利用 Unity 3D 游戏开发平台来控制虚拟角色运动,Unity 3D 包含一个集成的脚本环境,可以通过编写控制脚本来实现虚拟角色驱动。

将动作模型导入到 3D 场景中,根据重定向后的数据来驱动虚拟情景下的人物模型来完成动作。下图是其中一帧的截图。

6 总结

Kinect体感技术在数字化舞蹈中的应用,是用舞蹈者的动作来控制虚拟角色运动,通过观察虚拟角色的舞姿来判断自己的动作是否标准。从实际效果来看,该研究可以提高学习者学习舞蹈的积极性,对舞蹈学习方式的改革和创新具有一定的意义。

参考文献

[1]Dimitrios Alexiadis,Petros Daras. Evaluating a Dancers Performance using Kinect-based Skeleton Tracking[C].Greece:Informatics and Telematics Institute,2011:659-662.

[2]李红波,丁林建,冉光勇.基于Kinect深度图像的人体识别分析[J].数字通信,2012(04).

[3]Shotton,J.Real-time human pose recognition in parts from single depth images[C].Colorado Springs: IEEE Computer Society,2011:1298-1299.

[4]尚华强.基于Kinect的虚拟人物动作仿真研究[D].杭州:杭州电子科技大学,2006:41-70.

[5]宣雨松.Unity 3D游戏开发[M].北京:人民邮电出版社,2012(06).

作者单位

南阳理工学院 河南省南阳市 473004