专栏名称: 3D视觉工坊
1、OpenCV的技术传播; 2、3D点云与重建技术; 3、Vslam技术; 4、深度学习; 5、技术干货分享。
目录
相关文章推荐
中国电信  ·  这项行动,被央视点赞啦! ·  昨天  
中国电信  ·  突发山体滑坡!紧急驰援! ·  2 天前  
界面新闻  ·  工信部:三家电信运营商已全面接入DeepSe ... ·  3 天前  
51好读  ›  专栏  ›  3D视觉工坊

吊打ORB3!73Hz!南洋理工重磅开源AirSLAM:无惧复杂光照的超强点线视觉SLAM!

3D视觉工坊  · 公众号  ·  · 2024-08-16 07:00

正文

点击下方 卡片 ,关注 「3D视觉工坊」 公众号
选择 星标 ,干货第一时间送达


0. 这篇文章干了啥?

视觉同时定位与地图构建(vSLAM)因其成本与精度的良好平衡,在机器人导航中至关重要。与激光雷达SLAM相比,vSLAM利用更具成本效益和紧凑的传感器来实现精确定位,从而扩大了其潜在应用范围。此外,摄像头能够捕获更丰富、更详细的信息,这增强了其提供稳健定位的潜力。

尽管最近取得了进展,但当前的vSLAM系统仍难以应对恶劣的光照条件,这些问题可以归纳为两类。首先,由于光照的急剧变化或光线不足,特征检测和跟踪经常失败,严重影响估计轨迹的质量。其次,当视觉地图被重新用于重定位时,光照变化可能会显著降低成功率。在本文中,我们将第一个问题称为短期光照挑战,它影响两个时间上相邻帧之间的姿态估计;将第二个问题称为长期光照挑战,它影响查询帧与现有地图之间的匹配。

目前的方法通常只关注上述挑战中的一个。例如,已经开发了各种图像增强和图像归一化算法,以确保稳健的跟踪。这些方法主要侧重于保持全局或局部亮度一致性,但往往难以处理所有类型的挑战性光照条件。一些系统通过在大规模包含各种光照条件的数据集上训练VO或SLAM网络来解决此问题。然而,它们难以生成适合长期定位的地图。有些方法可以提供对光照变化鲁棒的重定位,但它们通常需要在良好的光照条件下构建地图。在现实世界的机器人应用中,这两个挑战往往同时出现,因此需要一个能够同时解决这两个问题的统一系统。

此外,上述许多系统都集成了复杂的神经网络,依赖强大的GPU来实现实时运行。它们缺乏在资源受限平台(如仓库机器人)上部署所需的效率。这些局限性阻碍了vSLAM从实验室研究向工业应用的转变。 推荐学习: 国内首个面向具身智能方向的理论与实战课程

为了弥补这些不足,本文引入了AirSLAM。观察到线特征可以提高vSLAM系统的准确性和鲁棒性,我们集成了点和线特征用于跟踪、建图、优化和重定位。为了在效率和性能之间取得平衡,我们设计了一个混合系统,采用基于学习的方法进行特征检测和匹配,并采用传统的几何方法进行姿态和地图优化。此外,为了提高特征检测的效率,我们开发了一个能够同时检测点和线特征的统一模型。我们还通过提出一种多阶段重定位策略来解决长期定位挑战,该策略有效地重用了我们的点线地图。

下面一起来阅读一下这项工作~

1. 论文信息

标题:AirSLAM: An Efficient and Illumination-Robust Point-Line Visual SLAM System

作者:Kuan Xu, Yuefan Hao, Shenghai Yuan, Chen Wang, Lihua Xie

机构:Nanyang Technological University、State University of New York at Buffalo

原文链接:https://arxiv.org/abs/2408.03520v1

代码链接:https://github.com/sair-lab/AirVO

官方主页:https://xukuanhit.github.io/airslam/

2. 摘要

本文提出了一种高效的视觉SLAM系统,旨在解决短期和长期光照挑战。本系统采用混合方法,将用于特征检测和匹配的深度学习技术与传统后端优化方法相结合。具体而言,我们提出了一种统一的卷积神经网络(CNN),该网络能够同时提取关键点和结构线。然后,以耦合的方式对这些特征进行关联、匹配、三角测量和优化。此外,我们引入了一种轻量级的重定位流程,该流程重用已构建的地图,其中使用关键点、线条和结构图将查询帧与地图进行匹配。为了提高所提系统在实际机器人中的适用性,我们使用C++和NVIDIA TensorRT部署并加速了特征检测和匹配网络。在多个数据集上进行的广泛实验表明,在光照挑战环境中,本系统优于其他最先进的视觉SLAM系统。效率评估表明,本系统可以在PC上以73Hz的速率运行,在嵌入式平台上以40Hz的速率运行。

3. 效果展示

4. 主要贡献

总之,我们的贡献包括:

• 我们提出了一种新颖的基于点线的vSLAM系统,该系统结合了传统优化技术的效率与基于学习方法的鲁棒性。我们的系统能够抵御短期和长期光照挑战,同时保持足够的效率,以便在嵌入式平台上部署。

• 我们开发了一个用于关键点和线检测的统一模型,称为PLNet。据我们所知,PLNet是第一个能够同时检测点和线特征的模型。此外,我们将这两种类型的特征相关联,并联合用于跟踪、建图和重定位任务。

• 我们提出了一种基于点和线特征的多阶段重定位方法,该方法结合了外观和几何信息。该方法仅使用单幅图像即可在现有视觉地图中提供快速且光照鲁棒的定位。

• 我们进行了广泛的实验来验证所提方法的效率和有效性。结果表明,我们的系统在各种光照挑战条件下实现了准确且鲁棒的建图和重定位性能。此外,我们的系统也非常高效,在PC上以73Hz的速率运行,在嵌入式平台上以40Hz的速率运行。

此外,我们的工程贡献包括使用C++和NVIDIA TensorRT部署和加速特征检测和匹配网络,以促进它们在真实机器人上的部署。我们将所有C++源代码发布在https://github.com/sair-lab/AirSLAM上,以造福社区。

本文扩展了我们的会议论文《AirVO》。AirVO利用SuperPoint和LSD进行特征检测,以及SuperGlue进行特征匹配。它在光照变化的环境中表现出色。然而,作为仅基于视觉的里程计,它主要解决短期光照挑战,并且无法重用地图以实现无漂移的重定位。此外,尽管经过了精心设计的后处理操作,但修改后的LSD在长期定位中仍不够稳定。它依赖于图像梯度信息而非环境结构信息,因此容易受到不同光照条件的影响。在本版本中,我们进行了重大改进,包括:

• 我们设计了一个统一的卷积神经网络(CNN),用于检测点和线特征,增强了在光照挑战环境中特征检测的稳定性。此外,我们还采用了更高效的LightGlue进行特征匹配。

• 我们扩展了系统以支持立体数据和立体惯性数据,从而在配备惯性测量单元(IMU)时提高其可靠性。

• 我们集成了闭环检测和地图优化,形成了一个完整的vSLAM系统。

• 我们设计了一个基于点和线特征的多阶段重定位模块,使系统能够有效应对长期光照挑战。

5. 基本原理是啥?

如图2所示,在可视化关键点和线检测网络的结果时,我们发现了两个现象:(1)大多数由线检测模型检测到的连接点(线的端点)也被关键点检测模型选为关键点。(2)由关键点检测模型输出的特征图包含了边缘信息。因此,我们认为可以在预训练的关键点检测模型的基础上构建线检测模型。基于这一假设,我们设计了PLNet,以在一个统一的框架中检测关键点和线。如图3所示,PLNet由共享的主干网络、关键点模块和线模块组成。

提出的基于点线的立体视觉里程计如图5所示。它是一个混合视觉里程计系统,结合了基于学习的前端和传统优化后端。对于每一对立体图像,我们首先使用提出的PLNet来提取关键点和线特征。然后,使用图神经网络(GNN,即LightGlue)来匹配关键点。同时,我们将线特征与关键点相关联,并使用关键点匹配结果来匹配它们。之后,我们进行初步的姿态估计并剔除异常值。基于这些结果,我们对关键帧的二维特征进行三角化,并将其插入到地图中。最后,执行局部束调整以优化点、线和关键帧姿态。同时,如果可获得惯性测量单元(IMU),则使用IMU预积分方法处理其测量值,并将其添加到初步姿态估计和局部束调整中。

将基于学习的特征检测和匹配方法应用于立体视觉里程计非常耗时。因此,为了提高效率,我们的系统采用了以下三项技术:(1)对于关键帧,我们在左右图像上提取特征并执行立体匹配以估计真实尺度。但对于非关键帧,我们仅处理左图像。此外,我们使用一些宽松的标准来使系统中选择的关键帧非常稀疏,因此系统中特征检测和匹配的运行时间和资源消耗接近于单目系统。(2)我们将CNN和GNN的推理代码从Python转换为C++,并使用ONNX和NVIDIA TensorRT进行部署,其中16位浮点运算取代了32位浮点运算。(3)我们设计了一个多线程流水线。采用生产者-消费者模型将系统分为两个主线程,即前端线程和后端线程。前端线程负责提取和匹配特征,而后端线程则执行初步姿态估计、关键帧插入和局部束调整。







请到「今天看啥」查看全文