SLAM 与深度学习技术结合是SLAM的另一大方向。高博在《视觉SLAM十四讲》中指出,通过语义与SLAM 相结合,两者相互促进,相互补充。
一方面,语义帮助 SLAM。通过语义,我们能得到一张带有标签的地图,物体信息也可为回环检测、BA优化带来很多条件。逐渐有很多学者将神经网络方法引入到 SLAM 中的物体识别和分割,甚至 SLAM 本身的位姿估计与回环检测中。
另一方面,SLAM 帮助语义。SLAM 中我们可以估计相机的运动,自动地计算物体在图像中的位置,节省人工标定的成本。
本文按语义在 SLAM 处理中的角色进行分类总结。
一、深度学习与 SLAM 的结合点
用深度学习方法替换传统 SLAM 中的一个/几个模块
- 特征提取、匹配,提高特征点稳定性
- 深度估计
- 视觉里程计
- 闭环检测
- 其他
基于学习的方法可替代繁琐的公式计算,无需人工特征提取和匹配,更加简洁直观,且线运算速度快。缺点是不同算法对训练学习数据库依赖较强。
在传统 SLAM 之上加入语义信息
- 图像语义分割
- 语义地图构建
基于深度学习的语义 SLAM 多是单向的,即利用传统 SLAM 改进语义分割结果,还未出现语义信息与 SLAM 相互促进的完善机制。
端到端的 SLAM
- 机器人自主导航(深度强化学习)等
二、相关论文整理及摘要
1、用深度学习方法替换传统 SLAM 中的一个/几个模块
1.1 深度学习与视觉里程计
基于深度学习的方法无需特征提取,也无需特征匹配和复杂几何运算。
-
Konda K, Memisevic R. Learning visual odometry with a convolutional network[C].
作者提出基于端到端的深度神经网络架构用于预测相机速度和方向变化。主要特点是:利用单一类型的计算模块和学习规则提取视觉运动和深度信息以及里程计信息。分为两个步骤:图像序列深度和运动信息的提取、图像序列速度和方向改变估计。
-
Costante G, Mancini M, Valigi P, et al. Exploring representation learning with CNNs for frame-to-frame ego-motion estimation[J].
作者利用卷积神经网络学习图像数据的最优特征表示进行视觉里程计估计,该算法在图像运动模糊、光照变化方面的鲁棒性。缺点是,速度过快时,算法误差大,训练集缺乏高速训练样本造成估计的旋转误差大。
2.2 深度学习与闭环检测
基于深度学习的方法利用深度神经网络提取图像特征,表达图像信息更充分,对光照等环境变化有更强的鲁棒性。
-
Chen Z T, Lam O, Jacobson A, et al. Convolutional neural network-based place recognition[EB/OL].
作者首次提出基于 CNN 模型的位置识别技术,通过 CNN 学习图像特征表示,提高闭环检测准确率。作者利用各层特征构造混合矩阵来比较神经网络每层图像特征在场景识别上的性能差别。
-
Hou Y, Zhang H, Zhou S L. Convolutional neural networkbased image representation for visual loop closure detection[C].
作者利用 caffe 框架下的 AlexNet 模型进行特征提取,发现在光照变化明显环境下,深度学习的特征描述鲁棒性更强,且速度更快。
2、在传统 SLAM 之上加入语义信息
语义地图构建与图像语义分割
建图时识别独立个体,获取其位置、姿态等语义信息。可预知物体的可移动属性;相似物体知识表示可共享;实现智能路径规划。
-
Sunderhauf N, Pham T, Latif Y, et al. Meaningful maps ¨ – Object-oriented semantic mapping[EB/OL]. (2016-9-26) [2016-11-10]
作者提出面向物体对象的语义建图方法:首先用 ORB-SLAM2 得到点云地图;其次采用基于卷积神经网络的单词拍摄多边界框检测(SSD)方法,进行物体检测与识别;再对目标点云分割;最后基于最近邻的物体数据关联。语义地图最终包括:关键帧的点云数据;地图中物体点云分割和对应关键帧的关系;语义信息。
-
Li X, Belaroussi R. Semi-dense 3D semantic mapping from monocular SLAM[EB/OL].
作者提出基于 CNN 和 LSD-SLAM 的单目半稠密三维语义建图构建方法。选取关键帧后利用 CNN 架构进行像素级分类,再用贝叶斯升级像素分类概率预测,进行地图的噪声平滑。
3、端到端SLAM 结合深度增强学习 DRL
使用DRL深度加强学习实现机器人自主导航
-
Target-driven Visual Navigation in Indoor Scenes using Deep Reinforcement Learning
Li Feifei 组使用深度增强学习实现目标驱动的视觉导航。通过构建仿真环境进行训练,可迁移到真实场景中。文章采用了 A3C 算法,将目标图像作为输入,可以使这个网络不管输入什么目标都能寻找物品,具备通用性。
深度增强学习实现目标驱动的视觉导航。通过构建仿真环境进行训练,可迁移到真实场景中。文章采用了 A3C 算法,将目标图像作为输入,可以使这个网络不管输入什么目标都能寻找物品,具备通用性。