如何将深度学习方法用于SLAM等三维视觉领域?牛津大学发布最全面综述

作者:SFXiang
首发:AI算法修炼营

这是目前为止最全面、最科学的有关深度学习SLAM方法的总结。

论文地址: https://arxiv.org/pdf/2006.15…

代码地址: https://github.com/changhao-c…

基于深度学习的SLAM方法最近引起了极大的关注,基于深度学习的解决方案不是通过利用物理模型或几何理论来创建手工设计的算法,而是提供了一种解决数据驱动问题的方法。得益于不断增长的数据量和计算能力,这些方法正在迅速发展到一个新领域,该领域提供了准确而强大的系统来跟踪运动并估计场景及其在实际应用中的结构。

在这项工作中,全面介绍了深度学习如何用于定位和制图,涵盖了机器人技术、计算机视觉和机器学习等现有方法,并提出了一种使用深度学习进行定位和制图的新分类法。本文还将讨论当前模型的局限性,并指出可能的未来方向。具体内容涵盖了学习里程计估计、mapping到全局定位以及同时定位与建图等(SLAM)等方面。同时回顾了使用车载传感器感知自我运动和场景的问题,并展示了如何通过将这些模块集成到预期的空间机器智能系统(SMIS)中来解决该问题。希望该工作可以将机器人技术,计算机视觉和机器学习社区的作品联系起来,能够为将来的研究人员提供指南,以此帮助他们了解应用深度学习解决定位和制图问题的可能方法。

简介

机器人、无人驾驶汽车,送货无人机等智能系统应该能够使用板载传感器感知环境并估计其系统状态,同时感知周围环境并自主做出决策。同时,随着新兴的增强现实(AR)和虚拟现实(VR)技术交织网络空间和物理环境,实现人机交互的基础就应该先让智能系统学会感知环境。

广义的定位是指获取机器人运动的内部系统状态的能力,包括位置、方向和速度,而mapping则是指感知外部环境状态和捕捉周围环境的能力,包括2D或3D场景的几何、外观和语义。 这些组件可以单独行动,分别感知内部或外部状态,也可以联合作为同时定位和建图(SLAM)来跟踪位置,并在全局帧中建立一个一致的环境模型。

在理想条件下,传感器和模型能够在没有时间限制和跨不同环境的情况下准确估计系统状态。但是,实际上,传感器测量不完善,系统建模不准确,复杂的环境动力学以及不切实际的约束都会影响系统的准确性和可靠性。

基于模型的解决方案的局限性以及最近在机器学习(尤其是深度学习)中的进步,促使研究人员考虑将数据驱动(学习)方法视为解决问题的替代方法。通常将输入传感器数据(例如视觉,惯性,LIDAR数据或其他传感器)与输出目标值(例如位置,方向,场景几何或语义)之间的关系作为map映射函数。常规的基于模型的解决方案是通过手动设计算法并校准到特定的应用领域来实现的,而基于学习的方法则通过学习到的知识来构建此映射功能。基于学习方法的优点有三点:

1、首先,学习方法可以利用高度表达力强的深度神经网络作为通用逼近器,并自动发现与任务相关的特征,此属性使学习的模型能够适应各种情况。

2、其次,学习方法允许空间机器智能系统从过去的经验中学习,并积极利用新的信息。通过构建通用的数据驱动模型,它可以避免人为部署数学和物理规则来解决领域特定问题的全面知识。

3、第三个好处是它可以充分利用不断增长的传感器数据量和计算能力。

现有方法的分类

1. Odometry estimation里程计估计

  • Visual Odometry(视觉里程计)
  • Visual-Inertial Odometry(视觉惯性里程计)
  • Inertial Odometry(惯性里程计)
  • LIDAR Odometry(激光雷达里程计)

2、Mapping builds地图构建

  • Geometric Mapping(几何地图)
  • Semantic Mapping(语义地图)
  • General Mapping 

3、Global localization全局定位

  • 2D-to-2D Localization
  • 2D-to-3D Localization
  • 3D-to-3D Localization

4、Simultaneous Localisation and Mapping (SLAM)

  • Local Optimization
  • Global Optimization
  • Keyframe and Loop-closure Detection
  • Uncertainty Estimation

里程计估计

里程计估计可以连续跟踪相机的自我运动并产生相对姿势。在给定初始状态的情况下,通过整合这些相对姿势来重建全局轨迹,因此保持足够准确的运动变换估计以确保在全局范围内进行高精度定位至关重要。本节讨论了从各种传感器数据实现里程计测的深度学习方法,这些数据在其数据属性和应用场景上根本不同,讨论主要集中于从视觉,惯性和点云数据的里程计估算,因为它们是在移动设备传感器上进行模态测量的常见选择。

1、Visual  Odometry

视觉里程计(VO)估计照相机的自我运动,并将图像之间的相对运动整合为整体姿势。深度学习方法能够从图像中提取高级特征表示,从而提供一种解决VO问题的替代方法,而无需手工特征提取器。现有的基于深度学习的VO模型可以归类为端到端VO和混合VO,这取决于它们是基于纯神经网络还是经典VO算法和深度神经网络的组合。根据训练阶段地面真相标签的可用性,可以将端到端VO系统进一步分为有监督的VO和无监督的VO。

Supervised   Learning   of   VO &  Unsupervised  Learning  of  VO

Hybrid  VO

与仅依赖于深度神经网络来解释数据姿势的端到端VO不同,hybridVO将经典的几何模型与深度学习框架集成在一起。他们基于成熟的几何理论,使用深度神经网络来表达性地替换几何测量模型的各个部分。

2、Visual-Inertial  Odometry

将视觉和惯性数据集成为视觉惯性测距法(VIO)是移动机器人领域中一个明确定义的问题。相机和惯性传感器都相对低成本,高能效且被广泛部署。这两个传感器是互补的:单眼相机捕获3D场景的外观和结构,而它们却是比例模糊的,并且对于具有挑战性的场景(例如,强烈的照明变化,缺乏质感和高速运动;相比之下,IMU完全以自我为中心,与场景无关,并且还可以提供绝对的度量标准。然而,不利的一面是惯性测量(尤其是来自低成本设备的惯性测量)受到过程噪声和偏差的困扰。来自这两个互补传感器的测量值的有效融合对于准确的姿态估计至关重要。因此,根据他们的信息融合方法,传统的基于模型的视觉惯性方法大致可分为三类:滤波方法,固定滞后平滑器和完全平滑方法。

已经出现了数据驱动的方法来考虑直接从视觉和惯性测量中学习6自由度姿势,而无需人工干预或校准。VINet 是将视觉惯性里程表表达为顺序学习问题的第一项工作,并提出了一种深度神经网络框架以端到端的方式实现VIO。VINet使用基于ConvNet的视觉编码器从两个连续的视觉特征中提取视觉特征RGB图像和惯性编码器,用于从具有长短期记忆(LSTM)网络的IMUdata序列中提取惯性特征。在此,LSTM旨在对惯性数据的时间状态演化进行建模。视觉和惯性特征被串联在一起,并作为输入另一个LSTM模块的输入,以根据系统状态的历史来预测相对姿势。这种学习方法的优点是对校准和相对定时偏移误差更鲁棒。但是,VINet尚未完全解决学习有意义的传感器融合策略的问题。

3、 Inertial  Odometry

与视觉方法相比,惯性传感器是一种成本相对较低,体积小,节能且具有隐私保护的传感器。它相对不受环境因素(例如照明条件或移动物体)的影响。但是,如果惯性数据被双重集成,则在机器人和移动设备上广泛使用的低成本MEMS惯性测量单元(IMU)会因高传感器偏置和噪声而损坏,从而导致捷联惯性导航系统(SINS)中出现无穷大的误差漂移。

4、 LIDAR  Odometry

Mapping

1、Geometric  Mapping

2、Semantic  Map

3、 General  Map

Global  Localization

全局定位是指在已知场景中检索绝对位置。广义上讲,它描述了传感器观测值与地图之间的关系,通过将查询图像或视图与预先建立的模型进行匹配,并返回一个全局姿态的估计值。

1、2D-to-2D  Localization

2、2D-to-3D  Localization

3、3D-to-3D  Localization

SLAM

未来的挑战

尽管深度学习为定位和制图领域的研究带来了巨大成功,但如上所述,现有模型还不够完善,无法完全解决当前的问题。当前深层解决方案的形式仍处于起步阶段。为了在野外实现极大的自主,未来的研究人员面临着许多挑战。因此,讨论了一些可能导致该领域进一步发展的开放性问题。

1)端到端模型与混合模型。端到端学习模型能够直接从原始数据预测自我运动和场景,而无需任何人工操作。端到端模型受益于深度学习的发展,正在快速发展,以实现更高的准确性,效率和鲁棒性。同时,这些模型已被证明更易于与其他高级学习任务集成,例如路径规划和导航。从根本上讲,存在用于控制定位和制图系统的基本物理几何模型。我们是否应该仅依靠数据驱动方法的力量来开发端到端模型,还是将深度学习模块集成到预先构建的物理/几何模型中作为混合模型,这是未来研究的关键问题。如我们所见,混合模型已经在许多任务中达到了最新水平,例如视觉里程计和全局定位。因此,有必要进行调查以更好地利用深度学习中混合模型的先验经验知识。另一方面,纯粹的端到端模型会导致数据匮乏。当前模型的性能可能受到大小的限制训练数据集,因此创建大型多样的数据集以扩大数据驱动模型的容量至关重要。

2)统一评估基准和度量标准。寻找合适的评估基准和度量标准一直是SLAM系统关注的问题。对于基于DNN的系统尤其如此。DNN的预测受训练和测试数据的特性的影响,包括数据集大小,超参数(批大小和学习率等)以及测试场景的差异,因此在考虑数据集差异时很难公平地比较它们,每项工作中采用的培训/测试配置或评估指标。例如,KITTI数据集是评估视觉测度法的常见选择,但是以前的工作以不同的方式拆分了训练和测试数据。所有这些因素给它们之间的直接和公正的比较带来了困难。此外,KITTI数据集相对简单(车辆仅以2D平移方式移动)且尺寸较小。在长期的真实世界实验中,如果仅提供关于KITTI基准测试的结果而没有进行全面评估,那是不令人信服的。实际上,通过涵盖各种环境,自我运动和动态的系统评估,创建基准测试的需求日益增长。

3)现实世界的部署。在现实环境中部署深度学习模型是一个系统的研究问题。在现有研究中,预测准确性始终是遵循的“黄金法则”,而其他关键问题则被忽略,例如模型结构和框架的参数数量是否最优。必须在资源受限的系统(例如低成本机器人或VR可穿戴设备)上考虑计算和能耗。为了更好地利用GPU,应该利用诸如卷积过滤器或其他并行神经网络模块之类的机会化机会。需要考虑的示例包括应在哪些情况下返回反馈以微调系统,如何将自我监督的模型纳入系统以及系统是否允许实时在线学习。

4)lifelong 学习。到目前为止,我们讨论的大多数以前的作品仅在简单的封闭式数据集上得到了验证,例如在KITTI数据集上执行了视觉里程表和深度预测。但是,在开放的世界中,移动代理将面对不断变化的环境因素和动态变化。这将要求DNN模型不断不断地学习并适应世界的变化。此外,新的概念和对象将出乎意料地出现,需要机器人进行对象发现和新的知识扩展阶段。

5)新传感器:除了板载传感器(如摄像机,IMU和LIDAR)的常见选择以外,新兴的新传感器为构建更多传感器提供了一种替代方案。准确而强大的多模式系统。与主要的SLAM传感器(例如摄像机,IMU和LIDAR)相比,包括事件摄像机,温度摄像机,毫米波设备,无线电信号,磁传感器在内的新型传感器具有不同的属性和数据格式。尽管如此,仍未充分研究处理这些异常传感器的有效学习方法。

6)可扩展性。基于学习的SLAM模型现在都已经在评估基准上取得了可喜的结果。但是,它们仅限于某些情况。例如,里程计估计总是在市区或道路上进行评估。这些技术是否可以应用于其他环境,例如农村或森林地区仍然是一个悬而未决的问题。此外,现有的场景重建工作仅限于单个对象,合成数据或房间级别。值得探索的是,这些学习方法是否能够扩展到更复杂,更大规模的重建问题上。

7)安全性,可靠性和可解释性。安全性和可靠性对于实际应用至关重要,例如自动驾驶汽车。在这些情况下,即使是很小的姿势或场景估计误差也将对整个系统造成灾难。长期以来,深度神经网络都被称为“黑匣子”,这加剧了关键任务的安全隐患。一些初步的工作探索了深度模型的可解释性。例如,不确定性估计可以提供置信度,表示我们对模型的信任程度。这样,避免了不可靠的预测(不确定性较低),以确保系统保持安全可靠。

推荐阅读

  • 地平线机器人Waymo Open Dataset Challenge中2D目标检测赛道第二名方案解析
  • 智能手机背面玻璃的缺陷检测,分割网络的应用
  • CVPR2020 | 将影子和它对应的物体实例一起分割,还附带光源方向预测
  • CVPR2020 | MAL:联合解决目标检测中的定位与分类问题,自动选择最佳anchor

更多机器学习、深度学习、计算机视觉、自动驾驶、机器人等领域最新最前沿的科技请关注微信号AI算法修炼营。

发表评论

邮箱地址不会被公开。 必填项已用*标注