深度学习结合SLAM的研究思路/成果整理之(一)使用深度学习方法替换SLAM中的模块

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010821666/article/details/78749356

整理了部分近两年深度学习结合SLAM的一些研究成果(参考知乎帖子https://www.zhihu.com/question/66006923 和泡泡机器人公众号,附上论文链接和已找到的源代码/数据集链接,大多简单看了一下摘要。仅为自己学习所用,确实翻译得很烂…………

1. 深度学习跟SLAM的结合点

深度学习和slam的结合是近几年比较热的一个研究方向,具体的研究方向,我简单分为三块,如下。


1.1 深度学习结合SLAM的三个方向

用深度学习方法替换传统SLAM中的一个/几个模块

  • 特征提取,特征匹配,提高特征点稳定性,提取点线面等不同层级的特征点。
  • 深度估计
  • 位姿估计
  • 重定位
  • 其他

在传统SLAM之上加入语义信息

  • 图像语义分割
  • 语义地图构建

端到端的SLAM

其实端到端就不能算是SLAM问题了吧,SLAM是同步定位与地图构建,端到端是输入image输出action,没有定位和建图。
- 机器人自主导航(深度强化学习)等



1.2 相关的部分论文整理

1.2.1 用深度学习方法替换传统SLAM中的一个/几个模块。

替换多个模块
  • Tateno K, Tombari F, Laina I, et al. CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction[J]. arXiv preprint arXiv:1704.03489, 2017.
    * 在有预测深度下的实时单目稠密SLAM*
    (输入:彩色图 LSD-SLAM NYUDv2数据集 ICL-NUIM数据集)
    摘要:
    基于使用卷积神经网络CNN进行深度预测的最新进展,本文研究了深度神经网络生成的深度预测地图,如何用于精确而稠密的重建,我们提出了一种直接法单目SLAM中得到的深度度量,如何与CNN预测得到的稠密深度地图自然地融合在一起的方法。我们的融合方法在图像定位这一单目SLAM方法效果不佳的方面有优势。比如说低纹理区域,反之亦然。我们证明了深度预测在估计重建的绝对尺度中应用可以克服单目SLAM的主要限制。最后,我们提出了高效融合稠密SLAM中单帧得到的语义标签的方法 ,从单视角中得到了语义连贯的场景重建。基于两个参照数据集的评测结果表明我们的方法有良好的鲁棒性和准确性。
    这里写图片描述
    注:
    NYUDv2数据集 数据集下载链接
    用于室内场景语义分割的RGB-D图像数据集,来自Kinect,1449对已标注的RGB-Depth图像,40万张未标注图像。
    ICL-NUIM数据集 数据集下载链接
    包含两个场景的图像:起居室和办公室 与TUM RGB-D 数据集的评测工具兼容。帧率30,每段大概几十秒,所以一共几千张图吧。

  • Li R, Wang S, Long Z, et al. UnDeepVO: Monocular Visual Odometry through Unsupervised Deep Learning[J]. arXiv preprint arXiv:1709.06841, 2017.
    UnDeepVO:使用无监督深度学习的单目视觉里程计
    (双目图像训练数据集 单目图像测试 KITTI数据集)
    摘要:
    我们在本文中提出了一种名叫UnDeepVO的新型的单目视觉里程计系统,UnDeepVO可以估计单目相机的6自由度位姿以及使用深度神经网络估计单目视角的深度。UnDeepVO有两个显著的特性:一个是无监督深度学习方法,另一个是绝对尺度回复。特别的,我们使用了双目的图像对训练UnDeepVO来恢复尺度,然后使用连续的单目图像进行了测试。因此,UnDeepVO是一个单目系统。训练网络的损失函数是基于时间和空间稠密信息定义的。图一是系统的概览图。基于KITTI数据集的实验表明UnDeepVO在位姿估计方面,准确性高于其他的单目VO方法。
    这里写图片描述


特征相关(特征提取匹配等)
  • DeTone D, Malisiewicz T, Rabinovich A. Toward Geometric Deep SLAM[J]. arXiv preprint arXiv:1707.07410, 2017.
    面向几何的深度SLAM
    (两个CNN,角点提取和匹配 ,实时,单核CPU30FPS)
    摘要:
    我们展示了一个使用了两个深度卷积神经网络的点跟踪系统。第一个网络,MagicPoint,提取单张图像的显著性2D点。这些提取出来的点可以用作SLAM,因为他们在图像中相互独立且均匀分布。我们比较了这个网络和传统的点检测方法,发现两者在图像有噪声存在是存在明显的性能差异。当检测点是几何稳定的时候,转换估计会变得更简单,我们设计了第二个网络,名为MagicWarp,它对MagicPoint的输出,一系列点图像对进行操作,然后估计跟输入有关的单应性。这种转换引擎和传统方法的不同在于它只是用点的定位,而没有使用局部点的描述子。两个网络都使用了简单的合成数据进行训练,不需要安规的外部相机建立ground truth和先进的图形渲染流水线。系统速度快且轻量级,可以在单核CPU上达到30帧每秒的速度。
    这里写图片描述

  • Lecun Y. Stereo matching by training a convolutional neural network to compare image patches[M]. JMLR.org, 2016.
    通过训练比较图像块的卷积神经网络进行立体匹配
    (输入:左右图 KITTI数据集 Middlebury数据集)
    摘要:
    我们提出了一种从已校正过的图像对中提取深度信息的方法。我们的方法侧重于大多数stereo算法的第一步:匹配开销计算。我们通过使用卷积神经网络从小图像块中学习相似性度量来解决这个问题。训练采用有监督方式,使用相似和不相似的成对图像块构建了一个二分类数据集。我们研究了用于此项任务的两种网络架构:一个针对速度进行调整,另一个针对精度。卷积神经网络的输出被用来初始化stereo立体匹配开销。在这之后,进行一系列后处理操作:基于交叉的开销聚合,半全局匹配,左右图一致性检验,亚像素增强,中值滤波和双边滤波。我们在KITTI2012,KITTI2015数据集,Middlebury双目数据集上评测了自己的方法,结果显示我们的方法优于此三个数据集上的其他同类方法。

这里写图片描述
注:Middlebury Stereo Datasets
数据集下载链接


  • Kwang Moo Yi, Eduard Trulls, Vincent Lepetit, et al. LIFT: Learned Invariant Feature Transform[J]. 2016:467-483.
    LIFT:通过学习生成的不变特征变换
    (比SIFT特征更加稠密,已开源)
    摘要:
    我们提出了一种新型的深度网络架构,实现了完整的特征点处理流水线:检测,方向估计和特征描述。虽然之前的工作已经分别成功地解决了这几个问题,但我们展示了如何将这三个问题结合起来,通知保持端到端的可微性。我们证明了我们的深度流水线方法,性能优于许多基准数据集的state-of-the-art的方法,且不需要再训练。

这里写图片描述
这里写图片描述
左边是SIFT,右边是LIFT
源代码 https://github.com/cvlab-epfl/LIFT



位姿估计,深度估计
  • Clark R, Wang S, Wen H, et al. VINet: Visual-Inertial Odometry as a Sequence-to-Sequence Learning Problem[C]//AAAI. 2017: 3995-4001.
    VINet:将视觉-惯性里程计看做一个序列到序列的学习问题(……这个怎么翻)
    (使用了图像和IMU数据,CNN和RNN)
    摘要:
    本文中我们提出了一种使用视觉和惯性数据做运动估计的,流形上的?序列到序列的学习方法。在中间特征表示这一级别上融合数据的视觉-惯性里程计进行端到端训练,是我们已知的最好的方法(?)。我们的方法相比传统方法有很多优势。具体来说,它不需要相机和IMU数据之间进行冗长乏味的人工同步,也同样不需要IMU和相机数据之间进行人工标定。另一个优点是我们的模型可以自然且巧妙地结合特定区域的信息,可以显著减少漂移。在标定数据准确的情况下,我们的方法跟传统的state-of-the-art的方法效果旗鼓相当,在存在标定和同步误差的情况下,我们的方法可以通过训练达到比传统方法更好的的效果。
    这里写图片描述

  • Garg R, Vijay K B G, Carneiro G, et al. Unsupervised CNN for Single View Depth Estimation: Geometry to the Rescue[J]. 2016:740-756.
    用于单视角深度估计的无监督CNN:??
    (KITTI数据集 无监督学习)
    摘要:
    当前深度卷积神经网络的一个显著缺点就是需要使用大量人工标注的数据来进行训练。本项研究中,我们提出了一种无监督的框架来使用深度卷积神经网络进行单视角深度预测,不需要先行训练和标注过的ground-truth深度。我们通过一种类似于自编码的方式训练网络。训练过程中,我们认为有着微小且已知的相机运动的源图像和目的图像是一个stereo对。我们训练卷积编码器来预测源图像的深度图。为此,我们显式构造了一个使用预测深度和已知的视角间位移的目的图像的inverse warp反变换?,用于重建源图像。重建过程中的光测误差是编码器的重建损失。以这样的方法获取训练数据比同类系统要简单得多,不需要人工标注和深度传感器与相机之间的标定。在KITTI数据集上,执行单视角深度估计任务时,我们的网络,在保证相同性能情况下,训练时间比其他state-of-the-art的有监督方法少一半。

这里写图片描述


  • Xu J, Ranftl, René, Koltun V. Accurate Optical Flow via Direct Cost Volume Processing[J]. 2017.
    光流法不太关注,这个名字也是翻译不出来…………
    英文摘要:
    We present an optical flow estimation approach that operates on the full four-dimensional cost volume. This direct
    approach shares the structural benefits of leading stereo matching pipelines, which are known to yield high accuracy. To this day, such approaches have been considered impractical due to the size of the cost volume. We show that the full four-dimensional cost volume can be constructed in a fraction of a second due to its regularity. We then exploit this regularity further by adapting semi-global matching to the four-dimensional setting. This yields a pipeline that achieves significantly higher accuracy than state-of-the-art optical flow methods while being faster than most. Our approach outperforms all published general-purpose optical flow methods on both Sintel and KITTI 2015 benchmarks.
    这里写图片描述

  • Liao Y, Huang L, Wang Y, et al. Parse Geometry from a Line: Monocular Depth Estimation with Partial Laser Observation[J]. 2017.
    一条线上的解析几何:使用部分激光观测的单目深度估计
    (输入:单目图像和2D激光距离数据 NYUDv2数据集 KITTI数据集)
    激光的也不太关注。
    Abstract— Many standard robotic platforms are equipped with at least a fixed 2D laser range finder and a monocular camera. Although those platforms do not have sensors for 3D depth sensing capability, knowledge of depth is an essential part in many robotics activities. Therefore, recently, there is an increasing interest in depth estimation using monocular images. As this task is inherently ambiguous, the data-driven estimated depth might be unreliable in robotics applications. In this paper, we have attempted to improve the precision of monocular
    depth estimation by introducing 2D planar observation from the remaining laser range finder without extra cost. Specifically, we construct a dense reference map from the sparse laser range data, redefining the depth estimation task as estimating the distance between the real and the reference depth. To solve the problem, we construct a novel residual of residual neural network, and tightly combine the classification and regression losses for continuous depth estimation. Experimental results suggest that our method achieves considerable promotion compared to the state-of-the-art methods on both NYUD2 and KITTI, validating the effectiveness of our method on leveraging the additional sensory information. We further demonstrate the potential usage of our method in obstacle avoidance where our methodology provides comprehensive depth information compared to the solution using monocular camera or 2D laser range finder alone。
    这里写图片描述
    这里写图片描述

  • Zhou T, Brown M, Snavely N, et al. Unsupervised learning of depth and ego-motion from video[J]. arXiv preprint arXiv:1704.07813, 2017.
    视频深度和自运动的无监督学习 SFM-learner
    (训练使用未标注单目视频片段,已开源)
    摘要:我们提出了一个用非结构化视频序列进行单目深度和相机运动估计的无监督学习网络。和最近的几项研究相同的是,我们使用了端到端的方法,用视图合成作为监督信号,不同的是,我们的方法是完全无监督的,只需要少量的单目视频序列即可训练。我们的方法使用了单视角深度和多视角位姿两个网络,使用计算出的深度和位姿将附近视图变换为目标视图生成损失函数(?)。因此,训练过程中网络通过损失函数连接在一起,但是测试时,两个网络可以独立用于应用。KITTI数据集上的经验评测证明我们的方法有以下优点:1)与使用ground-truth位姿或深度进行训练的有监督方法相比,在估计单目深度是效果相当。2)与有可比较输入设置的现有SLAM系统相比,位姿估计性能良好。
    这里写图片描述
    源代码 https://github.com/tinghuiz/SfMLearner

  • Vijayanarasimhan S, Ricco S, Schmid C, et al. SfM-Net: Learning of Structure and Motion from Video[J]. arXiv preprint arXiv:1704.07804, 2017.
    SFM-Net:从视频中学习结构与运动
    SfM-Net是SfM-learner的升级版
    摘要:
    我们提出了SfM-Net,一个geometry-aware几何敏感?的神经网络用于视频中的运动估计,此网络分解了基于场景和对象深度的帧间像素运动,相机运动,3D对象旋转和平移。给定一个帧的序列,SfM-Net预测深度,分割,相机和刚体运动,然后将这些转换为稠密帧间运动场(光流),可微的扭曲帧最后做像素匹配和反向传播。模型可以通过不同程度的监督方法进行训练:1)自监督的投影光测误差(photometric error)(完全无监督)的方式,2)用自运动(相机运动)进行有监督训练的方式,3)使用深度(比如说RGBD传感器提供的)进行有监督训练的方式。SfM-Net提取了有意义的深度估计并成功地估计了帧间的相机运动和评议。它还能在没有监督信息提供的情况下,成功分割出场景中的运动物体。
    这里写图片描述
    这里写图片描述



重定位

可能重定位用深度学习比较难做吧,毕竟是个偏几何的问题,暂时不太关注
- Wu J, Ma L, Hu X. Delving deeper into convolutional neural networks for camera relocalization[C]// IEEE International Conference on Robotics and Automation. IEEE, 2017.
- Alex Kendall, Matthew Grimes, Roberto Cipolla. PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization[J]. 2015, 31:2938-2946.
PoseNet:用于实时六自由度相机重定位的卷积神经网络。
PoseNet是2015年的研究成果,算是SLAM跟深度学习结合的比较有开创性的成果。
这里写图片描述
源代码 https://github.com/alexgkendall/caffe-posenet


另有一篇很有意思的论文
- Vo N, Jacobs N, Hays J. Revisiting IM2GPS in the Deep Learning Era[J]. 2017.
深度学习时代图像-GPS的重定位
思路很有意思,使用一张照片在全世界范围内进行定位。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/u010821666/article/details/78749356