几个世纪以来,人们使用指南针、地图、星盘和象限仪来找路,而在过去二十年里,GPS成为了主流的定位系统,并且与手机结合后,让人们的出行越来越方便。而随着摄像头等技术发展,我们也开始看到视觉定位技术的崛起,比如谷歌地图就推出AR导航功能,将指示标定位在真实场景中。与此同时,Niantic作为一家开发LBS AR游戏的公司,也开始构建基于视觉数据的3D地图平台。与谷歌不同的是,Niantic并不是坐拥大规模数据的老牌科技巨头,其获取数据的方式更多是通过游戏玩家上传。
近期,Niantic首席科学家Victor Priscariu和工程总监Pierre Fite-Georgel深度分享了,通过《精灵宝可梦GO》等LBS AR游戏获取玩家众包数据的过程,以及如何将3D扫描数据处理成可用于开发LBS AR的地图。
据青亭网了解,Niantic旗下的Lightship VPS视觉定位平台目标是提供一个精确、动态的3D世界地图,允许AR开发者在物理空间中添加、固定AR内容。Niantic指出,如果GPS是真实空间的定位方式,那么VPS更像是虚拟空间的定位方式,它的优势是精度更高,可精确到厘米,而且可以用来开发持续性的AR内容,将虚拟视觉效果和物理空间更好的融合。
VPS定位的难点
最开始,Niantic的LBS AR游戏《精灵宝可梦GO》是基于谷歌GPS地图定位,而现在该公司决定从头开始构建基于视觉的VPS地图,而这将需要克服许多技术挑战,需要一段时间才能完善。Niantic指出,3D AR地图将会动态变化,因为它需要实时更新,反映出物理世界的变化,而目前,基本的开发模块已经到位,AR地图已经在形成。
展开全文
开发3D世界地图要比标准数字地图要更难,因为3D地图覆盖的物理空间更大,尤其是在公园、城镇广场等户外场所。另一方面,在三个维度上重建空间将需要多个角度的大量图像,其中需要包含不同的时间、天气和季节,这样才能模拟动态变化的场景。除此之外,还需要识别场景中的陆地、水域、天空等元素,并计算出它们与人之间的距离关系。
除了手机视觉图像外,Niantic还会收集GPS的经纬度和高度,以及手机的加速计和陀螺仪的传感信息(目的是为了定位扫描人的视角、手机位置和方向)。如果玩家的手机有LiDAR传感器,便可以拍摄周围环境的高分辨率3D视图,这样就可以更好的确定环境中物体的距离。
钟塔扫描演示,完成对钟塔的扫描需要几分钟,从多个角度拍摄
为了保护隐私安全,Niantic在获得数据后,会在后端过滤掉数据中包含个人身份特征的信息,比如车牌号、人脸等等。此外,还会使用AI模型来控制扫描数据的质量,确保扫描数据的照明条件良好,图像清晰,没有遮挡,或是相机位置准确,没有失焦。如果是在室内拍摄的图像,也会被过滤掉。
通过众包构建3D地图
3D空间扫描需要在不同的视角、位置和光照条件下观察空间中的每一个点,这样生成的3D模型才能模拟变化和用户行为。然而,单靠一家公司的力量很难收集到足够多的数据。因此,Niantic希望通过《精灵宝可梦GO》和《Ingress》的玩家来收集3D地图数据,其认为,一旦游戏玩家达到一定水平,便可能上传规模化的AR地图和Wayspot,并因此获得游戏内奖励。
据悉,Wayspot指的是一些可公开访问的对象或位置,比如雕像、艺术装置、公园或喷泉等等。Niantic为一些Wayspot设定优先级,鼓励玩家去扫描自己所在区域,或是需要更多扫描的地方。目前,Niantic数据库中已经包含了1700万个Wayspot兴趣点,其中有12万个支持3D VPS定位,而这些Wayspot未来将成为AR地图重要的一部分。
扫描的过程如下:当游戏玩家到达目标的Mapping Field Research扫描点后,游戏系统会提示他们进行3D扫描。扫描过程需要围绕目标走动,并拍摄多个20-30秒的短视频,每个扫描点大约需要采集300帧图像。为了确保数据的可靠性和多样性,系统会要求多个人扫描同一个Wayspot,这样就能了解这个地点在不同天气下、不同型号手机扫描的效果差异。
3D地图数据处理过程
实际上,构建一个可运行AR的大规模3D地图需要多种技术协同,包括数据管道、人工智能、算法、服务器网络,以及不断更新的数据。Niantic以众包的形式收集扫描数据,数据主要由玩家从AR游戏中上传。玩家上传数据后,Niantic的AI地图系统会将视频数据分解成单独的帧,并从中提取图像、GPS定位和传感器数据,以及相机与画面中物体的相对位置。
具体来讲,开发VPS地图主要分为五个阶段:
1)拆分扫描,来确定Wayspot的位置;
2)位置映射:从分割的3D扫描地图中提取位置和方向信息;
3)对比3D映射图之间的关系,确保它们之间保持连续;
4)3D密集重建,这个步骤生成的是供计算机理解的深度数据地图,这些数据包括每个像素从相机到对象之间的距离,可用于生成3D网格;值得注意的是,开发者可通过8th Wall WebAR平台获取这些数据,直接用来开发LBS AR应用;此外,也可以通过Wayfarer工具添加新的Wayspot兴趣点和AR地图;
5)添加上下文和语义信息:在3D深度图基础上,还可以对树、地面、建筑物等目标进行分类,这样就可以帮助AR实现与物理空间的自然交互。
在博文中,Niantic还强调了云服务的重要性,并指出未来的AR地图需要依赖云计算,因为构建世界规模的动态3D地图将需要强大的处理能力,才能同时计算和处理数百万次扫描结果。参考:Niantic