深度学习在SLAM中的应用

转自AI研习社https://mp.weixin.qq.com/s/uz1GoOQiUtgfUkKkqZOntA


简单介绍几个比较有代表性的工作, 分为以下几类:

  I. 相机重定位(Relocalization)

Deep Learning 和 SLAM 结合的开山之作 ,剑桥的论文:PoseNet 。该方法使用 GoogleNet 做了 6 自由度相机 pose 的 regression。训练数据是带有 ground truth pose 的场景帧。

图 1. PoseNet,第一行是原图,第二行是根据所估计的相机姿态做 3D 重建后的场景图,第三 行是原图和重建后的场景的重叠。

论文:Alex Kendall, Matthew Grimes, Roberto Cipolla, "PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization", in ICCV 2015, https://arxiv.org/abs/1505.07427

代码: https://github.com/alexgkendall/caffe-posenet

  II.  特征点提取与匹配:

(1) 帧帧之间的匹配是传统特征法 SLAM 的重要环节。

这里首先推荐一下 EPFL 的文章 LIFT (Learned Invariant Feature Transform ),通过深度神经网络学习图像中的特征点。pipeline 如图 2,LIFT 分别计算了 Detector, Orientation Estimator 以及 Descriptor 。

图 2. LIFT pipeline

和 SIFT 特征相比,LIFT 能够提取出更稠密的特征点,如图 3 所示。

图 3. SIFT(左)和 LIFT(右)提取出来的特征点对比

论文:Kwang Moo Yi, Eduard Trulls, Vincent Lepetit, Pascal Fua, "LIFT: Learned Invariant Feature Transform", in ECCV 2016, https://arxiv.org/abs/1603.09114

代码:http://t.cn/RiepX4E

(2)Toward Geometric Deep SLAM

Magic leap 的文章:Toward Geometric Deep SLAM ,介绍了一种非常出色的特征点(角点)提取和匹配的方法,如图 4 所示:

图 4. Deep Point-Based Tracking

来看看这牛逼闪闪的效果,提出来的点不多不少,准确的定位到了物体的每个角点,简直是强迫症的福音!

图 5. 特征点的提取效果

论文中还和 FAST,Harris 等经典特征提取法做了比较,本文的方法对于噪声比较 robust,提取的特征点看着也比 FAST,Harris 舒服,有兴趣的可以细读文章。我相信本文的方法在今后的特征法 SLAM 系统中定能大放光彩。

论文:Daniel DeTone,  Tomasz Malisiewicz,  Andrew Rabinovich, “Toward Geometric Deep SLAM”,https://arxiv.org/abs/1707.07410

代码:还没有

  III. 端对端视觉里程计:

(1)今年 CVPR 的 SfM-Learner。

文章的核心思想是利用 photometric consistency 原理来估计每一帧的 depth 和 pose。photometric consistency 就是对于同一个物体的点,在不同两帧图像上投影点,图像灰度应该是一样的。论文方法的大体过程请看图 6。

图 6. SfM-Learner 的训练和测试大体过程

各位回忆一下直接法 SLAM 的经典:LSD-SLAM (LSD-SLAM: Large-Scale Direct Monocular SLAM,http://t.cn/RWrwBuu),有没有感觉这篇文章的核心思路和 LSD-SLAM 如出一辙?本质都是优化 photometric error。 来看看 SfM-Learner 的 Loss(最终的 Loss 在此基础上做了优化),

再看看 LSD-SLAM 里面,需要优化的 photometric error 函数:

有没有很像?

论文:Tinghui Zhou, Matthew Brown, Noah Snavely, David G. Lowe, "Unsupervised Learning of Depth and Ego-Motion from Video", in CVPR 2017, https://arxiv.org/abs/1704.07813

代码:https://github.com/tinghuiz/SfMLearner

(2)今年的新文章:SfM-Net。

听名字就和 SfM-Learner 很像,这篇文章和 SfM-Learner 都是出自 Google。论文的核心思想也是利用 photometric constancy 来计算 pose,depth。除此之外,作者还计算了光流,scene flow,3D point cloud 等。可以说是 SfM-Learner 的升级版。

图 7. SfM-Net 网络结构

论文:Sudheendra Vijayanarasimhan, Susanna Ricco, Cordelia Schmid, Rahul Sukthankar, Katerina Fragkiadaki, “SfM-Net: Learning of Structure and Motion from Video”, Learning of Structure and Motion from Video(https://arxiv.org/abs/1704.07804

代码:还没有

(3DeMoN

另外一篇和 SfM-Net,SfM-Learner 比较相似的文章:DeMoN,使用 pose, depth 作为监督信息,来估计 pose 和 depth。最后的效果非常不错。网络的核心部分如图所示

图 8. DeMoN 网络核心结构

论文:Benjamin Ummenhofer, Huizhong Zhou, Jonas Uhrig, Nikolaus Mayer, Eddy Ilg, Alexey Dosovitskiy, Thomas Brox, "DeMoN: Depth and Motion Network for Learning Monocular Stereo", in CVPR 2017,https://arxiv.org/abs/1612.02401

代码:https://github.com/lmb-freiburg/demon

  IV. 语义 SLAM

CNN-SLAM。

该文章使用直接法估计相机姿态,使用 CNN 来估计 Depth,以及做图像语义分割。然后将 Geometry 和 semantic 融合起来,生成具有语义信息的 map。

图 9. CNN-SLAM pipeline

论文:Keisuke Tateno, Federico Tombari, Iro Laina, Nassir Navab, "CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction", in CVPR 2017, https://arxiv.org/abs/1704.03489

代码:还没有

  总结一下

从目前的研究情况来看,深度学习在 SLAM 这个问题上还没有完全取代传统方法的能力。希望各位同僚继续努力!

跳出 SLAM,说点题外话,利用深度强化学习来进行端对端的机器人导航,已经有了不错的结果。人类在环境中导航,不也是直接输入 image,输出 action 吗?有兴趣的可以看看这两篇文章:

(1) [1702.03920] Cognitive Mapping and Planning for Visual Navigation

https://arxiv.org/abs/1702.03920

(2) [1609.05143] Target-driven Visual Navigation in Indoor Scenes using Deep Reinforcement Learning

https://arxiv.org/abs/1609.05143

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度学习视觉SLAM是一种将深度学习和视觉SLAM相结合的研究方向。视觉SLAM(Simultaneous Localization and Mapping)是一种利用相机或其他传感器来实时构建环境地图并同时定位自身位置的技术。而深度学习是一种机器学习的方法,通过构建和训练深度神经网络模型来解决复杂的视觉和语言处理问题。 深度学习在视觉SLAM应用主要有以下几个方面。 首先,深度学习可以用于特征提取和描述子学习。传统的SLAM方法通常依赖于手工设计的特征来进行地图构建和定位,但是手工设计的特征容易受到环境变化的影响,而深度学习可以通过大规模数据的训练来学习具有不变性和鲁棒性的特征表示,从而提高SLAM系统的鲁棒性和稳定性。 其次,深度学习可以用于位姿估计和地图优化。传统的SLAM方法通常使用基于滤波器或图优化的方法来估计相机的位姿,并利用位姿估计结果来进行地图的更新和优化。而深度学习可以通过训练神经网络模型来预测相机的位姿,从而提高位姿估计的准确性和实时性。 此外,深度学习还可以用于SLAM系统的场景理解和物体识别。传统的SLAM方法通常只对环境进行地图构建和定位,而深度学习可以通过训练神经网络模型来实现对场景物体的检测和识别,从而实现对环境的更加深入的理解。 总之,深度学习视觉SLAM是一项将深度学习与传统视觉SLAM相结合的研究方向,可以通过利用深度学习的强大能力来提高SLAM系统的鲁棒性、稳定性、准确性和实时性,并实现对环境的更加深入的理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值