本文主要是介绍KMeans、高斯混合模型(GMM)、分水岭变换、Grabcut等算法基本原理与在图像分割中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
KMeans聚类分割:
- 基本原理
KMeans算法是MacQueen在1967年提出的,是最简单与最常见的数据分类方法之一。它做为一种常见数据分析技术在机器学习、数据挖掘、模式识别、图像分析等领域都有应用。如果从分类角度看,KMeans属于硬分类即需要人为指定分类数目,而MeanSift分类方法则可以根据收敛条件自动决定分类数目。从学习方法上来说,KMeans属于非监督学习方法即整个学习过程中不需要人为干预的学习方法,自动完成整个数据集合分类。对于给定的数据集合DS (Data Set)与输入的分类数目K,KMeans的整个工作原理可以描述如下:
- 根据输入的分类数目K定义K个分类,每个分类选择一个中心点
- 对DS中每个数据点做如下操作:
-
计算它与K个中心点之间的距离
-
把数据点指定属于K个中心点中距离最近的中心点所属的分类
-
对K个分类中每个数据点计算平均值得到新的K个中心点
-
比较新K个中心点之间与第一步中已经存在的K个中心差值
-
-
当两者之间的差值没有变化或者小于指定阈值,结束分类
-
当两者之间的差值或者条件不满足时候,用新计算的中心点值做为K个分类的新中心点,继续执行2~4步。直到条件满足退出。
从数学的角度来说KMeans就是要找到K个分类而且他们的中心点到各个分类中各个数据的之间差值平方和最小化,而实现这个过程就是要通过上述2~4步不断的迭代执行,直到收敛为止。
以上是KMeans算法的基本思想,想要实现或者应用该算法有三个注意点值得关注:
-
初始的K个分类中每个分类的中心点选择
这篇关于KMeans、高斯混合模型(GMM)、分水岭变换、Grabcut等算法基本原理与在图像分割中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!