Open3D 点云K均值聚类(KMeans,Python版本)

文章目录

  • 一、简介
  • 二、算法步骤
  • 三、代码实现
  • 四、实现效果
  • 参考资料

一、简介

在诸多的聚类方法中,K-Means聚类方法是属于“基于原型的聚类”(也称为原型聚类)的方法,此类方法均是假设聚类结构能通过一组原型刻画,在现实聚类中极为常用。通常情况下,该类算法会先对原型进行初始化,然后再对原型进行迭代更新求解。采用不同的原型表示、不同的求解方式,也将会产生不同的算法。

K-Means算法作为一种经典的“原型聚类”算法,其原型选择的是“K个聚类中心”,迭代求解的方式是以相邻两次求解的“质心”(同一类所有的点的x,y,z坐标的平均值)变化程度而进行的,这也可能就是K-Means聚类名字的由来:K个聚类中心+质心(坐标平均值)

二、算法步骤

1、初始化原型,也就是指定K值和K个聚类中心。这其中聚类中心的指定可以人为的输入、也可以随机选择或者其他方式都可以,不过尽量保证聚类中心之间的距离不要选的太近。
2、聚类。遍历所有数据点,计算每个数据点到这K个聚类中心的距离(我这里选择的是欧式距离,也可以选择马氏距离或者其他距离),将每个数据点分配给距离该点最近的聚类中心所属的类别,直到最后一个数据点。
3、更新聚类中心。也就是计算每一类

你可能感兴趣的:(python,open3d,kmeans,聚类,k均值)