vslam论文13:AirVO:一种光照鲁棒的点-线视觉里程计(IROS 2023)

文章提出了一种融合加速学习角点算法和扩展线特征的光照鲁棒视觉里程计系统。通过使用CNN和GNN进行特征检测和匹配,结合传统优化技术,系统能在低功耗嵌入式平台上实时运行。在多种光照条件下,AirVO展示了优于其他先进VO系统的精度和鲁棒性,其开源特性便于研究社区进行实现和定制。
摘要由CSDN通过智能技术生成

摘要

       本文提出了一种结合加速学习角点算法和扩展线特征算法的光照鲁棒视觉里程计(VO)系统。为了增强对动态光照的鲁棒性,该系统采用卷积神经网络(CNN)和图神经网络(GNN)来检测和匹配可靠且信息丰富的角点。然后利用点特征匹配结果和点、线特征的分布对直线进行匹配和三角化。通过加速CNN和GNN部分并优化流水线,该系统能够在低功耗嵌入式平台上实时运行。在不同光照条件下的多个数据集上对所提出的VO进行了评估,结果表明它在精度和鲁棒性方面优于其他最先进的VO系统。所提出的系统的开源特性允许研究社区轻松实现和定制,从而进一步开发和改进各种应用的VO。

I.引言

总体而言,我们的贡献如下:

(1)本文的关键贡献是我们提出了一种新的混合VO系统,可以有效地处理不同的光照条件。我们提出的系统结合了传统优化技术的效率,基于学习方法的鲁棒性。据我们所知,AirVO是第一个采用基于学习的特征检测和匹配算法的视觉里程计,可以在低功耗嵌入式平台上实时运行。

(1)本文提出了一种新的VO线处理通道。我们的方法将2D线条与图像上基于学习的2D点相关联,从而实现更稳健的特征匹配和三角剖分。这种新方法提高了VO的精度和可靠性,特别是在光照条件差的环境下。

(3)结果表明,AirVO优于其他先进的VO和视觉惯性里程计(VIO)系统,特别是在光照困难的环境中。通过对相关部分的优化和加速,我们的点特征检测和匹配速度比原来快5倍以上。此外,该系统可以在低功耗嵌入式设备上以约15Hz的速率运行,在笔记本电脑上以40Hz的速率运行。

开源:https://github.com/ xukuanHIT/AirVO

III. 方法

A.系统概述

       提出的框架如图2所示。这是一个混合的VO系统,我们同时利用了基于学习的前端和传统的优化后端。对于每个立体图像对,我们首先使用CNN(例如SuperPoint)提取左侧图像上的特征点,并使用特征匹配网络(例如SuperGlue)将其与最后一个关键帧进行匹配,同时,我们还提取直线特征。

       然后根据两类特征的距离进行关联,并使用关联点的匹配结果。之后,我们执行初始姿态估计并拒绝异常值。在此基础上,选择关键帧,提取图像特征,对关键帧的二维点和线进行三角剖分。

最后,执行BA以优化点、线和关键帧姿态。

       为了提高系统效率,我们将系统中cnn和gnn的32位浮点算法替换为16位浮点算法,使特征提取和跟踪速度比嵌入式设备上的原始代码快5倍以上。我们还设计了一个多线程管道,利用CPU和GPU资源。使用生产者-消费者模型将系统划分为两个主线程,即特征线程和优化线程。在特征线程中,我们使用两个子线程分别处理点特征和线特征。在一个子线程中,将点特征提取和与最后一帧的匹配放在GPU上并行处理,另一个子线程用于在CPU上提取线特征。在优化线程中,我们执行初始姿态估计和关键帧决策。如果选择了新的关键帧,我们提取其右侧图像的点和线特征,并使用局部地图优化其姿态。

图2:AirVO的框架 

B. 2D线处理

首先给出了系统中二维直线处理的细节,包括线段检测和匹配。

1)检测:

       为了提高效率,AirVO的线检测是基于传统的方法(即LSD),一种流行的线检测算法。然而,它存在将一条线划分为多个段的问题。因此,如果满足以下条件,我们通过合并两条线段l1和l2来改进它:

(1)l1和l2的角差小于给定阈值dq。

(2)一条线与另一条线的中点之间的距离不大于某个值dd。

(3)如果l1和l2在x轴和y轴上的投影不重叠,则最近的两个端点的距离小于预设值depth。

       在我们的系统中检测到的线条特征以及与LSD的比较如图3所示。我们认为,与短线段相比,长线段的重复性更强,受噪声的影响更小,因此在合并后,长度小于预设阈值的线段将被过滤掉,以便在接下来的阶段只使用长线段。

 图3:LSD(左)和AirVO(右)检测到的线条,我们把不稳定的短线合并成稳定的长线。

2) 匹配:

       为了同时解决有效性问题和效率问题,我们设计了一种快速、鲁棒的动态光照环境线匹配方法。首先,我们通过点与线之间的距离将点特征与线段联系起来。假设在图像上检测到M个关键点和N个线段,其中每个点记为pi = (xi;Yi),每条线段记为

       式中(Aj;Bj;Cj)为lj和(xj;1)的线参数;yj,1;xj,2;Yj,2)为端点。我们首先计算pi和lj之间的距离

 对于图像k上的和图像k+1上的,我们计算一个分数来表示它们在同一条线上的置信度:

       由于点匹配具有光照鲁棒性,特征关联不受光照变化的影响,因此本文提出的线跟踪方法对动态光照环境具有很强的鲁棒性,如图4所示。 

图4:具有挑战性场景下AirVO的线路匹配,匹配的线用相同的颜色绘制。直线上的圆是与直线相关的点。半径越大,表示该点与更多的线相关联

C. 3D线处理

       在这一部分中,我们将介绍我们的三维线条加工方法。与三维点相比,三维线具有更大的自由度,因此我们首先介绍它们在不同阶段的表示。然后详细说明线三角剖分的方法,即由一些二维线段构造出一条三维直线,以及线重投影的方法,即将三维直线投影到图像平面上。

1) 表示

Plücker 坐标

2) 三角化:

        为了初始化一条三维直线,我们选择属于这条直线并且在图像平面上离这条直线距离最近的两个三角形点X1和X2。则可得该线的plicker坐标:

       由于所选的三维点在点三角剖分阶段已经进行了三角剖分,因此该方法需要的额外计算量很小。它非常高效和健壮。

3) 重投影: 

       我们使用plpl cker坐标来变换和重新投影3D线条。首先,我们将3D线从世界帧到相机帧:

       然后将三维直线cL通过直线投影矩阵i cP投影到像平面上:

D. 关键帧选择

       观察到我们系统中使用的基于学习的数据关联方法能够跟踪具有较大基线的两帧,因此与其他VO或visual SLAM系统中使用的逐帧跟踪策略不同,我们只将当前帧与最后一个关键帧进行匹配,这样可以减少跟踪误差。如果满足以下任何一个条件,将选择一个帧作为关键帧:

(1)到最后一个关键帧的距离大于pkfd。

(2)与最后一个关键帧的角度大于dkfq。

(3)跟踪地图点的数量小于nkf1,大于nkf2,其中nkf2 < nkf1。

(4)被跟踪的地图点大于nkf2,但被跟踪的丢失发生在最后一帧,即最后一帧被跟踪的地图点小于nkf2。

E. 图优化

       我们的系统中同时使用了点约束和线约束,相关的误差项定义如下:

1) 线重投影误差:

2) 点重投影误差:

若帧k能观测到三维点wXq,则重投影误差定义为:

IV. 实验

       我们使用预训练的SuperPoint和SuperGlue来检测和匹配特征点,而无需任何微调训练。实验在两个数据集上进行:OIVIO数据集和UMA视觉惯性数据集。

A. OIVIO基准测试结果

图5:基于OIVIO数据集的比较,纵轴是成功运行的比例,由横轴上给定的对齐误差阈值决定。

B. UMA-VI基准数据集测试

       如图6所示,它包含许多子序列,其中图像突然变暗,因为关闭灯的结果。它比OIVIO数据集更具挑战性,因此我们只选择在Section IV-A中被证明具有照明鲁棒性的方法作为基线,即PL-SLAM, OKVIS和玄武岩- vio。平移误差见表2。

 图6:具有显著光照变化的UMA-VI数据集中具有挑战性的序列。由于关灯,图像可能突然变暗,这对特征跟踪是非常困难的。

 C. 消融研究

AirVO和AirVOw/o线在OIVIO和UMA-VI数据集上的比较结果见表III。

 D. 运行时间分析

       1) CNN和GNN加速:我们首先验证点检测和匹配网络的加速。在我们的系统中,检测和跟踪一幅图像的特征点需要64毫秒,而原始代码需要342毫秒。所以它比原点快5.3倍。

       2)效率比较:我们还比较了算法效率,通过CPU使用率和每帧处理时间来衡量。结果如图7所示。可以看出AirVO是最快的方法之一(大约15 FPS),而CPU使用率与其他方法大致相同,

 图7:条形图显示不同算法的效率

       3)详细运行时间:我们也在表4中给出了PL-SLAM和AirVO各模块的详细运行时间,其中PE为点提取,LE为线提取,PM为点匹配,LM为线匹配,IPE为初始姿态估计,BA为关键帧处理和局部束调整。可以看出,AirVO的线处理流水线要比PL-SLAM高效得多。

       注意,这些模块是并行运行的,而BA模块是一个非实时的后端线程,所以整个系统的运行时间并不是每个模块的简单累加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值