博客专栏

EEPW首页 > 博客 > 视觉/视觉惯性SLAM最新综述:领域进展、方法分类与实验对比(1)

视觉/视觉惯性SLAM最新综述:领域进展、方法分类与实验对比(1)

发布人:计算机视觉工坊 时间:2021-07-26 来源:工程师 发布文章

Visual and Visual-Inertial SLAM: State of the Art, Classification,and Experimental Benchmarking

作者:Myriam Servières, Valérie Renaudin, Alexis Dupuis, and Nicolas Antigny

论文地址: https://www.hindawi.com/journals/js/2021/2054828/

1.png

摘要:SLAM技术现在被许多应用广泛采用,研究人员已经就这个领域产生了非常多的文献。随着智能设备的出现,嵌入摄像头、惯性测量单元、视觉 SLAM (vSLAM) 和视觉-惯性 SLAM (viSLAM) 正在实现新颖的大众应用。在这种情况下,本文对现有的 SLAM 方法进行了回顾,重点是 vSLAM/viSLAM,无论是在基础层面还是实验层面。从现有 vSLAM 和 viSLAM 设计的结构化概述开始,并继续对十几种主要的最先进方法进行新分类。利用 viSLAM 发展的时间顺序突出了历史里程碑,并将更新的方法归类为一个分类。最后,在城市环境中使用手持设备进行行人位姿估计的用例进行SLAM 的性能评估。使用 EuRoC MAV 数据集和与城市行人导航对应的新的视觉-惯性数据集,比较了五种开源方法 Vins-Mono、ROVIO、ORB-SLAM2、DSO 和 LSD-SLAM 的性能。对计算结果的详细分析确定了每种方法的优点和缺点。使用两个数据集进行测试结果表明,总的来说,ORB-SLAM2 似乎是解决城市行人导航挑战中最有前途的算法。

I 引言

SLAM 问题自 1980 年代提出以来一直是最活跃的研究课题之一 [1, 2]。SLAM 的目标是在重建周围环境地图的同时获得设备路径的全局一致估计。这两个核心任务之间的耦合很快被发现是 SLAM 方法的真正优势。这种二元性也促进了它的多样化。通过赋予地图或定位的重要性,SLAM 已从唯一的机器人领域扩展,成为解决许多不同性质问题的参考:从微型飞行器 [3] 到智能手机上的增强现实 (AR) [ 4, 5]。

对现有的 SLAM 算法(实时、廉价的传感器)增加了更高的期望,从而导致了 SLAM 的新研究领域。仅使用相机的视觉 SLAM (vSLAM) 和使用惯性IMU的视觉-惯性 SLAM (viSLAM) 很好地说明了这些新的 SLAM 策略。在过去的几十年中,vSLAM 可能吸引了大部分研究。相机捕获有关观察环境的大量数据,可以提取这些数据并用于 SLAM 处理。这些相机也是最便宜的传感器之一。它们出现在当今大多数智能设备上,支持针对普通大众的新型应用程序的持续开发。

由于存在许多针对不同目标的不同 SLAM 方法,因此比较它们并不容易。为特定应用选择最适合的方法需要对 SLAM 的来龙去脉有很好的了解,以及对最先进的 SLAM 策略的全局理解。方法的性能取决于应用程序上下文和要解决的挑战。在全局范围内,SLAM 往往被错误地认为是一种万能的技术,但在现实生活中的实施会在计算限制、噪声抑制甚至用户友好性方面提出许多问题。这只是要克服的困难的一个选择。

本文旨在对现有的 vSLAM 和 viSLAM 方法进行分类。基于技术和面向应用的标准提出了横向分类。SLAM 方法的综述包含 vSLAM 和 viSLAM 发展的历史介绍。该分析是通过在两个不同的数据集上运行五种选定的最先进的 SLAM 方法来完成的,这些方法已被选择用来表示现有 SLAM 设计的多样性。这些方法最好地解决了城市环境中行人位姿估计的用例。该实验基准在著名的公共数据集 EuRoC [6] 上进行,并使用新的视觉惯性数据集完成,该数据集已通过法国南特市中心行人手持的智能设备采集(IRSTV 数据集)。

支持此综述和基准测试的主要动机是在城市行人移动性的特定背景下评估 vSLAM 和 viSLAM 方法,并在过程中使用增强现实 (AR)。在这种情况下,其结果应该有助于选择最合适的方法来估计手持智能设备的位姿。行人的手正在执行 6DoF 运动。寻找流行的基准数据集,发现这些运动与微型飞行器的运动相似。本文首先根据文献中方法的特征和它们对各种场景的鲁棒性(第 6 节)对来自文献的方法进行分类,以选择数据集。选择最接近行人移动性要求和环境的数据集与新引入的 IRSTV 行人数据集(第 7 节)进行比较。

第 2 节列出了 SLAM 方法的现有综述论文和基准,其方法与本工作中采用的方法不同。第 3 节描述了 SLAM 算法设计的第一级:硬件和通用软件选择。第 4 节描述了 vSLAM 算法的一般架构。它确定并详细说明了四个组成“块”。第 5 节概述了 SLAM 的历史,分为三个时期。第 6 节介绍了 vSLAM 和 viSLAM 方法的新分类。最后,第 7 节介绍了基于 EuRoC 和 IRSTV 数据集进行的实验基准测试,并对选定数据集上的 SLAM 结果进行详细分析。

2. 现有综述和基准

几篇综述论文简要介绍了特定时间 SLAM 的研究状况。各种论文提出了其他实验基准。它们告知了最著名的 SLAM 方法在给定数据集上的性能。本节列出了其中一些论文以进行理论基准测试。还列出了它们以支持将第 7 节中进行的实验基准与其他最先进的评估进行比较。

2.1. Survey Papers

在 [7] 中可以找到关于 vSLAM 算法的有趣且完整的综述,尽管有些陈旧。在 [8] 中,作者介绍了最先进的 SLAM 方法与 vSLAM 中最著名的算法之间的一些主要区别,并对 viSLAM 进行了非常有用的介绍。但是,作为综述,它主要提供了有关该主题的高级解释。可以在 [9] 中找到仅限于视觉里程计和视觉 SLAM 的概述。两篇了解 SLAM 研究起源的创始论文在 [10, 11] 中。他们还主要专注于视觉里程计和 viSLAM 的子部分。Durrant-Whyte 和 Bailey [12, 13] 的 2006 年论文提供了关于 viSLAM 的丰富教程。它们包含对 SLAM 问题数学公式详细介绍,但缺乏对最近 vSLAM 的更新介绍。Cadena 等人的论文 [14] 可以被认为是 viSLAM 领域的一本手册。最近的综述[15] 列出并分类了基于滤波和基于优化的 viSLAM 算法,并使用 EuRoc 数据集对它们进行了比较。发现这些论文都没有完整地介绍该领域,即从技术和历史琐事到实际性能比较。因此,本文的工作旨在促进新研究工作与 SLAM 的比较,并协助未来的位姿估计研究。现有技术提出了主要的 vSLAM 方法来解释设计和硬件选择对性能的影响。vSLAM/viSLAM 分类提供了许多现有实现的多样性的概述和比较。此外,随后在第 6 节中提出的分类将在其他评论中部分发现但不一定一起呈现的特征组合在一起。

2.2. Benchmarks

第一个基准 [16] 仅关注 RGB-D SLAM。另一个专门用于视觉惯性方法的基准 [3],在多个平台上评估紧耦合的视觉惯性里程计 (VIO) 和 viSLAM 方法,以模拟飞行无人机的实际应用。测试仅在 EuRoC 数据集(即中等室内环境)上执行。它通过比较六种最先进算法的准确性、内存和 CPU 使用率以及计算时间,为 viSLAM 算法提供了最完整的基准测试之一。S-MSCKF 论文 [17] 也比较了一些 viSLAM 方法。vSLAM 方法通常在不包含惯性数据的the new college [18]、TUM 单目 [19] 或 TUM RGB-D 数据集 [16] 上进行测试。EuRoC数据集不能用于比较最新的 viSLAM 方法。

3. 硬件和一般设计选择

SLAM 和视觉里程计 (VO) 在文献中通常是同义词,因为它们都是解决类似问题的潜在选择,但它们针对不同的目标。VO 专注于实时估计相机的路径。它是按顺序完成的,每次捕获一个新帧。VO 仅提供局部/相对估计,并通过窗口优化在线细化路径。相反,SLAM 提供了对设备路径的全局一致估计。回环检测通过执行集调整 (BA) 来减少地图和轨迹估计中的漂移。为简化起见,VO 和 vSLAM 的行为类似,直到关闭回环。VO 通常用作 vSLAM 的结构模块,它也借用了3D 重建中的SfM方法。

在不需要构建精确地图的应用中,可以想象纯 VO 和 vSLAM。

3.1. Hardware for Visual SLAM

传统上,vSLAM 使用三种硬件类型:单目相机、双目相机和 RGB-D 相机。viSLAM 最近引起了越来越多的兴趣,因为 IMU 和相机具有互补的功能。相机在慢动作中是准确的,并提供丰富的信息源,但它们的输出速率有限,导致单目设置中的尺度模糊,并且在运动模糊或光照变化的情况下可能缺乏鲁棒性。另一方面,IMU 以高采样率对环境变化具有鲁棒性,但它们仅提供载体运动测量,并且受到传感器偏差的影响,这会降低加速度和角速度记录。随着同时嵌入 IMU 和摄像头的智能设备的出现,许多面向大众的应用都采用了 viSLAM 算法。它们是一种很有前途的替代方案,可以结合多个来源来提高跟踪质量 [20]。

3.2. Filter-Based and Keyframe-Based Approaches

如图 1 所示,vSLAM 方法使用两种主要设计。第一个设计对应于基于滤波器的解决方案。该类别包含以下内容:

(i) 基于扩展卡尔曼滤波(EKF-) 的算法,例如 MonoSLAM [21]

(ii) 基于粒子滤波的方法,例如 FastSLAM 及其单目 SLAM 替代方案 [22, 23]

(iii) 基于多状态约束卡尔曼滤波(MSCKF-)的方法,例如 MSCKF 2.0 [24] 或 SMSCKF [17]。

2.png

图1当前 vSLAM 算法

传统上,基于滤波器的方法在状态向量中估计相机的位姿和地标的位置,这是可扩展性低效的潜在来源。Mourikis 和 Roumeliotis [25] 的 MSCKF 以及最近基于 EKF 的 VIO 解决方案,例如 ROVIO [26],使用限制性的地标剔除以仅保留状态向量中最近检测到的特征。这种解决问题的局部方法对于纯视觉里程计方法(VO 或 VIO)很常见。也可以将从状态向量中提取的 3D 特征保留在静态地图中。该地图被认为是静态的,因为它在整个 SLAM 过程中保持不变。建图是在定位之后而不是同时进行的。

第二种设计利用源自 PTAM [27] 的并行方法。这些方法基于关键帧。这些特征相对于关键帧进行参数化,从而能够在多个线程上并行运行不同的 SLAM 任务。基于关键帧的方法有时也称为“基于优化”的方法。它们在性能方面的主要优势之一是它们使用全局优化集束调整 (BA),而不是让滤波管理地图和位姿。全局优化能够纠正漂移效应,从而提高精度。然而,它们的计算成本很高,这就是为什么在 PTAM [27] 引入并行化各种 SLAM 任务的可能性之前,它们大多被离线使用。就像基于滤波器的方法已经演变成窗口方法以提高计算效率和可扩展性一样,基于关键帧的优化只能在关键帧的窗口上进行。关键帧也可以排列在图表中。根据它们的设计,可以使用不同的标准来定义窗口,而不是使用最后一个关键帧的简单时间窗口。优化也因优化标准而异。位姿图优化(或仅运动 BA)侧重于关键帧之间的位姿,而仅结构 BA 仅优化地图,BA 管理地图和位姿。然而,应该注意的是,vSLAM 方法也可以结合各种类型的优化设计:例如,在每个新的关键帧上进行闭环的全局 BA 和局部位姿图优化。正如图 1 总结的那样,设计的选择通常是由精度和速度之间的折衷决定的。

4. vSLAM算法的经典结构

四个主要块(图 2)描述了所有 vSLAM 算法的整体操作。它们如下:

(i) 输入搜索:在传感器测量中找到所需的信息;

(ii) 位姿跟踪:根据新的感知确定当前相机位姿;

(iii) 建图:在地图上添加一个地标;

(iv) 闭环:生成合适的地图和无漂移的定位。

3.png

图2 vSLAM 算法的四个主要模块

4.1. Input Search

在处理相机时,首先必须提取帧中包含的数据。一些方法使用像素强度来匹配不同的帧:它们被称为直接方法。在这种情况下,建图元素可以是像素图,即帧在 3D 图中重新定位,并且每个像素都有相应的深度(第 4.3 节)。其他方法提取每一帧中的特征(图像感兴趣区域中的点,即易于识别,直线或曲线段)并使用几何约束进行匹配。特征提取是计算机视觉的一个众所周知的领域。特征描述符通常使用强度梯度来检测感兴趣的区域。在这种情况下,建图元素可以是特征的 3D 位姿。著名的描述符包括 Harris [28]、SURF [29]、SIFT [30]、FAST [31] 和 ORB [32]。选择通常是由健壮性和计算效率之间的权衡决定的。最后这些方法称为间接方法或基于特征的方法。

直接和间接之间的选择与输入空间有关,而稠密和稀疏建图之间的选择取决于输出空间。构建的地图从稀疏到稠密。稀疏地图仅包含稀疏特征云(即,仅图像帧中像素的一小部分选定子集)并且是专注于轨迹正确性的典型 vSLAM 方法。稠密方法使用所有帧的信息(即,每个接收帧中的大部分或全部像素信息)来重建具有尽可能多的环境数据的地图。半稠密方法介于两者之间。它们是稠密的方法,其中仅将特定的感兴趣区域建图。基于此分析可以想象的四种输入/输出组合各有利弊。表 1 总结了可能的组合,给出了使用它们的算法示例。

表 1 根据第一个 vSLAM 模块的输入和输出方法进行分类

4.png

直接和间接之间的选择仍在争论中。特征描述符对图像噪声具有鲁棒性。最近的描述符对于几何失真可能是稳健的,甚至是不变的,例如,由于卷帘快门、自动曝光变化和镜头渐晕。直接方法允许使用每个帧中包含的所有信息。它们避免提取特征并更快地收集地图数据。使用基本相机(例如网络摄像头或智能手机)时,间接方法因其稳健性而受到青睐。然而,对于参数化良好的全局快门相机,直接方法可能是首选。稠密方法产生更有趣的环境 3D 重建,但它们通常需要在高端 GPU 上进行大量并行化。

间接/稀疏方法是最常用的方法。他们提取帧中的特征,并在确定坐标后将其添加为 3D 点以进行建图。直接/稠密(或半稠密)方法也很常见。观察到的像素由图像帧中的一个 3D 点表示,构成所有像素的深度图。为了保持建图期间在每一帧中观察到的内部一致性,添加了几何先验。它们使用对场景几何形状的假设来限制从同一帧看到的点的位置。直接/稀疏方法相当不常见,并且在没有先验数据的情况下使用光度误差最小化,以保持几何参数之间的相关性更轻,优化耗时更少,如 DSO [33]。间接/稠密方法很少见,并且不使用特征描述符。相反,他们将几何误差计算为与帧中观察到的光流场的偏差。

4.2. Pose Tracking

位姿跟踪块包括视觉里程计部分。根据两个连续帧中的特征对应是 2D 还是 3D,有三种不同的方式来执行视觉里程计 [11]。

(i) 2D-2D 对齐:特征匹配直接在连续帧上检测到的 2D 特征之间完成。这是纯VO方法的常见解决方案;

(ii) 2D-3D(有时称为 2.5D)对齐:给定世界中的一组 3D 点(来自先前帧的地图点)及其在新帧中相应的 2D 投影,估计相机的位姿。这个问题被称为视角点。单目 pureVO 方法只能使用 2.5D 对齐,方法是保留帧、动态三角特征,并在这些三角点被新传入数据剔除之前重用 3D 位姿。相反,vSLAM 受益于完整的地标地图可供选择进行重投影,因此 vSLAM 中通常使用 2.5D 对齐

(iii) 3D-3D 对齐:使用双目相机,可以直接确定新检测到的特征的 3D 位置,因此也可以考虑 3D-3D 对齐。然而,3D 特征位置估计通常会产生比 3D-2D 重投影误差更大的不确定性,这就是为什么很少使用这种方法的原因。

对于单目 EKF-SLAM,地图点的重投影用于校正阶段 [38]。MSCKF 沿着一条“路径”跟踪检测到的特征,该路径由特征的每次检测组成,从第一次检测到它消失的那一刻。然后,它使用路径完整的所有特征执行高斯-牛顿最小化 [24]。对于并行方法,VO 可以在每一帧之间完成,而地图重投影可以用于提高新关键帧位姿估计的准确性。计算新相机位姿的先决条件是匹配当前帧和前一帧之间的特征。自 2003 年 MonoSLAM [21] 以来,“自下而上”方法(尝试通过测试所有可能性来匹配特征)已被更有效的“自上而下”方法所取代。基本思想是计算前一帧特征周围的不确定性椭圆,其中应该对该特征进行新的观察,并在新帧上限制该椭圆中的搜索空间。跟踪这个椭圆需要对两帧之间的相机运动进行一些假设,例如,CVCAV 运动模型(恒定速度,恒定角速度)[21]。通常可以通过确定最小化每个图像中三角点的重投影误差的变换来找到解决方案。通过 2D-3D 对齐,我们搜索最小化 3D 地标到新 2D 帧的重投影误差的变换。

使用几何参数完成特征的 2D-2D 对齐,再通过使用对极几何(5 点或 8 点算法)计算基本矩阵并将其分解为平移向量 t 和旋转矩阵 R(使用奇异值分解),并形成帧到帧的变换 T。在直接方法中,给定一个点 p,其像素坐标是图像 I1 中的 x 和 I2 中的 x',x'(T,x) 是运动 T 的函数,真实运动 T* 应该最小化光度差 I1(x)-I2(x')。因此,通过最小化图像中的整体光度差异来找到 T* 的最佳估计,这是像素级光度误差的总和(在某些区域可能加权,例如,具有高梯度)。这称为直接图像对齐 (DIA),相当于直接方法的 2D-2D 对齐。

在处理稠密模型时,通常使用迭代最近点 (ICP) [39-41] 使用当前帧的深度图和 3D 稠密模型进行跟踪。请注意,基于稠密模型重投影的跟踪可以受益于预测能力,例如提高对遮挡的鲁棒性,以及对运动模糊的鲁棒处理。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: 计算机视觉

相关推荐

技术专区

关闭