LiDAR Panoptic Segmentation 激光雷达全景分割

文章目录

  • A Technical Survey and Evaluation of Traditional Point Cloud Clustering Methods for LiDAR Panoptic Segmentation
    • 摘要
    • 1. 介绍
    • 2. 文献回顾
      • 2.1 全景分割
      • 2.2 激光雷达全景分割
      • 2.3 点云聚类方法
    • 3. 选择检验方法
      • 3.1 欧式聚类
      • 3.2 超体素聚类
      • 3.3 深度聚类
      • 3.4 扫描线运行群集
      • 3.5 安装启用
    • 4. 实验
      • 4.1 数据集
      • 4.2 指标
      • 4.3 聚类性能比较
      • 4.4 在排行榜上的最先进的比较
      • 4.5 时间复杂度
    • 5 总结

A Technical Survey and Evaluation of Traditional Point Cloud Clustering Methods for LiDAR Panoptic Segmentation

  • 论文PDF地址
  • GitHub代码

摘要

激光雷达全景分割是一种新提出的自动驾驶技术任务。与流行的端到端深度学习解决方案相比,我们提出了一种混合方法,与现有的语义分割网络来提取语义信息和传统的激光雷达点云聚类算法来分割每个实例对象。我们认为基于几何的传统聚类算法值得考虑,因为在语义kitti数据集的全景分割排行榜上的所有已发布的端到端深度学习解决方案中显示了最先进的性能。据我们所知,我们是第一个尝试用聚类算法进行点云全景分割的人。因此,本文并没有专门研究新的模型,而是通过实现四种典型的聚类方法进行了全面的技术调查,并在基准测试上报告了它们的性能。这四种聚类方法是最具有代表性的具有实时运行速度的方法。它们在本文中使用C++实现,然后包装为一个python函数,以便与现有的深度学习框架进行无缝集成。我们为可能对这个问题感兴趣的同行研究人员发布了我们的代码。


1. 介绍

泛视分割是静态事物的语义分割和可数对象的实例分割的集合。点云泛光分割需要为每个点提供语义标签id,并进一步为属于同一对象的点分配一个唯一的实例标签。通过对单帧激光雷达扫描的语义信息和实例信息的理解,这项任务能够为高级的自动驾驶功能提供许多有用的线索,比如未来预测和地图构建。

LiDAR Panoptic Segmentation 激光雷达全景分割_第1张图片

动机:现有的工作大多是用端到端深度学习模型来解决激光雷达的全景分割问题。神经网络负责点分类和点聚类。如今,几乎所有的分类任务都以神经网络为主导。然而,考虑到在点云中隐式编码的三维几何信息,神经网络是否能够同时进行聚类是值得怀疑的。至少,我们并不是直接应用神经网络作为解决方案,我们应该评估几个问题。例如,我们真的需要神经网络来进行点级聚类吗?如果需要,神经网络解决方案能比传统方法好多少?回答这些问题需要一个坚实的基准来在公认的数据集上研究和比较现有的传统聚类方法。这促使我们在语义点云聚类分割任务上编写了传统点云聚类方法的技术调查论文。

点云聚类是多重自主领域研究的一个课题,包括机器人技术和智能交通工具。这种技术已被应用于各种应用程序中。例如,一些最近的点云压缩方法需要聚类算法来降采样点。非学习聚类算法也被证明对语义分割和目标检测等标准任务是有用的。

本文提出仅利用现有的语义分类部分的神经网络,然后利用传统的激光雷达聚类算法对点向聚类部分进行处理。据我们所知,我们是第一个提出用传统的点云聚类算法来求解全景分割的方法。因此,我们不愿开发新技术,而是进行全面的技术审查,以调查所有现有方法的性能。具体来说,我们选择了最先进的语义模型圆柱体3D来提供每个点的语义标签。然后,我们运行各种激光雷达聚类算法来获得每个对象的实例标签。Cylinder3D具有预先训练的检查点的开放源代码,因此我们可以很容易地使用相同的语义模型在不同的聚类方法之间进行公平的比较。

在这种设置下,我们评估了由我们在著名的语义KITTI数据集上实现的各种具有代表性的聚类方法。我们将在第三节中讨论关于每种所选择的聚类方法的更多细节。与标准的全景分割相同,使用PQ(全景质量)来衡量聚类方法的全景性能。我们还报告了在语义测试中使用的其他指标。

贡献:我们相信这篇调查论文将有益于学术研究和工业应用。我们总结了本文的贡献如下:

  • 我们提出了一种新的激光雷达全景分割框架。我们首先证明了用语义网络和传统的聚类方法来解决激光雷达全景分割的可能性。该解决方案的性能优于最近发布的所有端到端网络解决方案。经典的聚类方法在CPU上以毫秒级运行,减轻了实例部分的标记工作,并且有机会更好地适应新的看不见的场景,因为它对训练集没有偏见。作为一种传统的方法,它不是一个网络风格的黑盒,因此让人们清楚地知道该方法的表现是好还是坏。
  • 我们建立了一个激光雷达聚类算法的基准。以往关于激光雷达聚类方法研究的一个问题是,由于存在诸如墙壁和地面等大型非物体表面,评价度量的模糊性。在这篇论文,我们利用已发布的代码的语义模型和检查点来过滤非目标点。因此,聚类算法只能关注属于对象的点。我们进一步使用公认的全景分割的评价指标来直接评估和比较不同的聚类方法的有效性。由于语义KITTI数据集和排行榜的高质量,未来关于激光雷达聚类主题的研究可以遵循我们的基准作为事实上的比较基线。

2. 文献回顾

在本节中,我们简要回顾了全景分割任务和点云聚类方法的文献。下一节将介绍关于所选的集群方法的更多技术细节。

2.1 全景分割

全景分割是一项新提出的任务,以充分理解单个图像帧。一种全景分割的解决方案被期望同时分类属于东西的像素,并识别每个单独的可数的东西。具有相同纹理的不可数的无定形区域被称为东西,例如,道路、水、天空等。事物是那些可数的物体,比如人,汽车等。由于该任务是语义分割和实例分割的结合,因此很自然地可以扩展许多来自现有语义或实例解决方案的深度学习模型,并进行额外的修改,以满足泛视基准的要求。

2.2 激光雷达全景分割

激光雷达全景分割是在点云上的图像全景分割的对应物。模型需要为属于同一实例的每个点和组点提供语义标签。范围图像表示方便了在点云上直接修改基于图像的方法,包括单级DeepLab风格的方法和双阶段掩模R-CNN风格的方法。考虑到点云中编码的特定三维信息,启发了一些特殊设计的网络结构,如开发的动态移动模块。作为在这个深度学习时代提出的一个非常新的任务,许多研究直接深入深度学习解决方案。然而,尽管有语义分类部分,点云聚类是一个长期存在的研究课题,也有机会作为全视任务的一部分。

2.3 点云聚类方法

点云是3D世界的常见代表。如何从点云中聚类出目标是学术界一个长期存在的问题。我们研究了传统的基于几何的点云聚类方法,而不是使用神经网络处理三维点的热门话题。我们想要表明,如果这些被低估的经典方法与最近的深度学习模型适当地结合起来,那么它们对于解决现实世界的计算机视觉挑战是有价值的资产。

  • 欧式距离聚类:利用到聚类点的欧几里德距离去聚类点是在探索的一个简单的想法,XX作者开发了一个径向有界最近邻(RBNN)算法。他们进一步扩展了RBNN,考虑了法向量,这使得算法倾向于分割曲面。由于激光雷达主要用于室外场景,分割路面是至关重要的。XX在中提出了一种新的地面分割算法,并将其他非地面点与体素化的欧几里得邻居进行了聚类。在XX中,研究人员提供了一个概率框架,不仅包含欧几里得空间信息,而且还包含来自连续帧的时间信息。XX中使用的欠分割误差和过分割误差也揭示了我们应该如何比较和评估各种点云聚类方法。
  • 用超体素或超点进行聚类:如果没有人类的知识,就很难从原始的点云中定义对象。受传统图像处理[1]中超像素概念的启发,一些研究者对在欧几里得空间中寻找超体素很感兴趣。在[29]中,作者提出了一种体素云连通性分割(VCCS)方法,该方法扩展了迭代图像像素簇SLIC[1]中所使用的距离的定义。从聚类的角度来看,超体素或超点通常在[5,23]中的分段对象上提出和讨论。
  • 在范围图像上聚类。除了单纯的欧氏距离[20,21,9]外,研究者还探索了更多的线索,旨在寻找更好的标准来分离属于不同簇的邻居点。在[6,42]中,考虑相邻两束激光束形成的角度来构造鉴别器。为了使该算法足够快速地用于实时应用,[6]的作者研究了激光雷达点云的二维范围图像表示。这导致了一些工作,通过借鉴连接组件标记(CCL)算法[43,12]的思想,在激光雷达范围内的图像上提出了快速聚类方法。连接组件标记(CCL)是一种用于计算机视觉中检测二进制数字图像[14]中的连接区域的图形算法。由于二值图像和激光雷达范围图像之间的固有差异,[43,12]的作者修改了现有的CCL方法,如双管CCL[41]或基于运行的CCL[13],因此聚类算法可以以毫秒级别的水平运行。
  • 过度分割的后处理:过度分割意味着单个对象被错误地聚集成多个部分。成功的分割部分合并将提高某些模型的聚类质量。在[34]中,提出了一种高斯过程回归方法来提高其作为后处理步骤的精度。在[25,26]中也尝试了一些受三维信息启发的启发式方法。这些启发式方法主要考虑了两个对象不能保持得太近的事实。评估指标。该领域的早期出版物只评估了具有唯一设置[20,21,9]的私有数据集上的聚类方法。最近的论文[15,34,43,42,12]试图使用流行的KITTI数据集[11]。然而,在这些论文中仍然存在一些问题。例如,[15]评估了KITTI跟踪数据集上的集群性能,但只考虑了15米内的对象。缺乏一个公认的基准测试是一个限制了对点云集群的进一步研究的问题。在本文中,我们提出利用语义矩阵上的全视分割任务作为基准。所有的聚类方法都应该共享相同的语义分段。

3. 选择检验方法

现有的点云聚类方法可以大致概括为四种类型:基于欧氏聚类的三维空间,将点云聚类为超体素或超点,在距离图像上改进的单通连通分量标记,在距离图像上改进的双通连通分量标记。在本方法回顾部分中,我们将选择每种类型中最典型的算法,并给出更详细的介绍。

3.1 欧式聚类

欧几里得聚类是一种简单的聚类方法。首先在整个点云上构造kd树,然后将半径阈值内的所有邻居点分组为一个实例。我们在Alg中举例说明欧几里得聚类。 1.有一个参数,半径阈值。直观地说,较大的阈值会将闭合的物体组合在一起,但较小的阈值对点较少的物体部分更敏感。因此,我们在本文中选择了一个中等的0.5米作为阈值。关于欧几里得集群的更多细节可以在[31,32]中参考。

LiDAR Panoptic Segmentation 激光雷达全景分割_第2张图片

3.2 超体素聚类

超像素SLIC[1]是一种著名的传统图像处理算子,它将局部像素分组为具有共同特征的较大像素。超体素[29]被设计在RGB-D点云上,作为2D图像上超像素的对应物。与超像素相比,超体素有三个主要的区别。第一个是关于最初的种子的。在超体素中,簇的种子是通过分割三维空间而不是投影图像平面。第二个区别是一个额外的约束条件,即迭代聚类算法会强制执行严格的已占据体素的空间连通性。第三个是在k-means中使用的距离的定义。在超体素中,我们进一步考虑了三维的欧氏距离和法向量的角度,而不是二维图像上的距离。请注意,点云库PCL中超体素距离的定义与原论文[29]不同。我们选择了本文中在PCL中实现的一个。距离D在等式中定义 1.空间距离Ds由播种分辨率归一化,颜色距离Dc是归一化RGB空间中的欧氏距离,法线距离Dn测量曲面法向量之间的夹角。wc、ws和wn分别是颜色权重、空间权重和正常权重。
在这里插入图片描述

在本文中,我们正在研究没有RGB颜色信息的激光雷达点云,因此将所有点的颜色距离Dc设置为零。超体素的左迭代k-均值在二维图像上与超像素SLIC[1]相同。平衡1有助于该方法平衡局部法线距离和局部欧氏距离。

3.3 深度聚类

深度聚类[6]是激光雷达范围图像上的一种快速单通CCL(连接组件标记)算法。二值图像上的CCL算法需要检查两个相邻像素是否都具有强度1。然而,需要在激光雷达范围图像上的CCL来定义确定两个相邻点是否来自同一对象的条件。在深度聚类算法中,通过使用图2中所示的魔法角度β来定义该条件。作者[6]认为,如果β大于一个角度阈值θ,那么点A和点B来自同一物体。在此条件下,将深度聚类算法总结为Alg算法。 2.在[6]中,他们选择θ=10o作为阈值,在这个调查中也被用作一个固定的参数。
LiDAR Panoptic Segmentation 激光雷达全景分割_第3张图片

LiDAR Panoptic Segmentation 激光雷达全景分割_第4张图片

3.4 扫描线运行群集

扫描线运行(SLR)集群[43]是一种基于有组织点云或范围图像的行快速扫描算法。该方法是激光雷达范围图像上基于图像的双通连接分量标记(CCL)算法的对应方法。在SLR中,所有从同一水平角度发射的点都被识别为一条扫描线。在一条扫描线中,所有靠近阈值Thrun的点被分组在一起,称为run。一开始,SLR取第一行,然后将欧氏距离小于阈值Thrun的所有附近点分组在一起作为运行。每次运行都被分配了一个唯一的标签作为初始集群。接下来,SLR移动到第二行,重复运行分段,并检查第二行中的新运行是否满足用新的阈值Thmerge定义的合并条件。如果两个运行满足合并条件,则将合并在一起。该标签也将被传播。如果第二行中的新运行不符合以前任何运行的合并条件,则将分配一个新的群集标签。对于这种情况,如果两个集群在一个新行中相遇,SLR将它们与较小的集群id合并。此程序将保持逐行移动,直到所有激光雷达扫描线被处理。我们通过考虑前三行来可视化图3中的过程。
该算法在Alg3中进行了总结。搜索邻居函数旨在搜索前一条扫描线中最近的点。原始论文提供了几种方法去查询最近的邻居的优缺点。更多关于SLR集群的细节可以参考[43]
LiDAR Panoptic Segmentation 激光雷达全景分割_第5张图片

LiDAR Panoptic Segmentation 激光雷达全景分割_第6张图片

3.5 安装启用

我们使用C++实现了上述四种方法,并使用Pybind11[18]作为python函数包装实现。虽然这些方法都是为点云聚类而设计的,但没有一种方法是专门关注全景分割的。为了使它们更好地适应语义kitti数据集,我们引入了一些小的修改。
欧几里得聚类:我们直接使用PCL(点云库)[32]中的函数来实现欧几里得集群。由于使用了kd树数据结构,欧几里得聚类的时间复杂度与点的总数呈非线性关系。我们对整个点云进行子采样,并从每个10cm×10cm×10cm体素中随机选择一个点。相同的实例标签将被分配给来自同一体素的其他点。
超体素聚类:当我们在处理激光雷达点云时,我们丢弃了RGB的颜色距离。
深度聚类:深度簇假设范围图像上的每个点在相邻的像素上都有邻居。然而,KITTI提供的原始数据是一个无序的三维点云。通过映射这个点云生成的范围图像将包含许多孔。为了克服这个问题,我们的实现将继续在一个阈值内搜索邻居,直到找到邻居点。
扫描线运行群集:扫描线运行集群将遇到与深度集群相同的问题,即在激光雷达点之间存在许多孔。因此,我们开发了一个编排搜索策略。编排搜索将蛮力扫描上面两条线上的每一个点,而不是原来的一行,以找到最近的点。当在以上一行中搜索失败时,会触发编排搜索,因此只会略微增加时间成本。


4. 实验

在本节中,我们首先比较了本文中回顾的四种方法对全景分割挑战的验证集。然后,我们在测试排行榜上报告了最佳方法的性能,并通过与其他端到端神经网络解决方案的比较,展示了一个最先进的结果。

4.1 数据集

在以前的聚类论文中使用的数据集存在一些常见的问题。例如,集群的定义是模糊的,树木和墙壁也是集群[6];度量是有限的,例如只考虑15米[15]内的对象。在本文中,我们提出使用新发布的语义技术上的泛光分割挑战作为基准。这个数据集克服了以前的所有问题。该对象的定义非常清楚。如果相同的语义分割模型被用作提供那些非目标点的标签,为全视分割设计的度量指标可以精确地用于评估聚类性能。
语义kitti[3]是一个关于户外自动驾驶的点云数据集。它提供了点云语义分割、点云全景分割[4]和语义场景完成[2]三个任务的基准。该数据集包含一个包含10个激光雷达序列的训练分割,一个一个序列的验证分割,以及一个包含11个序列的测试分割。测试分割上的所有标签都不可用。用户需要将预测结果提交到排行榜上,以获得最终的评估分数。
语义预测:聚类方法作为一个后处理步骤,只关注实例点。所有的方法都应该使用相同的语义模型来进行公平的比较。直观地说,具有更好性能的语义模型应该在泛视方面提供更好的性能。考虑到这一点,我们选择Cylinder3D[45,47]作为语义模型来提供语义分割预测。圆柱体3D是最先进的语义模型与开源代码。在未来,如果开发出更强大的语义模型,本文中报道的所有全景结果可能会变得更好。

4.2 指标

本文中使用的度量与全景分割相同。PQ(泛光质量)是衡量[19]的语义分割和实例分割的主要指标。一个改进的PQ被进一步定义为[30]。更多指标,请参考[19,30]。我们在第4.4节中与其他讨论相比,同时进行了一些讨论。注意,共享相同的语义分割使得通过使用这些泛视分割指标来测量聚类算法成为可能。将来可能会设计出更好的衡量集群性能的指标。

4.3 聚类性能比较

通过使用相同的语义结果,我们比较了在表1中的语义kitti验证集上所有四种选定的聚类算法的性能。对于欧几里得集群,我们将dth(距离阈值)设置为一个中等的阈值0.5米。这是有意义的,因为一个大的dth将关闭的物体组合在一起,一个小的dth将对点很少的遥远物体敏感。对于超体素簇,我们主要研究了正态信息与距离融合的影响。然而,当考虑到额外的正常信息时,表1中的结果报告的PQ略差。在没有正态性的情况下,超体素会退化到三维空间的均匀切割,因此在四种方法中性能最差。对于深度簇,我们保持与原始论文相同的角度阈值θ的选择。对于扫描线运行集群,两个距离阈值的值也与本文保持相同。扫描线运行集群在所有四种方法的验证集上都取得了最好的性能。我们在图4中的语义kitti验证集上可视化了该聚类算法的一些样本。
LiDAR Panoptic Segmentation 激光雷达全景分割_第7张图片

LiDAR Panoptic Segmentation 激光雷达全景分割_第8张图片

LiDAR Panoptic Segmentation 激光雷达全景分割_第9张图片

4.4 在排行榜上的最先进的比较

从表1中,我们展示了扫描线运行[SLR](43)是在语义KITTI验证集上评估的四种方法中最好的聚类算法。然后,我们通过使用SLR作为传统集群与圆柱3D[47,45]结合,在语义KITTI测试集上评估我们的管道。在表2中,我们报告了性能,并将此混合解决方案与其他解决方案进行了比较。有两种主要类型的竞争对手。一种类型是全视分割结合语义分割和三维目标检测,数字引用自[17]。这种解决方案需要两个具有冗余计算成本和信息的大型网络。第二种方式是端到端全景分割模型。该混合解决方案在两个主要指标PQ和PQ方面优于排行榜上的所有其他解决方案。对于排行榜中报告的其他指标,我们的管道实现了与当前最先进的方法DS-Net[17]相当的性能。
与语义分割的关系:从表2中的一个有趣的发现是与DS-Net[17]的数字比较。我们的混合解决方案对PQSt、RQSt和SQSt表现更好,但对PQTh、RQT h和SQT h表现更差。指标PQSt、RQSt和SQSt测量了模型在非目标点上的性能。因此,我们可以说,我们的混合解决方案之所以能达到最先进的性能,是因为传统的聚类算法几乎保持了与语义分割模型相同的高性能,并且提供了很好的实例聚类结果。这是传统方法的一个独特优势。对于这些端到端网络解决方案,在语义分割之外涉及额外的实例分支,使网络的训练成为一个多任务学习问题。目前多任务学习如何影响语义分割性能尚不清楚。在Cylinder3D[45,47]中,作者展示使用额外的实例分支扩展语义,将mIoU从65.9降低到63.5,在验证集上下降了2.4点。在我们的例子中,添加传统集群只会将mIoU从68.9降低到67.9

4.5 时间复杂度

推理时间也是一个重要的因素。让我们假设总共有N个点,区域图像上的像素点也和N大致相同。由于kd树的构造,欧几里得聚类具有Nlog(N)的时间复杂度。我们用10厘米大小的立方体对空间进行体素化。如果其中有m个带有点的立方体,则欧几里得聚类的时间复杂度为mlog(m),m个N为64行激光雷达。深度簇和扫描线运行簇都采用改进的连接组件标记算法对范围图像进行研究。因此,这两种聚类方法都具有线性的O(N)复杂度。通过限制搜索区域或种子分辨率来节省超体素的推理速度。在表3中,我们直接报告了点云库(PCL)中体素分辨率为0.5m和8.0m种子分辨率的超体素实现的推理时间。
LiDAR Panoptic Segmentation 激光雷达全景分割_第10张图片

我们在表3中报告了我们的实现的平均单帧推理时间。虽然推理时间也是由编码质量决定的,但我们在这里提出这些数字是为了强调传统的集群算法足够快,可以处理10Hz的激光雷达帧率。注意,原始的深度聚类论文[6]报告了4.7 ms来处理每个激光雷达帧。这种与我们实现的时间差异部分是由于在KITTI范围图像上存在许多孔。


5 总结

这是一篇关于激光雷达点云聚类方法及其在全景分割基准上的性能评价的技术调查论文。我们想要传达的信息是,传统的聚类算法是三维点云任务的有用资产。从激光雷达全景分割的角度,我们提出了一种新的混合管道与最先进的性能。从点云聚类方法的角度来看,我们提供了一个基准来公平地评估和比较不同的聚类算法。本文中使用的所有代码都将向公众发布。我们相信,这项工作将有助于学术研究和工程设计,以更好地理解激光雷达点云来解决现实世界的问题。
新的混合管道与最先进的性能。从点云聚类方法的角度来看,我们提供了一个基准来公平地评估和比较不同的聚类算法。本文中使用的所有代码都将向公众发布。我们相信,这项工作将有助于学术研究和工程设计,以更好地理解激光雷达点云来解决现实世界的问题。

你可能感兴趣的:(论文,机器学习,python,聚类)