网安学术一种改进的K-means聚类算法在图像分割中的应用
Posted 通信技术编辑部
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网安学术一种改进的K-means聚类算法在图像分割中的应用相关的知识,希望对你有一定的参考价值。
摘要:K-means聚类算法是图像分割中比较常见的一种方式。它是一种无监督学习方法,能够从研究对象的特征中发现关联规则,因而具有强有力的处理方法。但是,由于该算法对噪声的敏感性K值及初始类心的不确定性,使其在图像分割中存在缺陷,于是提出了一种改进的K-means聚类算法来提高分割的效果。首先对图像进行平滑滤波处理,再根据相应条件找到特征向量作为初始类心,最后进行聚类操作。实验表明,本算法能够有效提取目标对象,提高图像分割的效果。
正文内容:
0 引 言
图像分割是从图像中把人们感兴趣的目标对象用有效手段提取出来。它是图像分析和理解的基础[1]。目前,主要的分割方法主要有区域分割、边缘分割、阈值分割等[2]。
聚类分析是能够从研究对象中发现关联规则的一种半监督学习方法,具有强有力的处理信心[3]。它把图像中的各个像素用相应的特征向量表示,根据特征空间的相似性进行分割,并映射到原图像空间,主要有K 均值、模糊均值 均值聚类算法[4]。
1 传统的K-means聚类算法
K-means聚类算法是一种简洁、快速的算法,能够用于处理大数据集,并呈现出可伸缩、高效的特点[5]。它的结果类比较密集,类与类之间有明显的区别,是解决聚类问题的经典算法。但是,它也存在局限性,主要有以下几点:
(1)K-means的初始聚类中心是随机抽取的,对于不同的初始聚类中心具有不同的效果;
(2)K-means必须事先定好聚类数目,但聚类个数 难以确定;
(3)K-means对噪声和孤立点比较敏感,对少量数据往往会对均值产生较大影响;
(4)K-means要在类的均值被定义的前提下才能使用,对符号属性的数据不适用[6]。
2 改进的K-means聚类算法
传统K-means聚类算法的局限性,对图像分割的效果会产生较大影响。本文提出改进的K-means聚类算法,主要是为了弥补传统算法对噪声和孤立点敏感、k 值不确定以及初始类心随机性的问题[7]。具体流程如图1所示。
2.1 平滑滤波
在图像采集、传递、获取的过程中,由于所在的环境复杂多变,受光照、电磁波等可见不可见的噪声干扰,对图像的分割造成了很大影响,使得分割结果不甚理想[8]。采用平滑滤波处理能够尽量降低由噪声引起的影响[9]。
本文主要对图像进行平滑处理,使其保持总体特征。令Sxy 表示彩色图像中的一组坐标,定义为以(x,y) 为中心的邻域,邻域中RGB向量的平均值为:
其中,K 是邻域中像素中的数量。满足向量加法性质:
使用上述滤波器模板可以对每幅分量图执行邻域平均,且邻域平均的平滑可以在每个图像平面的基础上执行,滤波效果如图2所示。
2.2 确定初始类心
步骤1:假设聚类的个数为K ,T 表示聚类中心,则T={T1,T2…Tk} ,类的集合为Y={Y1,Y2…Yk} 。首先,确定两个初始聚类中心,分别为T1 和T2 。假设图像的特征向量个数为N 个,维度为M ,那么特征向量集为X={X1,X2…Xk} 。用欧式距离公式计算任意两个特征向量的距离Dij ,则:
由计算结果查找最大的DIJ ,,确定特征向量Xi 和Xj 作为初始聚类中心。
步骤2:由步骤1确定了两个初始聚类中心,假设已确定k 个聚类中心,那么第k+1 个聚类中心Tk+1 就是特征向量集中其余N-K 个特征向量与前k 已确定的聚类中心距离累加和最大的特征向量,公式如下:
由计算结果查找最大的Si ,那么特征向量XI 作为第k+1 的初始类中心,即Tk+1=X1 。重复步骤2,直到K 个初始聚类中心都找到为止。
2.3 进行K-means聚类
2.3.1 K-means聚类算法的步骤
K-means算法的原理是先从数据样本中随机抽取K 个作为初始聚类中心,再计算样本到聚类的最近距离并归类,然后计算新的聚类的均值作为新的聚类中心,最后重复以上操作直到相邻聚类没有变化,则聚类达到最佳[10]。
具体步骤如下:
步骤1:任取K 个作为初始聚类中心,设K 个中心分别为T1(1) 、T2(1) 、TK(1) ;
步骤2:所有样本X 按式(5)分类,使样本X 的样本分别与相应的类心T1(n), T2(n)…Tl(n), Tk(n) 的子集Y1(n), Y2(n)…Yl(n), Yk(n) 相对应;
步骤3:计算X 和Tj(n) 之间的距离:
步骤4:由式(7)计算各子集Yl(n) 的新类心T1(n+1) ,N 是集合y(n) 中的元素个数。其中,T1(n+1) 是属于Yl 的X 的均值;
步骤5:当式(8)成立时结束操作,回到步骤2继续操作;
K-means聚类算法在图像分割中的应用,使得所分割的各区域具有差异性[11],但其内部区域又有相似性,其分割效果取决于初始类心的选取和分类数的确定[12]。
2.3.2 K-means聚类算法的要点
(1)相似性度量
本文主要采取欧式距离作为样本的相似性度量用来计算样本之间的距离。
当样本间的距离越小时,Xi 和Xj 相似性越大,存在的差异性越小[13]。反之,样本间的距离越大,Xi 和Xj 相似性越小,差异性越大。
(2)聚类中心终止条件
K-means聚类算法在每次迭代的过程中都要判定样本的分类是否正确[14]。若不正确,则需要进行调整直至结束,然后再进行聚类中心的修改并进入下一次迭代过程,直到满足条件:
①每个对象与聚类相对应,不能同时分配给不同对象;
②聚类的中心固定,不再发生变化;
③误差平方和准则函数的局部最小[15]。
2.3.3 聚类性能评价
假设数据集X 含有k 个聚类子集,分别为X1,X2,…Xn ,每个聚类子集的样本数量为n1,n2…nk, ,每个聚类子集的聚类中心为Z1,Z2,…Zk ,那么误差平方和准则函数公式是:
3 算法实现及仿真结果分析
为了证明改进K-means聚类算法的有效性,本文对两种算法分别进行仿真实验并对结果进行对比,结果如图3所示。通过仿真结果可以看到,改进的K-means聚类算法图3(c)对图像分割效果较传统的K-means聚类算法图3(b)有明显改进,避免了噪声对分割造成的影响,有效提取了需要进行分割的区域。
4 结 语
本文提出的K-means聚类算法有效改进了原始K-means算法,先通过平滑滤波进行图像去噪处理,再用欧式距离计算特征向量之间的距离来确定初始聚类类心,最后通过K-means聚类进行分割问题,使得图像呈现出更好的效果。
参考文献:
[1] 李苏梅,韩国强.基于K-均值聚类算法的图像区域分割方法[J].计算机工程与应用,2008,44(16):163-167.
[2]王爱莲,伍伟丽,陈俊杰.基于K-means聚类算法的图像分割方法比较及改进[J].太原理工大学学报,2014,45(03):372-375.
[3]周新建,涂弘斌.基于改进的K-means聚类图像分割算法[J].无损监测,2007,29(05):258-261.
[4]黄韬,刘胜辉,谭艳娜.基于k-means聚类算法的研究[J].计算机技术与发展,2011,21(07):54-57.
[5]黄宇,付琨,吴一戎.基于Markov随机场K-Means图分割算法[J].电子学报,2009,37(12):2700-2704.
[6]李栋,刘萌萌,郭莎.基于改进的K_means算法在图像分割中的应用[J].电脑知识技术,2016,12(08):166-168.
[7] 李翠,冯冬青.基于改进K-均值聚类算法的图像分割算法研究[J].郑州大学学报,2011,43(01):109-113.
[8] 吕明磊,刘冬梅,曾智勇.一种改进的K-means聚类算法的图像检索方法[J].计算机科学,2013,40(08):285-288.
[9] 史习云,薛安荣,刘艳红.改进K-means聚类算法在图像检索中的应用研究[J].计算机工程与应用,2011,47(10):193-196.
[10] 刘小丹,牛少敏.一种改进的K-means聚类彩色图像分割方法[J].湘潭大学自然科学学报,2012,34(02):90-93.
[11]赵凤娇,贺月姣.基于改进的K-means 聚类算法水下图像边缘检测[J].现代电子技术,2015,38(18):89-91.
[12]毛秀,冒纯丽,丁岳伟.基于密度和聚类指数改进的K-means算法[J].电子科技,2015,28(11):47-50.
[13]韩凌波.基于密度的K-means初始聚类中心选取算法[J].电子科技,2015,28(07):105-107.
[14]楚晓丽.K-Means聚类算法和人工鱼群算法应用于图像分割技术[J].计算机系统应用,2013,22(04):92-94.
[15]杨明川,吕学斌,周群彪.不完全K-means聚类与分类优化结合的图像分割算法[J].计算机应用,2012,32(01):248-251.
单位:贵州大学 大数据与信息工程学院,贵州 贵阳 550025
作者简介:任恒怡,女,在读硕士,主要研究方向为数字图像处理、大数据分析;
贺 松,男,硕士,副教授,主要研究方向为数字图像处理、医疗大数据;
陈文亮,男,在读硕士,主要研究方向为数字图像处理、数据挖掘与分析。
本文刊登在《通信技术》第12期(转载请注明出处,否则禁止转载)
中国通信事业的奠基者
科技创新强国的开拓者
投稿网址: www.txjszz.com
(028)85169918/
(028)69907566
以上是关于网安学术一种改进的K-means聚类算法在图像分割中的应用的主要内容,如果未能解决你的问题,请参考以下文章
毕业了,在Python中使用 OpenCV 和K-Means 聚类对毕业照进行图像分割
毕业了,在Python中使用 OpenCV 和K-Means 聚类对毕业照进行图像分割