登山第一梯:基于原始点云的聚类——我是最快的

论文出处: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定量结果

代码链接

https://download.csdn.net/download/qq625924821/87871533

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
点云聚类是一种在三维点云数据中分组或分类点的技术。Matlab是一个功能强大的数值计算和科学编程环境,为点云聚类提供了丰富的工具和函数。 在Matlab中,点云数据可以由(x, y, z)坐标表示。点云聚类的目标是将这些点分成几个相似的组或类别。为了实现点云聚类,可以采用以下步骤: 1. 数据准备:将点云数据导入Matlab环境。可以使用MATLAB内置函数或第三方工具箱处理和可视化点云数据。 2. 特征提取:通过计算点云数据的特征向量来描述每个点的属性。常用的特征包括点的位置、法向量、曲率等。这些特征将用于确定点云的相似性。 3. 相似性度量:通过计算点与点之间的相似性度量来度量点云之间的相似性。相似性度量可以使用欧氏距离、曼哈顿距离或其他相似性度量方法。 4. 聚类算法:选择适当的聚类算法点云进行聚类。常用的聚类算法包括k-means、DBSCAN和层次聚类等。Matlab提供了这些算法的函数和工具箱。 5. 聚类结果可视化:将聚类结果可视化以便于理解和分析。可以使用Matlab的图形绘制函数来可视化聚类结果,如散点图或柱状图。 除了这些基本步骤之外,还可以在聚类过程中进行参数调整、降维处理、噪声数据过滤等进一步处理。 总的来说,Matlab提供了丰富的工具和函数,可以帮助我们对点云数据进行聚类分析。通过合适的数据准备、特征提取和聚类算法选择,可以实现有效的点云聚类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云登山者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值