Visual SLAM:What are the Current Trends and What to Expect?

近年来,基于视觉的传感器在同步定位与测绘(SLAM)系统中表现出了显著的性能、准确性和效率提升。视觉同步定位与映射(VSLAM)方法是指使用相机进行姿态估计和地图生成的SLAM方法。我们可以看到许多研究成果证明VSLAM的性能优于传统方法,传统方法只依赖于一个特定的传感器,如激光雷达,即使成本较低。VSLAM方法利用不同类型的相机(如单目、立体和RGB-D),在不同的数据集(如KITTI、TUM RGB-D和EuRoC)和不同的环境(如室内和室外)上进行了测试,并采用多种算法和方法来更好地理解环境。前面提到的变化使这个话题受到研究人员的欢迎,并产生了广泛的VSLAM方法。在这方面,本调查的主要目的是介绍VSLAM系统的最新进展,以及讨论现有的挑战和趋势。我们对VSLAM领域发表的45篇有影响力的论文进行了深入的文献调查。我们根据不同的特征对这些稿件进行了分类,包括新颖性领域、目的、采用的算法和语义层次。我们还讨论了当前的趋势和未来的方向,可能有助于研究人员研究它们。

Introduction

同步定位与映射(Simultaneous Localization and Mapping, SLAM)是指估算未知环境的映射,同时监视代理的位置[1]的过程。在这里,代理可以是家庭机器人[2]、自动驾驶车辆[3]、行星漫游者[4],甚至是无人机 (UA V)[5]、[6]或无人车 (UGV)[7]。在环境的先验地图不可用或机器人的位置未知的情况下,SLAM可以用于覆盖广泛的应用。在这方面,并考虑到机器人技术日益增长的应用,SLAM近年来得到了工业界和研究界成员的极大关注[8],[9]

SLAM系统可以使用各种传感器从环境中收集数据,包括基于激光的传感器、声学和视觉传感器[10]。视觉传感器类别涵盖各种视觉数据探测器,包括单目、立体、基于事件、全方位和RGB-D相机。装有视觉传感器的机器人利用摄像机提供的视觉数据来估计机器人相对于周围环境[11]的位置和方向。使用视觉传感器执行SLAM的过程被称为视觉同步定位与映射(VSLAM)。SLAM应用程序中使用可视化数据具有较低的硬件需求、更直接的对象检测和跟踪以及提供丰富的可视化和语义信息[12]的能力等优点。捕获的图像(或视频帧)也可以用于基于视觉的应用程序,包括语义分割和对象检测,因为它们存储了大量的数据用于处理。上述特征最近使VSLAM成为机器人领域的一个热门话题,并促使机器人和计算机视觉(CV)专家在过去几十年进行了大量的研究和调查。因此,VSLAM可以在各种类型的应用程序中找到,在这些应用程序中重构环境的3D模型是必不可少的,如自主、增强现实(AR)和服务机器人[13]。

作为[14]为解决高计算成本而引入的通用基准测试,SLAM方法主要包含两个要并行执行的入门线程,称为跟踪和映射。因此,VSLAM中使用的算法的基本分类是研究人员如何在每个线程中使用不同的方法和策略。根据使用的数据类型,上述解决方案对SLAM系统的看法不同,可以将它们分为两类:直接方法和间接(基于特征的)方法[15]。间接方法通过处理场景来提取从纹理中获得的特征点(即关键点),并通过匹配连续帧中的描述符来跟踪它们。尽管特征提取和匹配阶段的计算成本很高,但这些方法对帧强度的光测量变化具有精确和鲁棒性。另一方面,直接算法直接从像素级数据估计相机运动,并建立一个优化问题,以最小化光测量误差。这些方法依靠摄影测量,利用相机输出的所有像素,并在连续帧中跟踪它们的替换,针对它们的约束方面,如亮度和颜色。这些特性使得直接方法比间接方法能够从图像中建模更多的信息,并实现更高精度的三维重建。然而,直接方法虽然在无纹理环境下工作效果更好,且不需要更多的计算量进行特征提取,但往往面临大规模优化问题[16]。每种方法的优点和缺点鼓励研究人员考虑开发混合解决方案,其中考虑两种方法的组合。混合方法通常集成间接和直接检测阶段,其中一个初始化和纠正另一个。

由于VSLAM主要包括一个视觉里程计(VO)前端,用于局部估计相机的路径,以及一个SLAM后端,以优化创建的地图,在每个类别中使用的模块的多样性导致实现的变化。VO根据局部一致性提供机器人位置和姿态的初步估计,并发送到后端进行优化。因此,VSLAM和VO的主要区别在于是否考虑映射和预测轨迹的全局一致性。一些最先进的VSLAM应用程序还包括两个附加模块:环路关闭检测和映射[15]。它们负责识别之前访问过的位置,以便根据相机姿势进行更精确的跟踪和地图重建。

总的来说,图1显示了一个标准VSLAM方法的总体架构。因此,系统的输入也可以与其他传感器数据集成,如惯性测量单元(IMU)和激光雷达,提供更多的信息而不是视觉数据。此外,对于VSLAM管道中使用的直接或间接方法,可视特征处理模块的功能可能会被更改或忽略。例如,“特征处理”阶段只在间接方法中使用。另一个因素是利用一些特定的模块,如闭环检测和束调整,以提高执行力。

1所示,标准可视化SLAM方法的流程图。关于使用的直接/间接方法,其中一些模块的功能可能会改变或忽略。

EVOLUTION OF VISUAL SLAM ALGORITHMS

VSLAM系统在过去的几年里已经成熟,并且有几个框架在这个开发过程中发挥了至关重要的作用。为了提供一个概貌,图2展示了广泛引用的VSLAM方法的里程碑,这些方法影响了社区,并被用作其他框架的基线

2所示。具有高度影响力的Visual SLAM方法的里程碑。

因此,文献中第一个实现实时单目VSLAM系统的努力是由Davison等人在2007年开发的,他们介绍了一个名为Mono-SLAM[17]的框架。他们的间接框架可以利用扩展卡尔曼滤波器(EKF)算法[18]来估计世界上的摄像机运动和3D元素。尽管缺乏全局优化和闭环检测模块,Mono-SLAM在VSLAM领域开始起主要作用。然而,用这种方法重建的地图只包括地标,并没有提供关于该地区的进一步详细信息。Klein等人同年在[14]中提出了并行跟踪与映射(Parallel Tracking and Mapping,PTAM),他们将整个VSLAM系统划分为两个主要线程:跟踪和映射。这个多线程基线在以后的工作中得到了许多后续工作的认可,本文将对此进行讨论。他们方法的主要思想是减少计算成本,并应用并行处理来实现实时性能。跟踪线程实时估计相机运动,映射预测特征点的三维位置。PTAM也是第一个利用束调整(BA)来联合优化相机姿势和创建的3D地图的方法。该算法利用加速分段测试(FAST)[19]角点检测算法的特征进行关键点匹配和跟踪。尽管该算法的性能优于Mono-SLAM,但设计复杂,第一阶段需要用户输入。Newcombe等人[20]在2011年引入了密集跟踪和映射(Dense Tracking and Mapping,DTAM),这是一种直接测量深度值和运动参数的方法。DTAM是一个配备了密集映射和密集跟踪模块的实时框架,可以通过将整个帧与给定的深度图对齐来确定相机姿势。为了构建环境图,上述阶段分别估计场景的深度和运动参数。尽管DTAM可以提供地图的详细表示,但它需要很高的计算成本来实时执行。作为3D映射和基于像素的优化领域的另一种间接方法,Endres等人[21]在2013年提出了一种可用于RGB-D相机的方法。他们的方法实时执行,专注于低成本的嵌入式系统和小型机器人,但它不能在无特征或具有挑战性的场景中产生准确的结果。同年,Salas-Moreno等人[22]提出了在实时SLAM框架中利用语义信息的第一个尝试之一,命名为SLAM++。他们的系统采用RGB-D传感器输出,并执行3D相机姿态估计和跟踪,以形成一个姿态图。位姿图是一种图,其中的节点表示位姿估计,并由表示测量不确定性[23]的节点之间的相对位姿的边连接。然后,通过合并从场景中语义对象获得的相对3D姿势,对预测的姿势进行优化。

随着VSLAM基线的不断成熟,研究人员将注意力集中在提高这些系统的性能和精度上。在这方面,Forster等人在2014年提出了一种混合VO方法,称为半直接视觉里程计(SVO)[24],作为VSLAM体系结构的一部分。他们的方法可以合并基于特征的方法和直接方法来执行传感器的运动估计和映射任务。SVO可以同时使用单目和立体摄像机,并配备了位姿优化模块,以尽量减少重投影误差。然而,SVO的主要缺点是使用短期数据关联,不能执行闭环检测和全局优化。LSD-SLAM[25]是Engel等人在2014年推出的另一种有影响力的VSLAM方法,包含跟踪、深度地图估计和地图优化线程。该方法可以利用其姿态图估计模块重构大规模地图,并具有全局优化和闭环检测功能。LSD-SLAM的缺点是它具有挑战性的初始化阶段需要在一个平面上的所有点,这使得它成为一种计算密集型的方法。Mur Artal等人介绍了两种精确的间接VSLAM方法,目前已引起许多研究人员的注意:ORB-SLAM[26]和ORBSLAM 2.0[27]。这些方法可以在纹理良好的序列中完成定位和映射,并利用定向FAST和旋转BRIEF (ORB)特征进行高性能的位置识别。ORBSLAM的第一个版本能够使用从相机位置收集的关键帧计算相机位置和环境的结构。第二个版本是对ORB-SLAM的扩展,具有三个并行线程,包括用于查找特征对应的跟踪,用于映射管理操作的局部映射,以及用于检测新循环和纠正漂移错误的闭环。虽然ORB-SLAM 2.0可以在单目和立体相机设置下工作,但由于重构地图的比例未知,它不能用于自主导航。这种方法的另一个缺点是它不能在无纹理的区域或具有重复模式的环境中工作。该框架的最新版本被命名为ORB-SLAM 3.0,于2021年[28]提出。它适用于各种类型的相机,如单目,RGB-D和立体视觉,并提供改进的姿态估计输出。

近年来,随着深度学习在各个领域的显著影响,基于深度神经网络的方法可以通过提供更高的识别和匹配率来解决许多问题。类似地,在VSLAM中用学习到的特征代替手工制作是许多近期基于深度学习的方法提出的解决方案之一。在这方面,Tateno等人提出了一种基于卷积神经网络(CNNs)的方法,该方法处理用于相机姿态估计的输入帧,并使用关键帧进行深度预测,称为CNN-SLAM[29]。将相机帧分割成更小的部分以更好地理解环境是CNN-SLAM提供并行处理和实时性能的想法之一。作为一种不同的方法,Engel等人还在直接VSLAM算法中引入了一种新的趋势,称为直接稀疏里程计法(direct Sparse Odometry, DSO)[30],该算法将直接方法与稀疏重建相结合,提取图像块中强度最高的点。通过对稀疏像素集的跟踪,考虑图像形成参数,采用间接跟踪方法。需要注意的是,DSO只能在使用光测量校准的相机时提供完美的精度,而不能在使用常规相机时获得高精度的结果。

简而言之,VSLAM系统发展过程中的里程碑表明,最近的方法关注于多个专用模块的并行执行。这些模块形成了与广泛的传感器和环境兼容的通用技术和框架。上述特性使它们能够实时执行,并且在性能改进方面更加灵活。

RELATED SURVEYS

在VSLAM领域有各种调查论文,对不同的现有方法进行了一般性的回顾。这些论文中的每一篇都回顾了使用VSLAM方法的主要优点和缺点。Macario Barros等人[31]将方法分为三个不同的类别:仅视觉(单目)、视觉惯性(立体)和RGB-D。他们还提出了各种简化VSLAM算法分析的标准。然而,它们不包括其他视觉传感器,如基于事件相机的传感器,我们将在后面的IV -A中讨论。

Chen等人回顾了广泛的传统和语义VSLAM出版物。他们将SLAM开发时代划分为经典阶段、算法分析阶段和健壮感知阶段,并介绍了其中的热点问题。他们还总结了使用直接/间接方法的经典框架,并研究了深度学习算法在语义分割中的影响。尽管他们的工作为该领域的高级解决方案提供了全面的研究,但方法的分类仅局限于基于特征的VSLAM中使用的特征类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值