论文出处:FEC: Fast Euclidean Clustering for Point Cloud Segmentation
简介
点云聚类在许多点云应用领域(如测绘、移动机器人、自动驾驶以及智能制造)起着至关重要的作用。
而现有的点云聚类算法主要可以划分为基于点的聚类和基于体素的聚类;
基于点的聚类,主要指基于原始点云的聚类,该方法通常受限于点密度、点数以及类簇大小的不一致性,从而使得其效率较为低下;
基于体素的聚类,便是考虑到效率性能而诞生的方案,但该方案受限于体素大小,同时,体素中心表征点的选取,同样影响着最终的聚类结果;
考虑到这些问题,作者提出了一种基于原始点云的快速聚类算法,相比现有的同类型算法,效率提升了2倍。
算法流程(可参考下列图1和图2):
(1)输入点云,搜索当前点的邻域点云,将二者赋予相同的类簇标签;
(2)遍历下一点,搜索其邻域点云,若邻域点云中存在已被标记类簇标签的点P,则将当前点、以及其邻域标记为点P的标签;
(3)若邻域点云中出现多个不一致的标签号,则取较小的标签作为当前处理阶段的最终标签,同时修改相关联类簇的标签;
(4)若被遍历的当前点已经被标记了,同样采用步骤(3)的操作(这一步在作者论文的伪代码中并未看到,可能是我还未完全理解,哈哈)
(5)遍历完所有点,则其所有点云均已被标记;
图1 流程示意图
图2 伪代码图
作者将其与传统的欧式距离聚类(EC)、传统的区域增长聚类(RG)进行对比,分别基于密度、点数、密度+点数、类簇异质性作为变量进行效率对比,对比结果如下图3
图3 效率对比图
通过对比可以发现,FEC受密度、点数、类簇异质性的影响较小。
同时,与EC、RG对比发现,其精度等同EC,但效率远高于EC。具体如下图4和图5。
图5定性目视结果
图6定量结果
代码链接