文章:AirVO: An Illumination-Robust Point-Line Visual Odometry
作者:Kuan Xu, Yuefan Hao , Shenghai Yuan , Chen Wang , Lihua Xie
编辑:点云PCL
代码:https://github.com/sair-lab/AirVO.git
来源:arXiv2023
欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。
公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。
摘要
本文提出了一种抗光照干扰的视觉里程计(VO)系统,结合了基于加速深度学习的角点算法和扩展的线特征算法。为了对动态光照具有鲁棒性,该系统利用卷积神经网络(CNN)和图神经网络(GNN)来检测和匹配可靠和信息丰富的角点。然后利用点特征匹配结果和点线特征的分布来匹配和三角化线段,通过加速CNN和GNN部分,并优化流程,该系统能够在低功耗嵌入式平台上实时运行。通过在具有不同光照条件的多个数据集上进行评估,结果显示该方法在精度和鲁棒性方面优于其他最先进的VO系统,该系统的开源性质使得研究社区可以轻松实现和定制,进一步发展和改进VO在各种应用中的应用。
主要贡献
为了提高准确性,这里将线特征引入到我们的系统中,将由LSD检测到的短线进行合并,然而在动态光照环境中,线段检测通常不稳定,这使得线条跟踪和匹配比在良好照明条件下更加困难。此外,与点特征的三角化相比,线特征的三角化更加困难,因为它更容易受到退化运动的影响。因此,在本文中,我们还提出了一种快速高效的抗光照线处理流程。观察到我们系统中的点跟踪非常稳健,根据它们的距离将点与线关联起来。然后,利用相关点的匹配和三角化结果可以匹配和三角化线条。所提出的线条处理方法在线条检测不稳定和光照条件挑战性的情况下表现出很高的鲁棒性。由于不需要提取线段描述子,该方法也非常快速。总体而言,本文的贡献如下:
本文的关键贡献是提出了一种新颖的混合VO系统,可以有效处理不同的光照条件,该系统将传统优化技术的高效性与基于学习的方法的鲁棒性结合起来。据我们所知,AirVO是第一个同时使用基于学习的特征检测和匹配算法的视觉里程计系统,并且能够在低功耗嵌入式平台上实时运行。
本文还提出了一种新的VO线处理流程。该方法将2D线与图像上基于学习的2D点关联起来,从而提高了特征匹配和三角化的鲁棒性。这种新颖的方法增强了VO的准确性和可靠性,特别是在光照挑战环境中。
进行了大量实验证明了所提方法的高效性和有效性,结果表明,AirVO在光照挑战环境中的表现优于其他最先进的VO和视觉惯性里程计(VIO)系统,通过对相关部分进行优化和加速,点特征检测和匹配速度比原始工作快5倍以上。此外,该系统在低功耗嵌入式设备上的运行速度约为15Hz,在笔记本电脑上的运行速度约为40Hz。在https://github.com/xukuanHIT/AirVO发布了源代码,以造福社区。
图1:AirVO是一种在具有照明挑战性的环境中精确而稳健的双目视觉里程计。
主要内容
系统概述
本文所提出的框架如图2所示,这是一个混合型VO系统,同时利用了基于学习的前端和传统的优化后端,对于每一对双目图像,首先使用CNN(例如SuperPoint)在左图像上提取特征点,并使用特征匹配网络(例如SuperGlue)将它们与最后一个关键帧进行匹配,同时我们也提取线特征。然后根据它们的距离将这两种特征进行关联,并使用关联点的匹配结果进行线特征的匹配,之后进行初始位姿估计并剔除异常值。基于这些结果,我们选择关键帧,在右图像上提取特征并三角化关键帧的2D点和线,最后,进行局部束调整以优化点、线和关键帧的姿态。为了提高系统效率,将系统中CNN和GNN的32位浮点运算替换为16位浮点运算,使得特征提取和跟踪比嵌入式设备上的原始代码快五倍以上。
图2:AirVO的框架,系统分为两个主线程,由两个不同颜色的区域表示。红色虚线框和绿色虚线框中的模块分别在CPU和GPU上运行。
作者还设计了一个多线程方案,利用CPU和GPU资源,采用producer-consumer模型将系统分为两个主线程,即特征线程和优化线程,在特征线程中,使用两个子线程分别处理点特征和线特征,在一个子线程中,点特征的提取和与最后一帧的匹配放在GPU上进行,而与此同时,另一个子线程用于在CPU上提取线特征。在优化线程中,进行初始位姿估计和关键帧决策,如果选择了一个新的关键帧,会在其右图像上提取点特征和线特征,并利用局部地图优化其姿态。
2D线段处理
首先介绍系统中2D线处理的细节,包括线段检测和匹配。
1)检测:AirVO的线检测基于传统方法(即LSD)以提高效率,LSD是一种常用的线检测算法。作者对该方法进行了改进,检测到的线特征和与LSD的比较结果如图3所示。作者认为长线段比短线段更具重复性,受噪声影响较小,因此,在合并线段之后,长度小于预设阈值的线段将被过滤掉,只有长线段会在后续阶段中使用。
图3:LSD(左)和AirVO(右)检测到的线条,将不稳定的短线合并为稳定的长线。
2)匹配:大多数当前的视觉里程计(VO)和同时定位与建图(SLAM)系统使用LBD算法或跟踪样本点来匹配或跟踪线段,LBD算法从线段的局部带区域提取描述子,因此在动态光照环境中,线段检测不稳定,线段长度可能发生变化,因此两帧之间的局部带区域会有所不同。跟踪样本点可以跟踪长度不同的线段,但当前的SLAM系统通常使用光流来跟踪样本点,在光照条件迅速或剧烈变化时性能较差。一些基于学习的线特征匹配方法也被提出,但由于需要大量的计算资源,它们在当前的SLAM系统中很少被使用,我们也不使用它们,因为如果同时使用基于学习的点特征和基于学习的线特征,要在低功耗嵌入式平台上实时运行系统是困难的。由于点匹配具有抗光照变化的特性,并且特征关联不受光照变化的影响,所以所提出的线跟踪方法在动态光照环境中非常稳健,如图4所示。
图4:AirVO在具有挑战性场景中的线匹配,匹配的线以相同的颜色绘制,线上的圆表示与该线相关联的点,较大的半径表示该点与更多线相关联。
3D线处理
与3D点相比,3D线具有更多的自由度,因此我们首先介绍了它们在不同阶段的表示方法,从一些2D线段构建3D线,以及线重投影的方法,即将3D线投影到图像平面上。
关键帧选择
观察到我们系统中使用的基于学习的数据关联方法能够追踪具有大基线的两个帧,因此与其他VO或视觉SLAM系统中使用的逐帧跟踪策略不同,仅将当前帧与最近的关键帧进行匹配,这可以减少跟踪误差。
图优化
选择N个关键帧并构建一个类似于ORB-SLAM的共视图,其中地图点、3D线和关键帧作为顶点,约束作为边,这里同时使用点约束和线约束。
实验
这里将展示实验结果以证明我们方法的性能,使用预训练的SuperPoint和SuperGlue来检测和匹配特征点,没有进行任何微调训练。实验在两个数据集上进行:OIVIO数据集和UMA视觉惯性数据集。为了证明所提出的线处理流程的效率,我们将AirVO与最先进的点线VO和视觉SLAM系统进行比较,包括PL-SLAM、StructVIO和UV-SLAM。
OIVIO数据集在隧道和矿井中收集了视觉惯性数据,使用了所有九个序列的地面真实值,这些真实值由Leica TCRP1203 R300获取,平移误差的性能如表I所示。
图5 展示了我们的方法与选定基线方法在OIVIO MN_050_GV_01序列上的比较结果。
UMA-VI数据集是在具有挑战性的照明情况下使用手持定制传感器收集的视觉惯性数据集。我们选择了具有光照变化的序列来评估我们的系统。如图6所示,它包含许多子序列,图像突然变暗,因为灯光被关闭。
图6:UMA-VI数据集中一个具有显著光照变化的具有挑战性的序列,由于灯光关闭,图像可能会突然变暗,这对于特征跟踪非常困难。
表II展示了其平移误差,由于Basalt-VIO在所有4个序列上都无法跟踪,因此我们没有列出其结果。可以看出,AirVO优于其他方法,其平均平移误差仅为PL-SLAM的7.9%,为OKVIS的57.2%,对齐误差大于OIVIO数据集上的误差,这是因为UMA-VI数据集仅提供每个序列开头和结尾的真实位置,而且场景对于VO或VIO系统更加困难。
这里比较了算法的效率,通过CPU使用率和每帧处理时间进行衡量,结果如图7所示。可以看出,AirVO是最快的方法之一(约15帧每秒),而CPU使用率与其他方法大致相同,因为利用了GPU资源。
图7:柱状图显示不同算法的效率,以CPU使用率(%)和每帧处理时间(毫秒)为度量标准
表IV中给出了PL-SLAM和AirVO每个模块的详细运行时间,其中PE表示点提取,LE表示线提取,PM表示点匹配,LM表示线匹配,IPE表示初始姿态估计,BA表示关键帧处理和局部束调整。可以看出,AirVO的线处理流水线比PL-SLAM高效得多。
总结
在这项工作提出了一种基于学习的关键点检测和匹配方法的抗光照干扰的视觉里程计系统,为了提高准确性,我们还在系统中利用了线特征,本文提出了一种新颖的线段处理方案,使得线跟踪在光照动态环境下具有足够的鲁棒性,在实验证明,所提出的方法在光照动态环境中表现出优越的性能,并且能够在低功耗设备上实时运行。我们开放了源代码,以造福机器人社区。未来的工作中将通过添加闭环检测、重新定位和地图重用来将AirVO扩展为一个SLAM系统,我们希望构建一个抗光照干扰的视觉地图,用于长期定位使用。
资源
自动驾驶及定位相关分享
【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法
自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)
更多文章可查看:点云学习历史文章大汇总
SLAM及AR相关分享
结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案
以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除
扫描二维码
关注我们
让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。
分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。
为分享的伙伴们点赞吧!