本文主要是介绍PCL 基于马氏距离KMeans点云聚类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、简介
- 二、算法步骤
- 三、代码实现
- 四、实现效果
- 参考资料
一、简介
在诸多的聚类方法中,K-Means聚类方法是属于“基于原型的聚类”(也称为原型聚类)的方法,此类方法均是假设聚类结构能通过一组原型刻画,在现实聚类中极为常用。通常情况下,该类算法会先对原型进行初始化,然后再对原型进行迭代更新求解。采用不同的原型表示、不同的求解方式,也将会产生不同的算法。
K-Means算法作为一种经典的“原型聚类”算法,其原型选择的是“K个聚类中心”,迭代求解的方式是以相邻两次求解的“质心”(同一类所有的点的x,y,z坐标的平均值)变化程度而进行的,这也可能就是K-Means聚类名字的由来:K个聚类中心+质心(坐标平均值)
。
二、算法步骤
1、初始化原型,也就是指定K值和K个聚类中心。这其中聚类中心的指定可以人为的输入、也可以随机选择或者其他方式都可以,不过尽量保证聚类中心之间的距离不要选的太近。这里为了后面可以计算马氏距离,我们需要对数据先进行初始的聚类操作。
2、聚类。遍历所有数据点,计算每个数据点到这K个聚类中心的距离(我这里选择的是马氏距离,
这篇关于PCL 基于马氏距离KMeans点云聚类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!