Monocular Simultaneous Localization and Mapping using GroundTextures
论文地址:https://arxiv.org/abs/2303.05946
作者单位:美国海军空战中心
开源代码:https://github.com/Navy-RISE-Lab/ground-texture-slam
目前根据地面纹理图像进行导航定位需要先验地图,本文通过引入SLAM系统来减轻其对先验地图的要求,由于不需要现有地图,设置时间被最小化,系统对不断变化的环境更加健壮。这个SLAM系统使用了几种技术的组合来完成这个任务。识别图像关键点并投影到地平面;然后使用这些关键点、视觉词袋和几个阈值参数来识别重叠的图像和重访区域。然后,该系统使用鲁棒m估计器来估计机器人姿态与重叠图像和重访区域之间的转换。这些优化的估计值组成了用于导航的地图。我们通过实验数据表明,该系统在许多地面纹理上可靠地执行,但不是全部。
本文贡献如下:
1、据我们所知,开发了第一个仅使用单目相机的在线地面纹理SLAM系统。
2、地面纹理领域内的独特算法,在估计重叠图像之间的转换和识别回环时,利用已知的地面纹理图像的深度。
3、在最近的数据集上的实验结果显示,某些纹理的精度为厘米级,变化的纹理具有卓越的性能,以及一致、准确的回环检测识别。
PROPOSED APPROACH
该ground-texture-slam系统分为3步来实现,首先,处理传入的图像。然后,使用连续的图像对来估计纯视觉里程计。然后,利用闭环来纠正漂移。里程计和闭环步骤都使用图像中已识别的关键点及其相关描述符。此外,这两个步骤都使用投影到地平面的关键点和 M 估计器来估计图像对之间的变换,这些都是稳健的确定性模型。与局部视觉里程计不同,环路闭合检测使用三个度量来确定候选环路闭合是否有效。从每个步骤估计的变换被插入到表示地图的因子图中。下面介绍算法的总体过程。
系统框图:
A.image process
当接收到图像时,首先提取ORB特征点,然后,关键点从像素点转换为地面点。通过执行这种转换,系统可以直接估计机器人在实空间中的变换,而不是估计基本矩阵和转换。在大多数 2D 到 3D 投影场景中,这种转换只是深度的比例因子。然而,因为相机和地平面之间的距离是已知的,所以可以明确地投影这些点。这些点首先从像素值投影到米。随后再投影到机器人坐标系,机器人坐标系建立在地面上,使得投影后的点的z分量为0,即投影后得到的3D点其实只有两个变量。
B. Local Odometry
局部里程计中将投影的关键点与先前图像的投影关键点进行匹配。然后估计图像之间的变换。匹配使用opencv中实现的FLANN 方法,图像间的变换通过在 M-Estimator 因子图中使用匹配的投影关键点来估计它们之间的转换(使用 GTSAM) 。
C. Loop Closures
闭环检测使用了三个阈值标准:视觉词袋分数、关键点匹配数和协方差参数来保证正确识别之前访问过的地面纹理。首先由词袋选出候选闭环,然后判断是否满足有足够的匹配点,满足的话进行位姿估计并根据估计出的协方差判断是否确定为闭环。