SegMap: 3D Segment Mapping using Data-Driven Descriptors
SegMap:一种基于三维点云段提取的定位和映射问题的地图表示解决方案
(1)促进处理3D点云的计算密集型任务
(2)解决了实时单机器人和多机器人系统的数据压缩要求
(3)利用数据驱动描述符来提取有意义的特征,这些特征也可用于重建密集的环境3D地图和提取语义信息
I. INTRODUCTION
SegMap:一种统一的地图表示方法,用于3D LiDAR点云的定位和映射问题。
SegMap方法是在将点云划分为多组描述性分段的基础上形成的。
使用聚类技术获得分段,这些技术能够重复形成点云的类似分区。由此产生的分段为紧凑但有辨别力的特征提供了有效表示环境的手段。全局数据关联通过段描述符检索来识别,通过基于段的特征的可重复和描述性质来实现。使用基于段的功能有助于降低计算,内存和带宽要求,因此该方法适用于多机器人和长期应用中的实时使用。此外,由于片段通常表示构成环境的有意义且不同的元素,因此可以通过一些紧凑的特征描述符有效地概括场景。
以前基于分段的本地化工作考虑了手工制作的特征并提供了稀疏表示[7]。
缺点:这些功能缺乏对不同环境进行推广的能力,只能对底层3D结构提供有限的见解。
解决方法:引入一种新颖的数据驱动的段描述符克服了这些缺点,即使在视点变化的情况下也能提供高检索性能。
此外,我们表明可以通过在描述符空间中执行分类来提取语义信息。
总而言之,本文提出了以下贡献:
(1)一种新颖的数据驱动3D段描述符,可提高本地化性能
(2)基于用于本地化的相同紧凑特征重建环境的技术
(3)使用真实世界的多机器人汽车和灾难情景数据集对SegMap方法进行广泛评估
II. RELATED WORK
使用CNN进行3D点云定位的工作
使用深度神经网络自动编码器描述点的局部子集
使用变分自动编码器重建体素化3D数据
我们的工作提出了一种基于数据驱动的基于段的定位方法,该方法可以实时操作并允许地图重建和语义提取功能
III. THE SegMap APPROACH
在3D点云中进行本地化和映射的SegMap方法由五个核心模块组成:段提取,描述,定位,地图重建和语义提取(segment extraction, description, localization, map reconstruction, and semantics extraction)
它们共同允许单机器人和多机器人系统创建一个强大的统一表示,可以方便地进行通信。
Segmentation
(1)3D传感器生成的点云流在动态体素网格中累积
(2)在机器人周围的半径R的区段中提取点云段
(3)增量区域增长算法用于通过仅使用新活动的体素作为种子来有效地生长片段
Description
(1)使用数据驱动描述符从这些3D分段点云中提取紧凑特征
(2)通过累积段质心和描述符在线创建全局段映射
Localization
(1)使用特征空间中的k-最近邻(k-NN)在全局和本地段之间识别候选对应
(2)通过基于分段中心验证候选对应关系的几何一致性来进行定位(使用基于几何一致性的划分和缓存的增量识别策略来实现的)
(3)当识别出几何一致的一组对应关系时,估计局部和全局地图之间的6自由度(DoF)变换。 该变换被馈送到增量姿势图SLAM求解器,该求解器实时估计所有机器人的轨迹
Reconstruction & Semantics
压缩表示可以随时用于重建地图和提取语义信息。由于SegMap描述符的紧凑性可以方便地通过带宽有限的无线网络传输,网络中的任何代理都可以重建和利用这些3D信息。另一方面,语义信息可以例如用于辨别静态和动态对象,这可以提高定位的稳健性。
IV. THE SegMap DESCRIPTOR
用于3D分段点云的数据驱动描述符,允许进行定位,地图重建和语义提取。
(1)介绍了描述符提取器的体系结构和将点云输入网络的处理步骤(2)描述了用于训练该描述符的技术,以完成段检索和地图重构的任务(3)展示了如何进一步使用描述符从点云中提取语义信息
A. Descriptor extractor architecture
描述符提取器的体系结构如图2所示。
输入:一个固定维度为32×32×16的3D二进制体素网格,它是根据经验确定的,以便在描述性和网络大小之间提供良好的平衡。
CNN的描述部分由三个3D卷积层组成,其中最大池层位于其间,两个完全连接层。除非另有说明,否则整流线性单元(ReLU)激活功能用于所有层。
输入段的原始比例作为附加参数传递给第一完全连接层,以增加不同纵横比的体素化的稳健性。
通过取出提取器的最后一个完全连接层的激活来获得描述符。
通过网格搜索各种参数找到了这种架构。
B. Segment alignment and scaling
需要预处理阶段以输入3D分段点云以进行描述。
首先,应用对齐步骤,使得从相同对象提取的段类似地呈现给描述符网络。
这是在假设z轴与重力大致对齐并且通过应用位于区段内的所有点的2D主成分分析(PCA)的情况下执行的。
然后旋转该段,使其参考系的x轴与对应于最大特征值的特征向量对齐。
我们选择通过旋转线段来解决方向上的模糊性,使得沿其参考系的y轴的下半部分包含最高点数。根据我们评估的多重对齐策略,所提出的策略效果最佳。网络的输入体素网格应用于线段,使其中心对应于对齐线段的质心。默认情况下,体素的最小边长为0.1米。这些可以单独增加以精确地适合具有比栅格大一个或多个尺寸的区段。虽然在缩放时保持纵横比可以提供更好的检索性能,但是这种具有最小边长的单独缩放可以更好地避免由混叠引起的大误差。我们还发现,这种缩放方法提供了最佳的重建性能,当段的原始比例作为参数传递给网络时,对检索性能的影响最小。
C. Training the SegMap descriptor
目的:实现高检索性能和重建能力
通过用于检索的softmax交叉熵损失Lc和重建损失Lr,在网络上施加两个期望的目标。将两个损失应用于描述符,并为此定义一个组合损失函数L,它合并两个目标的贡献。
Classification loss Lc
N路分类问题的学习技术
(1)将训练数据组织成N个类,其中每个类包含段或属于同一对象或环境部分的多个段的所有观察
(2)将一个分类层附加到描述符,并教导网络将分数与每个分段样本的N个预测变量中的每一个相关联,使用softmax交叉熵损失将这些分数与真实的类别标签进行比较
(3)将先前完全连接的层的激活用作通过k-NN进行分段检索的描述符
Reconstruction loss Lr
通过附加解码器网络并与描述符提取器和分类层同时训练来实现地图重建
该解码器由一个完全连接和三个反卷积层组成,具有最终的S形输出(描述符和解码器网络之间不共享权重)
使用二元交叉熵损失的一种特殊形式,用Lr表示
D. Knowledge transfer for semantic extraction
通过SegMap方法提取的用于定位和地图重建的片段通常表示对象或对象的部分。因此,可以为这些段分配语义标签,并使用此信息来提高本地化过程的性能。
我们通过在其上训练语义提取网络来传输嵌入在我们的紧凑描述符中的知识。
使用softmax交叉熵损失和冻结描述符网络的权重,使用标记数据训练该最后一个网络。
在这项工作中,我们选择训练这个网络,以区分三种不同的语义类别:车辆,建筑物和其他。第V-H节显示该信息可用于增加定位算法对环境变化的稳健性并产生较小的地图大小。这是通过从段候选列表中拒绝与潜在动态对象(例如车辆)相关联的段来实现的。