Py学习  »  机器学习算法

60项基于深度学习的SLAM顶会开源方案汇总

计算机视觉life • 1 年前 • 303 次点击  

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货


原创转载自泡椒味的口香糖

0. 笔者个人体会

深度学习结合SLAM是近年来很热门的研究方向,也因此诞生了很多开源方案。笔者最近在阅读SLAM综述论文“A Survey on Deep Learning for Localization and Mapping: Towards the Age of Spatial Machine Intelligence”,该综述参考了255篇SLAM领域的顶会顶刊论文,并且涵盖了VO、建图、特征提取、定位、描述子提取、BA优化、回环、数据集等多个方向,非常全面。也因此,笔者一直想整理下文章中出现的开源项目,用于在后续工作中进行对比。
本文将对该综述中出现的开源方案进行整理(2018年以后),并附上摘要和论文信息。虽然可能文章并不是最新的,但每项开源工作都是顶会顶刊,设计思路很巧妙,参考价值很高。
由于方案较多,因此将分上下两节进行介绍。本节将介绍里程计、建图、特征提取、SLAM、回环方案以及论文中提到的两个数据集。

1. 里程计

里程计(VO/VIO/IO/LO/LIO)估计传感器的自我运动,并将传感器之间的相对运动整合到全局姿态中。深度学习方法能够从传感器数据中提取高级特征表示,从而提供解决里程计问题的替代方法,而不需要手工设计的特征提取器。现有的基于深度学习的里程计模型可以分为端到端里程计和混合里程计,前者完全基于神经网络,后者是经典里程计算法和深度神经网络的组合。根据训练阶段真实标签的可用性,端到端系统可以进一步分为有监督和无监督。
1)GeoNet
标题:GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose
作者:Zhichao Yin, Jianping Shi
单位:商汤研究院
来源:2018 CVPR
原文链接:https://arxiv.org/abs/1803.02276
代码链接:https://github.com/yzcjtr/GeoNet
摘要:我们提出了一个联合无监督学习框架GeoNet,用于从视频中估计单目深度、光流和自运动。三个组件通过3D场景几何的性质耦合在一起,通过我们的框架以端到端的方式共同学习。具体来说,通过对单个模块的预测提取几何关系,然后将其组合为图像重建损失,分别对静态和动态场景部分进行推理。此外,我们提出了一种自适应几何一致性损失,以增加对异常值和非朗伯区域的鲁棒性,有效地解决了遮挡和纹理模糊问题。在KITTI驾驶数据集上的实验表明,我们的方案在三个任务中都取得了最好的结果,性能优于之前的无监督方法,与有监督方法相当。
2)Depth-VO-Feat
标题:Unsupervised Learning of Monocular Depth Estimation and Visual Odometry with Deep Feature Reconstruction
作者:Huangying Zhan, Ravi Garg, Chamara Saroj Weerasekera, Kejie Li, Harsh Agarwal, Ian Reid
单位:阿德莱德大学、澳大利亚机器人视觉中心、印度理工学院
来源:2018 CVPR
原文链接:https://arxiv.org/abs/1803.03893
代码链接:https://github.com/Huangying-Zhan/Depth-VO-Feat
摘要:尽管基于学习的方法在单视图深度估计和视觉里程计中显示出有希望的结果,但是大多数现有的方法以监督的方式处理任务。最近的单视图深度估计方法通过最小化光度误差探索了在没有完全监督的情况下学习的可能性。在本文中,我们探索了使用双目序列学习深度和视觉里程计。双目序列的使用使得能够使用空间(在左右对之间)和时间(向前向后)光度扭曲误差,并且将场景深度和相机运动约束在共同的真实世界比例中。在测试时,我们的框架能够从单目序列中估计单视图深度和双视图里程计。我们还展示了如何通过考虑深度特征的扭曲来改善标准光度扭曲损失。我们通过大量实验表明:(I)针对单视图深度和视觉里程计的联合训练改进了深度预测,因为对深度施加了额外的约束,并且实现了视觉里程计的有竞争力的结果;(ii)对于单视图深度估计和视觉里程计,基于深度特征的扭曲损失改进了简单的光度扭曲损失。在KITTI驾驶数据集上,我们的方法在两个任务上都优于现有的基于学习的方法。
3)CNN-SVO
标题:CNN-SVO: Improving the Mapping in Semi-Direct Visual Odometry Using Single-Image Depth Prediction
作者:Shing Yan Loo, Ali Jahani Amiri, Syamsiah Mashohor, Sai Hong Tang, Hong Zhang
单位:阿尔伯塔大学、马来西亚普特拉大学
来源:2019 ICRA
原文链接:https://arxiv.org/abs/1810.01011
代码链接:https://github.com/yan99033/CNN-SVO
摘要:帧间可靠的特征对应是视觉里程计(VO)和视觉同步定位与地图创建(V-SLAM)算法的关键步骤。与现有的VO和V-SLAM算法相比,半直接视觉里程计(SVO)具有两个主要优点,这两个优点导致了最先进的帧速率相机运动估计:直接像素对应和概率映射方法的有效实现。根据单幅图像深度预测网络的深度预测,初始化特征位置深度的均值和方差,从而改进SVO映射。通过显著降低初始化图点的深度不确定性(即,以深度预测为中心的小方差),好处是双重的:视图之间的可靠特征对应和快速收敛到真实深度以便创建新的图点。我们用两个室外数据集来评估我们的方法:KITTI数据集和Oxford Robotcar数据集。实验结果表明,改进的SVO映射提高了鲁棒性和摄像机跟踪精度。
4)RNN-Depth-Pose
标题:Recurrent Neural Network for (Un-)supervised Learning of Monocular VideoVisual Odometry and Depth
作者:Rui Wang, Stephen M. Pizer, Jan-Michael Frahm
单位:北卡罗来纳大学教堂山分校
来源:2019 CVPR
原文链接:https://arxiv.org/abs/1904.07087
代码链接:https://github.com/wrlife/RNN_depth_pose
摘要:基于深度学习的单视角深度估计方法最近表现出非常有前景的结果。然而,这类方法忽略了人类视觉系统中确定深度最重要的特征之一,即运动。我们提出了一种基于学习的多视角稠密深度图和里程计估计方法,该方法使用循环神经网络( Recurrent Neural Networks,RNN ),并利用多视角图像重投影和前后向流一致性损失进行训练。我们的模型可以在有监督甚至无监督的模式下进行训练。它设计用于从输入帧具有时间相关性的视频中估计深度和视觉里程计。然而,它也推广到单视角深度估计。在KITTI驾驶数据集上,我们的方法在基于单视角和多视角学习的深度估计上取得了优于现有方法的结果。
5)DF-VO
标题:Visual Odometry Revisited: What Should Be Learnt?
作者:Huangying Zhan, Chamara Saroj Weerasekera, Jiawang Bian, Ian Reid
单位:阿德莱德大学
来源:2020 ICRA
原文链接:https://arxiv.org/abs/1909.09803
代码链接:https://github.com/Huangying-Zhan/DF-VO
摘要:在这项工作中,我们提出了一种单目视觉里程计(VO)算法,该算法利用了基于几何的方法和深度学习。大多数现有的具有优越性能的VO/SLAM系统是基于几何的,并且必须针对不同的应用场景进行精心设计。此外,大多数单目系统都存在尺度漂移问题。最近的一些深度学习作品以端到端的方式学习VO,但这些深度系统的性能仍然无法与基于几何的方法相提并论。在这项工作中,我们重温了VO的基础知识,并探索了将深度学习与核几何和透视n点(PnP)方法相结合的正确方法。具体来说,我们训练两个卷积神经网络(CNN)来估计单视图深度和两视图光流作为中间输出。通过深度预测,我们设计了一种简单但鲁棒的帧间VO算法(DF-VO ),该算法优于纯粹的基于深度学习和基于几何的方法。更重要的是,我们的系统没有受到尺度一致的单视图深度CNN辅助的尺度漂移问题。在KITTI数据集上的大量实验显示了我们系统的鲁棒性,并且详细的消融研究显示了我们系统中不同因素的影响。
6)DPFs
标题:Differentiable Particle Filters: End-to-End Learning with Algorithmic Priors
作者:Rico Jonschkowski, Divyam Rastogi, Oliver Brock
单位:柏林技术大学
来源:2018 RSS
原文链接:https://arxiv.org/abs/1805.11122
代码链接:https://github.com/tu-rbo/differentiable-particle-filters
摘要:我们提出了可微分粒子滤波器(DPFs):一种具有可学习运动和测量模型的粒子滤波器算法的可微分实现。由于DPF是端到端可区分的,我们可以通过优化端到端状态估计性能来有效地训练它们的模型,而不是像模型准确性这样的代理目标。DPFs对递归状态估计的结构进行编码,其中预测和测量更新对状态的概率分布进行操作。这种结构代表了一种算法先验,该算法先验提高了状态估计问题中的学习性能,同时实现了所学习模型的可解释性。我们在模拟和真实数据上的实验显示了具有算法先验的端到端学习的实质性好处,例如将错误率降低了约80%。我们的实验还表明,与长短期记忆网络不同,DPF以一种与策略无关的方式学习定位,从而大大提高了泛化能力。
7)RIDI
标题:RIDI: Robust IMU Double Integration
作者:Hang Yan, Qi Shan, Yasutaka Furukawa
单位:华盛顿大学、Zillow、西蒙·弗雷泽大学
来源:2018 ECCV
原文链接:https://arxiv.org/abs/1712.09004
代码链接:https://github.com/higerra/ridi_imu
摘要:本文提出了一种新的数据驱动的惯性导航方法,该方法仅通过每部智能手机中的惯性测量单元(IMU)来学习估计自然人体运动的轨迹。关键的观察是,人类的运动是重复的,由几个主要模式组成(例如,站立、行走或转动)。我们的算法从线性加速度和角速度的历史中回归一个速度向量,然后校正线性加速度中的低频偏差,线性加速度被积分两次以估计位置。我们已经获得了跨多个人类对象和多个电话位置(例如,在包或手中)的地面真实运动的训练数据。定性和定量评估表明,我们的算法令人惊讶地显示出与全视觉惯性导航相当的结果。据我们所知,这篇论文首次将复杂的机器学习技术与惯性导航相结合,有可能在数据驱动的惯性导航领域开辟一条新的研究路线。我们将公开分享我们的代码和数据,以促进进一步的研究。
8)OriNet
标题:OriNet: Robust 3-D Orientation Estimation With a Single Particular IMU
作者:Mahdi Abolfazli Esfahani; Han Wang; Keyu Wu; Shenghai Yuan
单位:南洋理工大学
来源:2019 RAL
原文链接:https://ieeexplore.ieee.org/abstract/document/8931590
代码链接:https://github.com/mbrossar/denoise-imu-gyro
摘要:在试图估计机器人运动轨迹的里程计系统中,估计机器人的航向是一个关键要求。方位估计中的小误差会导致估计轨迹和实际轨迹之间的显著差异,并导致里程计系统的故障。对于微型飞行机器人来说,里程计问题变得更加复杂,因为它们不能携带大量的传感器。通过这种方式,它们应该受益于小尺寸和低成本的传感器,如IMU,以解决里程计问题,行业一直在寻找这样的解决方案。然而,IMU受到偏差和测量噪声的影响,这使得位置和方向估计问题难以由单个IMU解决。虽然有许多关于IMU与其他传感器融合的研究,但这项研究表明了第一个深度学习框架的强大功能,它可以在单个IMU的情况下准确估计飞行机器人的完整3D方向(如四元数坐标中的偏航、俯仰和滚动)。在建议系统的训练和测试期间,应使用特定的IMU。此外,还引入了一种基于遗传算法的方法来测量每次执行中的IMU偏差。结果表明,在单个特定IMU存在的情况下,所提出的方法将飞行机器人估计其方位位移的能力提高了大约80%。所提出的方法也优于同时利用单目摄像机和IMU的现有解决方案大约30%。
9)Pyshoe
标题:LSTM-Based Zero-Velocity Detection for Robust Inertial Navigation
作者:Brandon Wagstaff; Jonathan Kelly
单位:多伦多大学航空航天研究所
来源:2018 IPIN
原文链接:https://ieeexplore.ieee.org/abstract/document/8533770
代码链接:https://github.com/utiasSTARS/pyshoe
摘要:提出了一种用长短期记忆(LSTM)神经网络代替标准零速检测器来提高零速辅助惯性导航系统(INS)精度的方法。虽然现有的基于阈值的零速度检测器对变化的运动类型不稳定,但我们的学习模型可以准确地检测惯性测量单元(IMU)的稳定周期,尽管用户的运动发生了变化。在检测时,零速度伪测量在扩展卡尔曼滤波器(EKF)中与航位推算运动模型融合。我们证明了我们的基于LSTM的零速度检测器,在零速度辅助的INS中使用,改进了人体定位任务中的零速度检测。因此,也提高了定位精度。我们的系统在超过7.5公里的室内行人运动数据上进行评估,这些数据是从五个不同的对象获得的。我们表明,对于行走、跑步和爬楼梯运动,与现有的固定阈值零速度检测器相比,3D定位误差降低了34%以上。此外,我们还展示了我们的零速度检测器如何在爬行和爬梯过程中有效工作。我们的系统是免校准的(不需要仔细的阈值调谐),并且与不同的用户、IMU放置和鞋子类型一致地操作,同时与任何通用的零速度辅助INS兼容。

2. 建图

建图是指移动代理建立一致的环境模型来描述周围场景的能力。深度学习获得了一套用于场景感知和理解的工具,其应用范围从深度预测到语义标注,再到3D几何重建。基于深度学习的建图方法主要包括几何建图、语义建图和一般建图。
10)RayNet
标题:RayNet: Learning Volumetric 3D Reconstruction with Ray Potentials
作者:Despoina Paschalidou, Ali Osman Ulusoy, Carolin Schmitt, Luc van Gool, Andreas Geiger
单位:图宾根智能系统MPI自主视觉小组
来源:2018 CVPR
原文链接:https://arxiv.org/abs/1901.01535
代码链接:https://github.com/paschalidoud/raynet
摘要:在本文中,我们考虑的问题是重建一个密集的三维模型使用的图像捕获从不同的角度。基于卷积神经网络(CNN)的最新方法允许从数据中学习整个任务。然而,它们不包括图像形成的物理学,例如透视几何学和遮挡。相反,基于具有射线势的马尔可夫随机场(MRF)的经典方法明确地模拟了这些物理过程,但是它们不能处理不同视点上的大的表面外观变化。在本文中,我们提出了RayNet,它结合了两种框架的优点。RayNet将学习视图不变特征表示的CNN与显式编码透视投影和遮挡的物理学的MRF集成在一起。我们使用经验风险最小化端到端地训练RayNet。我们在具有挑战性的真实数据集上全面评估了我们的方法,并展示了它相对于分段训练基线、手工制作模型以及其他基于学习的方法的优势。
11)AtlasNet
标题:AtlasNet: A Papier-Mâché Approach to Learning 3D Surface Generation
作者:Thibault Groueix, Matthew Fisher, Vladimir G. Kim, Bryan C. Russell, Mathieu Aubry
单位:Adobe
来源:2018 CVPR
原文链接:https://arxiv.org/abs/1802.05384
代码链接:https://github.com/ThibaultGROUEIX/AtlasNet
摘要:我们介绍了一种学习生成三维形状表面的方法。我们的方法将3D形状表示为参数化表面元素的集合,并且与生成体素网格或点云的方法相比,自然地推断形状的表面表示。除了其新颖性,我们的新形状生成框架AtlasNet还具有显著的优势,例如提高了精度和泛化能力,并且可以生成任意分辨率的形状,而不会出现内存问题。我们展示了这些优势,并与ShapeNet基准上的两个应用程序的强基线进行了比较:(I)自动编码形状,以及(ii)从静态图像进行单视图重建。我们还提供了显示其其他应用潜力的结果,如变形、参数化、超分辨率、匹配和共同分割。
12)Pixel2Mesh
标题:Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
作者:Nanyang Wang, Yinda Zhang, Zhuwen Li, Yanwei Fu, Wei Liu, Yu-Gang Jiang
单位:上海智能信息处理重点实验室
来源:2018 ECCV
原文链接:https://arxiv.org/abs/1804.01654
代码链接:https://github.com/nywang16/Pixel2Mesh
摘要:我们提出了一种端到端的深度学习架构,它从单一彩色图像中产生三角形网格中的3D形状。受深度神经网络特性的限制,以前的方法通常在体或点云中表示三维形状,将其转换为更易于使用的网格模型是非常重要的。与现有的方法不同,我们的网络在基于图形的卷积神经网络中表示3D网格,并通过逐渐变形椭球体来产生正确的几何形状,利用从输入图像中提取的感知特征。我们采用由粗到细的策略使整个变形过程稳定,并定义各种与网格相关的损失来捕捉不同级别的属性,以保证视觉上吸引人和物理上精确的3D几何。大量的实验表明,我们的方法不仅定性地生成具有更好细节的网格模型,而且实现了比现有技术更高的三维形状估计精度。
13)Scan2Mesh
标题:Scan2Mesh: From Unstructured Range Scans to 3D Meshes
作者:Angela Dai, Matthias Nießner
单位:慕尼黑工业大学
来源:2019 CVPR
原文链接:https://arxiv.org/abs/1811.10464
代码链接:https://github.com/MohamedRamzy1/Scan2Mesh
摘要:我们提出了Scan2Mesh,这是一种新颖的数据驱动的生成方法,它将非结构化和潜在不完整的范围扫描转换为结构化的3D网格表示。这项工作的主要贡献是生成神经网络架构,其输入是3D对象的范围扫描,其输出是以输入扫描为条件的索引人脸集。为了将3D网格生成为一组顶点和面索引,创成式模型建立在顶点、边和面的一系列代理损失上。在每个阶段,我们结合卷积和图形神经网络架构,实现预测数据点和实际数据点之间的一对一离散映射。这使得我们的算法能够预测一个紧凑的网格表示,类似于通过手工艺术家使用3D建模软件创建的网格表示。因此,我们生成的网格结果产生了更清晰、更干净的网格,其结构与通过隐函数生成的网格完全不同,这是弥合艺术家创建的CAD模型之间差距的第一步。
14)Voxblox-plusplus
标题:Volumetric Instance-Aware Semantic Mapping and 3D Object Discovery
作者:Margarita Grinvald, Fadri Furrer, Tonci Novkovic, Jen Jen Chung, Cesar Cadena, Roland Siegwart, Juan Nieto
单位:苏黎世联邦理工学院
来源:2019 RAL & 2019 IROS
原文链接:https://arxiv.org/abs/1903.00268
代码链接:https://github.com/ethz-asl/voxblox-plusplus
摘要:为了在真实世界环境中自主导航和规划交互,机器人需要能够鲁棒地感知和绘制复杂、非结构化的周围场景。除了构建观察到的场景几何体的内部表示,对环境的真正功能理解的关键见解是在贴图期间使用更高级别的实体,如单个对象实例。我们提出了一种在使用局部RGB-D相机进行在线扫描的过程中,逐步建立以物体为中心的立体地图的方法。首先,每帧分割方案结合了无监督的几何方法和实例感知的语义对象预测。这允许我们检测和分割来自已知类别集和其他以前看不到的类别的元素。接下来,数据关联步骤跟踪跨不同帧的预测实例。最后,地图整合策略将关于它们的3D形状、位置和语义类别(如果可用)的信息融合到全局体积中。在公开可用的数据集上的评估表明,所提出的用于构建实例级语义地图的方法与最先进的方法具有竞争力,同时还能够发现未知类别的对象。在真实世界的机器人绘图设置中进一步评估该系统,定性结果突出了该方法的在线性质。
15)CodeSLAM
标题:CodeSLAM - Learning a Compact, Optimisable Representation for Dense Visual SLAM
作者:Michael Bloesch, Jan Czarnowski, Ronald Clark, Stefan Leutenegger, Andrew J. Davison
单位:帝国理工学院
来源:2018 CVPR
原文链接:https://arxiv.org/abs/1804.00874
代码链接:https://github.com/silviutroscot/codeslam
摘要:实时3D感知系统中的几何表示仍然是一个关键的研究问题。密集地图捕捉完整的表面形状,并可以用语义标签进行扩充,但它们的高维度使它们存储和处理的计算成本很高,不适合严格的概率推理。基于稀疏特征的表示避免了这些问题,但是仅捕获部分场景信息,并且主要仅用于定位。我们提出了一种新的紧凑但密集的场景几何表示,它以来自单个图像的亮度数据为条件,并由少量参数组成的代码生成。我们受到了从图像中学习深度和自动编码器的工作的启发。我们的方法适合在基于关键帧的单目密集SLAM系统中使用:虽然每个具有代码的关键帧可以产生深度图,但是该代码可以与姿势变量以及重叠关键帧的代码一起有效地优化,以获得全局一致性。调节图像上的深度图允许代码仅表示不能从图像直接预测的局部几何形状的方面。我们解释了如何学习我们的代码表示,并展示了它在单目SLAM的有利性质。
16)Geometry-Aware Neural Rendering
标题:Geometry-Aware Neural Rendering
作者:Josh Tobin, OpenAI Robotics, Pieter Abbeel
单位:OpenAI
来源:2019 Neural Information Processing Systems
原文链接:https://arxiv.org/abs/1911.04554
代码链接:https://github.com/josh-tobin/egqn-datasets
摘要:理解世界的三维结构是计算机视觉和机器人学的核心挑战。神经渲染方法通过预测摄像机从任意视点看到的物体来学习一个隐式的3D模型。我们将现有的神经渲染扩展到比以前更复杂、更高维的场景。我们提出了核线交叉注意力机制( Cross Attention,ECA ),该机制利用场景的几何结构来执行高效的非局部操作,每个空间维度只需要O ( n )次比较而不需要O ( n2 )次比较。我们引入了3个受真实世界机器人启发的新模拟数据集,并证明了ECA显著提高了生成查询网络( Generative Query Networks,GQN )的定量和定性性能。
17)MESE
标题:Neural Multisensory Scene Inference
作者:Jae Hyun Lim, Pedro O. Pinheiro, Negar Rostamzadeh, Christopher Pal, Sungjin Ahn
单位:Element AI
来源:2019 Neural Information Processing Systems
原文链接:https://arxiv.org/abs/1910.02344
代码链接:https://github.com/lim0606/pytorch-generative-multisensory-network
摘要:对于要推断他们所居住的潜在3D物理世界的表现的具身代理人,他们应该有效地结合来自许多试验的多感觉线索,例如,通过观看和触摸物体。尽管它的重要性,多感官的三维场景表示学习已经收到较少的关注相比,单峰设置。在这篇论文中,我们提出了生成多感觉网络(GMN ),用于学习三维场景的潜在表征,这些表征可以通过多种感觉模态部分观察到。我们还引入了一种新的方法,称为摊销专家乘积法,以提高计算效率和测试时对未知模态组合的鲁棒性。实验结果表明,该模型可以有效地从任意模态组合中推断出鲁棒的模态不变的3D场景表示,并执行准确的跨模态生成。为了进行这种探索,我们还开发了多感官的三维场景环境(MESE)。
18)Scene Representation Networks
标题:Scene Representation Networks: Continuous 3D-Structure-Aware Neural Scene Representations
作者:Vincent Sitzmann, Michael Zollhöfer, Gordon Wetzstein
单位:斯坦福大学
来源:2019 Neural Information Processing Systems
原文链接:https://arxiv.org/abs/1906.01618
代码链接:https://github.com/vsitzmann/scene-representation-networks
摘要:具有生成模型的无监督学习具有发现3D场景的丰富表示的潜力。虽然几何深度学习已经探索了场景几何的3D结构感知表示,但这些模型通常需要显式的3D监督。新兴的神经场景表示只能用2D图像来训练,但现有的方法忽略了场景的三维结构。我们提出了场景表示网络(SRNs),一种连续的、3D结构感知的场景表示,对几何和外观进行编码。srn将场景表示为将世界坐标映射到局部场景属性的特征表示的连续函数。通过将图像形成公式化为可微分的射线行进算法,可以仅从2D图像和它们的相机姿态端到端地训练srn,而不访问深度或形状。这个公式自然地推广到场景,在这个过程中学习强大的几何和外观先验。我们通过评估SRNs在新视图合成、少镜头重建、关节形状和外观插值以及非刚性人脸模型的无监督发现方面的潜力来展示SRNs。
19)GeoMapNet
标题:Geometry-Aware Learning of Maps for Camera Localization
作者:Samarth Brahmbhatt, Jinwei Gu, Kihwan Kim, James Hays, Jan Kautz
单位:佐治亚理工学院、NVIDIA
来源:2018 CVPR
原文链接:https://arxiv.org/abs/1712.03342
代码链接:https://github.com/NVlabs/geomapnet
摘要:地图是基于图像的相机定位和视觉SLAM系统中的关键组件:它们用于建立图像之间的几何约束,校正相对姿态估计中的漂移,以及在丢失跟踪后重新定位相机。然而,地图的确切定义通常是特定于应用的,并且是针对不同场景手工制作的(例如,3D地标、线、平面、视觉单词包)。我们建议将地图表示为称为MapNet的深度神经网络,这使得能够学习数据驱动的地图表示。与之前学习地图的工作不同,除了图像之外,MapNet还利用了廉价且无处不在的感官输入,如视觉里程计和GPS,并将它们融合在一起用于相机定位。由这些输入表示的几何约束传统上用于束调整或姿态图优化,在MapNet训练中被公式化为损失项,并且也在推断期间使用。除了直接提高定位精度之外,这允许我们使用来自场景的附加未标记视频序列以自我监督的方式更新地图网络(即,地图)。我们还提出了一种新的摄像机旋转参数化方法,它更适合于基于深度学习的摄像机姿态回归。在室内7-Scenes数据集和室外Oxford RobotCar数据集上的实验结果表明,与先前的工作相比,性能有了显著的提高。

3. 特征提取

传统的SLAM算法都是基于ORB、SIFT这些几何特征,深度学习检测器应用于预先学习的密集描述符以提取一组稀疏的关键点和相应的描述符。密集特征提取先于检测阶段,并在整个图像上密集地执行描述阶段。在实践中,这种方法已显示出比稀疏特征匹配更好的匹配结果,特别是在光照强变化的条件下。
20)GCNv2
标题:GCNv2: Efficient Correspondence Prediction for Real-Time SLAM
作者:Jiexiong Tang, Ludvig Ericson, John Folkesson, Patric Jensfelt
单位:KTH皇家技术学院
来源:2019 RAL
原文链接:https://arxiv.org/abs/1902.11046
代码链接:https://github.com/jiexiong2016/GCNv2_SLAM
摘要:在本文中,我们提出了一个基于深度学习的网络GCNv2,用于生成关键点和描述符。GCNv2建立在我们以前的方法GCN的基础上,这是一个为3D投影几何训练的网络。GCNv2设计了一个二进制描述符向量作为ORB特性,这样它就可以很容易地在ORB-SLAM2等系统中取代ORB。GCNv2显著提高了只能在桌面硬件上运行的GCN的计算效率。我们展示了使用GCNv2特性的ORB-SLAM2的修改版本如何在嵌入式低功耗平台Jetson TX2上运行。实验结果表明,GCNv2保持了与GCN相当的精度,并且足够鲁棒,可以用于控制飞行中的无人机。
21)SuperPoint
标题:SuperPoint: Self-Supervised Interest Point Detection and Description
作者:Daniel DeTone, Tomasz Malisiewicz, Andrew Rabinovich
单位:Magic Leap
来源:2018 CVPR
原文链接:https://arxiv.org/abs/1712.07629
代码链接:https://github.com/magicleap/SuperGluePretrainedNetwork
摘要:本文提出了一个自我监督的框架,用于训练兴趣点检测器和描述符,适用于计算机视觉中的大量多视图几何问题。与基于面片的神经网络相反,我们的全卷积模型对全尺寸图像进行操作,并在一次向前传递中联合计算像素级兴趣点位置和相关描述符。我们引入了单应性自适应,这是一种多尺度、多单应性方法,用于提高兴趣点检测的可重复性并执行跨域自适应(例如,合成到真实)。当使用单应自适应在MS-COCO通用图像数据集上训练时,我们的模型能够重复检测比初始预适应深度模型和任何其他传统角点检测器丰富得多的一组兴趣点。与LIFT、SIFT和ORB相比,最终系统在HPatches上产生最先进的单应性估计结果。
22)UnsuperPoint
标题:UnsuperPoint: End-to-end Unsupervised Interest Point Detector and Descriptor
作者:Peter Hviid Christiansen, Mikkel Fly Kragh, Yury Brodskiy, Henrik Karstoft
单位:EIVA
来源:2019 arXiv
原文链接:https://arxiv.org/abs/1907.04011
代码链接:https://github.com/791136190/UnsuperPoint_PyTorch
摘要:很难为自然图像中的兴趣点创建一致的基本事实数据,因为对于人类注释者来说,兴趣点很难清晰和一致地定义。这使得兴趣点检测器的构建非常重要。在本文中,我们介绍了一种基于无监督深度学习的兴趣点检测器和描述器。使用自我监督的方法,我们利用一个siamese网络和一个新颖的损失函数,使兴趣点分数和位置能够被自动学习。得到的兴趣点检测器和描述符是非重叠的。我们使用点位置的回归来1)使非超点端到端可训练,以及2)在模型中加入非最大抑制。与大多数可训练检测器不同,它不需要生成伪地面真值点,不需要由运动生成的结构表示,并且该模型仅从一轮训练中学习。此外,我们引入了一个新的损失函数来正则化网络预测均匀分布。UnsuperPoint实时运行,分辨率为224×320,每秒323帧(fps),分辨率为480×640,每秒90帧。当在HPatch数据集上测量速度、可重复性、定位、匹配分数和单应性估计时,它与最先进的性能相当或更好。
23)D2-Net
标题:D2-Net: A Trainable CNN for Joint Detection and Description of Local Features
作者:Mihai Dusmanu, Ignacio Rocco, Tomas Pajdla, Marc Pollefeys, Josef Sivic, Akihiko Torii, Torsten Sattler
单位:苏黎世联邦理工学院计算机科学系
来源:2019 CVPR
原文链接:https://arxiv.org/abs/1905.03561
代码链接:https://github.com/mihaidusmanu/d2-net
摘要:在这项工作中,我们解决了在困难的成像条件下寻找可靠的像素级对应的问题。我们提出了一种方法,其中单个卷积神经网络扮演双重角色:它同时是密集特征描述符和特征检测器。通过将检测推迟到稍后阶段,所获得的关键点比基于低级结构的早期检测的传统对应点更稳定。我们表明,该模型可以使用从容易获得的大规模SfM重建中提取的像素对应来训练,而无需任何进一步的注释。所提出的方法在困难的亚琛昼夜定位数据集和InLoc室内定位基准上获得了最先进的性能,以及在图像匹配和3D重建的其他基准上的竞争性能。
24)Key.Net
标题:Key.Net: Keypoint Detection by Handcrafted and Learned CNN Filters
作者:Axel Barroso-Laguna, Edgar Riba, Daniel Ponsa, Krystian Mikolajczyk
单位:帝国理工学院
来源:2019 ICCV
原文链接:https://arxiv.org/abs/1904.00889
代码链接:https://github.com/axelBarroso/Key.Net
摘要:我们介绍了一种新颖的关键点检测方法,该方法将手工制作和学习的CNN滤波器结合在一个浅多尺度架构中。手工制作的过滤器为学习过的过滤器提供锚定结构,其对可重复的特征进行定位、评分和分级。在网络中使用尺度空间表示来提取不同级别的关键点。我们设计了一个损失函数来检测在一定范围内存在的稳健特征,并最大化可重复性得分。我们的这个URL模型是在从ImageNet综合创建的数据上训练的,并在HPatches基准上进行评估。结果表明,我们的方法在可重复性、匹配性能和复杂性方面优于最先进的检测器。

4. SLAM

25)DeepFactors
标题:DeepFactors: Real-Time Probabilistic Dense Monocular SLAM
作者:Jan Czarnowski, Tristan Laidlow, Ronald Clark, Andrew J. Davison
单位:帝国理工学院
来源:2020 RAL
原文链接:https://arxiv.org/abs/2001.05049
代码链接:https://github.com/jczarnowski/DeepFactors
摘要:从单目图像中估计丰富的几何图形和相机运动的能力是未来交互式机器人和增强现实应用的基础。已经提出了不同的方法,这些方法在场景几何表示(稀疏地标、密集地图)、用于优化多视图问题的一致性度量以及学习的先验的使用方面有所不同。我们提出了一个SLAM系统,它将这些方法统一在一个概率框架中,同时仍然保持实时性能。这是通过使用已学习的紧凑深度图表示和重新表达三种不同类型的误差来实现的:光度误差、重新投影误差和几何误差,我们在标准因子图软件中使用了这三种误差。我们评估了我们的系统在真实世界序列上的轨迹估计和深度重建,并给出了估计的密集几何的各种例子。
26)MilliMap
标题:See Through Smoke: Robust Indoor Mapping with Low-cost mmWave Radar
作者:Chris Xiaoxuan Lu, Stefano Rosa, Peijun Zhao, Bing Wang, Changhao Chen, John A. Stankovic, Niki Trigoni, Andrew Markham
单位:牛津大学、利物浦大学
来源:2020 MobiSys
原文链接:https://arxiv.org/abs/1911.00398
代码链接:https://github.com/ChristopherLu/milliMap
摘要:本文介绍了基于单芯片毫米波(mmWave)雷达的室内测绘系统milliMap的设计、实现和评估,该系统针对低能见度环境以辅助应急响应。milliMap的一个独特之处在于,它只利用了一种低成本、现成的毫米波雷达,但可以重建出精度与激光雷达相当的密集网格地图,并提供地图上对象的语义注释。milliMap做出了两项关键的技术贡献。首先,它通过结合训练期间来自共处一地的激光雷达的跨模式监督和室内空间的强几何先验,自主克服毫米波信号的稀疏性和多径噪声。第二,它采用毫米波反射的光谱响应作为特征来鲁棒地识别不同类型的物体,例如门、墙等。在不同室内环境下的大量实验表明,milliMap可以实现小于0.2m的地图重建误差,并以大约90%的准确率对关键语义进行分类,同时可以在浓烟中操作。
27)SC-Depth
标题:Unsupervised Scale-consistent Depth and Ego-motion Learning from Monocular Video
作者:Jia-Wang Bian, Zhichao Li, Naiyan Wang, Huangying Zhan, Chunhua Shen, Ming-Ming Cheng, Ian Reid
单位:牛津大学
来源:2019 NeurIPS
原文链接:https://arxiv.org/abs/1908.10553
代码链接:https://github.com/JiawangBian/sc_depth_pl
摘要:最近的工作表明,基于CNN的深度和自我运动估计器可以使用未标记的单目视频来学习。然而,在几何图像重建中,性能受到违反基本静态场景假设的未识别运动物体的限制。更重要的是,由于缺乏适当的约束,网络在不同样本上输出尺度不一致的结果,即,由于每帧尺度的模糊性,自运动网络不能在长视频序列上提供完整的相机轨迹。本文通过提出尺度一致预测的几何一致性损失和处理移动物体和遮挡的诱导自发现掩模来解决这些挑战。由于我们不像最近的工作那样利用多任务学习,我们的框架更加简单和有效。综合评估结果表明,我们的深度估计器在KITTI数据集上达到了最先进的性能。此外,我们表明我们的自我运动网络能够预测长视频序列的全局尺度一致的摄像机轨迹,并且由此产生的视觉里程计精度与最近使用立体视频训练的模型具有竞争力。据我们所知,这是第一个表明使用未标记的单目视频训练的深度网络可以预测长视频序列中全局尺度一致的相机轨迹的工作。

5. 闭环检测

闭环检测或位置识别也是SLAM后端减少开环错误的重要模块。传统作品基于词袋(BoW)来存储和使用来自手工检测器的视觉特征。然而,现实世界场景中光照、天气、视点和移动物体的变化使这个问题变得复杂。为了解决这个问题,很多研究人员应用深度学习特征,这些特征来自通用大规模图像处理数据集上的预训练模型。由于深度神经网络提取的高级表示,这些方法对视点和条件的变化更加稳健。
28)CALC
标题:Lightweight Unsupervised Deep Loop Closure
作者:Nate Merrill, Guoquan Huang
单位:特拉华大学
来源:2018 Robotics: Science and Systems
原文链接:https://arxiv.org/abs/1805.07703
代码链接:https://github.com/rpng/calc
摘要:鲁棒高效的闭环检测对于大规模实时SLAM至关重要。在本文中,我们提出了一种新的无监督深度神经网络结构的特征嵌入视觉闭环是可靠和紧凑的。我们的模型是建立在autoencoder架构之上的,是专门为手头的问题定制的。为了训练我们的网络,我们像去噪自动编码器一样在输入数据上施加随机噪声,但是,我们没有应用随机丢弃,而是使用随机投影变换来扭曲图像,以模拟由于机器人运动引起的自然视点变化。此外,我们利用梯度方向直方图(HOG)提供的几何信息和光照不变性,迫使编码器重建HOG描述符,而不是原始图像。因此,我们的训练模型直接从原始图像中提取对外观的极端变化具有鲁棒性的特征,而不需要标记的训练数据或特定于环境的训练。我们在各种具有挑战性的数据集上进行了大量的实验,结果表明所提出的深度循环闭合模型在有效性和效率方面始终优于最先进的方法。我们的模型足够快速和可靠,能够在不降维的情况下实时闭环,并能够取代基于ConvNet的最新闭环系统中的通用现成网络。

6. 数据集

29)ApolloScape
标题:The ApolloScape Open Dataset for Autonomous Driving and its Application
作者:Xinyu Huang, Peng Wang, Xinjing Cheng, Dingfu Zhou, Qichuan Geng, Ruigang Yang
单位:百度
来源:2019 TPAMI
原文链接:https://arxiv.org/abs/1803.06184
代码链接:https://github.com/pengwangucla/DeLS-3D、https://github.com/ApolloScapeAuto/dataset-api
摘要:自动驾驶吸引了巨大的关注,尤其是在过去的几年里。自动驾驶汽车的关键技术包括解决3D地图构建、自我定位、解析行驶道路和理解物体等任务,这些任务使车辆能够推理和行动。然而,用于训练和系统评估的大规模数据集仍然是开发鲁棒感知模型的瓶颈。在本文中,我们介绍了ApolloScape数据集及其在自动驾驶中的应用。与来自真实场景的现有公共数据集相比,例如KITTI或Cityscapes,ApolloScape包含更大和更丰富的标签,包括每个站点的整体语义密集点云、立体、每像素语义标签、lanemark标签、实例分割、3D汽车实例、来自多个站点、城市和白天的各种驾驶视频中每一帧的高精度定位。对于每个任务,它包含的图像数量至少是SOTA数据集的15倍。为了标记这样一个完整的数据集,我们开发了为每个任务指定的各种工具和算法来加速标记过程,例如3D-2D片段标记工具、视频中的主动标记等。依靠ApolloScape,我们能够开发联合考虑多个任务的学习和推理的算法。在本文中,我们提供了一种集成摄像机视频、消费级运动传感器(GPS/IMU)和3D语义地图的传感器融合方案,以实现自动驾驶的鲁棒自定位和语义分割。我们表明,在实践中,传感器融合和多任务的联合学习有利于实现一个更加鲁棒和准确的系统。我们期望我们的数据集和提出的相关算法可以支持和激励研究人员在计算机视觉领域进一步发展多传感器融合和多任务学习。
30)Waymo
标题:Scalability in Perception for Autonomous Driving: Waymo Open Dataset
作者:Pei Sun, Henrik Kretzschmar, Xerxes Dotiwalla, Aurelien Chouard, Vijaysai Patnaik, Paul Tsui, James Guo, Yin Zhou, Yuning Chai, Benjamin Caine, Vijay Vasudevan, Wei Han, Jiquan Ngiam, Hang Zhao, Aleksei Timofeev, Scott Ettinger, Maxim Krivokon, Amy Gao, Aditya Joshi, Sheng Zhao, Shuyang Cheng, Yu Zhang, Jonathon Shlens, Zhifeng Chen, Dragomir Anguelov
单位:Waymo LLC 、Google LLC
来源:2020 CVPR
原文链接:https://arxiv.org/abs/1912.04838
代码链接:http://www.waymo.com/open
摘要:研究界对自动驾驶研究的兴趣越来越大,尽管获得代表性的真实世界数据需要大量资源。现有的自动驾驶数据集在其捕捉的环境的规模和变化方面受到限制,尽管操作区域内和操作区域之间的概化对于技术的整体可行性至关重要。为了帮助研究社区的贡献与现实世界的自驾问题保持一致,我们引入了一个新的大规模、高质量、多样化的数据集。我们的新数据集由1150个场景组成,每个场景持续20秒,包括在一系列城市和郊区地理区域捕获的同步和校准良好的高质量激光雷达和相机数据。根据我们提出的多样性指标,它比最大的相机+激光雷达数据集多15倍。我们使用2D(相机图像)和3D(激光雷达)边界框对这些数据进行了详尽的注释,并在各帧之间使用了一致的标识符。最后,我们为2D以及3D检测和跟踪任务提供强大的基线。我们进一步研究了数据集大小和跨地理区域的概化对3D检测方法的影响。

7. 结论

本节介绍了SLAM综述论文“A Survey on Deep Learning for Localization and Mapping: Towards the Age of Spatial Machine Intelligence”中里程计、建图、特征提取、SLAM、闭环检测、数据集相关的开源项目,下一节我们将继续介绍定位、描述子提取、BA优化相关的开源项目。

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


学机器人SLAM/3D视觉,就上cvlife.net 

点击领取学习资料 → 机器人SLAM学习资料大礼包

独家重磅课程官网:cvlife.net

全国最大的机器人SLAM开发者社区


技术交流群



—   版权声明  —

本公众号原创内容版权属计算机视觉life所有;从公开渠道收集、整理及授权转载的非原创文字、图片和音视频资料,版权属原作者。如果侵权,请联系我们,会及时删除。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/151219
 
303 次点击