文章:GFS-VO: Grid-based Fast and Structural Visual Odometry
作者:Zhihe Zhang
编辑:点云PCL
摘要
在同时定位与地图构建(SLAM)领域,研究人员一直追求更高的准确性和时间成本性能。传统算法通常依赖于图像中的基本几何元素来建立帧之间的连接。然而,这些元素存在诸如分布不均匀和提取缓慢等缺点。此外诸如线条之类的几何元素在位姿估计过程中未被充分利用。为了解决这些挑战,作者提出了GFS-VO,一种基于网格的RGB-D视觉里程计算法,最大程度地利用了点和线特征。该算法结合了快速线提取和稳定的线均化方案,以改善特征处理。为了充分利用场景中的隐藏元素,引入了曼哈顿轴(MA)以提供局部地图和当前帧之间的约束。此外,还设计了一种基于广度优先搜索的算法来提取平面法向量。为了评估GFS-VO的性能,我们进行了大量实验证明,结果表明与现有方法相比,我们提出的算法在时间成本和准确性方面都有显著改进。
主要贡献
在基于特征的视觉里程计中,几何特征的利用在建立帧间连接方面起着至关重要的作用。由于易于提取并在环境中丰富存在,点特征通常被广泛使用。然而,它们容易受到光照变化、遮挡和模糊等影响,导致姿态估计准确性下降。一种解决方案是将线特征纳入框架。与点特征相比,线特征对环境因素具有更强的鲁棒性,提供了更稳定的帧间约束。然而,现有关于线特征的研究存在一些缺陷,可以总结如下:
图1. 典型结构场景示例。场景中的线条与MA轴具有平行或垂直关系,可用于优化。
鉴于上述不足,我们提出了GFS-VO,一种基于RGB-D相机的视觉里程计方法。我们的贡献概括如下:
内容概述
GFS-VO的结构如图2所示,系统从几何特征提取开始,在空间特征提取中,使用均匀化的线和平面法向量来计算MA。在接下来的姿态估计和优化中,将使用多特征约束。
图2. GFS-VO概览
A. 特征提取
GFS-VO中使用的特征可以分为两种:几何特征和空间特征,几何特征使用单独的线程进行提取。对于点特征,我们利用ORB来提取和描述点。与通常使用的方法LSD相比,我们使用EDLine进行线检测。考虑到长线提供了跨帧更稳定的观察,我们采用了线连接策略,该策略沿着当前梯度方向延伸断裂的线条以连接它们。最后,使用LBD描述子描述提取的线条。
在GFS-VO中,我们主要引入平面特征以提取MA,它依赖于平面法向量。为了实现准确而高效的提取,我们设计了一种基于广度优先搜索的方法。算法1概述了我们的方法。首先,我们使用深度图重构像素的3D位置。接下来,我们检查当前像素和相邻像素的法向量之间的角度。如果角度低于阈值,则认为这两个像素具有相同的方向,并属于同一个平面。随后,我们执行连续搜索以识别并计算在一次搜索内具有相同方向的像素的数量。只有具有足够相同方向像素的平面被视为有效平面。为了确定平面的法向量,我们计算与该平面相关的所有相同方向像素的法向量的平均值。
图3. 平面法向量提取算法的比较,左侧是基于我们的BFS算法的结果,而右侧是基于积分图的算法。与传统方法相比,我们的方法能够突破常规网格的限制,并且受噪声影响较小。
图3说明了我们的方法与其他方法之间的区别。我们算法中使用的空间特征主要是MA,该方法利用平面法向量和3D线方向向量,为了获得准确的3D线,经过均匀化后,我们过滤掉深度非法的像素和偏移非法的像素,然后计算3D线的参数。
B. 基于网格的线同质化
在基于网格的线同质化中,我们采用了网格结构将图像划分为不同的区域,每个区域称为一个网格,这种网格结构能够展示图像中特征的分布,并构建了一个二分索引,用于在网格和线之间建立连接,为后续的线同质化和跟踪等过程奠定了基础。
线同质化的关键挑战在于节点的分配,为了解决这个问题,我们提出了三种线同质化策略。首先是基于四叉树的方案,通过向线穿过的所有网格添加标记,并将网格内的标记总和视为记录,以实现对线的同质化。其次是基于中点四叉树的方案,通过线的中点位置将线分配给特定网格,并将网格内的中点总和作为记录。最后是基于分数的方案,该方案考虑线的平均梯度,通过评分机制对所有线进行排名,并保留得分较高的一部分线作为同质化的结果。
这些同质化策略在线同质化的过程中起到了关键作用。为了确保公正选择受惩罚的线,我们引入了不对称的分数值,通过调整奖励和惩罚的比例,保证了在全局筛选过程中的有效性。这些策略不仅仅是对点同质化方法的延伸,而且更注重在给定区域内找到唯一节点以有效表示线特征。通过这种创新的基于网格的线同质化方法,我们能够更准确、高效地处理线特征,从而提高视觉里程计算法的性能。
图4. 密集区域的示例。我们使用四种颜色表示四叉树中的节点在分割过程中。在橙色网格中,算法选择了最具代表性的线A并过滤了线C。但在绿色网格中,A没有经过,最具代表性的线变为C。因此,算法选择保留线C,导致了橙色网格中的不完整同质化。
视觉里程计
在视觉里程计方面,GFS-VO采用了基于网格的方法,通过优化特征匹配、姿态估计、关键帧选择和过滤、以及局部优化等步骤来实现高效而准确的定位。
通过这些步骤,GFS-VO能够在同时定位与地图构建(SLAM)中实现更好的性能,为视觉里程计领域带来了显著的改进,提高了准确性和效率。
实验
为了检查我们算法的性能,我们进行了充分的实验,并与最新的算法进行了比较。考虑到在实际场景中收集的数据集通常存在深度不合法的像素,我们还在虚拟场景中检查了我们的性能。所有实验均在Intel Core i5-10400 CPU @ 2.90GHz × 12/16GB RAM上执行,没有使用GPU并行化。
A. 线同质化
在线同质化方面的研究中,我们通过使用三种不同的方法(基于得分的方案、基于中点的四叉树方案和基于四叉树的方案)进行了实验和比较。图6展示了TUM数据集中随机选择的图像中同质化的结果。
图6. 所提出的线同质化算法的结果
通过对TUM数据集中的图像进行随机选择,并突出显示密集区域,我们评估了这些方法的性能和实时性。总体而言,每种方法都有其优势,但在高密度区域,基于得分的方案表现出色。然而,基于中点的四叉树方案在全局视角上表现较为平衡,确保了地图中线条的均匀分布。尽管基于四叉树的方案在检测密集位置时可能面临挑战,但其性能仍然良好,而且这三种策略在整体处理速度上没有明显的差异。这表明无论采用哪种方法,都可以在图像的密集区域有效地过滤线条,同时保持良好的实时性。
B. 框架性能比较
在本部分中,我们对GFS-VO框架的性能进行了详细比较,主要通过使用ICL-NUIM和TUM-RGBD等广泛采用的RGB-D数据集进行评估。总的来说,该框架表现出色且具有显著的优势。
时间性能比较
特征提取速度的显著提高:通过与MSC-VO 相比,GFS-VO在特征提取速度上取得了显著的改进,结果如表1。采用EDLINE而不是LSD减少了线提取的时间,线同质化方案减少了参与重建的线段数量,而BFS-based方法确保了法向量的准确且快速的提取。总体而言,GFS-VO的特征提取速度相较之前的方法更高效。
对于线特征的鲁棒性:GFS-VO通过引入网格结构和线同质化策略,更好地处理了不同密度区域内的线特征。这使得在密集区域和稀疏区域之间更平衡地保留线特征,并在不同场景中实现了更一致的性能。
图7. 具有大量特征变化的场景示例。这些图像来自ICL-NUIM的同一序列。左侧图像提取了20条线,而右侧图像提取了323条线。在这种情况下,线同质化阈值的设置总是困难的。
准确性比较
在真实场景中的显著改进:在TUM-RGBD等真实场景的数据集上,GFS-VO表现出明显的性能改进。比较结果见表II。这主要归因于GFS-VO的线同质化方法,有效保留了稳定的线特征,减少了在匹配和姿态估计中的错误。相比之下,虚拟场景中的性能改进受到限制,主要因为虚拟场景中的特征较为稀缺。总体而言,GFS-VO在提高特征提取速度的同时,在真实场景中实现了更好的姿态估计准确性,这使得它在同时满足实时性和准确性方面具有竞争力。
总结
本文介绍了一种基于网格的快速结构化视觉里程计—GFS-VO,通过利用网格结构,我们设计了稳定的线同质化和准确的线跟踪算法,为了充分利用线特征,我们将曼哈顿轴(MA)引入到我们的框架中。考虑到视觉里程计对实时性的要求,还提出了一种平面法向量提取方法,以更快地计算MA。实验结果显示,我们的方法在准确性和速度方面都取得了显著的改进,对于未来的工作,将继续完善线同质化策略,并探索用于测量强度的替代方法。此外,我们还将研究点和线特征之间的位置对视觉里程计准确性的影响,解决实验中发现的问题。