EasyAR 运动跟踪

功能简介

Motion Tracking用于持续追踪设备在空间中的六自由度位置和姿态,可用于AR展示,AR游戏,AR视频或拍照等应用。

通过运动跟踪,虚拟物体和真实场景实时对齐到同一坐标系,可以体验到虚拟内容和真实场景融合在一起的感受。如果有持久化AR需求,建议配合EasyAR稀疏空间地图(SparseSpatialMap)使用。如果有遮挡碰撞需求,建议配合EasyAR稠密空间地图(DenseSpatialMap)使用。

Motion Tracking中的世界坐标系和相机坐标系都采用右手坐标系,y轴向上,z轴指向屏幕观测者,x轴指向屏幕观测者的右侧。

运动跟踪的工作原理

运动跟踪通过视觉惯性同步定位和建图(VISLAM)技术,计算设备相对于真实空间的位姿关系。在设备移动过程中,通过识别相机图像中显著特征点并跟踪其位置变化,结合设备的IMU数据信息,实时计算当前设备相对于真实世界的位置和姿态。

  • 真实尺度

    利用设备的惯导传感器和相机图像数据融合,恢复真实物理尺度,位置的单位是米。

  • 鲁棒准确的运动跟踪

    VISLAM算法相比纯视觉SLAM能极大降低长时间跟踪的漂移,且对于光照变化、弱纹理区域和动态物体等更鲁棒。

  • 快速初始化

    只需要相机对着应用场景横移1-2次即可实现初始化。初始化完成时的位置定义为世界坐标系的原点,根据重力方向和屏幕朝向,将初始化姿态朝向屏幕。初始化完成后自动开启位姿跟踪。

  • 快速重定位

    在设备跟踪丢失后/跟踪不佳后快速准确地恢复设备相对于世界坐标系的位姿,重定位前后世界坐标系原点不变,保证跟踪的持续性和准确性。在初始化区域附近具有位姿校正能力从而消除长距离运动产生的累计误差。

  • 点击碰撞

    支持点击当前视野内的点云或者水平面。

  • 锚点

    当放置虚拟物体时,可以使用锚点确保虚拟物体锚定在特定的区域内,使设备移动中也能保持虚拟物体的稳定。这意味着,即便位姿出现了偏差,虚拟物体也会看起来位于原始放置的位置。你可以调用接口hitTestAgainstPointCloud实现Anchor的创建,每次调用接口hitTestAgainstPointCloud就会自动创建一个Anchor。当Anchors太多而超出内存限制就会自动把老的Anchors释放掉。 你也可以在调用hitTestAgainstHorizontalPlane后调用hitTestAgainstPointCloud为平面创建Anchor.

API 参考

平台限制

  • Motion Tracking自动判断设备是否支持,如果支持则可以直接启动,无需安装其他应用。

  • 支持白名单手机机型,白名单会持续扩展,覆盖更多机型。当前支持的设备参见: 运动跟踪支持机型