SegMap: 3D Segment Mapping using Data-Driven Descriptor 论文笔记

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。

2019-11-21-17-27-29.png
此外,相比于现有工作仅仅是用来做定位的特征提取器,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

检查错误原因 creating directory /data/primary/gpseg0 ... ok creating subdirectories ... ok selecting default max_connections ... 750 selecting default shared_buffers ... 125MB selecting default timezone ... Asia/Shanghai selecting dynamic shared memory implementation ... posix creating configuration files ... ok creating template1 database in /data/primary/gpseg0/base/1 ... child process was terminated by signal 9: Killed initdb: removing data directory "/data/primary/gpseg0" 2023-06-08 08:53:53.568563 GMT,,,p22007,th-604637056,,,,0,,,seg-10000,,,,,"LOG","00000","skipping missing configuration file ""/data/primary/gpseg0/postgresql.auto.conf""",,,,,,,,"ParseConfigFile","guc-file.l",563, 20230608:16:54:12:021728 gpcreateseg.sh:VM-0-5-centos:gpadmin-[INFO]:-Start Function BACKOUT_COMMAND 20230608:16:54:12:021728 gpcreateseg.sh:VM-0-5-centos:gpadmin-[INFO]:-End Function BACKOUT_COMMAND 20230608:16:54:12:021728 gpcreateseg.sh:VM-0-5-centos:gpadmin-[INFO]:-Start Function BACKOUT_COMMAND 20230608:16:54:12:021728 gpcreateseg.sh:VM-0-5-centos:gpadmin-[INFO]:-End Function BACKOUT_COMMAND 20230608:16:54:12:021728 gpcreateseg.sh:VM-0-5-centos:gpadmin-[FATAL][0]:-Failed to start segment instance database VM-0-5-centos /data/primary/gpseg0 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:-End Function PARALLEL_WAIT 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:-End Function PARALLEL_COUNT 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:-Start Function PARALLEL_SUMMARY_STATUS_REPORT 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:------------------------------------------------ 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:-Parallel process exit status 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:------------------------------------------------ 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:-Total processes marked as completed = 0 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:-Total processes marked as killed = 0 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[WARN]:-Total processes marked as failed = 1 <<<<< 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:------------------------------------------------ 20230608:16:54:12:019435 gpinitsystem:VM-0-5-centos:gpadmin-[INFO]:-End Function PARALLEL_SUMMARY_STATUS_REPORT FAILED:VM-0-5-centos~6000~/data/primary/gpseg0~2~0
最新发布
06-09
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值