Meaningful Maps With Object-Oriented Semantic Mapping 论文笔记

Meaningful Maps With Object-Oriented Semantic Mapping

2017,语义SLAM,indoor,稀疏地图,RGBD

一、主要贡献

融合了基于稀疏特征的RGBD SLAM方法,基于2D image 的目标检测方法和无监督3D分割网络三种方法,能够建立实例级别、object-oriented 的语义地图。

二、方法介绍

Meaningful Maps With Object-Oriented Semantic Mapping 论文笔记_第1张图片

模块:

SLAM:ORB-SLAM2
检测框架:SSD
分割框架:一个3D点云的分割方法:Geometrically consistent plane extraction for dense indoor 3D maps segmentation
融合:概率累加、类ICP的object与map融合方法
相机:RGBD相机(primeSense)

整个系统分为六个部分:

  1. SLAM接受每一帧的RGBD图像,建立无语义的地图,估计相机位姿。
  2. SSD接受每一个关键帧的RGB图像,得到object的bounding box,类别标签和置信度。
  3. 3D Segmentation模块,接受SSD模块预测的object结果,深度图像,以及这一帧SLAM给出的相机位姿,关联每一个2D RGB图像上预测的object,对应的3D点云,并有精细的边缘。
  4. Data Association:把预测到的每个object的3D点云加入地图里。
  5. Object Model Update:更新map中每个object的累计概率,或在闭环检测后更新位姿
  6. Map Generation:生成带有语义的地图。

A. SLAM

本文使用ORB SLAM追踪获取相机位姿和建图,输入数据为RGB和depth map

B. Object Detection for Semantic Mapping

使用SSD为每一关键帧获取固定数量的proposals,SSD的输出类别数为80,在COCO上进行训练

此外说了一下为啥不用instance level semantic segmentation,主要是因为它们慢。。。

C. 3D Segmentation

要对环境中的物体进行精确的定位和建模,需要精确的边界框,但是2D检测器的输出往往是不够精确的。这里利用深度信息,使用无监督学习的方法生成精确的分割结果,具体步骤:

  1. 对深度图进行过分割,得到多个超像素
  2. 然后将对象分割任务表示为将图分割为连通的组件

还做出了一点改进,相比于原来的直接将边缘像素置为1或0的做法, 这里为边缘像素计算权重,然后使用Kruskal’s algorithm 计算最优的分割边界。权重计算方法如下: Meaningful Maps With Object-Oriented Semantic Mapping 论文笔记_第2张图片

s是超像素块,n是超像素块的norm

这种基于几何的方法,存在会把两个相连的同类物体分隔为一个的情况。

D. Data Association

决定SSD检测到的目标框是已经存在于地图中还是需要被加入进去

具体步骤:

  1. 选择每个检测框附近的所有landmarks(即已经存在于地图中的物体)
  2. 根据最近邻算法,查找检测框内和landmark内距离小于2CM的点对。
  3. 这样的点对数多于50%,则说明该检测框是与该landmark对应的,否则将检测框加入到地图中去

E. Object Model Update

这一步更新每个Object的累计概率,具体为:对每一帧记录一个置信度,并在新的一帧到来时将置信度叠加,最后求帧数的平均然后取置信度最高的class。

F. Map Generation

最后的地图存储的信息有:

  1. 每一关键帧中的点云
  2. 每个objects包含的点云

三、实验结果和分析

实验表明,运行过程中,漏检比较多,误检比较少。3D点云分割、深度图噪声、相机分辨率和预训练的模型都有影响。也提出了一些改进的方法。 Meaningful Maps With Object-Oriented Semantic Mapping 论文笔记_第3张图片

四、总结

2017年的文章,应该时属于语义slam 里面比较早的文章了。

纵观全文,把SSD的检测结果用几何分割的方法优化了一下,然后和orb-slam结合,现在看来可以直接用分割网络来做,这应该也是最近两年大家慢慢摸索出来的吧。

作者提出的比较有意思的一个点是,以后像这种将2D检测器作为SLAM的backends的思路可能会很普遍(事实上现在把2D分割网络作为Back ends的做法非常普遍)不管怎么说,作者论文中表现出来的科研前瞻性还是非常厉害的。

引用

https://blog.csdn.net/pikachu_777/article/details/84570980

你可能感兴趣的:(语义,SLAM)