【论文笔记】SegMatch: Segment Based Place Recognition in 3D Point Clouds

【论文笔记】SegMatch: Segment Based Place Recognition in 3D Point Clouds

3D 数据中的地点识别是一项具有挑战性的任务,通常通过调整基于图像的解决方案来实现。基于局部特征的方法具有模糊性和对环境变化的鲁棒性,而基于全局特征的方法则依赖于视点。我们提出了 SegMatch,一种基于 3D 片段匹配的可靠地点识别算法。段在局部和全局描述之间提供了很好的折衷,结合了它们的优势,同时减少了它们各自的缺点。 SegMatch 不依赖于“完美分割”的假设,也不依赖于环境中“对象”的存在,这允许在大规模、非结构化环境中可靠地执行。我们定量地证明了 SegMatch 可以在 KITTI 里程计数据集的最大序列上以 1Hz 的频率实现准确定位。我们还展示了该算法如何在在线操作期间实时可靠地检测和关闭循环。
  我们通过匹配属于部分或全部对象,或属于较大结构(窗户、弧线、立面)的部分的段来识别地点。对于在城市场景中收集的数据,可以在图 1 中看到此类段的示例。我们的系统采用模块化设计。它首先从 3D 点云中提取和描述片段,将它们与来自已访问地点的片段进行匹配,并使用几何验证步骤来提出地点识别候选者。这种基于分段的技术的一个优点是它能够将点云相当大地压缩成一组用于地点识别的独特且有区别的元素。我们表明,这不仅减少了匹配所需的时间,而且还降低了获得错误匹配的可能性。
  在分段描述方面,尽管存在许多 3D 点云描述符 [5-7],但没有明确的证据表明它们之间的相对性能,例如泛化能力或对几何对称性的鲁棒性。因此,我们选择了一种机器学习方法来匹配在段上计算的各种标准描述符。尽管如此,由于所提出框架的模块化性质,可以通过替换我们管道中的相应组件来使用 3D 分割、识别和描述方面的未来进步。据我们所知,这是第一篇基于分段在 3D 激光数据中执行闭环检测和定位的实时算法的论文。更具体地说,本文提出了以下贡献:
• SegMatch,一种基于段的算法,用于在 3D 点云中执行地点识别。
• SegMatch 的开源实现,用于在线、实时闭环检测和定位。
• 对实际应用中算法性能的全面评估。
图片

Segmatch算法

在本节中,我们将描述我们在 3D 点云中进行地点识别的方法。所提出的系统如图 2 所示,由四个不同的模块组成:点云分割、特征提取、段匹配和几何验证。模块化一直是设计阶段的驱动因素。在下文中,我们为系统的每个模块提出了一个示例实现,可以轻松调整以在不同类型的环境中运行。

分割

SegMatch 的第一个构建块将点云分割成不同的元素以进行匹配。对于在全局参考系中给出的每个传入点云 P,我们首先通过定义半径为 R 的圆柱邻域来提取局部点云,以当前机器人位置为中心。然后将体素网格应用于生成的源云,以滤除体素中没有足够证据证明占用的噪声。过滤后的点云最终使用 [22] 的“Cluster-All 方法”分割成一组点簇 Ci。这种分割需要预先去除地平面,这可以通过基于垂直均值和方差对相邻体素进行聚类来实现 [22]。一旦地平面被移除,欧几里得聚类用于增长段。对于每个集群 Ci,质心 ci 计算为其所有点的平均值。

特征提取

一旦我们对点云进行了分割,我们就为每个段提取特征。此特征提取步骤用于压缩原始数据并构建适合识别和分类的段签名。由于 3D 数据没有明确的黄金标准描述符,我们使用了几种不同的描述符。给定一个簇 Ci,计算描述符得到特征向量 fi = fi1 fi2 :: : fim 。虽然这个特征向量可以扩展到包括大量的描述符,但这里提供了两个产生有趣结果的描述符。基于 f1 特征值:在这个描述符中,线段点云的特征值被计算并组合在维度为 1x7 的特征向量中。我们计算 [23] 中提出的线性度、平面度、散射、全方差、各向异性、特征熵和曲率变化。 f2 形状直方图集合:维度为 1x640 的此特征由 10 个直方图组成,这些直方图对 [6] 中所述的形状函数 D2、D3 和 A3 进行编码。 D2 形状函数是随机选择的点对之间距离的直方图,而 D3 对随机选择的点三元组之间的区域进行编码。 A3 形状函数描述了从这些三元组获得的两条线之间的角度。

段匹配

使用这些功能,我们希望识别来自源和目标云的段之间的匹配。对于此操作,我们选择了一种学习方法,因为通常很难选择合适的距离度量和阈值,尤其是在涉及多种特征类型时。因此,分类器用于做出关于两个片段是否代表相同的对象或对象部分的最终决定。为了保持效率,我们首先通过在特征空间中执行 k-d 树搜索来检索候选匹配项,然后将其馈送到分类器。具体来说,我们使用随机森林来进行分类和计时性能。这个分类器背后的想法是构建大量不同的决策树,并让它们投票给获胜的类。在学习阶段,每棵树都使用训练数据集的引导子集和特征的随机子集进行训练。随机森林提供类似于 AdaBoost 算法的分类性能,但对输出标签中的噪声(例如错误标记的候选者)不太敏感,因为它们不会将精力集中在错误分类的候选者上 [24]。随机森林还可以提供有关特征对分类任务的相对重要性的信息。为了让随机森林分类器确定集群 Ci 和 Cj 是否代表同一对象,我们计算基于特征值的特征向量之间的绝对差:Δf1 = fi1 − fj1 。特征向量 fi1 和 fj1 也被馈送到分类器,以获得基于特征值的总特征维度为 1x21。对于形状特征集合的十个直方图,计算直方图交集,得到维度为 1x10 的特征。给定这组特征,随机森林分类器分配一个匹配的分类分数 w。 w 上的阈值用于构建传递给下一个模块的候选匹配的最终列表。该阈值取决于用于匹配的特征子集,并在表 I 中定义。

几何验证

使用随机样本一致性 (RANSAC) [25] 将候选匹配输入到几何验证测试中。使用分段质心评估变换。最终基于其中的最小段数接受几何一致的段簇,从而产生 6DOF 变换和表示地点识别候选者的匹配段列表。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值