基于AR云的室内导航

October 29th, 2018 | Yukee

关于室内导航,之前我们发文讲述过我们的探索之旅(文章链接Devlog #2: Lost on the way to navigation),我们尝试过两种方案。第一种是使用ARCore/ARKit 来定位,实践证明定位效果不错,但是使用该方案实现室内导航的关键点在于你得从一个固定的点以一个特定的相机角度开始导航才行,显然这是不现实的。第二种是使用专门用于室内定位的IndoorAtlas SDK来实现,在2D地图上的导航效果很不错,但由于该技术主要依靠磁场工作,在AR场景中需要在线处理位置数据,因此当我们移动时位置更新存在滞后问题,并且有时位置差异很大。IndoorAtlas意识到这个问题之后开发了一个离线的解决方案,但遗憾的是那时还没有相对应的unity插件。最后,在我们自己改进计算方法之后,我们可以获得的最佳AR导航结果是大约1米的精度,对于大型场地这是足够的,但用于超市还是不行的。然后又经过一番探索之后我们瞄准了AR云!

这次我们使用的是6D.ai SDK,在我们的测试Demo中融入了持久性与遮挡性。手机摄像头开启时的位置可以被记录到云端,所以我们以摄像头的位置为参照点,将所有的虚拟物体相对摄像头的位置数据保存到路径文件中,再从云端下载先前的摄像头的位置后再相对该位置设置对应的虚拟物体,设置完成后之前放置在现实世界中的虚拟物体就都还原到原先的位置上了,并且该虚拟物体可以被现实世界的物体遮挡,使得虚拟物和现实世界的结合十分地友好。现实和虚拟融合后的场景被还原后,当我们选择导航时,我们的导航助手和虚拟路径便会同时出现,接下来你只需要跟着我们的导航助手沿着指示路径走便可到达目的地了!通过这次初步检测发现我们现在还不能直接使用它来实现精准的AR室内导航,因为下载下来的摄像头的位置有时候会有偏移,所以对应该位置生成的物体也会出现位置偏移,并且生成网格的效果受光照影响很大,反光严重的地方不好生成网格。生成网格的好坏直接影响着物体的遮挡性,从而影响用户体验。其次,重构时需要对准上传过程摄像机刚开启时对着的地方才能顺利重构,同样影响用户体验。期待它以后的更新能给我们带来更好的效果。

这是我们使用6D.ai SDK开发的室内导航Demo视频链接:

                                                             

在胡罗舶,我们正创造着一种全新的购物模式,我们希望运用最新的更好的科技来给人们带去更好的购物体验。我们不仅在做室内导航,我们也在努力成为领入未来购物的导航者!