针对在时变的室外环境中难以视觉定位的问题,博士生颜深创新性地提出一种解决方案 SensLoc。SensLoc 利用移动设备内置的传感器数据,如 GPS、指南针和重力传感器,为视觉定位提供有效的初始位姿和约束条件,从而缩小图像检索和位姿估计的搜索空间。
此外,SensLoc 还设计了一个直接的 2D-3D 匹配网络,以高效地建立查询图像与三维场景之间的对应关系,避免了现有系统中需要多次进行 2D-2D 匹配的低效方案。为了验证 SensLoc 的有效性,论文还构建了一个新的数据集,该数据集包含了多种移动传感器数据和显著的场景外观变化,并开发了一个系统来获取查询图像的真实位姿。大量的实验表明 SensLoc 可以在时变的室外环境中实现准确、鲁棒且高效的视觉定位。
论文地址:https://arxiv.org/pdf/2304.07691.pdf
背景
目前主流的视觉定位法先构建查询图像的 2D 像素与参考地图的 3D 点之间 2D-3D 的对应关系,然后使用 PnP RANSAC 算法求解相机的六自由度位姿。对于大范围的场景,常采用图像检索作为中间步骤,以预先确定场景的哪些部分可能在查询图像中可见。然而,在时变的室外环境中,由于光照、季节和结构变化等因素导致的外观差异,使得 2D-3D 匹配变得十分困难,因此在这种具有挑战性条件下的视觉定位仍是一个未解决的问题。随着配备了各种传感器移动设备的逐渐普及,如惯性测量单元(IMU)、重力计、指南针、GPS、WiFi 和蓝牙等,结合视觉和多传感器的位姿估计法,为在实际场景中准确定位提供了一种新思路。
视觉定位的相关工作
1 基于三维模型的视觉定位
基于三维模型的视觉定位通过在查询图像和三维模型间建立 2D-3D 对应关系,估计相机六自由度的位姿。传统的视觉定位方法通常采用人工设计的局部特征,如 SIFT,来实现 2D-3D 匹配,并结合图像检索技术,将匹配范围限制在查询图像的可见区域,以适应大规模场景的需求。
近年来,随着深度学习技术的发展,传统的人工设计特征逐渐被基于深度学习的特征所替代。HLoc 是一种集成了多种基于深度学习的图像检索和图像匹配方法的六自由度视觉定位框架,目前在该领域取得了最佳性能。然而,HLoc 仍然存在一些局限性。一方面,在检索阶段,全局特征不足以应对场景中的复杂视觉变化,可能会出现误检索的情况。另一方面,在 2D-3D 匹配阶段,需要多次的 2D-2D 图像匹配作为中间过程,导致较低的运行效率和较高的计算开销。
为了解决这些问题,论文提出了一种基于自注意力和跨注意力机制的直接 2D-3D 匹配方法,该方法可以直接将二维查询图像与三维局部地图进行一次匹配,从而提高视觉定位的速度和准确度。
2 基于多传感器的视觉定位
在宽阔的室外环境下,GPS 能提供地理位置坐标(经纬高)。一些方法将 GPS 作为先验,以简化视觉定位中的图像检索任务;而另一些方法将 GPS 作为优化中的约束项,以提高视觉里程计和视觉 SLAM 的定位精度。此外,IMU 传感器测量的重力方向具有较高的精度,是一种常用的位姿先验。在可靠的重力方向引导下,以往的工作设计最小求解器(Minimal solvers)或者使用正则化项(Regularizers)约束来提升 PnP 的性能。然而,目前还没有一种同时考虑多种传感器的视觉定位方法。如今,手机和其他智能设备已经配备了各种各样的传感器,包括陀螺仪、加速度计、指南针、GPS、Wifi 和蓝牙等。因此,论文提出了一种新的视觉定位算法,以充分利用多种传感器提供的先验信息。
方法
针对上述背景和相关工作,论文提出了一个结合视觉和多传感器的三阶段方法。
1 基于传感器的图像检索
给定查询图 ,图像检索任务需要在参考图像集里找到与查询图有共视关系的图像子集:
之前的做法是用一个映射函数把查询图和参考图映射到紧凑的特征空间,再使用最近邻排序查找共视邻居。由于映射函数的表征能力有限,在时变环境中,这套方法很可能失效。因此,论文提出使用传感器位置和角度信息作为先验,提前缩小图像检索的搜索范围。
数学上,查询图像的先验位姿表示为 ,其位置分量来源于 GPS,旋转分量来自于重力计和指南针方向的集成。查询图像只需要在图像子集 中检索共视邻居
其中, 表示经纬度的 x-y 坐标,表示相机的主轴方向。
2 直接的 2D-3D 匹配
给定查询图 和共视邻居 ,2D-3D 匹配任务需要建立 像素点与 能观察到的局部点云 之间的 2D-3D 对应关系。
具体而言,首先使用多层级网络提取查询图 和参考图 的粗(用 表示)、细(用 表示)粒度特征,然后将局部点云 投影在参考特征图上并进行插值、平均,得到点云特征。
然后,使用带注意力机制的网络匹配查询图与局部点云的粗粒度特征,确定点云是否为查询图像所见,并初步确定它在图像上的位置。使用注意力机制变换后的粗粒度图像和点云特征分别为 ,概率匹配矩阵 表示为
通过互最近邻和设定匹配阈值,粗粒度的 2D-3D 匹配 表示为
为互最近邻,为预设阈值。
最后,对于每一个粗匹配对应的二维像素和三维点云 ,通过将点云的细粒度特征与在 附近裁剪出细粒度窗口特征
进行点乘,得到匹配概率并计算二维位置期望,获取查询图像的亚像素 与局部点云 的精确对应关系。
3 基于重力方向的 PnP RANSAC
给定 2D-3D 的对应关系,之前的工作通常采用 PnP RANSAC 算法求解相机的六自由度位姿。论文在 PnP RANSAC 迭代中插入一个简单有效的验证模块,以保证重力方向的正确性。具体地,对于 RANSAC 迭代生成的位姿假设 ,其与传感器位姿 在重力方向 上差值为
论文可采用条件 预先过滤掉大部分错误位姿,实现更高效、鲁棒的位姿解算。
数据集
论文构建了一个新的数据集,用于验证所提方法的有效性。该数据集包括一个城市公园(约 31,250 平方米),包含植被、河流、建筑和人行道。作为一个公共区域,其不可避免地会经历各种场景的变化,例如不同光照、季节、天气,运动的行人、车辆,甚至新的基础设施建设。数据集的构建流程如下图所示。
1 三维参考地图的构建
论文采用全景相机采集参考图像,以构建三维参考地图 。相较于单目相机,全景相机具有更高的采集效率。将 7,958 张全景图像切分并转换为针孔模型后,该数据集包括 47,780 张参考图像。为了确定模型尺度并与地理坐标系保持一致,该研究预先在全景相机上绑定了一个 RTK 记录仪,以记录绝对地理坐标。
2 查询图像采集
在三维参考地图构建完成半年后,该研究在相同地址中行走,并开发了一款安卓应用程序 Acquisition Application(采集 APP),使用华为 P40 pro 和小米 Mix 3 手机拍摄视频以采集查询图像,并通过绑定 RTK 记录仪获取拍摄时的地理位置信息。该采集 APP 能够同时记录手机内置传感器的数据,包括 IMU、重力计、指南针、蓝牙、WiFi 和 GPS。拍摄视频与所有传感器均经过硬件同步和细致校准。由于论文关注于单图的视觉定位,因此视频序列会进行采样以生成不连续的单张图像。
3 三维辅助地图构建与伪位姿真值生成
由于查询图像与三维参考地图之间存在跨时节的变化,因此基于半年前构建的三维参考地图生成查询图像的伪位姿真值较为困难。论文提出在采集查询图像时,同时构建一个三维辅助地图 。三维辅助地图的构建方法与三维参考地图类似,同样使用全景相机和 RTK 记录仪进行采集,并采用 ICP 技术进行对齐。基于三维辅助地图生成查询图像的伪真值等同于基于三维参考地图生成的伪真值。论文设计了一套联合优化方法生成伪真值,优化项包括:1)图像自定位约束;2)序列图像的相对位姿约束;3)IMU 的运动约束;4)其他先验约束,如重力方向和 RTK 位置。
结果
1 图像检索
检索结果如下表所示。即使传感器先验本身不能输出准确的结果,但它可以用于提升基于全局特征的检索方法性能。总的来说,将全局特征 OpenIBL 与相机主轴方向先验和 GPS 位置先验相结合,可以取得最好的检索效果。
2 视觉定位
视觉定位结果如下表所示。在具有挑战性的夜间条件下,由于 SensLoc 的 2D-3D 匹配不用提取关键点,该方法大幅优于其他基线方法。此外,SensLoc 只需执行一次由粗到细的匹配,该方法的运行速度比效果排名第二的方法 HLoc(SuperPoint+SuperGlue)快 30 倍。另外,重力方向引导的 PnP RANSAC 不仅提高了精度,还将位姿估计的运行速度提升了 4 倍。可以看到,在时变的室外环境中,通过视觉和多传感器数据,可以实时求解出令人满意的位姿。
3 消融分析
SensLoc 对图像检索结果的敏感性如下表所示。使用传感器先验或真值检索结果可以显著提高视觉定位在(25cm, 2◦)/(50cm, 5◦)/(1m, 10◦)的召回率。消融分析表明,图像检索结果对 SensLoc 的位姿估计有着关键作用。
应用前景
该研究成果在民用和军事领域都有广泛的应用。在民用领域,该研究可用于自动驾驶、机器人导航、混合现实等众多应用。在军事领域,该研究可用于支持地面和空中有人/无人装备,通过实景三维数字化战场支撑拒止条件下的高精度自身定位与目标指示。