Table of Contents

EasyAR 稀疏空间地图

EasyAR 稀疏空间地图(Sparse Spatial Map)用于扫描用户周围小范围环境(房间级别),生成环境的三维视觉地图并提供视觉定位跟踪功能。适用于开发持久化 AR 应用或多人互动 AR 应用。

EasyAR 稀疏空间地图原理

EasyAR 稀疏空间地图在运动跟踪的基础上,在设备端利用计算机视觉算法,分析摄像头数据的特征建立环境的空间三维地图。用户可以保存视觉地图或多个设备间实时共享。当其他设备加载相应地图,并在加载地图中通过定位确定设备相对于地图的位置和姿态,从而开发持久化 AR 应用或多人互动 AR 应用。

稀疏空间地图目前需要稳定的运动跟踪系统(例如 EasyAR Motion Tracker、ARCore、ARKit)提供六自由度的位置和姿态用于建图中及定位成功后的持续跟踪。在建图过程中,稀疏空间地图利用相机图像和对应位姿构建环境1:1的视觉地图。定位过程中,当视觉定位成功后,设备相对地图的位姿通过运动跟踪系统持续更新。

EasyAR 稀疏空间地图支持加载多个地图,在多个地图中定位并返回对应地图的 ID 和设备相对于该地图的位置和姿态。

ssmintro

建图最佳实践

在创建稀疏空间地图时,你需要充分考虑用户会在什么地点、视角下进行定位,以此来优化建图的过程。建图时尽量覆盖到所有的可能定位所在视角,包括观察的角度和距离。

以下是提高建图效果的最佳实践:

  • 尽量相对于被扫描区域、场景做平移运动或缓慢旋转。
  • 尽可能充分移动扫描覆盖用户可能定位的位置。
  • 尽量在具备丰富、稳定且静止的视觉特征区域进行建图。
  • 单个地图范围不超过 1000 平方米。
  • 建图设备到场景距离应小于 10 米。

在扫描建图时需要避免以下情况:

  • 避免在大片的无视觉特征区域进行建图,如白墙。
  • 避免在大片的反光材质区域进行建图,如玻璃、镜面物体。
  • 避免在重复性的纹理区域建图。

建图完成后,可以在建立的稀疏空间地图中测试定位,检查定位的成功率和精度,若发现效果不理想,考虑重新建立更完整地图。

定位最佳实践

为了保证用户使用稀疏空间地图的定位效果,遵循以下实践能提高成功率并提升用户体验。

  • 引导用户在地图对应的场景中进行定位,例如给出目标场景的预览图,帮助用户找到目标场景。
  • 引导用户缓慢移动设备从多个角度尝试进行定位。
  • 避免无视觉特征、镜面、含重复纹理的区域进行定位。

定位失败的常见原因

用户定位的环境与地图构建的环境存在较大差异时,可能将导致定位失败,如:

  • 视角变化

    确保建图尽可能覆盖潜在定位角度。如果定位的角度和最接近建图角度差别超过 45°,定位成功率会大幅下降。

  • 光照差异

    建图光照和定位光照相近情况下,定位成功率最高。例如尽量避免在白天建图后,在漆黑的夜晚尝试定位。

  • 距离变化

    建图时移动手机并覆盖不同距离的位置。例如距离目标 1 米附近的位置建图后,在距离 10 米的地方尝试定位容易失败。

延伸阅读