3点 刚体运动 opencv_ARKit运动跟踪原理

在前述文章中,我们对AR技术原理进行过简单学习了解,ARKit运动跟踪所采用的技术与其他移动端AR SDK一样,也是采用VIO与IMU结合的方式进行SLAM定位跟踪。本节我们将更加深入的学习ARKit运动跟踪原理,通过学习就会很自然的理解ARKit在运动跟踪方面的优劣势,并在开发中尽量避免劣势或者采取更加友好的方式扬长避短。

(一)ARKit坐标系

  实现虚实融合最基本的要求是实时跟踪用户(设备)的运动,始终保持虚拟摄像机与设备摄像头的对齐,并依据运动跟踪结果实时的更新虚拟元素状态,才能在现实世界与虚拟世界之间建立稳定精准的联系。运动跟踪的精度与质量直接影响AR整体效果,任何延时、误差都会造成虚拟元素抖动或者漂移,从而破坏AR的真实感和沉浸性。

  在进一步学习运动跟踪之前,我们先了解一下ARKit空间坐标系,在不了解AR坐标系的情况下,阅读或者实现代码可能会感到困惑。ARKit采用右手坐标系(包括世界坐标系、摄像机坐标系、投影坐标系,这里的摄像机指渲染虚拟元素的摄像机),如下图所示。右手坐标系Y轴正向朝上,Z轴正向指向观察者自己,X轴正向指向观察者右侧。

27f08545ec57e2960499c0f68772bbef.png

(二)ARKit运动跟踪分类

  ARKit运动跟踪分为3DOF和6DOF两种运动跟踪模式,3DOF只跟踪设备的旋转,因此是一种受限的运动跟踪方式,通常,我们不会使用这种运动跟踪方式,但在一些特定场合或者6DOF跟踪失效的情况下,也有可能会使用到。

  DOF(Degree Of Freedom,自由度)与刚体在空间内的运动相关,可以解释为“刚体运动的不同基本方式”。在客观世界或者虚拟世界中,我们都采用三维坐标系来精确定位一个物体的位置。

  假如一个有尺寸的刚体放置在坐标系的原点,那么这个物体的运动整体上可以分为平移与旋转两类(刚体不考虑缩放),同时,平移又可以分为3个度:前后(沿Z轴移动)、左右(沿X轴移动)、上下(沿Y轴移动);旋转也可以分3个度:俯仰(围绕X轴旋转)、偏航(围绕Y轴旋转)、翻滚(围绕Z轴旋转)。通过分析计算,刚体的任何运动方式均可由这6个基本运动方式来表达,即6DOF的刚体可以完成所有的运动方式,具有6DOF的刚体物体在空间中的运

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值