张洪超 史卫亚 赵建伟
摘要:动作捕捉是一种记录或描绘人体及其他物体动作的技术,广泛应用于各个领域,包括影视游戏作品创作、体育动作分析、医疗康复等领域。本文使用九轴惯性传感器,测量表演者的运动加速度、方位、倾斜角等参数,然后使用数据融合算法生成四元数,并计算惯性传感节点在空间中的三维动作信息,并使用Zigbee无线协议将采集的数据发到计算机端。最后将四元数与3D虚拟人体的骨骼绑定后实现人体动作捕捉。人体动作捕捉系统实现了基于惯性传感器节点对人体动作数据的采集、数据融合以及数据传输,最终在虚拟人体模型上实时呈现的过程。
关键词:惯性传感器;动作捕捉;Zigbee网络;实时动画;人体模型
中图分类号:P315.69 文献标识码:A 文章编号:1009-3044(2019)05-0257-04
Human Motion Capture System based on Wireless Inertial Sensor
ZHANG Hong-chao, SHI Wei-ya, ZHAO Jian-wei
(College of Information Science and Engineering, Henan University of Technology, Zhengzhou 410001, China)
Abstract: Motion capture is a technique for recording or depicting the movements of the human body and other objects. It is widely used in various fields, including film and television game creation, sports action analysis, and medical rehabilitation. This paper uses a nine-axis inertial sensor to measure the motion acceleration, azimuth, tilt angle and other parameters of the performer. Then use the data fusion algorithm to generate the quaternion, then calculate the three-dimensional motion information of the inertial sensing node in space and send the collected data to the computer using the Zigbee wireless protocol. Finally, the quaternion is bound to the skeleton of the 3D virtual character to realize the human body motion capture. The human motion capture system realizes the process of real-time rendering on the virtual human body model based on the acquisition, data fusion and data transmission of the human motion data by the inertial sensor node.
Key words: Inertial Sensor; Motion Capture; Zigbee Network; Real-time Animation; Human Model
1 引言
动作捕捉是利用机械装置、光学或传感器等设备获取人体或其他物体运动数据,并将这些运动姿态重现的技术[1]。从技术的角度来说,运动捕捉的实质就是要测量、跟踪、记录物体在三维空间中的运动轨迹[2]。人体动作捕捉技术常被应用于电影、动漫、游戲的制作中,还可以应到医疗诊断、姿态矫正、医疗康复辅助、动作分析和动作识别等方面。同时,人体动作捕捉技术能够为军事提供虚拟仿真环境。
主流的光学动作捕捉系统是在表演者身上指定的位置贴多个光标点,然后使用高速摄像机来捕捉光标点的位移,再将捕捉到的数据传输到计算机上,根据捕捉到的动作数据进行后期处理,最终完成动作捕捉的全过程。但是光学动作捕捉有自身的不足,例如光学动捕的整套设备易受遮挡或光干扰的影响,给后期处理工作带来很多麻烦,对于一些遮挡严重的动作来说,光学动作捕捉无法精确的还原,例如多人互动、拥抱以及扭打等动作[3]。而基于惯性传感器系统的动作捕捉技术大大改善了这一现状,惯性动捕系统采集到的信号量少,便于实时完成姿态跟踪任务,解算得到的姿态信息范围大、灵敏度高、动态性能好[4]。对捕捉环境适应性高,不受光照、背景等外界环境干扰,并且不存在光学动捕的遮挡问题,可以准确实时地还原如下蹲、拥抱、扭打等动作。
2 动作捕捉系统
基于惯性传感器人体运动捕获和再现系统包括动作捕捉、动作数据处理和动作重现三个模块[5]。动作捕获模块通过传感器采集人体每段肢体的运动参数,该动作参数包含三维加速度、角速度和磁场信息[6];信息处理是对获取的动作参数进行分析和处理,将其转化为人体模型相应骨骼和关节的局部运动参数;动作再现是根据获得的模型运动参数对人体运动进行实时模拟[7]。在该系统中,首先需要把指定传感器固定在人体指定的各个肢体关节上,当肢体运动时传感器就捕获这段肢体的三维加速度、角速度和磁场数据;再把获取的信息通过无线传输协议以帧的形式发送到计算机端,然后采用卡尔曼滤波对获取的运动信息进行去噪和融合[8],从而获得四元数数据;最后把四元数数据输入运动再现模块,运动重现模块把四元数数据转换成旋转角度输入人体模型[9],实现人体动作重现。
根据人体每块骨骼都是独立存在并且相互作用的,所以其自身的运动属性受到关节的约束,而且人体的运动动作是由几个关键骨骼组成的,因此在运动过程中不需要考虑影响较小的那部分骨骼[10]。人体骨骼模型采用树状层次结构,整个骨骼树是由一个根节点和若干个构成父子关系的叶子节点组成,人體在运动过程中可以把肢体的每一个动作,看作是该肢体相对于父节点骨骼的运动[11]。由于髋关节活动范围比较小,所以被选为整个骨骼树的根节点如图1所示。
人体全身关节主要包括七大关节:颈关节、膝关节、踝关节、肘关节、腕关节、髋关节和肩关节[12]。各种关节的运动方式众多且各不相同,大致可以分为屈伸、移动、收展、环转和旋转等六种,不同类型的关节具有不同的运动自由度,因此关节也具有不同的转动角度范围。
虽然人体每个关节的活动范围有限,但是人体能做出的动作是无限多个的。通过对连接骨骼树中每个骨骼的每一个关节的活动范围和活动角度限定,可以判断捕捉到的人体动作数据是否符合人体正常的运动,如表1所示。
表演者在动作捕捉前需要将传感器节点绑定到身体上指定的部位,例如大臂、小臂、手、大腿、小腿、脚、头部和腰部等关键部位。具体哪些部位绑定传感器节点以及绑定多少,可以根据需要采集哪些部位的动作来确定,当然增加传感器节点的数量可以提高动作的精度。
3 动作捕捉
传感器节点主要由惯性传感器模块和Zigbee无线网络传输模块这两部分组成,IMU惯性传感器由三维加速度计、三维磁力计及三维陀螺仪三种微型传感器芯片组成[13],传感器实物如图2所示。
传感节点主要负责采集加速度数据、角速度数据和磁场数据,并对这些数据进行处理,计算出各个节点的姿态数据,传感器节点通过ZigBee模块以无线的方式与连接在计算机上的汇聚节点进行数据传输[14]。表演者只需要将传感节点固定在身体指定关节就可以实现动作数据捕捉。惯性式传感器硬件部分主要由微处理器、动作采集传感器、供电单元和数据传输单元组合,基本结构如图3所示。
4 动作数据处理
惯性传感器中三维加速度计是测量传感器坐标下的重力向量,用来确定相对于水平面的方向,三维磁力计测量得到传感器坐标下的磁场强度向量,用于确定垂直轴上的旋转,三维陀螺仪测量角速度,通过积分可以得到角度[15]。但是加速度计和磁力计都会受到环境的干扰,角速度在积分的过程中也会引入随时间增长的漂移,为了解决这些问题需要将这三种数据进行融合。通过三维加速度计和三维磁磁力计融合计算得到的四元数作为观测量与角速度积分得到的四元数相融合。三维磁力计的干扰不会影响横滚角和俯仰角的估计[16];对于运动加速度的干扰,这里通过使用自适应调整滤波器中的观测噪声协方差矩阵来抵消。
这里采用自使用Kalman滤波的姿态估计算法(AKF)[17]来根据重力加速度、磁场强度和角速度计算得到四元数。根据惯例,将地球坐标系xeyeze设定为North-East-Down(NED)坐标系,其中xe指向北,ye指向东,ze指向下。通过依次绕着3个轴旋转一定角度,表演者可以被安置在空间中的任意方向上。AKF会分别给出对应的四元数,然后融合成最终的一个四元数。该算法设计简单,适用于实时计算,具体步骤在文献[17]中有详细给出。
5 动作重现
Unity3D拥有方便操作的设计环境、方便快捷的设计流程和简单操作的场景编辑器,最主要的时能够很好地支持3D模型文件,节省了创建3D场景的时间。惯性传感器实时捕捉的人体动作原始数据,经过信息处理模块预处理后,输入虚拟人体模型的运动参数是四元数数据,四元数数据在骨骼管道中转换成角度旋转参数信息[18]。
人体动作的实时重现,其实就是虚拟人体模型相对于初始坐标的变换。Unity3D提供了非常丰富的坐标转换方法,从而大大简化了坐标变换等复杂数据处理。在对人体动作捕捉时,首先需要根据传感器的编号对应关节的位置,然后人体保持T字形静止进行校准,如图4所示,最后启动软件就可以实现人体动作捕捉。
6 结论
本文基于惯性传感器系统实现了对人体动作的捕捉和实时重现。根据实验结果,使用无线惯性传感器可以实现人体动作精确及时的捕捉,达到了预期的结果。
但是,目前该系统只能捕捉站在原地运动的动作,不能实现虚拟角色的位移。下一步将融合UWB室内定位模块,提供比较精确的人体运动位移。
参考文献:
[1] WITTMANN F,LAMBERCY O,GONZENBACH R R,et a1.Assessment-driven Arm Therapy at Home Using an IMU-based Virtual Reality System[C].Rehabilitation Robotics(ICORR),2015IEEE International Conference on,Singapore,2015
[2] 刘莉琛.一种基于惯性传感器网络的动作捕捉系统的实现[J].科技风.2018.4
[3] 刘剑锋.虚拟环境下几种三维交互技术的研究[D].杭 州:浙江大学,2010.
[4] LYMPOURIDES V, ARVIND D K, PARKER M. Fully wireless, full body 3-D motion capture for improvisational performances [C] In Proceedings of the Workshop on Whole Body Interaction. Boston, USA: ACM,2009:221-233.
[5] SKAGUCHI T, SATO K, INOKUCHI S. Human Motion Capture by Integration Gyroscopes and Accelerometers [C] IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems. Washington, USA: IEEE,1996:470-475.
[6] 秦永元. 惯性导航[M]. 北京:科学出版社,2006.
[7] 陈义新 人体动作捕捉系统软件设计[D] 大连理工大学,2017.
[8] 陳鑫磊 辛晓宁 黄鑫 IIR数字滤波器设计与FPGA实现[J]. 微处理机,2018,1.
[9] 陈伟. 基于四元数和卡尔曼滤波的姿态角估计算法研究与应用[D]. 秦皇岛: 燕山大学,2015.
[10] C. Sminchisescu. Estimation Algorithms for Ambiguous Visual Models-Three Dimensional Human Modeling and Motion Reconstruction in Monocular Video Sequences , Institute National Polytechnique de Grenoble(INRIA), Jury 2002P李春霞,杨克俭,李波.人体骨架模型的建立及 IK 问题的一种解决方式[J].武汉理工大学学报,2003,27(6):815-818.
[11] 李春霞,杨克俭,李波.人体骨架模型的建立及 IK 问题的一种解决方式[J].武汉理工大学学报,2003,27(6):815-818
[12] 高帆.人体运动信息检测技术[J].科学时报,2001(6):1-2.
[13] X. Yun, E. R. Bachmann. Design, implementation, and experimental results of a quaternion-based Kalman filter for human body motion tracking[J]. IEEE Transactions on Robotics, 2006, 22(6): 1216-2227.
[14] 吴涛, 白茹, 朱礼尧,等. 基于卡尔曼滤波的航姿参考系统设计[J]. 传感技术学报, 2016,29(4): 532-534.
[15] S. Sun, X. Meng, L. Ji, J. Wu, and W. Wong, Adaptive sensor data fusion in motion capture[C], In Proc. 13th Int. Conf. Inf. Fusion, Edinburgh, U.K., 2010:1-8.
[16] Li Y, Dempster A, Li B, et al. A low-cost attitude heading reference system by combination of GPS and magnetometers and MEMS inertial sensors for mobile applications[J]. Journal of Global Positioning Systems, 2006, 5 (1/2): 88-95
[17] 陈 江,孙挝岩,吴健康 多微型传感器自适应信息融合姿态估计方法[J]. 计算机研究与发展,2010(47):235—240.
[18] 谢西昊. 基于MEMS的载体运动解算及其实时仿真[D]. 哈尔滨工程大学, 2013.
【通联编辑:梁书】