论文笔记A Survey on Deep Learning for Localization and Mapping: Towards the Age of Spatial Machine Inte

《A Survey on Deep Learning for Localization and Mapping: Towards the Age of Spatial Machine Intelligence》论文阅读

现有方法的分类

3. Odometry Estimation

3.1 VO

关注点在多帧之间的相对位姿计算,深度学习被用来以端到端的方式建模运动动力学,或以混合的方式提取有用的特征来支持预先建立的系统。

分类:

  • end-to-end VO :
    supervised VO and unsupervised VO 训练数据有无真值标签
  • hybrid VO:深度学习与传统VO算法的结合。
3.1.1 Supervised Learning of VO

输入是连续的图片,输出是两帧之间估计的旋转和平移。直接从原始图像学习位姿变换

方法:

  • Konda等将VO都看作一个分类问题1,用卷积神经网络(ConvNet)从输入的图像预测方向和速度的离散变化。
  • Costante等用卷积神经网络从稠密的光流提取视觉特征,基于这些特征输出帧间运动估计。
  • DeepVO 使用 ConvNet+RNN,通过ConvNet从图像中提取视觉特征,再给到RNN来对特征的时间相关性建模。其ConvNet编码器基于FlowNet结构,以提取适用于光流和自运动估计的视觉特征。用FlowNet相当于引入先验的光流信息到学习过程,可以避免过拟合。RNN将历史信息汇总到隐藏状态,因此输出由过去的经验和当前传感器观测的ConvNet特征得到。DeepVO
    优化目标是最小化估计的平移 p ^ \hat p p^ 和旋转得到的欧拉角 ϕ ^ \hat ϕ ϕ^的MSE,其中( p ^ t \hat p_t p^t ϕ ^ t \hat ϕ_t ϕ^t)是t时刻相对位姿的估计,( p p p , ϕ ϕ ϕ)是相应的真值, Θ Θ Θ是DNN网络的参数, N N N是采样数。
    在这里插入图片描述
    实验结果在kitti上比VISO2和ORB-SLAM(无回环)好,且能从单目相机产生带绝对尺度的轨迹。

为了提高监督VO的泛化能力,[48]结合了课程学习(即通过增加数据复杂性来训练模型)和几何损失约束;知识蒸馏被用来极大减少有监督VO的参数[49];[50]引入了记忆模块存储全局信息,一个精炼模块通过保存上下文的信息来提高位姿估计。

3.1.2 Unsupervised Learning of VO

无标签的数据,在新场景下有更高的适应性和模型泛化能力
在自监督框架中实现的,利用视觉合成作为监督信号,从视频序列中学习深度和相机的自我运动。
在这里插入图片描述
一个典型的无监督VO框架包括预测深度图的深度网络,和一个产生图像之间运动变换的位姿网络。输入是连续的图像,监督信号是视觉合成——给定一个源图像 I s I_s Is,视觉合成的任务是产生一个合成目标图像 I t I_t It。源图像的一个像素 I s ( p s ) I_s(p_s) Is(ps)被投影到目标视场 I t ( p t ) I_t(p_t) It(pt)
在这里插入图片描述
K K K是内参矩阵
T t − > s T_{t->s} Tt>s表示从目标帧到源帧的相机运动矩阵
D t ( p t ) D_t(p_t) Dt(pt)表示目标帧的每个像素的深度图
训练目标是通过优化真实目标图像和合成图像之间的光度重建损失来保证场景几何上的一致性
在这里插入图片描述
问题:1.无尺度,不能重建有意义的轨迹 2.光度损失的假设是场景静态且没有相机遮挡。
改进
对1:[53], [56]用立体图像来恢复位姿估计中的绝对尺度,在左右图像对之间引入了额外的空间光度损失。因为左右图像的旋转是固定已知的。训练用立体图像,测试用单目图像;[30]引入几何一致性损失,会增强预测深度图和重建深度图的一致性。将预测的深度图转到3D空间再投影回产生重建深度图。
对2:光度一致性约束假设整个场景仅由刚性静态结构组成,GeoNet[55]将学习过程分为两个子任务,分别解决静态场景结构和运动动力学,还增强几何一致性损失来解决相机遮挡和非朗博表面引起的问题;[59] 添加一个深度网络和2D光流生成器来产生3D光流;GANVO [61]采用了一种生成式对抗学习范式来进行深度生成,并引入了一个时间递归模块来进行姿态回归;[76]用GAN来生成更真实的深度图和位姿,用判别器来评估合成图像的质量。有利于深度图有更丰富的纹理和清晰度。

3.1.3 Hybrid VO.

用深度学习学习到的深度加入到传统算法中去。[54]用预测的深度图和对运动物体短暂的mask来提高鲁棒性;[67]整合学习到的深度和光流预测到传统的VO模型;其他还有联合物理运动和深度神经网络,比如分布式卡尔曼滤波、粒子滤波。物理模型充当算法先验。D3VO [25] 整合深度、位姿和不确定性的预测到一个直接的VO。
在这里插入图片描述
现阶段混合模型要优于端到端的VO

3.2 VIO

不能完全优于传统的方法,但在实际问题中更加鲁棒,比如测量噪声、时间同步
根据融合的方法:滤波方法、固定滞后平滑器,完全平滑方法。

VINet [68]是第一个将VIO看做顺序学习问题,使用基于ConvNet的视觉编码器从两个连续的RGB图像中提取视觉特征,并使用惯性编码器从具有长短期记忆(LSTM)网络的IMU数据序列中提取惯性特征。 LSTM的作用是对惯性数据的时间状态估计建模。
[70]提出了一个有选择性的学习上下文依赖表达框架,用于VI位姿估计。应根据外部(环境)和内部(设备/传感器)的动态特性,充分利用两个传感器的互补特性,来考虑来自不同模态的特征的重要性。
VIOLearner [69]从原始惯性数据构建运动转换,通过式(2)将源图像转换为带有相机矩阵和深度图的目标图像。再加上一个在线的误差矫正模块。通过优化光度损失能恢复网络的参数。
DeepVIO整合惯性数据和立体图像到无监督的学习框架。

3.3 IO

3.4 LO

由于点云数据的稀疏和不规则采样格式很难被神经网络直接摄取,因此这些方法通常通过圆柱投影将点云转换为规则矩阵,并采用ConvNet从连续点云扫描中提取特征。

3.5 Comparison of Odometry Estimation Table

在这里插入图片描述

4. Mapping

深度学习被用来从高维原始数据中发现场景的几何、语义信息来建图。

4.1 Geometric Mapping

几何映射捕捉场景的形状和结构描述
在这里插入图片描述
在这里插入图片描述

4.1.1 Depth Representation.

稠密的场景重建由融合深度和RGB图像,此外,准确的深度估计可有助于视觉SLAM的绝对尺度恢复。
有监督的深度估计有较好的结果但泛化能力差。[80],[81]利用光度一致性损失作为训练神经模型的自监督信号。 利用立体图像和已知的相机基线,[80],[81]从右图像合成左视图,并预测左视图的深度图,通过最小化合成图像和真实图像之间的距离,即空间一致性,可以通过这种自监督以端到端的方式恢复网络的参数。 除了空间一致性,[29]提出时间一致性作为自监督信号,从源时间帧合成目标时间帧的图像。CNN-SLAM[123]利用从单张图像到单目slam框架学习到的深度

4.1.2 Voxel Representation.

SurfaceNet [94]预测体素的置信度来判断是否在表面并重建场景的2D表面,RayNet [95]通过在施加几何约束的同时提取视觉不变特征来重建场景几何。 [97], [98]关注生成高分辨率3D体积模型。Tatarchenko[97]设计了一个基于八叉树的卷积解码器,为了实现更高分辨率的场景重建。

4.1.3 Point Representation

点云的分割、从单张图像生成3D几何,仅在单个对象的重建中得到了验证。

4.1.4 Mesh Representation.

为了解决网格表示中场景重建的问题,[106]将单目SLAM的稀疏特征与ConvNet的稠密深度图进行了集成,以更新3D网格表示。

4.2 Semantic Map

SemanticFusion [26]通过将2D帧与3D映射概率相关联,将每帧语义分割预测逐步集成到稠密的3D映射中。
DA-RNN [108]将递归模型引入语义分割框架中,以学习多个视图框架上的时间联系,从而从KinectFusion [127]中为体积图生成更准确和一致的语义标记。
[109]通过边界框检测模块和无监督的几何分割模块来识别单个对象,从而提供了对象级的语义映射。
Fusion ++ [110]构建了一个基于语义图的映射,该图仅预测对象实例,并通过闭环检测,位姿图优化和进一步完善来维护一致的映射。
[111]提出了一种框架,该框架实现了实例感知的语义映射,并实现了新颖的对象发现。
PanopticFusion [112]高级语义映射到将静态对象分类的事物和事物的层次。
在这里插入图片描述

4.3. General Map

利用深度自动编码器能自动发现高维数据的高级紧凑表示形式,CodeSLAM 将观察到的图像编码仅一个紧凑可优化的表示形式,包含稠密场景的关键信息。这个表示形式能被用来基于关键帧的SLAM系统来推断位姿估计和和关键帧的深度图。
神经渲染模型是另一系列的作品,它们通过将视图合成用作自我监督信号来学习隐式地对3D场景结构进行建模。神经渲染任务的目标是从一个未知的视点重建一个新场景。
与建立显式地图,规划路径和做出决策的过程的传统解决方案不同,这些基于学习的技术无需端到端地直接从传感器观测值直接预测控制信号,而无需对环境进行显式建模。通过稀疏奖励信号优化模型参数,例如,每当到达目的地时,将给予正奖励以调整神经网络。一旦训练了模型,就可以根据当前对环境的观察(即图像)来确定动作。

5. Global Localization

深度学习被用来处理数据关联问题,由查询数据与地图之间复杂的视角、光照、天气和动态场景变化引起的问题。

5.1. 2D-to-2D Localization

2D到2D定位可使图像的相机姿态相对于2D地图回归。 这样的2D地图是由地理参考数据库显式构建的,或者是在神经网络中隐式编码的。
在这里插入图片描述

5.1.1. Explicit Map Based Localization.

两个阶段:图像检索来确定由参考图像表示的场景中与视觉查询最相关的部分; 位姿回归获取查询图像相对于参考图像的相对位姿。

其中一个问题是如何为图像检索找到合适的图像描述子。[155],[156]基于预先训练的ConvNet模型来提取图像级特征,然后使用这些特征来评估与其他图像的相似性。 在困难的情况下,首先提取局部描述符,然后将其整合以获得鲁棒的全局描述子。 NetVLAD [157]设计了一个可训练的通用VLAD(局部聚集描述符的向量)层。 可以将该VLAD层插入现成的ConvNet架构中,以鼓励更好的描述符学习以进行图像检索。
在这里插入图片描述
传统上,相对位姿估计是通过对极几何来确定的,深度学习的方法可以直接从成对的图像中回归相对位姿关系。NN-Net [131]从查询数据前N个关联来估计相对位姿,基于三角化的融合算法将预测的N个相对位姿与3D几何位姿真值联系起来,能计算得到绝对的查询位姿。CamNet [134] 用了两阶段检索:基于图像的粗检索和基于位姿的精检索

5.1.2. Implicit Map Based Localization.

基于隐式地图的定位可以直接从单个图像中还原相机的姿态,在一个深度神经网络中隐式地表示场景结构。在深度学习中能自动提取特征,在特征较少的环境中友好。但泛化能力不强。
图8(b)中说明了通用管道-神经网络的输入是单个图像,而输出是查询图像的全局位置和方向。

5.2 2D-to-3D Localization

从3D场景中恢复2D图像的相机位姿,将查询图像的2D像素与局部描述子匹配或从像素块回归3D坐标得到的3D场景点联系起来,再在RANSAC内做PnP
在这里插入图片描述

在这里插入图片描述

5.2.1. Descriptor Matching Based Localization.

根据检测器和描述子在学习过程中的功能分为三类: detect-then-describe, detect-and- describe, and describe-to-detect。

detect-then-describe

先检测特征,再在关键点周围的块中心检测描述子。学习的方法有学习检测器或描述子或都学习。
为了提高效率,特征检测器通常只考虑较小的图像区域,关注低级结构,例如拐角或斑点[216]。然后描述子在关键点周围的大块区域捕获高级信息。

detect-and-describe

SuperPoint [177], UnSuperPoint [181] and R2D2 [188] 通过从深度神经网络共享表征,来学习一个稠密的特征描述子和特征检测器。但两者是有特定的损失函数,分开训练的。而D2-net [182] and ASLFeat [189]在两者间共享所有参数,同步优化。

describe-to-detect

在预先学习的稠密描述子上检测来提取稀疏的关键点和对应的描述子。稠密特征提取放弃了检测阶段,并在整个图像上稠密执行了描述阶段[176],[218],[219],[220]。 在实践中,这种方法已显示出比稀疏特征匹配更好的匹配结果,尤其是在光照变化很大的情况下[221],[222]。

5.2.2. Scene Coordinate Regression Based Localization.

学习从查询图像到场景全局坐标系的转换。

DSAC [190]利用ConvNet对场景坐标进行回归,然后用RANSAC进行整个的端到端训练。 然后,通过引入重投影损失[191],[192],[232]或多视图几何约束[197]来改进这种通用管道,以实现无监督学习,共同学习观测置信度[173],[195] 为了提高采样效率和准确性,利用专家混合(MoE)策略[194]或分层的从粗到精[198]消除环境歧义。为了构建场景位置方法,SANet [196]通过对与检索到的场景图像关联的3D点进行插值来回归查询的场景坐标图。 Dense SCR [193]提出以全帧方式执行场景坐标回归,以使测试时的计算效率更高,为回归添加更多的全局上下文以提高鲁棒性。

场景坐标系回归方法在小范围室内场景有更高的鲁棒性和精确度,但在大范围场景还没有被证实作用。

5.3. 3D-to-3D Localization

指通过建立3D到3D的匹配来针对预先构建的3D地图来恢复3D点(如LIDAR点云)的全局位姿。同过计算预测的姿态与真值之间的偏移量或估计在线扫描与查询的场景之间的相对姿态而进一步用于精确定位。相对前两种方法来说没有被完全开发。
在这里插入图片描述

6. SLAM

主要关注整个SLAM框架,包括局部/全局优化,关键帧/闭环检测和不确定性估计。
在这里插入图片描述

6.1. Local Optimization

基于学习的方法通过在大数据集上训练的两个单独的网络[29]预测深度图和自运动。常用的二阶求解器有GN、LM被用来优化运动转换和每个像素的深度图。LS-Net [235]通过将基于分析的求解器集成到学习过程中,通过基于学习的优化器解决了这一问题。 它学习了数据驱动的先验知识,然后通过使用分析优化器完善DNN预测以确保光度一致性。 BA-Net [236]将一个分布式二阶优化器(LM算法)到一个深度神经网络来达到端到端的学习,该网络在特征空间上执行,以优化从ConvNets提取的多视图中的特征一致性损失。这些基于学习的方法提供了另外一种思路来解决BA问题。

6.2. Global Optimization Odometry

基于图优化的方法能保证图的点和边的全局一致性,对可能的位姿估计与固有的传感器噪声的误差有用。相对于传统的SLAM,全局优化深度预测没有被完全开发。
前端:DNNs的预测作为先验,再给到后端,如CNN-SLAM [123],利用学习到的每个像素的深度到LSD-SLAM [124],这是一个完整的SLAM系统,支持闭环和图优化。 相机位姿和场景表示与深度图共同优化,以生成一致的尺度。DeepTAM [237]往一个传统的DTAM (稠密跟踪和建图)系统[121]引入深度神经网络得到的深度和位姿预测,在后端全局优化来得到更准确的场景重建和相机运动估计。[64]中整合了一个无监督的VO和一个图优化后端,DeepFactors [238]将学习到的优化场景表示整合到一个不同的后端——概率因子图来做全局估计。因子图的好处在于能灵活地包含传感器测量、状态估计和约束。

6.3. Keyframe and Loop-closure Detection

[77]提供了一种学习方案来检测关键帧以及自运动跟踪和深度估计的无监督学习[29]。 通过将图像的特征相似度与现有的关键帧进行比较来确定图像是否为关键帧(即,如果相似度低于阈值,则该图像将被视为新的关键帧)。为了应对光照、天气等的变化,[239]使用ConvNet特征,来自于一个通用的大数据图像集的预训练模型。[240],[241],[242]建立在深度自动编码器结构上,提取紧凑的表示形式,以无监督的方式压缩场景。 基于深度学习的闭环有助于提供更强大和有效的视觉功能,并实现就地识别的最新性能,适合集成到SLAM系统中。

6.4. Uncertainty Estimation Safety

贝叶斯模型的不确定性大致分为Aleatoric不确定性和认知不确定性:Aleatoric不确定性反映了观察噪声,例如 传感器测量或运动噪声; 认知不确定性捕捉了模型不确定性[245]。
基于DNN的里程计估将目标预测转变为高斯分布,框架内的参数通过均值和协方差组合的损失函数进行优化,通过最小化误差函数来找到最好的组合,不确定性以一个无监督的方式自动学习。
除了运动、重定位的不确定性,还有场景理解的不确定性。

7. Open Questions

1) End-to-end model vs. hybrid model

端到端学习模式能从原始数据中直接预测自运动和场景,精确度、效率和鲁棒性都提升较快,而且这些模块都能很好的整合到其他高级的学习任务中,比如规划和导航。因为SLAM系统中有几何和物理模型,是直接开发数据驱动的端到端模式还是将深度学习集成到这些几何物理模型中形成一个混合模型是未来的一个问题。混合模型在许多任务中都取得了最新的结果,比如VO、全局定位,所以可以探索更好的方法在混合模型中利用深度学习获得的先验信息。现在的模型受训练数据大小的限制。

2) Unifying evaluation benchmark and metric.

网络的效果受数据集大小、一些超参数、测试场景等的影响,所以如何去公平地评价不同工作的指标也是一个问题,KITTI相对简单,车辆仅有2D平移。

3) Real-world deployment.

现在的黄金法则是预测准确性,而其他问题比如模型结构和框架的参数是否最优被忽视了。其次还有有限的计算资源,反馈是否需要加入到系统中进行微调,如何将自监督模型加入系统,系统是否需要实时在线学习。

4) Lifelong learning.

环境变化复杂,需要不断适应变化并且根据变化取学习新的知识。

5) New sensors

event camera [250], thermo camera [251], mm- wave device [252], radio signals [253], magnetic sensor [254].数据格式与传统传感器不一样,如何去探索这些传感器也是一个问题。

6) Scalability.

里程计估计总是在城市道路环境测试,但是否适用于乡村或森林也是一个问题。现有的场景重建的工作限制在单个数据、合成数据和房间级别,这些学习方法是否适用于其他更复杂和大规模重建也是一个问题。

7) Safety, reliability and interpretability.

深度神经网络是黑盒子。

8. Conclusions

基于深度学习的方法在VO,全局定位,稠密场景重建取得了最新的成果。深度学习网络的高表达力使得需要手动设计很困难的因子比如环境的动态变化或传感器的噪声变得能显式地建模,因此在真实世界中的应用更加相对鲁棒。此外,基于学习的框架,移动端可以容易地进行高级理解和交互。深度学习方法提供了一种以数据驱动模式解决传统slam问题的方案,为未来基于AI的空间感知方案铺路。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值