简析IK+惯性传感器的VR动捕技术

36氪  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

编者按:本文为投稿,来自G-Wearables。G-Wearable 的产品StepVR 是一套全沉浸式虚拟现实设备,集成了室内定位、动作捕捉、手势识别等多种 VR 技术。在这篇文章里,作者介绍了 IK+ 惯性传感器的 VR 动捕技术。

在上一篇文章中,我介绍了惯性传感器动作捕捉系统的原理及优势,感兴趣的读者可以看这里:http://36kr.com/p/5045499.html。

在这篇文章中,我想跟大家介绍一下惯性传感器动作捕捉系统目前存在的问题,然后分享下我们自己是怎么解决这些问题的。

一般情况下,惯性动作捕捉系统采用 MEMS 三轴陀螺仪、三轴加速度计和三轴磁力计组成的惯性测量单元(IMU, Inertial Measurement Unit)来测量传感器的运动参数。而由 IMU 所测得的传感器运动参数有严重噪声干扰,MEMS 器件又存在明显的零偏和漂移,惯性动作捕捉系统无法长时间地对人体姿态进行精确的跟踪。

我们自己研发新的动作捕捉算法时,为了解决上述的这些问题,选择了使用 IK+ 室内定位技术做主动作捕捉算法、使用惯性动作捕捉做辅助算法的方案。选择这套方案的原因主要有两点:一来可以充分发挥惯性动作捕捉系统适应性强,抗干扰抗遮挡,成本较低等优势;二来又避免了其无法长时间对人体姿态进行精确跟踪的劣势。最终实现的效果是:无需校准,实时、1:1 精准的动作捕捉,刷新率 90 赫兹,低延迟、高还原度。

什么是 IK 算法?

首先我先为大家介绍一下 IK 算法及其在动作捕捉系统中的应用。

IK 是 Inverse Kinematics 的缩写,即反向运动学。在人体分层结构中,关节和骨骼实际构成了运动链,比如肩关节、肘关节、腕关节及其子骨骼就是一条运动链,是整个人体运动链上的一条分支,身体即是利用运动链对运动进行控制。运动分为正向运动和反向运动。已知链上各个关节旋转角,求各关节的位置信息和末端效应器 (end effector) 的位置信息,这是正向运动学的问题;而己知末端效应器的位置信息,反求其祖先关节的旋转角和位置,这是就是反向运动学。

反向运动学根据决定运动的几个主关节最终角度确定整个骨架的运动,通常用于环节物体,由不同运动约束的关节连接成环节构成的分级结构骨架。分级结构骨架由许多采用分级方式组的环节链构成,包括分级结构关节或链,运动约束和效应器,由效应器带动所有部分同时运动。但必须遵循特定的等级关系,以便在变换时阻止各个部件向不同方向散开。如:投球动作,只规定出球的起始位置、终了位置和路径,手臂等即跟随关节的转动可按反向运动学自动算出。反向运动学方法在一定程度上减轻了正向运动学方法的繁琐工作,是生成逼真关节运动的最好方法之一。

IK 算法如何应用在动作捕捉系统中呢?

通过上面介绍的,如果己知末端效应器的位置信息,反求其祖先关节的旋转角和位置,这就是反向运动学。也就是我们通过室内定位技术,获取末端效应器的位置信息,然后利用 IK 算法推算出祖先关节的旋转角和位置,从而知道运动者的运动信息,再利用运动信息实现实时动作跟踪显示。

我们自己研发的激光室内定位技术,会通过墙上的激光发射器扫描佩戴者佩戴的机身上的位置追踪传感器(即 IK 算法中的末端效应器),从而获得位置和方向信息。具体来说,该室内定位技术是靠激光和光敏传感器来确定运动物体的位置。若干个激光发射器会被安置在对角,形成一个矩形区域,这个区域可以根据实际空间大小进行调整。每个激光发射器内设计有两个扫描模块,分别在水平和垂直方向轮流对定位空间发射横竖激光扫描定位空间。运动者身上有光敏传感器,通过光敏传感器接收到激光的时间计算出光敏传感器的准确位置。

通过激光室内定位技术获取传感器的精确位置后,即可利用 IK 算法反向推算出祖先关节的旋转角和位置,从而知道运动者的运动信息。但是由于激光定位过程中可能存在遮挡问题,比如下蹲、拥抱、扭打等动作。我们解决这个问题的方法是应用惯性传感器做补充跟踪,即当出现遮挡情况时, IK+ 室内定位相结合的动作捕捉技术无法完全准确的实现,这个时候利用惯性动作捕捉技术做补充。反过来可以利用室内定位技术对惯性动作捕捉技术做实时校准,不需要另行校准,从而解决遮挡问题的同时,也避免了惯性动作捕捉无法长时间精确工作的弊端。

本文被转载1次

首发媒体 36氪 | 转发媒体

随意打赏

提交建议
微信扫一扫,分享给好友吧。