最新综述 | 基于深度学习的SLAM方法:面向空间机器智能时代

最新综述 | 基于深度学习的SLAM方法:面向空间机器智能时代

A Survey on Deep Learning for Localization and Mapping Towards the Age of Spatial Machine Intelligence

基于深度学习的定位与建图方法综述:面向空间机器智能时代

论文地址:https://arxiv.org/pdf/2006.12567v1.pdf

摘要:

基于深度学习的定位与建图技术近年来受到了广泛的关注。不同于利用物理模型或几何理论的人工设计的(crating hand-designed)算法,深度学习方法提供了一种以数据驱动的方式解决问题的替代方案。得益于不断增长的数据量和计算能力,这些方法可以生成用于跟踪运动和估计真实世界场景结构的,准确且鲁棒的系统,并正在快速发展成为一个新的研究领域。在本次工作中,我们整理出了一篇综述,并提出了一种对于现有的基于深度学习的定位和建图方法新的分类方式。我们还论述了当前模型的局限性,并指出未来可能的发展方向。(本文)涵盖了范围广泛的主题(从基于学习的里程计估计、建图到全球定位和SLAM)。我们重新讨论了车载传感器感知自身运动和场景时(可能存在)问题,并展示了如何通过将这些模块集成到未来的空间机器智能系统(SMIS)中来解决这个问题。我们希望这项工作能够将来自机器人学、计算机视觉和机器学习领域的新兴研究成果联系起来,并为未来研究人员了解应用深度学习技术解决定位和建图问题的可行性方法提供指导。
关键词: 深度学习,定位,建图,SLAM,感知,对应匹配,不确定性估计

1.介绍

定位和感知周围环境是人类和移动机器人的基本需求。举个例子,人类能够通过多模态感觉(multimodal sensory perception)感知自身运动和环境信息,并依靠这种感知能力在复杂的三维空间中进行定位和导航[1]。这种能力是人类空间能力的一部分。此外,对自身运动和周围环境的感知能力在发展认知和运动控制中起着至关重要的作用[2]。同样,人工智能体或机器人也应该能够感知环境,并具有使用搭载的传感器估计其系统状态的能力。这些智能体可以是任何形式的机器人,例如自动驾驶汽车、运输无人机或家政机器人,它们可以感知周围环境并自主做出决策。同样,新兴的增强现实(AR)和虚拟现实(VR)技术将网络空间和现实空间交织在了一起,机器感知能力是人机无缝交互的基础。更进一步的应用包括移动和可穿戴设备,如智能手机、腕带或物联网(IoT)设备,可以为用户提供大量基于定位方面的服务,包括步行导航[4],运动/活动监视[5],动物跟踪[6],以及应急响应功能等[7]。

这些(及其他)数字技术需要精确和鲁棒的定位,并具有逐步构建和维护世界场景模型,持续处理新的信息和适应各种场景的能力,才可以实现高度的自主化。这样的研究在我们的工作中称为“空间机器智能系统(SMIS)”,或者最近在[8]中被称为空间Al。在这项工作中,定位是指获得机器人运动的内部系统状态的能力,包括位置、方向和速度;而建图是指感知外部环境状态和捕捉周围环境信息的能力,包括二维或三维场景的几何体、外观和语义信息。这些组件可以单独地感知内部或外部的状态,也可以像同时定位和建图(SLAM)一样,可以在全局框架内跟踪机器人的位姿并建立一致的环境模型。

1.1.为什么要研究用于定位和建图的深度学习技术

定位和建图问题已经被研究了几十年,各种复杂的人工设计(hand-designed)模型和算法也在被不断开发中,例如里程计估计 ( 包括视觉里程计[9],[10],[11],视觉惯导里程计[12]、[13]、[14]、[15]以及激光里程计[16] ) ,基于图像的定位[17]、[18]、位置识别[19]、SLAM[10]、[20]、[21]、运动重构(SfM)[22]、[23]。在理想的条件下,这些传感器和模型能够不受时间,环境的限制,准确地估计出系统状态。然而,在现实中,传感器测量误差,系统建模误差,复杂的环境动力学和不现实的约束(条件)都影响着人工设计系统的准确性和可靠性。

因为基于模型的解决方案存在的局限性,加上机器学习特别是深度学习的迅速发展,促使研究人员考虑将数据驱动学习方法作为解决问题的替代方法。图1总结了传感器数据输入值(例如视觉,惯导,激光雷达数据或其他传感器)和目标输出值(例如位置,方向,场景几何或语义)之间作为一个映射功能的关系类别。传统的基于模型的解决方案是通过人工设计算法来实现的,而基于学习的方法则通过学习大量的数据来构造这个映射函数。基于学习的方法有三方面的优势:

首先,学习方法可以利用高表达度的深度神经网络作为通用逼近器,自动发现与任务相关的特征。这一特性使已训练好的模型能够适应各种场景(如无特征场景、动态高速场景、动态模糊、精确的相机校准),这些都是人工建模的难题[3]。举一个典型的例子,在视觉里程计的设计过程中加入数据驱动方法[24],[25],可以在其鲁棒性方面取得显著的改进,超过最先进的传统算法。此外,学习方法能够将抽象元素与人类可理解的术语[26]、[27] (如SLAM中的语义标签)联系起来,但用正式的数学方法很难对其描述。

其次,学习方法可以使空间机器智能系统从过去的经验中得到学习,并积极地开发出新的信息。通过构建一个通用的数据驱动模型,研究人员在解决特定领域问题时,可以在构建模型时不必再费尽心思将关于数学和物理规则的全部知识指定其中。这种能力可能使基于学习的机器能够在新的场景或面对新的环境时自动发现新的计算解决方案,进一步完善自己和自身的算法模型。一个很好的例子就是利用最新的视图合成(技术)作为一个自监督信号,机器人可以从未标记的视频[29],[30]中恢复自运动和场景深度信息。此外,通过构建任务驱动的地图,学习到的表示法可以进一步支持高等级任务,如路径规划[31]和决策制定[32]。

第三个优势是它能充分利用不断增长的传感器数据和计算机性能。深度学习或深度神经网络具有被扩展到大规模问题的能力。通过反向传播和梯度下降算法对大型数据集进行训练,DNN框架中的大量参数可以通过最小化损失函数进行自动优化。例如,最近发布的GPT-3[33]是最大的预训练语言模型,它具有惊人的1750亿个参数,即使不进行微调,(经过训练的模型)也能在各种自然语言处理(NLP)任务上获得最先进的结果。此外,各种与定位和建图相关的大型数据集已经发布,例如在自动驾驶汽车场景中,[34],[35],[36]包含了大量传感器数据、运动和语义标签组合的数据。这给了我们一个设想,(仅)利用数据和计算的力量来解决定位和建图是有可能实现的。

但是,必须指出的是,这些学习技术依赖于从大量的数据集上来提取有意义的参数,并且很难推广到数据集类型只外的环境中。模型缺乏可解释性。此外,虽然高度可并行化,但它们通常比简单模型的计算成本更高。更详细的局限性会在第7节中进行讨论

1.2.与其他综述的比较

(目前,)有几篇综述广泛讨论了基于模型的定位和建图方法。SLAM问题的发展在早期几十年间已经在[37]、[38]中得到了很好的总结。[39]是一篇具有开创性意义的综述,对现有SLAM工作的进行了深入讨论,回顾了SLAM的发展历史,并描绘了几个未来的方向。尽管该文章中有一个章节简要讨论了深度学习模型,但它并没有全面概述该领域。特别是在过去五年,该领域产生了大量的研究成果。其他SLAM综述只关注于SLAM系统的个别方面,包括SLAM的概率公式[40]、视觉里程计[41]、位姿图SLAM[42]和动态环境下的SLAM[43]。我们建议读者参考这些综述,以更好地理解传统的基于模型的解决方案。另一方面,[3]讨论了深度学习在机器人研究中的应用;然而,它的主要关注点并不是定位和建图,而是更全面地表达了在机器人学的广泛背景下进行深度学习(包括政策学习、推理和规划)的潜力和局限性。

值得注意的是,尽管定位和建图问题属于机器人学的核心概念,但其与学习方法的结合是和机器学习、计算机视觉甚至自然语言处理等其他研究领域同步发展的。因此,由于其跨学科领域性质,我们在将相关工作综合归纳成一份综述报告时解决了不小的困难。就我们所知,这是第一篇全面而广泛地涵盖了现有的基于深度学习的定位和建图算法工作的综述文章。

1.3.(本篇)综述的结构

本文的其余部分架构如下:第2节概述了目前的基于定位和建图深度学习方法的分类;第3,4,5,6节分别讨论了目前深度学习在相对运动(里程计)估计,几何、语义和通用的建图,全局定位和SLAM以及专注于SLAM后端的工作方法;第7节讨论了现有工作的局限性和对未来展望;最后,第8节对本文进行了总结。

2.现有方法的分类

我们为现有的与定位和建图相关,连接机器人、计算机视觉和机器学习等领域的深度学习方法提供了一种新的分类方式。大致可以分为里程计估计、建图、全球定位和SLAM,分类形式如图2所示:

1)里程计估计是计算两帧或多帧传感器数据在平移和旋转方面的相对位姿变化。它不断地跟踪自我的运动,通过将位姿变化与初始位姿相结合,从而得到全局位姿,即位置和方向。这就是所谓的航迹推算法(dead reckoning solution)。里程计估计可用于提供位姿信息,也可以作为里程计运动模型来辅助机器人控制的反馈回路。最关键问题是如何从各种传感器的测量数据中准确地估计运动变换。为此,深度学习应用端到端的方式对运动动力学进行建模,或以混合的方式提取有用的特征来支持预构建的系统。

2)建图是建立或重构一个一致的模型来描述周围的环境。建图可以为人工操作者和高等级机器人任务提供环境信息,约束里程计估计的漂移误差,检索全局定位[39]的观测。深度学习是一个有用的工具,可以从用于映射的高维原始数据中发现场景几何体和语义信息。基于深度学习的映射方法分为几何映射、语义映射和一般映射,这取决于神经网络是学习场景的显式几何或语义,还是将场景编码为隐式神经表示。

3)全局定位是利用先验知识检索已知场景中移动智能体的全局位姿。这是通过将查询输入数据与预先构建的二维或三维地图、其他空间参考或以前访问过的场景匹配来实现的。它可以用来减少航迹推算系统产生的位姿漂移或解决“被绑架机器人”问题[40]。深度学习被广泛用于解决棘手的数据关联问题,这些问题在查询构建地图与数据之间的对应关系时,会因为视图、光照、天气和动态场景的变化而变得复杂。

4) SLAM将上述里程计估计、全局定位和建图过程作为前端,共同优化这些模块,提升定位和建图性能。除上述模块外,其他几个SLAM模块都是为了保证整个系统的一致性:局部优化保证了相机运动和场景几何的局部一致性;全局优化的目的是在全局范围内约束全局轨迹的漂移;关键帧检测用于基于关键帧的SLAM,以实现更有效的推理,而一旦通过回环检测检测到回环,则可以通过全局优化来改善系统的漂移误差;不确定性估计提供了一种对所学位姿和映射的置信度,对于SLAM系统中的概率传感器融合和后端优化至关重要。

尽管各个组件的设计目标不同,但上述组件可以集成到空间机器智能系统(SMIS)中,以解决现实世界中的挑战,从而实现鲁棒的操作和在野外的长期自主能力。图3显示了基于深度学习的集成定位和建图系统的概念图,以及这些组件之间的关系。在下面的部分中,我们将详细讨论这些组件。

3.里程计估计

我们从里程计估算开始,它可以连续跟踪相机的运动并输出相对位姿。在给定初始状态下,通过整合这些相对姿态位姿可以重建全局轨迹,因此保持运动变换估计足够精确对于确保全局尺度下的高精度定位是至关重要的。本节讨论了从各种传感器数据中实现里程计估计的深度学习方法,这些传感器数据在数据属性和应用场景上有着根本性的不同。讨论主要集中于视觉、惯导和点云数据的里程计估计,因为它们是移动机器人上常见的感知方式。

3.1.视觉里程计

视觉里程计(VO)可以估计相机的自运动,并将图像间的相对运动整合到全局位姿中。深度学习方法能够从图像中提取高级的特征表示,从而提供一种解决VO问题的替代方法,而不需要人工制作的特征提取器。现有基于深度学习的VO模型可以分为端到端VO和混合VO,这取决于它们是纯粹的基于神经网络的模型还是经典VO算法和深度神经网络结合的模型。根据训练阶段是否使用了真值标签,端到端VO系统可以进一步分为有监督VO和无监督VO。

3.1.1.VO的监督学习

我们首先介绍有监督VO,它是最主要的基于学习的里程计方法之一,可以通过在标记数据集上训练一个深度神经网络模型,直接构造从连续图像到运动变换的映射函数,而不是像传统的VO系统那样利用图像的几何结构[41](进行构造)。从本质上说,深度神经网络的输入是一对连续的图像,输出是两帧图像之间估计的平移和旋转。

Konda等人[44]的研究成果是该领域最早的研究成果之一。该方法将视觉里程计作为一个分类问题,并使用卷积神经网络(ConvNet)预测输入图像的方向和速度的离散变化。Costante等人[45]使用了一个卷积神经网络(ConvNet)从密集光流中提取视觉特征,并基于这些视觉特征,输出帧到帧的运动估计。尽管如此,这两项工作没有实现从图像到运动估计的端到端学习,它们的性能仍然是有限的。

DeepVO[24]利用了卷积神经网络(ConvNet)和循环神经网络(RNN)的组合来实现视觉里程计的端到端学习。由于其端到端学习的特殊性性,成为实现VO监督学习的典型选择。图4(a)给出了基于RNN+ConvNet的VO系统的架构,该系统通过ConvNet从成对的图像中提取视觉特征,并通过RNNs对特征进行时间相关性建模。它的卷积神经网络编码器基于FlowNet结构可以提取适合光流和自运动估计的视觉特征。使用基于FlowNet的编码器可以看作是在学习过程中引入了光流的先验知识,可以潜在地防止DeepVO被过度拟合到训练数据集上。当前模型会将历史信息归纳为其隐藏状态,从而根据过去经验和当前传感器观测的卷积神经网络特征推断输出。它是在大规模数据集上训练的,基于真实的相机位姿作为标签。为了恢复系统的最优参数 θ ∗ \boldsymbol{\theta}^{*} θ,系统的优化目标是估计平移 p ^ ∈ R 3 \hat{\mathbf{p}} \in \mathbb{R}^{3} p^R3与基于欧拉角旋转 φ ^ ∈ R 3 \hat{\varphi} \in \mathbb{R}^{3} φ^R3的最小化均方误差(MSE)

θ ∗ = arg ⁡ min ⁡ θ 1 N ∑ i = 1 N ∑ t = 1 T ∥ p ^ t − p t ∥ 2 2 + ∥ φ ^ t − φ t ∥ 2 2 \boldsymbol{\theta}^{*}=\underset{\boldsymbol{\theta}}{\arg \min } \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T}\left\|\hat{\mathbf{p}}_{t}-\mathbf{p}_{t}\right\|_{2}^{2}+\left\|\hat{\boldsymbol{\varphi}}_{t}-\boldsymbol{\varphi}_{t}\right\|_{2}^{2} θ=θargminN1i=1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值