四种常用聚类方法比较
摘要
激光雷达全景分割是自动驾驶领域新近提出的技术任务。相较于流行的端到端深度学习方案,我们提出了一种混合方法,该方法结合了用于提取语义信息的现有语义分割网络和用于分割每个实例对象的传统激光雷达点云聚类算法。我们在SemanticKITTI数据集的全景分割排行榜上展示了基于几何信息的传统聚类算法相较于所有已发布的端到端深度学习解决方案的SOTA性能。据我们所知,我们是首个尝试使用聚类算法进行点云全景分割的团队。本文未开发新模型,而是对四种最具代表性的、具有实时运行能力的聚类方法进行了全面的技术调查,并在基准上报告了它们的性能。这些方法使用C++实现,然后封装为与现有深度学习框架无缝集成的python函数。我们为同行研究人员开源了代码,地址为 /placeforyiming/ICCVW21-LiDAR-PanopticSegmentation-TradiCV-Survey-of-Point-Cloud-Cluster。
主要贡献
我们提出了一种创新的激光雷达全景分割框架,首次将语义网络和传统聚类方法相结合,以解决激光雷达全景分割问题。这种方法在性能上优于最近发布的所有端到端网络解决方案。经典的聚类方法在CPU上以毫秒级运行,减轻了实例部分的标记工作,并有可能更好地适应全新的未训练场景,因为它对训练集没有偏好。作为一种传统方法,其工作原理更为清晰,让人们能够明确了解其在何时表现良好或不佳。
我们还建立了一个激光雷达聚类算法的基准。以往关于激光雷达聚类方法的研究中存在一个问题,即对于大的非物体表面(如墙壁和地面)的评价度量较为模糊。在我们的研究中,我们通过使用具有已发布代码和检查点的语义模型框架来过滤掉这些非对象点。这样,聚类算法只会关注属于对象的点。我们进一步使用公认的全景分割评价指标来直接评估和比较不同聚类方法的有效性。得益于SemanticKITTI数据集和排行榜的支持,未来关于激光雷达聚类主题的研究可以遵循我们的基准作为实际的比较基线。
方法概述
现有的点云聚类方法大致可归为四类:基于3D欧式空间的方法、使用超栅格或超点进行点云聚类的方法、改进深度图上的单通道连通域标记方法以及改进深度图上的双通道连通域标记方法。在本方法回顾部分,我们将详细介绍每种算法中最具代表性的方法。
欧式聚类
欧式聚类是一种简单的聚类方法,它首先在整个点云上构建kd树,然后将半径阈值内的所有邻近点聚类为一个实例。
Supervoxel聚类
Supervoxel(SLIC)是一种著名的传统图像处理操作,它将局部像素分组为具有类似特征的更大像素。在RGB-D点云上设计的Supervoxel类似于二维图像上的超像素。它有三个主要区别:种子点的初始化方式、考虑被占用的体素的空间连通性约束的迭代聚类算法中的额外约束以及k-means算法中使用的距离定义。我们将详细解释这些差异并描述如何在点云库(PCL)中实现这种方法。
逐行扫描聚类
Scan-line Run(SLR)聚类是一种基于点云或深度图的快速逐行扫描算法。它是激光雷达深度图上双通连通域标记(CCL)算法的对应方法。SLR将所有从相同水平角度发出的点识别为扫描线,并将欧氏距离小于阈值的临近点聚类为一个run。我们将详细介绍SLR的工作原理以及其在处理激光雷达扫描线时的可视化表示。
实验结果
我们进行了全面的实验以评估传统方法和我们提出的方法的效果,特别是在使用Cylinder3D + SLR方法和其它方法的比较上。我们还展示了在SemanticKITTI数据集上使用Scan-line方法的可视化结果。
结论
通过我们的研究,我们证明了基于几何信息的传统聚类算法在激光雷达全景分割任务中的有效性。我们希望我们的工作能够为自动驾驶领域的进一步研究提供有价值的参考和启示。