1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 综述|深度学习在SLAM定位与建图中的应用(近250篇参考文献)

综述|深度学习在SLAM定位与建图中的应用(近250篇参考文献)

时间:2021-02-20 22:47:57

相关推荐

综述|深度学习在SLAM定位与建图中的应用(近250篇参考文献)

作者丨Jasper@知乎

编辑丨Realcat 计算机视觉SLAM

近年来深度学习被广泛应用于定位与建图中。相比于传统的手动建模方法,深度学习提供了一种数据驱动的解决方案,并逐步发展成一个全新的领域,能够从大量数据中学习到如何精确估计自我运动和场景的几何语义信息。

本文全面总结了通过深度学习实现定位与建图的工作,广泛覆盖了从里程计估计、建图到全局重定位以及同步定位建图技术(SLAM),并于近期发布综述文章,梳理了超过250篇相关论文,希望能帮助大家更好的了解这一新兴领域。

论文以及项目地址后台回复“0302”获取

引言

定位与建图是智能体的基本需求。人类能够通过多模式感官知觉来感知自我运动和所处环境,并依靠这种空间意识在复杂的三维空间中定位和导航。这种能力是人类空间能力的一部分。同时,感知自我运动及其周围环境的能力在进行认知和运动控制中同样起着至关重要的作用。

类似的,智能体或机器人也应该可以仅依靠搭载的传感器感知环境并估计系统状态。这些智能体可以是任何形式的机器人,如自动驾驶车辆、送货无人机或家庭服务机器人,他们感知周围环境并自主做出决定;新兴的增强现实(AR)和虚拟现实(VR)设备、信息物理系统(CPS),机器运动感知能力的增强也直接提高了人机交互。其他应用还包括各种移动和可穿戴设备,例如智能手机、智能穿戴或物联网(IoT)设备,为用户提供各种基于位置的服务,从公共区域行人导航到运动与活动监控,再到安保系统。

可以说,实现移动机器人的高度智能,就需要这样的精准自我定位以及建立和维护所处环境的世界模型,并且能够不断的处理新信息,适应各种新的环境和突发状况。这样的能力在本文中被称作“空间机器智能”,也在[1]被称为“空间人工智能”。

在本文中,定位是指获得移动智能体内部系统运动状态(包括速度、位置、方向),而建图则表示感知外部环境并能够维护一个描述外部世界的模型(包括环境几何、外貌以及语义)。他们可以单独作为一个模块感知内部或外部的系统状态,也可以集合在一个统一的框架内同时进行定位与建图。

为何要研究基于深度学习的定位与建图技术

定位与建图是一个相当古老的问题。前人数十年的研究工作,通过描述物理运动状态以及空间几何关系,设计出了各种复杂的模型和算法来解决这一问题 [2],例如,里程计估算(包括视觉里程计、视觉惯性里程计和激光雷达里程计等),基于图像的全局重定位,位置识别 ,SLAM和三维重建。在理想条件下,这些传感器和模型能够准确估计系统状态。但在实际应用中,传感器测量误差、不准确的系统建模、复杂的环境动态影响和一些不符合真实环境的约束条件都会影响传统模型的准确性和可靠性。

由于传统模型的局限性以及近年来在机器学习(尤其是深度学习)领域的一系列进展,促使研究人员考虑将数据驱动(学习)方法视为一种解决问题新方案。图2描述了输入传感器数据(例如视觉、惯性、LIDAR或其他传感器)与输出目标值(例如位置、方向、场景几何或语义)之间的关系。传统建模方法通过手动设计来实现特定领域的算法,而基于学习的方法则通过深度学习从大量数据中学到的相关知识来构建这一映射关系。

通过学习方法来实现定位建图的优势主要有三方面:

首先,深度学习可以利用具有高度表达能力的深度神经网络作为通用拟合器,自动提取与任务相关的特征。此一特性使得深度学习模型能更好的适应各种环境,尤其是一些对于手动建模往往比较困难的情况,如特征少的区域、环境动态复杂、运动模糊以及无法精确起始校准 [3]。例如,基于深度学习的视觉里程计 [4][5] 性能已经超过了最好的(SoTA)的传统算法,同时具有更好的鲁棒性。除此之外,学习方法能够将抽象元素与人类可以理解的术语联系起来,比如SLAM中的语义标签,很难用一个确定的数学方程来描述。

其次,深度学习允许空间机器智能系统从过去的经历中提取经验,并更加主动有效的利用新的传感器信息。为了解决特定领域问题,传统方法在系统部署前,就人为规定好所有规则和算法,然后遇到预先没有设定的情况,往往会影响系统精度。而基于深度学习的系统能够通过构建通用的数据驱动模型,在新场景下自动发现新的计算解决方案,并自我改善模型及参数。一个很好地例子是,通过使用新视图生成(Novel view synthesis)作为自我监督信号,可以从无标签视频中恢复自我运动和深度 [6]。此外,通过深度学习可以更方便的构建任务驱动地图,进一步支持路径规划和决策等更高级的机器人任务。

第三,能够充分利用与日俱增的数据量和计算能力。深度学习能够泛化到大规模数据和应用场景,可以自动优化深度神经网络模型内的海量参数。目前,已经有多个与定位和建图有关的各种大型数据集发布,比如自动驾驶汽车场景中的牛津 RobotCar,百度阿波罗和 Waymo数据集,都采集了相当数量的传感器数据以及运动、语义标签。深度学习方法可以有效利用现有数据和计算的力量来解决定位和建图中的难题。

当然还必须指出,目前基于深度学习的技术往往依赖于庞大的数据集来提取具有统计意义的模式特征,可能难以范化到其他陌生的环境中。并且深度学习缺乏模型可解释性,尽管这些学习系统可以并行计算,但与一些更简单的手动建立的模型相比,通常计算量极大。

关于现阶段方法局限性的讨论请参见原文第7节。

我们将基于深度学习的定位建图工作分为四类分别进行介绍,如图3所示。这里,我们只进行简单介绍,详细讨论请参阅综述原文。

里程计估计 (Odometry Estimation)

里程计估计计算两帧或多帧传感器数据之间的相对姿态变化。通过持续追踪自我运动,相对于初始状态,累计这些姿态变化得出全局姿态,这种方法也被称作航位推算(Dead Reckoning)。

里程计估计可用于提供相对和全局姿态信息,并在系统动力模型中辅助机器人控制进行回路反馈。它的核心问题在于如何从各种传感器测量值准确估算相对运动转换。由于这是一种航位推算算法,相对运动估计误差会随着时间累计。应用深度学习可以端到端的对运动动力学模型直接建模或提取有用的特征用于传统模型中作为混合模型来解决问题。

我们主要讨论从广泛使用的视觉传感器、惯性传感器和LIDAR中进行里程计估计,因此分别讨论了视觉里程计(Visual Odometry)、视觉惯性里程计(Visual-inertial Odometry)、惯性里程计(Inertial Odometry)以及激光雷达里程计(LIDAR Odometry) 方面的工作。

其中在视觉里程计中,我们又细分为有监督的端对端模型(Supervised VO)、无监督的端对端模型 (Unsupervised VO)和混合模型 (Hybrid VO)。

建图 (Mapping)

建图的主要目标是构建一个描述周围环境的模型。生成的图具有多方面的作用:1)可以为使用者提供能够理解的地图参考,2)为机器人任务提供环境信息,如导航规划等 3)限制里程计的误差发散 4)作为先验模型为全局定位提供参考。

深度学习在建图过程中尤其重要,可以从高纬度的数据中直接寻找场景几何与语义。根据模型输出的场景表达,我们将相关工作分为三类:几何建图(Geometric Mapping),语义建图(Semantic Mapping)和广义建图(General Mapping)。

几何建图主要提取场景的形状和结构描述。用于场景表达的普遍选择包括深度(2.5D)、体素(Voxel)、点(Point)和网络(Mesh),因此我们将基于深度学习的几何建图又进一步归入以上四个类别。

语义建图将语义概念(如物体分类、材料成分等)与环境的几何形状联系起来。深度学习的进展极大的促进了物体识别和语义分割的发展,也由此使得生成的地图不仅包含场景几何信息而且能描述场景的语义信息。我们分别讨论了使用了语义分割(Semantic Segmentation)、实例分割(Instance Segmentation)和全景分割(Panoptic Segmentation)来进行语义建图。

上述的几何建图和语义建图都被认为是显性建图,而深度学习的一个重要特征是可以通过神经网络将全部场景压缩成一个隐性的场景表达。这里被称作广义建图,即广义的场景表达以一种人无法直接理解的方式包含了场景的重要特征用于解决各项所需任务。一类的工作包括用自动编码器(Autoencoder)压缩场景、神经渲染模型(Neural rendering model)以及任务驱动的地图(Task-driven map)。

全局重定位(Global Localization)

全局重定位通过在已知场景中检索观测量来确定全局姿态。可以通过将输入数据与预先构建的2D或3D地图、其他空间参考或之前访问过的场景进行匹配来实现。与里程计推算不同,全局定位主要用于已知场景,可以直接获得全局位置,用来减少航位推算的姿态漂移。

由于当前输入数据和已知地图(在使用之前就建立好的)之间的视图、照明、天气和场景动态等因素变化,导致这一数据关联问题变得尤其复杂。在这里,深度学习被用作解决这一棘手的数据关联问题。

我们根据输入数据和地图的不同,将全局重定位分为三类:

2D-2D定位将2D的图片与2D的地图进行匹配。这里地图可以是一个显性的包含了2D图片特征的数据库或是一个隐性的提取了2D图片特征的神经网络。比如PoseNet通过深度神经网络来直接预测全局姿态,它通过训练深度神经网络,输入的2D图片的重要特征被学习和保留在了网络中,而当给定一个新的观测量时,就可以通过神经网络直接输出它的匹配姿态。

2D-3D定位建立2D输入图片与包含了3D点的地图之间的关联。3D地图可以通过如SLAM或SfM方法在执行全局定位之前预先构建。这里,有两种主流的2D到3D的定位方法,一种是通过局部描述匹配 (Descriptor based),另一种是从2D像素中回归3D坐标 (Scene Coordinate Regression),来建立查询图像的2D像素和场景模型的3D点之间2D到3D的对应关系,然后,通过RANSAC循环和PnP求解器,从2D-3D匹配计算相机姿态。

同样的,3D-3D定位通过建立3D到3D对应匹配,来从预先构建的3D地图恢复输入的3D数据的全局姿势的方法。

同时定位与建图(SLAM)

同步定位和建图(SLAM)将上述里程计估计、全局重定位和建图过程集成为系统的一部分,并共同优化这些模块,以提高同时定位和建图的性能。除上述讨论的模块外,其他几个SLAM模块在集成系统中也起着至关重要的作用。

我们这里讨论了以下几个部分:

局部优化(Local Optimization) 可确保摄像机运动和场景几何的局部一致性;

全局优化(Global Optimization)可以在全局环境下约束和校正全局轨迹的漂移;

一旦系统通过闭环检测(Loop-closure Detection) 检测到闭环,系统误差漂移可通过全局优化来约束;

关键帧检测(Keyframe Detection) 可用于基于关键帧的SLAM中以实现更有效率的推断;

不确定性估计(Uncertainty Estimation)为通过深度学习学到的姿态和环境感知提供一种信念度量,表示在多大程度上可以相信神经网络的输出,这对于SLAM系统中的概率传感器融合和后端优化至关重要。

由于时间所限、篇幅所限,这里简单介绍了综述中的大概内容,详细讨论还请参见原文,如有不足之处请多多指教。

参考文献

[1] Davison, A.J., . FutureMapping: The computational structure of spatial AI systems. arXiv preprint arXiv:1803.11288.

[2] Cadena, C., Carlone, L., Carrillo, H., Latif, Y., Scaramuzza, D., Neira, J., Reid, I. and Leonard, J.J., . Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age. IEEE Transactions on robotics, 32(6), pp.1309-1332.

[3] Sünderhauf, N., Brock, O., Scheirer, W., Hadsell, R., Fox, D., Leitner, J., Upcroft, B., Abbeel, P., Burgard, W., Milford, M. and Corke, P., . The limits and potentials of deep learning for robotics. The International Journal of Robotics Research, 37(4-5), pp.405-420.

[4] Wang, S., Clark, R., Wen, H. and Trigoni, N., , May. Deepvo: Towards end-to-end visual odometry with deep recurrent convolutional neural networks. In IEEE International Conference on Robotics and Automation (ICRA) (pp. 2043-2050). IEEE.

[5] Yang, N., Stumberg, L.V., Wang, R. and Cremers, D., . D3VO: Deep Depth, Deep Pose and Deep Uncertainty for Monocular Visual Odometry. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 1281-1292).

[6] Zhou, T., Brown, M., Snavely, N. and Lowe, D.G., . Unsupervised learning of depth and ego-motion from video. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 1851-1858).

[7] Kendall, A., Grimes, M. and Cipolla, R., . Posenet: A convolutional network for real-time 6-dof camera relocalization. In Proceedings of the IEEE international conference on computer vision (pp. 2938-2946).

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉+ 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。