EasyAR 稀疏空间地图¶
功能简介¶
EasyAR 稀疏空间地图( Sparse Spatial Map )用于扫描用户周围环境,生成环境的三维视觉地图,并提供视觉定位跟踪功能。
建立的视觉地图可以 保存 或多个设备间实时共享。当其他设备加载相应地图,并在加载地图中通过 定位 确定设备相对于地图的位置和姿态,适用于开发持久化AR应用或多人互动AR应用。
EasyAR 稀疏空间地图支持 加载 多个地图,在多个地图中定位并返回对应地图的ID和设备相对于该地图的位置和姿态。
稀疏空间地图目前需要稳定的运动跟踪系统(例如EasyAR Motion Tracking / ARCore / ARKit)提供六自由度的位置和姿态用于建图以及定位成功后的持续跟踪。在建图过程中,稀疏空间地图利用相机图像和对应位姿构建环境1:1的视觉地图。定位过程中,当视觉定位成功后,设备相对地图的位姿通过运动跟踪系统持续更新。
稀疏空间地图建图通过扫描环境并构建三维环境点云,每一个三维点都记录周围的局部视觉信息。定位过程通过将当前相机图像和地图的三维点进行视觉匹配并尝试计算对应位姿来恢复相应的位姿。
建图最佳实践¶
建图时,尽量相对于被扫描区域、场景做平移运动,尽可能充分移动扫描覆盖用户可能定位的位置。
尽量在具备丰富、稳定且静止的视觉特征区域进行建图。
不要在大片的无视觉特征区域进行建图,如白墙。
不要在大片的反光材质区域进行建图,如玻璃镜面物体。
不要在重复性的纹理区域建图。
在创建稀疏空间地图时,你需要充分考虑用户会在什么地点、视角下进行定位,以此来优化建图的过程。 建图时最好覆盖到所有的可能视角,包括观察的角度和距离。
建图完成后,可以在建立的稀疏空间地图中测试定位,测试定位的成功率以及精度,若发现效果不理想,请考虑重新建立更完整地图。
由于设备限制,推荐单个地图范围不超过1000平方米。 建议建图设备到场景距离应小于10米。
定位最佳实践¶
尽管用户可以在地图对应的场景中任意位置进行定位,但是给出目标场景的提示信息,如场景预览图,可以帮助用户找到目标场景进行识别和定位。
构建地图时,最好尽量覆盖场景的多个角度,然后通过视觉引导提示可以引导用户移动设备从多个角度尝试定位。
用户定位的环境与地图构建的环境存在较大差异时,可能将导致定位失败,如:
角度:确保建图尽可能覆盖可能定位角度。如果定位的角度和最接近建图角度差别超过45°,定位成功率会大幅下降。
光照:建图光照和定位光照相近情况下,定位成功率最高。例如尽量避免在白天建图后,在漆黑的夜晚尝试定位。
距离:建议建图时尽可能移动手机,尽可能覆盖不同距离的位置。例如不要在距离目标1m附近的位置建图后,在距离10m的地方尝试定位。