SegMap: 3D Segment Mapping using Data-Driven Descriptor
来自Autonomous Systems Lab, ETH, 2018 , 3D Lidar
论文总结
本文贡献:
- 提出了一种数据驱动的3D点云分割描述子,提升了定位性能
- 一种新的环境重建的方法
- 一种多机器人在真实/灾难环境下的扩展评估方法
个人看法(有问题欢迎指出):
感觉这篇论文最厉害的地方是能把特征描述子压缩到64x1的d大小,但是仍然可以保留相对丰富的特征和语义信息,在CNN的帮助下进行稠密的三维重建。究其原因是在对点云进行处理之前,先做了分割,在语义层面对分割好的segments进行操作,计算量和数据复杂度大大减小。这也说明以往的直接对点云进行操作的方法有很大的数据冗余,但显然这些冗余的数据没有被充分利用。
实验性能:
-
使ROC曲线下的面积增加了28.3%,超过了目前基于特征值提取特征的方法。
-
还获得了与专门为重建任务训练的模型非常相似的重建能力
论文简介
本文将三维点云进行分割,把不同的环境目标划分为不同的段(segment),从而提出了一种新的地图表达方法:SegMap。
此外,相比于现有工作仅仅是用来做定位的特征提取器,segmap利用了数据驱动(深度学习)的描述子提取了语义特征信息。在语义信息层进行数据处理大大减小了计算量,较小维度的语义特征描述子解决了单机器人与多机器人系统的实时数据压缩问题。
因此segmap描述子可用于重建稠密的3D点云地图以及提取语义信息,这对于执行导航任务以及需要可视化反馈的终端用户(如机器人操作手)来说很有意义,可以用于搜索以及救援场景。
相关工作
论述了很多相关的工作,要么是不能实时,要么是提取的环境特征太大,在多机器人协作建图时会因为传输速度和带宽有限而受到影响
方法介绍
共由5部分组成:点云分割,特征提取,定位,地图重建,语义识别。点云分割是数据预处理,特征提取是进行特征压缩,定位、重建、语义识别三个任务均是基于提取出的特征来做的。
1.分割模块(Segmentation)
该模块的主要思想是将3D激光雷达采集到的点云积分投影到一个动态的体素网格内,然后使用区域增长的方法对网格内的点云进行分割,并且为了提高效率,只使用当前正在发生变化的网格作为种子进行区域增长。最后得到分割好的固定长度的segments向量(32x32x16)
2.描述模块(Deion)
网络结构:
输入:32x32x16,输出:64x1
特征提取器由三个卷积层和两个全连接层组成。得到的描述子可以用来定位、地图重构以及语义提取。
3.定位模块(Localization)
使用K近邻算法选取候选匹配对,使用几何一致性算法确定用于计算位姿的匹配关系。
4-5.地图重构与语义提取模块(Reconstruction & Semantics)
地图的重构以及语义的提取均可以由所提取出的特征(描述子)生成,也正是因为该描述子的紧凑性,可以将此描述子广播至网络,在该网络上的任意一台机器人均可以利用其进行地图重构与语义提取。
- 重建部分和语义信息提取部分(分类)的网络结构:
下面详细介绍特征提取的框架。
A.特征提取器网络结构
之前贴了一次了,这里再贴一遍:
主要是卷积,池化,全连接,每层都有RuLE激活函数
注意尺度因子是单独输入的,以提高网络的尺度鲁棒性
B.segment预处理(对齐和放缩)
在使用上述框架时,三维点云需要进行对齐和尺度调整。
假设点云的 z 轴和重力方向已经大致对准,对齐是将三维点云分割的x轴和二维PCA的最大特征值对应的特征向量对齐。
输入的三维点云分割的网格的最小尺寸是0.1m。
当某些分割的尺寸超过32x32x16的尺寸时,可以在保证长宽比的前提下调整网格尺寸
C.训练网络(损失函数)
为了同时得到高的检索 (retrival) 效果(分类能力)和重建能力,损失函数包含两部分softmax 的交差熵(cross entropy)和重建损失
为了学习得到高的检索效果,分类任务通过采用类似于N-ways 分类问题实现:将训练数据分为 N个类别
(each class contains all observations of a segment or of multiple segments that belong to the same object or environment part)
因此 Lc 定义为softmax 的交差熵损失函数
其中重建损失函数Lr使用了二元交叉熵的损失函数。
D.语义提取模块
基于SegMap 的描述子,本文使用上图的网络以识别车辆,建筑和其他物体。语义识别的结果可以提高定位效果且减少地图的数据。
实验
本文利用KITTI数据集训练SegMap描述子。使用基于特征值的特征和自动编码器模型作为baseline
基于特征值,自动编码器以及SegMap描述子的ROC曲线
其他实验
实验结果发现,在重建效果方面,SegMap 的描述子比基于特征值的方法略好。考虑有检索的功能,因此SegMap 描述子具有其优越性。而语义识别的效果在训练集和验证集上的精度分别为89%和85%。
论文指出segmap描述子不是为了刷新点云语义分割的精度,而是为了说明压缩后的特征描述子可以用来减小地图并根据语义信息来提高鲁棒性:
Note that our goal is not to improve over other semantic extraction methods [19, 25], but rather to illustrate that our compressed representation can additionally be used for gaining robustness to dynamic changes and for reducing the map size
本文也测试了单个或多个机器人在大尺度环境下的定位和制图,其中的一个场景:
网上发现的很厉害的流程图记录一下:
引用地址:
https://blog.csdn.net/weixin_37835423/article/details/87297267
http://www.sohu.com/a/285609435_715754