博客专栏

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

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

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

4.3. Mapping

建图块是指完全初始化新检测到的特征位置所需的操作,以便它可以位于环境的 3D 重建中,即地图。实际上,在位姿跟踪部分,我们假设地图上存在 3D 定位地标。然而,单目相机不能仅使用一次观察来确定特征的深度,而是需要几帧。与相机轨迹类似,我们可能希望估计地标位置的不确定性,以在初始化后对其进行细化或将它们包含在全局优化中。使用仅“部分初始化”的地标也很有趣,因为它们已经包含一些信息,例如在 PTAM [27] 中。直接方法本身不映射特征,但它们将捕获帧的每个像素(像素深度图)建图。

建图块可以用 3D 地标参数化来描述。可以使用笛卡尔坐标 (XYZ),但这种选择会导致严重的非高斯概率密度函数,并且会降低准确性和一致性。或者,齐次点 (HP)、锚定齐次点 (AHP) 和逆深度参数化 (IDP) 可抑制非线性并缩短初始化周期 [42]。

如 [42] 中所述,IDP 通过 6 维向量对反距离点 p 进行编码,该向量包含对应于“锚点” p0=(x0,y0,z0) 的初始化时间的欧几里得光学中心,即仰角和方位角,它们定义了初始光线 (e,a) 的方向和从 p0 到 3D 点 p 的欧几里得距离 d 的倒数 p。IDP 点可以通过使用矢量 V=(u,v,w) 和距离 p=||v||/d 的光线方向直接编码来参数化,从而避免对角度(e,a)。这对应于 AHP 参数化(7 个参数)。HP 类似于 AHP,但不需要锚点;相反,使用相机的原点,导致只有 4 个参数 V 和 p。假设相机位置的不确定性很小,使用这种参数化可以获得类似的结果。[42] 中的研究详细介绍了这些参数化,并给出了它们对 EKF-SLAM 结果影响的基准。

三角化的 3D 点是通过将来自至少两帧的 2D 图像对应关系的反向投影光线相交来确定的。实际上,它们从未真正相交,这导致地标位置存在不确定性区域。可以通过两种方式减少这种不确定性。可以使用更多的观测值,或者来自更远距离的光线可以改善定位。理想情况下,光线应以 90° 角相交以到达一个小的不确定圆,而不是一个拉伸的椭圆。可以跳过帧,直到 3D 点位置的平均不确定性降低到给定阈值以下以缓解此问题。选定的帧通常对应于关键帧。另请注意,远距离点更难以准确建图。

建图过程与 DTAM [34] 等直接方法略有不同。目标是通过为每个像素分配深度值,将捕获的帧变成“深度图”。它再次基于多视图重建。对于关键帧中的每个像素,都会跟踪一条像素射线,它对应于该像素的可能深度范围。与该关键帧重叠的所有帧池用于“观察”像素射线。能量函数最小化,例如用于空间正则化的光度误差和先验数据的 L1 范数和估计实际像素深度。RGB-D vSLAM 方法的建图过程更直接,因为深度是直接感应的。在每一帧中输入深度图。然后通过融合所有深度图来详细阐述环境的 3D 模型。这可以通过重叠扫描或通过执行融合方法来完成。

许多 SLAM 方法使用与环境中检测到的特征相对应的稀疏表示来重建场景。稠密贴图更常见于双目和 RGB-D 相机或激光扫描。最近的一项工作 [43] 创建了稠密结构的稠密地图建模。

4.4. Loop Closure

闭环是 SLAM 的支柱。它通过将先前访问过的位置的位姿与当前位姿重新连接来消除自上次闭环以来累积的漂移。优化和增量方法比基于粒子滤波和卡尔曼滤波等更成功,因为它们在轨迹估计上向后传播闭环数据。关键帧图经典地用于在并行方法中使用集束调整 (BA) 来校正姿势。在 [44] 中,作者综合了 BA 的 vSLAM 方法技术,并在附录中给出了集束调整主要发展的历史概述。最先进的 SLAM 系统通常用[45] 解决非线性最小二乘问题或 [46] 来优化 BA 中基于图的非线性误差函数。但是这些系统使用一些最后的测量值来实时估计位姿。为了使用先前的优化并减少计算,增量求解器(例如 [47])以实时方法解决非线性估计问题。每次使用底层因子图的稀疏结构添加新的测量值时,它们都会更新环境的估计模型。

闭环是一个两步过程。首先,它从闭环检测开始,也称为位置识别。位置识别过程可以用来解决轨道丢失恢复的问题,一般采用闭环线程。大多数方法使用词袋方法将新关键帧与先前获取的视图数据库进行比较。“词袋”是指一组描述符,用于识别图像中的补丁,如 [48] 提出的 DBoW2 方法,基于 FAST [31] 和稍加修改的 BRIEF 特征 [49]。框架和数据库之间相似词的目录搜索非常快速和高效。一旦发现潜在的相似性,多个验证步骤会验证它是否对应于一个闭环。其次,闭环校正地图和位姿。计算两个视图之间的转换并融合 3D 点。然后使用(局部)BA 沿着整个位姿图和地图分布关闭回环所需的计算。闭环过程的计算量可能很大。它通常在专用线程中完成。

5. vSLAM 方法的历史回顾

图 3 显示了 vSLAM 发展的年表,包括三个时期。第一个时期,这里标记为“经典时期”,专注于解决 SLAM 问题。提出了几个数学公式,首次有效地应用了SLAM。第二个时期,SLAM 研究的重点转向了基于视觉的方法。提出了几种 vSLAM 设计,并将新硬件(例如 GPU、RGB-D 相机和双目相机)集成到该过程中。这个“vSLAM 时期”与 [14] 所说的 SLAM 的“算法分析”时期一致。研究了 vSLAM 的基本特性,例如收敛性和一致性。vSLAM 成为开发 SLAM 方法的核心。“第三时期”致力于提高vSLAM的鲁棒性。目标是提高 vSLAM 的可靠性,以支持越来越多的现实生活应用程序(例如,无人机)。特别是,这个“第三时期”引入了 viSLAM 方法。

5.png

图3 具有里程碑和三个时期的 vSLAM 历史概述:从 SLAM 问题到 vSLAM,vSLAM 算法发展,以及 viSLAM 的出现。

5.1. The Classical Age

定位的历史始于 1960 年卡尔曼滤波的引入 [50],并在 1979 年由 Mayeck 通过扩展卡尔曼滤波(EKF) [51] 扩展到非线性系统。SLAM 问题在 1980 年代提出 [1, 2, 52],并在 1995 年证明收敛 [53]。在此期间,制定了一些 SLAM 方法,主要使用激光遥测仪、从不同来源计算的里程计并使用 EKF 实现,例如 Smith 等人早在 1988 年提出的方法(EKF-SLAM [38])。直到 2003 年戴维森等人提出 MonoSLAM [21] 之前,单目相机的使用非常罕见。他们仅使用一个网络摄像头、一台通用计算机就实现了它,并且没有里程计测量。这是第一个使用单个低成本视觉传感器的实时 SLAM 方法。定位和建图在 3D 中执行,而 SLAM 基于 EKF。为了解决初始化新点的问题,Davison 等人提出了一种基于粒子滤波器的新方法,以减少新检测到的视觉地标的景深不确定性。MonoSLAM 为所谓的 vSLAM 铺平了道路。

每个 EKF-SLAM,甚至是著名的 MonoSLAM,都存在复杂性,地图特征的数量是二次的。为缓解该问题进行了许多尝试,尤其是通过将地图划分为多个部分并在优化过程中仅使用活动子地图。它们都没有提供令人满意的一致性与计算成本的折衷。2002 年,在 Montemerlo 等人 [23] 提出的 FastSLAM 中,使用 Rao-Blackwellized 粒子滤波器代替 EKF。这种方法有效地降低了对数缩放的复杂性,并成功转换为单目 vSLAM,即 Eade 和 Drummond 在 2006 年提出的可扩展单目 SLAM [22]。

5.2. The Golden Age of vSLAM

即使 FastSLAM 方法的最小复杂度也严重限制了 SLAM 应用,尤其是捕获大量特征的 vSLAM。vSLAM 的最大突破是 Klein 等人在 2007 年引入了具有并行跟踪和建图 (PTAM) 的基于关键帧的解决方案 [27]。在其他改进中,这种新方法实现了任务并行化、更好地利用全局优化、减少了跟踪漂移,更重要的是一种具有自由可扩展性的存储特征的新方法。如今,几乎所有 vSLAM 算法都基于 PTAM 的概念。

vSLAM 通过集成高效的闭环方法、全局优化和基于关键帧和剔除的内存管理,以及多线程并行化实时执行过程,变得越来越可靠。因此,可以提出新的设计和硬件选择,扩大 SLAM 的可能性。由用例需求驱动的 vSLAM 开发成为可能。在此期间提出的主要 vSLAM 实现在第 6 节中有详细说明。

5.3. The Third Age: Improving the Robustness

在第三个时期,vSLAM 继续发展,尤其是针对特定场景提高鲁棒性。相机和 IMU 的耦合(viSLAM)成为一个重要的研究课题。在 2010 年代初期,考虑了现有 vSLAM 方法中 IMU 数据的松耦合 [54]。但混合滤波器迅速演变为“紧耦合”视觉惯性方法的设计,现在在配备 IMU 和相机的系统中非常流行。紧耦合 viSLAM 的一个重要改进是 2007 年由 Mourikis 和 Roumeliotis [25] 提出的 MSCKF(多态约束卡尔曼滤波器),在 2013 年通过 MSCKF 2.0 改进 [24],引入了新版本的卡尔曼滤波器,该滤波器在一个外感受器中结合了超时观察更新。还创造了其他非凡的方法。其中包括使用线而不是点特征来避免与运动模糊相关的问题,自 PTAM 以来仍在使用。其他作品使用 RGB-D 相机并在应用 SLAM 算法之前过滤与移动物体相关的数据以提高鲁棒性 [55, 56]。其他方法使用基于光流的方法来检测和丢弃动态特征[57]来缓解动态问题。一个结合 SLAM 和深度学习技术的新研究领域正在这个领域上出现。深度学习技术检测移动物体并支持 ORB-SLAM2 算法来构建准确的地图并在动态环境中定位移动机器人 [58]。在 [59] 中,作者出于相同目的使用语义分割和 RGB-D 相机。Rosinol 等人和 Yang 等人 [60, 61] 发表了使用语义分割和 SLAM 算法的最新作品。

当可以多次访问同一地点时,MapLab [62] 的工作允许大规模合并不同会话的不同地图。输出地图可用于从一个会话到另一个会话。

也许最近最有趣的趋势之一是使用事件相机,即仿生相机,以避免运动模糊的影响。由于事件摄像机的使用还很晚,因此不包括在我们的分类中。然而,Rosinol 等人于 2018 年发表的结果。关于 Ultimate SLAM [63] 混合使用基于事件的相机和视觉惯性里程计似乎非常有前途,并渴望为 vSLAM 开辟新的可能性。

最近的一项工作 [64] 优化局部和全局集束调整给出了可用于 viSLAM 算法以提高全局一致性的有希望的结果。

6. 建议的分类方法

几种方法推动了我们的分类工作。6.1 节根据输入对 vSLAM 方法进行分组。第 6.2 节根据耦合级别对 viSLAM 方法进行分组。最后,第 6.3 节根据硬件要求、算法类型和实现特征比较了主要的 v/viSLAM 方法。它通过根据应用程序要求对 v/viSLAM 性能进行交叉分析来完成。

6.1. Classification of vSLAM Methods

vSLAM 方法根据输入的性质分为三类:基于特征的、直接的和基于 RGB-D 的,如第 4 节所述。由于基于 RGB-D 的方法涉及特定的硬件,因此被视为一个完整的类别。图 4 显示了选择一些主要识别方法的分类结果。

6.png

图4 主要 vSLAM 方法的时间顺序分类

6.1.1. Feature-Based Methods

单目 EKF-SLAM MonoSLAM [21] 和粒子滤波器可扩展单目 SLAM [22],即单目 FastSLAM,属于基于特征的方法。突破性的并行跟踪和建图 (PTAM) [27] 属于同一类别。提出了对 PTAM 的几种改编。例如,[65] 中介绍了边缘特征的使用。另一个重要的方法是 ORB-SLAM [37]。

6.1.2. Direct Methods

第一个重要的直接方法是 2011 年的稠密跟踪和建图 (DTAM) [34]。它是稠密单目 vSLAM 方法的先驱,并于 2015 年通过 MobileFusion [66] 应用于智能手机。从 2016 年开始,一种更新的方法是直接稀疏里程计 (DSO) [33]:一种视觉里程计方法,它提出直接输入处理但稀疏建图以进行更轻量的处理。另一个主要的 vSLAM 方法是 2013 年和 2017 年的半直接视觉里程计(SVO)[67],它结合了 VO 框架中直接和间接输入搜索的优点。2014 年的大规模直接单目 SLAM(LSD-SLAM)[35] 是最早使用半稠密建图来解决大型环境的方法之一。

6.1.3. RGB-D Methods

RGB-D 方法还包括几种主要算法。2011 年,KinectFusion [68] 旨在使用 Microsoft Kinect 构建干净、准确的环境 3D 重建。2013 年的稠密 vSLAM [69] 侧重于利用密集地图进行精确定位。2015 年的 ElasticFusion [70] 是一种“以地图为中心”的方法,它更侧重于构建的 3D 模型的几何精度,而不是位姿图的构建。

6.2. Classification of viSLAM Methods

直接和间接特征可用于对 viSLAM 方法进行分类。其他综述也根据它们是基于滤波器还是基于优化的方法对 viSLAM 方法进行了分类 [15]。但大多数主要的 viSLAM 方法实际上都是基于特征的方法,而 viSLAM 主要处理混合问题。因此,图 5 所示的分类是基于视觉和惯性数据的耦合水平。我们区分两个层次:松耦合和紧耦合。

7.png

图5 主要视觉-惯性 SLAM 方法的时间分类。

6.2.1. Loose Coupling

松耦合方法分别处理 IMU 和图像测量,并使用这两种信息来跟踪位姿。Weiss 等人 [54] 处理图像以计算连续位姿之间的 VO,然后将后者与惯性测量融合。还可以过滤 IMU 测量值以估计在基于图像的估计算法中融合的旋转。松耦合的视觉惯性里程计方法是 2014 年 [71] 提出的全局多传感器融合(磁力计、压力高度计、GPS 、激光扫描仪等)的一部分。松耦合的 IMU-相机融合早在 2000 年代初就已经开始了。SOFT-SLAM 算法 [72] 是一种松耦合的 viSLAM 方法,它实际上使用 IMU 数据来减少可用的计算时间。它实时构建稠密地图并在 MAV 上运行。

6.2.2. Tight Coupling

紧耦合方法不是融合基于视觉和惯性的算法的输出,而是直接融合视觉和惯性原始数据,以提高准确性和鲁棒性。MSCKF [25] 和 MSCKF 2.0 [24] 既健壮又非常轻便,与 ROVIO [26] 一起属于这一类,后者是一种基于 EKF 的直接 VIO 方法。Open Keyframe-Based Visual Inertial System (OKVIS) [73] 和 S-MSCKF [17] 是著名的双目 VIO 方法,而 Vins-Mono [74] 是真正的 viSLAM 而不仅仅是 VIO 方法。Kimera [60] 也基于 VIO 方法,但它还包括一个位姿图优化器,在不同的线程中,用于全局轨迹估计、一个 3D 网格重建模块和一个 3D 度量语义重建模块。VIORB [75] 基于 ORB-SLAM [76]。它的前端使用 ORB 提取特征,而其后端运行图形优化。但它的主要兴趣在于一种新的 IMU 初始化方法,首先估计陀螺仪的偏差,近似尺度和重力(不考虑加速度计偏差),然后估计加速度计偏差(经过尺度和重力方向细化),最后是速度矢量,它包括并行方法中的全局优化和闭环。大多数最近的 viSLAM 方法都是紧耦合的 [15],如 [77] 提出的方法,它使用前向和后向光流来处理图像特征。

6.3. Comparison of vSLAM and viSLAM from the Usage Point of View

根据硬件要求、算法类型和实现特点,主要v/viSLAM方法在表2中进行了比较。表 3 展示了每种方法在描述常见用例性质的五个关键特征方面的最新性能。表 3 是通过阅读引用的出版物并使用以下标准对其性能评估结果进行分类而编制的。

(i) 长期实验特征评估该方法如何处理长时间实验。即使在小环境中,vSLAM 也会不断收集新的关键帧,这意味着长期实验可能会导致关键帧和地图特征的数量不断增加。定义一个好的关键帧选择策略和内存管理方法很重要;

(ii) 大尺度环境特征判断该方法对大环境的扩展能力(即积累的特征越多,地标越远)。为了评估这方面,重要的标准是减少漂移、有效的全局优化(例如,关键帧的选择和关键帧图的类型)以及有效的位置识别和闭环框架;

(iii) 低纹理环境对应于纹理很少的表面,例如可能成为问题的大墙,特别是对于特征提取。面向低纹理空间的最佳性能方法可能会使用边缘和附加硬件等特殊功能进行定位(IMU),甚至更好地用于建图(RGB-D 方法的深度传感器);

(iv) 室外环境:这类环境增加了光线变化等困难。使用深度传感器、良好的特征描述符或简单的强大位置识别方法(通过闭合循环来纠正错误)与室外空间相关。该分析还基于每种算法的户外测试结果;

(v) 运动:在处理相机时对高速运动引起的运动模糊的鲁棒性对于为正确的应用选择正确的方法很重要。使用稠密地图或边缘特征的方法通常更稳健。然而,如前文第 4 节所述,我们发现视觉惯性系统更健壮。

8.png9.png

添加其他方法来完成之前执行的 v/viSLAM 分类。两个有趣的 PTAM 派生算法是 PTAM [78] 的双目版本和双窗口优化 (DWO) [79] 框架。CD-SLAM [80] 是首次尝试以更稳健的方法将 PTAM 的原理扩展到大规模间接 vSLAM。CD-SLAM 的一些特性启发了流行的 ORB-SLAM。后者结合了最高效的 vSLAM 功能(双模型初始化、高效的关键帧和地图点剔除、ORB 功能和词袋回环闭合)以及关键帧的“基本图”。ORB-SLAM2 [76] 使 ORB-SLAM 适应双目和 RGB-D 相机。Edge-SLAM [81] 是最近尝试以边缘为特征构建强大的 vSLAM。还包括直接方法“半稠密视觉里程计”[5] 和 Kintinuous [82]。第一个侧重于使用智能手机将半稠密 vSLAM 应用于增强现实。最后一个是 KinectFusion 算法针对更大规模环境的扩展。

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

LCD显示屏相关文章:lcd显示屏原理


lcd相关文章:lcd原理


关键词: 计算机视觉

相关推荐

技术专区

关闭