动作捕捉之惯性动捕
随着人机交互技术的不断发展,人与计算机的自然的、多模态的交互技术已经进入白热化的阶段,而动作捕捉技术作为人机交互的一个重要分支,近几年,发展迅速。动作捕捉系统就是通过对人体或其他物体运动姿态和位置的检测和记录,将这些信息转换成数字化的抽象模型,表达不同时刻目标所处的姿态。运动捕捉系统已广泛应用在运动分析、模型编码、虚拟现实、动画制作、智能监控系统、游戏制作等领域。比如,在互动式游戏中,使游戏者的各种动作能够驱动游戏环境中虚拟角色的动作,为游戏者带来一种全新的参与体验,同时加强了游戏的真实感和互动性;在动画制作上,运动捕捉技术极大地提高动画和游戏制作的开发效率和开发水平,并降低其开发成本。在体育训练上,运动捕捉技术可以捕捉运动员在运动过程中的位移、速度、加速度、力以及肌电信号等量化信息,结合机器学习技术和人体生物力学原理,可以从量化角度去分析运动员的动作并提出科学的改进方法。因此应用于人体的动作捕捉技术具有广阔的应用前景和巨大的商用价值。
运动捕捉从工作原理上,主要分为微传感器MEMS式、电磁式、光学式、机械电动式和声学式等。传统的光学式由多个摄像机和标志点或发光点组成。摄像机己知坐标,标志点被贴附在捕捉对象身体的关键部位,通过比较和分析摄像机捕捉得到的图像数据计算标志点的空间位置。随着计算机视觉技术的发展,完全可以应用图像识别、分析技术,由视觉系统直接识别表演者身体关键部位并测量其运动轨迹。现在主流的动捕设备是光学式和微传感器MEMS式。光学式的动作捕捉系统是目前对使用者限制最小的运动捕捉方法,其捕捉的范围大,使用方便,速度快,数据延迟小,能做到实时捕捉。但是系统后处理包括的识别、跟踪、空间坐标的计算工作量较大,而且设备昂贵,对光学条件要求苛刻,并且对于遮挡状态捕捉效果差。微传感器MEMS式动捕设备可以克服光线明暗影响的不足,设备的成本低,精度较高,有利于实时测量,也可以支持多个对象的同时捕捉。下面,我们主要介绍一下基于微传感器的惯性动作捕捉技术。
基于微传感器的惯性动作捕捉设备的测量装置,主要由几个测量节点组成,每个测量节点都有九轴的惯性测量单元,会返回在运动过程中的角速度、加速度和磁力计的测量信息。姿态解算的核心在于旋转,一般旋转有4种表示方式:矩阵表示、欧拉角表示、轴角表示和四元数表示。矩阵表示适合变换向量,但计算量大,欧拉角最直观,轴角表示则适合几何推导,而在组合旋转方面,四元数表示最佳。因为姿态解算需要频繁组合旋转和用旋转变换向量,所以采用四元数保存组合姿态、辅以矩阵来变换向量的方案。陀螺仪可以测量节点相对于本体坐标系的三轴转动角速率,通过这些角速率可以对四元数进行更新,通过更新后的四元数可以求出相应的旋转矩阵,在己知初始状态的条件下,可以得到刚体目前的姿态。但是目前大部分系统使用的陀螺仪传感器为芯片,有零偏误差,长时间积分会导致完全偏离失准。而应用加速度和地磁传感器,进行角度计算的方法会受到高频噪声的影响,例如由于线性运动而导致的对重力加速度的测量误差。在运动个过程中,我们会在踩地时,产生零速度点,通过对这些零速度点的检测,以此作为观测,我们利用Kalman Filter技术,对多传感器数据进行融合,利用零速度检测进行滤波矫正。卡尔曼滤波器是目前研究用得最多的姿态滤波算法。
介绍完惯性动捕的技术原理,接下来我们认识一下国内的一家研究惯性动作捕捉系统的公司——北京孚心科技有限公司。我们了解到产品的最初两位合伙人都是从大学实验室就开始惯性动作捕捉技术的研究。
孚心科技的CTO觉得惯性动捕的难度主要在传感器的底层算法和PC客户端软件的算法。
传感器的底层程序:通常讲的九轴传感器我们可以简单的理解成IMU(惯性测量单元),这一部分是非常难研发的,如果你将九轴芯片用在无人机上绰绰有余,用在一些什么消费电子上那他自带的程序足够用了,但是你用来做惯性动捕的话你必须自己全部重新编写底层代码。客户端软件上是最复杂的一个地方。如果想真正的做动捕,客户端软件是必须要有的。当然你也可以堆完硬件直接连到Unity里面,但这样一些操作你是无法完成的。惯性动捕2000年之后才出现产品化。目前世界上做惯性动捕的公司也屈指可数。惯性动捕他不是一个学科,二级学科都不是,也就是说研究他的人很少。据说在具体的细节上他们还加入了深度学习算法。有公司做了,其他人就会知道你用的什么芯片,但软件算法别人不可能模仿出来的。一个硬件产品你想赋予她灵魂,一定是从她的工业设计和体验入手的,那他的体验就来自于她强大的软件体验,就像苹果公司一样,我从来不认为他是一个硬件公司,同时我们的定位也一样,我们是一个软件公司。MotionVenusTM是孚心科技推出的基于FOHEART C1惯性动捕设备的软件。
最后再来一段体验视频: