深度学习在视觉SLAM中的应用综述

部署运行你感兴趣的模型镜像

面向交通机器人视觉SLAM的深度学习:综述

1. 引言

移动机器人自主定位与导航需要解决三个问题:定位、地图构建和路径规划[1]。定位包括机器人在环境中的位置估计。地图构建用于生成周围环境的表示,而路径规划则解决机器人在地图中沿最优路径移动的问题。早期,定位与地图构建是分别进行研究的,直到1986年IEEE机器人学自动化会议提出了SLAM(同步定位与建图)的概念。SLAM能够解决机器人在未知环境中进行自我定位并逐步构建环境连续地图的问题。当相机作为唯一的外部传感器时,该概念被称为视觉SLAM。

最先进的视觉SLAM框架包含以下四个模块[2]:前端视觉里程计、后端优化、回环检测和地图构建。视觉里程计负责初步估计机器人在连续帧之间的位姿和位置以及地图点的位置。后端优化负责接收视觉里程计测量得到的位姿信息,并计算最大后验估计(MAP)。回环检测旨在识别移动机器人在运动过程中曾经访问过的地点,帮助地图构建和配准算法获得更精确且一致的结果。最后,地图构建负责根据相机位姿和图像帧重建地图。

视觉SLAM的主要应用领域包括机器人、自动驾驶汽车[3]、无人机(UAVs)[4]、水下机器人[5]、医疗[6]以及增强现实[7]。

许多视觉SLAM系统在外部环境、动态环境、显著特征过多或过少的环境、大规模环境中工作时,以及在相机发生剧烈运动或传感器出现部分甚至完全遮挡时会失效。

众所周知,深度学习在图像识别[8]和语音识别[9]研究中推动了突破,开启了“大数据+复杂模型”时代。深度学习的成功应归功于深度模型结构、高效学习方法、大数据支持以及不断提升的计算能力。

不可避免地,视觉SLAM正从基于几何的方法演进到深度学习方法。最近,监督深度学习方法和无监督方法均被应用于视觉SLAM问题,如视觉里程计[10, 11]和回环检测[12, 13]。这些最新进展预示着深度学习方法通过引入自适应和学习能力,在解决视觉SLAM挑战性问题方面具有巨大潜力。

本文综述了应用于视觉SLAM的深度学习方法,包括不同深度学习方法的优势和局限性。最后,未来的研究机会主要集中在如何增强视觉SLAM的鲁棒性、语义理解和学习能力。

本文的组织结构如下。在第2章中,我们简要回顾了基于几何学的视觉SLAM方法的相关工作;第3章阐述了深度学习视觉里程计方法;第4章介绍了基于深度学习方法的回环检测方法;然后在第5章讨论了视觉SLAM的开放性问题和发展趋势;最后在第6章得出结论。

2. 基于几何学的视觉SLAM

理论上,基于几何理论的视觉SLAM方法主要依赖于从图像中提取几何约束来估计运动。由于这些方法源于优雅且成熟的原理,并得到了广泛研究,因此大多数最先进的视觉SLAM算法都属于这一类。它们可以进一步分为基于特征的方法和直接法[14]。

2.1 基于特征的方法

首个基于特征的单目视觉SLAM由戴维森等人于2003年提出,称为MonoSLAM[15]。MonoSLAM被认为是一种典型的基于滤波的视觉SLAM方法。在MonoSLAM中,使用扩展卡尔曼滤波器(EKF)同时估计相机运动和未知环境的三维结构。相机的六自由度(DoF)运动以及特征点的三维位置在EKF中被表示为一个状态向量。在预测模型中,假设运动是匀速的,并将特征点跟踪的结果作为观测结果。根据相机的移动,新的特征点会被添加到状态向量中。该方法的问题在于计算量随着环境规模的增大而增加。在大环境中,由于特征点数量众多,状态向量的尺寸增大,此时难以实现实时计算。

为了解决MonoSLAM中的计算量问题,PTAM[2]将跟踪和地图构建分别分配到中央处理器的不同线程上。这两个线程并行执行。因此,地图构建的计算成本不会影响跟踪。因此,可以在地图构建中使用需要在优化过程中进行大量计算的BA(Bundle Adjustment)[16]来实现对特征点三维位置的估计,并允许实时跟踪相机的运动。PTAM是首个将BA集成到实时视觉SLAM算法中的方法。PTAM的一个重要贡献是在视觉SLAM中引入了基于关键帧的地图构建。PTAM发布之后,大多数视觉SLAM算法都采用了这种多线程方法,包括ORB‐SLAM和LSD‐SLAM。

Mur‐Artal等人[17]提出的ORB‐SLAM继承了PTAM的框架,并替换了大部分模块,是迄今为止最成功的基于特征的视觉SLAM系统之一。 ORB‐SLAM提出了将单目相机用于大规模环境,该方法已展现出优异的性能。随后,ORB‐SLAM2从单目相机扩展到了双目和RGB‐D相机[22]。

2.2 直接方法

与基于特征的方法不同,直接方法不依赖于人工设计的稀疏特征,而是构建一个优化问题,直接从像素信息(通常是光度误差)中估计相机运动。直接方法省去了提取特征的时间,但导致优化问题的规模远大于基于特征的方法。

Newcombe等人提出了一种密集跟踪与建图(DTAM)系统[23],该系统通过最小化全局空间正则化能量函数为每个关键帧计算稠密深度图。相机位姿通过将整幅图像直接与深度图对齐来确定。该方法计算密集型,只能通过GPU实现。

为了减少计算量,Forster等人提出了一种半直接视觉里程计(SVO)[24]算法,该算法使用特征对应关系。仅在选择关键帧以初始化新的三维点时才需要进行特征提取。在嵌入式计算机的微型飞行器(MAVs)上,SVO算法运行速度超过50帧每秒。Engel等人随后通过引入大规模直接单目SLAM(LSD‐SLAM)[25]对SVO进行改进,LSD‐SLAM可在大尺度环境中使用中央处理器(CPU)运行。LSD‐SLAM采用直接图像对齐方法,并结合基于滤波的半稠密深度图估计,而全局地图则表示为由关键帧作为顶点、以三维相似变换作为边的位姿图,能够处理环境的尺度变化,并可检测和校正累积漂移。Engel等人进一步改进了直接方法,提出了直接稀疏里程计(DSO)。DSO联合优化光度误差和几何误差,并联合优化所有模型参数。实验结果表明,该方法在一些无特征环境中表现出良好的鲁棒性。

3. 使用深度学习的视觉里程计

基于特征的方法使用各种特征检测器来检测显著特征,例如FAST[21]、SURF(加速稳健特征)[26]、BRIEF[20]和Harris[27]角点检测器。然后使用特征点跟踪器在下一帧序列的框架中跟踪这些特征点;最常用的跟踪器是KLT跟踪器[28, 29]。跟踪器输出的是光流,之后可以使用Nister提出的相机参数[30]来估计自我运动。大多数相关工作都遵循这种检测特征点并进行跟踪的通用方法,如[31, 32]所示。该领域的一些较新研究采用了PTAM[2]方法,如[33–35]所示。

视觉里程计的直接方法直接依赖于图像中的像素强度值,并在传感器空间中最小化误差,从而避免了后续的特征匹配与跟踪。然而,这些方法需要平面性假设。早期的直接单目SLAM方法,如金等人[36]、莫尔顿等人[37]和席尔维拉等人[38]采用了来自运动恢复结构(SfM)的滤波算法,而普雷托等人[39]和克里热夫斯基[40]则使用了非线性最小二乘估计。其他方法,如DTAM[23],则需要大量的GPU并行性。

为了降低这种巨大的计算需求,许多研究人员尝试将深度学习方法应用于视觉里程计问题,他们的工作可分为监督方法和非监督方法。

3.1 监督方法

Vikram等人[10]提出了一种用于分析单目视觉里程计的DeepVO框架。该框架由两个并行的AlexNet[40]组成,并在最后一个卷积层末尾进行拼接,以生成全连接层。他们在已知环境中对DeepVO进行了测试,数据被划分为训练和测试序列。实验结果表明其具有竞争力的性能。Costante等人[41]提出了一种卷积神经网络(CNN),通过并行学习从全局和局部图像中提取的密集光流[42]。

王等人[14]提出了一种基于深度循环卷积神经网络(RCNN)的单目视觉里程计端到端框架,该框架由基于CNN的特征提取和基于RNN的序列建模组成。首先,将图像输入卷积神经网络(CNN)以生成适用于单目视觉里程计的有效特征,然后将学习到的特征通过循环神经网络(RNN)进行序列处理学习。在KITTI[43] VO数据集上的实验表明,该方法具有与最先进的方法相媲美的性能。作者随后扩展了这项工作,加入了不确定性估计,并对移动机器人、飞行机器人和人体运动进行了评估[44]。Melekhov等人[45]还提出了一种基于卷积神经网络的相对相机位姿估计系统。

类似于Wang、Turan等人的框架[46],提出了一种用于胶囊内镜机器人操作的单目视觉里程计(VO)方法。所提出的深度学习网络由三个Inception层和两个LSTM层依次串联组成。

3.2 无监督方法

周等人[11]提出了一种以视图合成为监督信号的无监督学习框架。该方法使用单视图深度和多视图位姿网络,并基于通过计算得到的深度和位姿将邻近视图扭曲至目标视图的损失函数。该系统无法从学习单目图像中恢复尺度。

受Zhou等人[11]和Vijayanarasimhan等人[47]的启发,提出了SfM‐Net,一种用于视频中运动估计的几何感知神经网络,该网络将帧间像素运动进行分解在场景和物体深度、相机运动以及三维物体旋转和平移方面。该模型可以通过不同程度的监督进行训练:通过重投影光度误差进行自监督(完全无监督)、通过自我运动(相机运动)进行监督,或通过深度信息进行监督(例如由RGBD传感器提供)。

Mahjourian等人[48]还专注于从单目视频中学习深度和自我运动,通过结合基于三维的损失和二维损失,利用估计的深度和相邻帧的自我运动来评估帧重建的光度质量。他们还引入了有效性掩码,以避免对无用信息区域进行惩罚。Nguyen等人提出了一种混合方法,将深度学习与基于特征的方法相结合;他们使用特征计算单应性估计。该网络架构基于VGGNet[49]。Zhan等人[50]提出了一种并行CNN框架,实验表明,联合训练单视图深度和视觉里程计能够改善深度预测,因为对深度施加了额外约束,并在视觉里程计任务上取得了具有竞争力的结果。

Li等人[51]提出了一种名为UnDeepVO的单目视觉里程计(VO)系统,该系统利用深度神经网络估计单目相机的六自由度位姿及其视图的深度,并使用立体图像对来恢复尺度。他们通过连续单目图像进行了测试。在KITTI[43]数据集上的实验表明,UnDeepVO在位姿精度方面表现出良好的性能。

4. 基于深度学习的回环检测

回环检测的目标是使机器人具备识别相同场景的能力。换句话说,机器人能够判断自己是否曾经到达过该地点[53–55]。这一问题一直是大规模SLAM和从严重错误中恢复的主要障碍之一。另一个出现的问题是感知歧义[56, 57],即两个不同地点被误认为是同一地点。即使使用相机作为传感器,由于环境的重复性(例如走廊、相似的建筑元素或布满灌木的区域),这一问题依然存在。一个好的回环检测方法不能产生任何误报,并且必须尽可能减少漏报。

Ho等人[52]使用相似性矩阵来编码所有对象之间的相似性关系捕获图像中的可能配对。他们通过奇异值分解证明,即使存在重复且视觉上模糊的图像,仍可实现回环检测。伊德 E等人[56]提出了一种统一的方法,用于在单目视觉SLAM实时问题中从跟踪失败中恢复并检测回环。他们还提出了一种称为GraphSLAM[57]的系统,其中每个节点存储路标,并利用ORB‐SLAM[17]维持节点间变换的估计,采用BoW[19]进行回环检测。

由于卷积神经网络和深度学习在计算机视觉领域的巨大发展和成功,自主机器人中的一个近期趋势是利用学习特征而非手工设计的传统特征来解决视觉问题,特别是视觉SLAM系统中的回环检测问题。

4.1 监督方法

一些研究小组尝试使用预训练的卷积神经网络模型作为特征生成器来获取整幅图像的表示,并在多个数据集上进行了验证。他们得出结论:卷积神经网络特征在应对环境的视角、光照和尺度变化方面更具鲁棒性[49, 60–62]。

Naseer等人通过GoogLeNet[63]和AlexNet[41]构建了一个Caffe模型,用于跨季节的回环检测。该模型在Places[64]数据库上进行了预训练。此外,还构建了基于相似性矩阵的有向数据关联图,以利用序列信息。在[65]中,Bai等人也使用卷积神经网络(CNN)提取特征,并尝试通过特征压缩方法提高回环检测的实时性能。此外,他们采用了O‐SeqCNNSLAM[66]作为图像描述符,该方法基于SeqCNNSLAM,能够实现实时性能和在线参数调整。

Zhang等人[67]通过对卷积神经网络(CNN)特征进行主成分分析(PCA)和白化步骤预处理;该框架如所示。通过这种方式,高维特征被投影到低维空间,从而使检测过程更加高效。

4.2 无监督方法

高等人[68]提出了一种无监督方法,其中采用堆叠自编码器来学习特征,通过在传统自编码器的目标函数中添加去噪、稀疏性和连续性代价项来进行修改,并通过实验评估损坏的影响。此外,基于自编码器的方法在[69]中对输入数据施加随机噪声,并利用方向梯度直方图(HOG)[70]提供的几何信息和光照不变性,迫使编码器重建一个HOG描述符。

基于堆叠去噪自编码器(SDA),高等人[13]提出了一种多层神经网络,该网络能够以无监督的方式从原始输入数据中自主学习压缩表示。基于SDA,Wang等人[71]提出了一种图正则化堆叠去噪自编码器(G‐SDA)网络和流形学习图正则化结构。与词袋(BoW)方法、OpenFABMAP算法以及传统的SDA方法相比,该方法实现了更优性能。

5. 发展趋势

基于几何的SLAM方法已实现了高精度和实时性,但这些算法在不同光照条件下容易失效,原因包括人员或物体的移动、无特征区域的出现、昼夜交替或其他不可预见的情况。

随着深度学习在各种视觉任务中展现出的强大能力,人们的关注逐渐转向了深度学习解决方案。此外,具备学习或自适应能力的视觉SLAM系统是一个值得进一步探索的因素。深度学习的成功主要依赖于在超级计算机上的长期训练以及专用GPU硬件的使用实现一次性结果。SLAM研究人员面临的一个挑战是如何在嵌入式系统中提供足够的计算能力。一个更大且更重要的挑战是在线学习与自适应,这对于任何未来的长期视觉SLAM系统都至关重要。

大多数现有网络倾向于使用大量标注数据进行训练,但并不总能保证存在合适的数据集。利用少量标注数据和大量未标注数据进行训练的半监督网络,是视觉SLAM未来发展的重点方向之一。

视觉SLAM系统通常在开放世界中运行,在此环境中可能会遇到新物体和场景。但迄今为止,深度学习网络通常针对封闭世界场景进行训练。深度学习网络在其训练数据集上往往表现良好,但在未训练数据集上容易失败。一个主要挑战是使深度学习网络能够应用于终身学习视觉SLAM系统。

6. 结论

基于几何学的视觉SLAM知识在设计基于深度学习的方法的网络架构、损失函数和数据表示方面具有重要价值。大规模数据集的可用性是深度学习方法广泛应用的关键。采用无监督学习的尝试有望进一步巩固深度学习对视觉SLAM的贡献。

您可能感兴趣的与本文相关的镜像

Qwen3-8B

Qwen3-8B

文本生成
Qwen3

Qwen3 是 Qwen 系列中的最新一代大型语言模型,提供了一整套密集型和专家混合(MoE)模型。基于广泛的训练,Qwen3 在推理、指令执行、代理能力和多语言支持方面取得了突破性进展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值