vslam论文11:EdgeVO: 一种高效、准确的基于边缘的视觉里程计 (ICRA 2023)

摘要

       视觉里程计在自动驾驶汽车和机器人导航等许多应用中都很重要。在无纹理场景或光照突然变化的环境中进行视觉里程测量具有挑战性,而基于特征的方法或直接方法无法很好地工作。为了解决这一挑战,人们提出了一些基于边缘的方法,但它们通常在效率和准确性之间挣扎。在这项工作中,我们提出了一种新的视觉里程计方法,称为EdgeVO,它准确,高效,鲁棒。在不牺牲精度的前提下,通过一定的策略有效地选择一小部分边缘,显著提高了计算效率。与现有的基于边缘的方法相比,我们的方法可以在保持相似精度甚至更高精度的情况下显著降低计算复杂度。这是由于我们的方法去除了无用的或有噪声的边缘。在TUM数据集上的实验结果表明,EdgeVO在效率、准确性和鲁棒性方面明显优于其他方法。

I. 引言

       无纹理的场景不能为基于显著特征的方法提供足够的特征点,而突然的照明变化可能导致直接方法的光度一致性假设失效。这些因素降低了VO算法的有效性,甚至导致跟踪失败[15],[16]。为了克服这些缺点,提出了几种解决方案。有些结合了各种特征,如线[17]、[18]和面[19]、[20]、[21],来跟踪摄像机的姿态。另一种解决方案是改进直接方法,采用仿射光照校正[7]、光度校正[8]和描述子字段[22]来处理光照变化。多度量融合方法[23]、[24]将几何与光度相结合,在一定程度上提高了摄像机跟踪的精度和鲁棒性。

       作为另一种尝试,最近出现的基于边缘的方法[12],[16],[25],[26]在这些边缘情况下显示出强大的性能。他们采用在无纹理环境中观察到的更自然和稳定的图像边缘,并应用3D-2D边缘注册来估计相机的姿势。与基于特征和直接的方法相比,基于边缘的方法既适用于无纹理的场景,也适用于亮度变化的环境。然而,基于边缘的VO方法仍然存在一些挑战。众所周知,由于缺乏专用的描述符,边缘对齐不太准确,从而产生更高的离群率[26]。为了提高姿态估计的精度,大多数基于边缘的系统利用大量的测量值来解决非线性最小二乘问题[27],[28],[29]。在姿态优化的每次迭代中,都要进行多次最近邻搜索,这大大增加了该方法的计算复杂度。

       本文提出了一种新的相机姿态估计方法——EdgeVO。与现有的基于边缘的方法不同,我们只使用提取边缘的一小部分,这些边缘是根据它们对运动估计的贡献来选择的。然后,我们只跟踪选定的边缘来估计相机的运动。更具体地说,我们将边缘选择问题表述为子矩阵选择问题,然后在考虑空间相关性和观测不确定性的情况下,使用一种高效的贪心算法逼近最优结果。

 图1:比较了EdgeVO和流行的RESLAM提取的特征数量、估计轨迹以及精度与时间的关系

II. 问题公式化

       对于每个传入帧Ic,我们使用基于迭代最近点(ICP)的算法通过对齐各自的边缘像素来估计相对于其参考帧Ir的摄像机运动ξc;r。通过将有效的边缘像素集从Ir重新投影到Ic,并最小化到Ic中最近边缘像素的距离来执行边缘对齐。

       对于参照系中深度为反ρi的边缘像素π,在变换ξc;r下重新投影的距离残差ri定义为:

        我们将参照系中所有有效边的残差排列成一个列向量。残差向量可表示为r = [r1···rn] T。最佳相对摄像机运动ξ∗c;r通过最小化残差平方和来估计:

然后求解线性最小二乘问题更新运动,即

       现在,我们来表述边选择问题。设U为满矩阵J中行块的指标,U = f0;1;···;n−1 g。S为所选行块的索引子集,[J(S)]为相应的串联子矩阵,k为所选行块的个数。然后,子矩阵选择问题表示为:

        众所周知,子模优化问题是np困难的,通常使用随机贪婪方法[31],[32],[33]来提供近似保证(1−1=e−)的近最优解。它从一个空集开始,在每一轮i中,它随机抽样一个子集R。然后,它拾取一个边际增益最大化的元素e属于R:

 III. 我们的方法edgevo

 图2:EdgeVO架构的概述

A.跟踪

帧预处理:

       如图3所示,当当前帧到来时,我们首先使用Canny算法检测边缘像素。它在低纹理和光照变化的场景中工作得很好,因为它通过对高梯度区域的非最大抑制在局部找到最强的边缘。然后,我们计算边缘图像的距离场,并创建一个三层距离场金字塔,以实现边缘对齐的鲁棒优化。我们不是交替进行边缘检测和距离变换,而是通过线性插值从最高分辨率降尺度直接生成低分辨率距离场。

 图3:每个传入帧的处理流程。(a) RGBD帧提取的灰度图像。(b)对应的边缘图像,其颜色编码梯度大小信息:红高蓝低。(c)距离场金字塔,颜色代码为近红远黄。

鲁棒运动估计:

       在ICP框架内估计当前帧Ic与最新关键帧Ik之间的相对摄像机运动ξc;k。具体而言,我们只使用Ik中选定的边,并采用距离场金字塔的粗到精优化方案来处理大位移。从最低分辨率到最高分辨率逐层进行边缘重投影和对齐。最后迭代得到最佳相机相对运动ξ∗c;k。

       为了提高摄像机跟踪的鲁棒性和准确性,我们尝试识别和去除潜在的异常值在每次迭代优化中。具体流程如下。首先,从方程(2)中描述的目标函数中去除超过一定阈值的残差项。我们分别为距离场金字塔中的每个级别设置阈值。其次,如果一对假定的边缘对应是合理的,在假设Ik和Ic之间没有大的旋转的情况下,它们的梯度方向应该尽可能一致。注意,在提取距离场时,还保留了最近的边缘坐标。我们将边缘像素p从Ik重新投影到Ic,并查询其最近的边缘p 0。然后,如果匹配对的梯度方向内积小于一定的裕度,则将其视为离群值

关键帧决策:

       通常情况下,关键帧的合理分布对于保证整个系统的性能至关重要。与[8]类似,我们使用以下标准来决定当前帧是否被选择为关键帧:

(1)我们使用从最后一帧到最近一帧的光流的均方差t来测量视场的变化,使用不旋转的平均流t`来测量遮挡。如果,则选择当前帧作为关键帧,其中w1、w2为两个指标的相对权重。

(2)如果Ic和Ik之间的边缘对应数低于平均边缘对应数的30%,我们将当前帧视为新的关键帧。

(3)如果上述条件均不存在,则以固定间隔(1秒)插入新的关键帧。

B.边缘选择:

       为了提高EdgeVO的效率,从每个新创建的关键帧中选择一小部分边缘,用于跟踪后续帧和局部建图。首先剔除无用边和伪边,然后通过求解子矩阵选择问题来指导边的选择。特别地,我们提出了一种有效的分区选择方法,使选择更加高效和鲁棒。

边缘剔除:

       Canny算法检测到的边缘通常是冗余的。因此,在选择边缘之前,我们可以剔除一部分边缘,以减少基准集的大小。首先,剔除没有深度信息的边缘,因为它们不能直接用于重投影。然后,在Canny算法中滤除梯度幅度小于高阈值的边缘;只有梯度较高的边缘会被保留,因为它们的信噪比较高,更有可能有利于更准确的运动估计。

高效的区分选择:

       为了避免所选边的聚类,我们优化了分区矩阵上的子矩阵选择问题。具体来说,将满矩阵的行块的索引集U划分为k个不相交的分区。将边选择问题重新表述为:

       为了降低子矩阵选择的计算复杂度,我们设计了一种特殊的近似算法,即随机分割贪心算法。在第i次迭代时,我们从u中随机取出一个分区Pi,然后在满足以下条件的情况下,从分区中选择一条边:

提出1:

       我们用T表示问题(7)的最优解,用S表示随机分割贪心提供的近似解。因此近似保证为f(S)≥1/2f(T)。为了避免无效选择,我们首先假设如果在当前帧中重新观察到边缘,则约束运动估计是有效的。我们通过引入伯努利分布来模拟这种情况;其中bi是二元变量。Bi = 1表示在当前帧中重新观察到第i条边,Bi = 0表示当前帧中没有该边。然后我们把子模函数重写为:

       进一步,我们应该最大化这个函数的期望。令E(bi) = pi表示重新观察到边缘ei的概率,我们有,

        我们可以从两个方面判断边缘是否被重新观察。首先,随着相机的移动,一些边缘超出了相机的视野,并且在随后的帧中不会被重新观察到。在实践中,我们根据先前的相机运动进行可见性检查并过滤掉这些不可见的边缘。然后,边缘的外观越独特,就越有可能被重新观察到。因此,我们将边缘ei被重新观测的概率建模为:

       其中a为Canny算法中的高阈值,mi为边缘ei的梯度幅度。这样,边缘的梯度幅度大于高阈值。因此,Canny算法在下一帧中更有可能检测到它,这是一种期望的行为。最后,给出了算法1中完全边选择方法的伪代码。

C.局部建图 

       为了提高相机轨迹的一致性,我们在局部建图部分中保持一个小的关键帧局部窗口W,其中W设置为5到7之间的值。对于每个新的关键帧,满足激活窗口中的某些准则来创建新的几何约束,然后进行滑动窗口优化,共同细化窗口内所有活动边缘的逆深度、全局相机姿态和固有c。局部建图的具体步骤如下。

边缘激活:

       当添加新的关键帧时,我们使用它来激活窗口中先前关键帧的边缘。为了获得均匀分布的边缘和可靠的几何约束,我们将单元图像划分为固定大小(如20 × 20像素)。然后我们将所有的边重新投影到这些网格中,同时从每个单元中选择活动边。激活边缘需要同时满足以下条件:

1)候选边缘的几何残差不能超过一定的阈值,该阈值设为所有残差的中位数;

2)候选边缘的重投影梯度方向应尽可能与其最近边缘在新帧中的图像梯度方向一致。我们将两个方向之间的角度设置为[0◦;30◦);

3)被跟踪时间越长的边缘被认为越可靠。因此,我们计算每条边被成功跟踪的次数,并选择较老的边作为活动边;

滑动窗口优化:

       对于窗口中的关键帧Ii, Ij,通过将Ii中的活动边重投影到Ij来计算几何残差;

 通过最小化窗口上的总体残差来估计最优状态向量:

 IV. 实验和结果

        在本节中,我们将在标准RGBD基准数据集tum RGBD上评估我们的方法的性能。

(1)绝对轨迹误差评估

 (2)效率对比

  图5:将EdgeVO的计算效率与基线方法进行了比较平均每帧运行时间

C.消融研究

       我们比较了每个序列中使用边缘的数量和翻译ATE的RMSE结果。结果如下图所示,其中每个点代表一个序列的性能。很明显,与没有选择的系统相比,我们的边缘选择系统使用了更少的边缘,并且达到了相似或更高的精度。

图6:在每个序列中使用的边数与结果误差

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RGB-D视觉里程计一种利用RGB-D相机的深度信息来进行定位和导航的技术。它通过同时使用RGB图像和深度图像来估计相机的运动和环境的结构。引用\[2\]中提到了一些研究人员利用RGB-D相机的深度信息来提高纯VIO/VI-SLAM系统的性能。深度信息对VIO的初始化和优化过程都有好处,并且可以提高在低纹理环境下的鲁棒性。此外,引用\[3\]中介绍了一种名为S-VIO的RGB-D视觉惯性里程计算法,它充分利用了多传感器测量、异质地标和环境的结构规则来获得鲁棒准确的定位结果。S-VIO算法在实验中表现出比传统的VIO算法和RGB-D VIO算法更好的精度和鲁棒性。因此,RGB-D视觉里程计一种有潜力的技术,可以在各种应用中提供更准确和鲁棒的定位和导航能力。 #### 引用[.reference_title] - *1* [5、RGB-D— 视觉里程计 Visual Odometry](https://blog.csdn.net/Discoverhfub/article/details/78591698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [vslam论文18:S-VIO:利用的结构约束的RGB-D视觉惯性里程计(RAL 2023)](https://blog.csdn.net/xsyaoxuexi/article/details/131571846)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值