对类大小不敏感的图像分割模糊C均值聚类方法 下载: 1073次
1 引言
图像分割是图像识别和计算机视觉至关重要的处理过程[1]。目前,有多种方法用于图像分割[2-8],如阈值法[2-3]、聚类法[4-7]、分水岭算法[8]等,其目的都是将图像中具有相同特性的像素归结为几簇或者几类,从而有利于后续的图像识别等操作。
模糊聚类算法(FCM)是一种经典的图像分割算法[9],具有思路简单、收敛速度快等优势,但对噪声敏感,导致分割效果较差。为了增强该算法的稳健性和适应性,研究人员提出图像像素邻域空间信息的多种改进算法[10-17]。基于邻域空间信息的FCM算法(FCM_S)在提升算法抗噪性的同时也增加了算法的运行时间[3],随后利用邻域均值和中值信息的FCM算法(FCM_S1,FCM_S2)继承了FCM_S的抗噪性,同时大幅减少了运行时间[13]。随后出现的增强FCM算法(EnFCM)和快速广义FCM算法(FGFCM),进一步提升了算法的运行时间[14-15],其本质在于算法是基于图像的灰度级而非像素进行运算的。同时,当图像被重噪声污染时,提出非邻域空间信息的FCM算法(OSFCM_SNLS),该算法取得了较好的分割结果[18-19]。
当图像被噪声污染时,对典型FCM算法的改进大多是基于像素的邻域信息、非邻域信息或者新构建的降噪图像,改进的算法都得到了不错的分割结果或者分类效果,但是仍然有其他问题影响着FCM及改进算法在图像分割中的应用。众所周知,FCM及改进算法对类大小很敏感,他们总是使得小类的中心向其临近的大类中心靠近,换句话说,他们总是趋向于均分图像的像素,这容易造成分割或者分类失败。有较少的FCM改进算法能解决这类聚类问题[20-21],比如将每一类的隶属度之和设置为条件值,使其融入至FCM迭代进程中去,或者构建新的目标函数等方法,但是这些改进主要应用于样本分类而非图像分割,更没有考虑到图像的邻域信息、非邻域信息。
本文针对待分割图像中类大小不均衡的情况,在FCM_S1或FCM_S2算法基础上设计一个新算法,使得新算法在继承抗噪性优势的同时,也能改善算法对类大小敏感的状况,即能够对类大小不均衡的待分割图像进行有效分割。本文算法首先对FCM_S1或FCM_S2算法的目标函数进行改进,使其能够均衡化类大小对目标函数的贡献,进而推导出算法的迭代公式,该公式是隶属度矩阵和聚类中心;然后用紧密度来表征每一类中像素的分布状态并将其引入至聚类的迭代进程;最后通过图像分割实验验证本文算法的有效性和稳健性。
2 相关工作
2.1 FCM_S系列算法
FCM_S算法由Ahmed等[4]提出,是在标准FCM算法的目标函数中引入邻域空间限制以对抗图像中可能存在的噪声,目标函数为
式中:J(·)为目标函数;U为隶属度矩阵;V为聚类中心向量;c为聚类中心数;vi为第i个聚类中心,1≤i≤c;n为图像的像素数;xj为第j个像素点的灰度值,1≤j≤n;m为模糊指数,1<m<+∞,一般取2;uij为第j个像素对第i个聚类中心的隶属度,满足
式中:vk为第k个聚类中心;
式中:
当参数α为零时,FCM_S1和FCM_S2算法等价于在原图上利用标准FCM算法进行图像分割;当参数α趋近于无穷时,等价于在均值图像或者中值图像上利用FCM算法进行图像分割。
2.2 FCM_S系列算法执行过程
1) 设置聚类中心数c,模糊指数m,最大迭代次数T,参数α,终止条件ε;
2) 对FCM_S1和FCM_S2算法而言,计算待分割图像的均值或中值;
3) 随机初始化聚类中心V(0)=[
4) 计算隶属度U(q),利用(2)式或(5)式;
5) 计算聚类中心V(q),利用(3)式或(6)式;
6) 如果‖V(q)-V(q-1)‖<ε或者q>T,输出聚类结果,否则,转4)。
3 对类大小不敏感的模糊聚类图像分割算法
3.1 目标函数的改进及迭代公式推导
FCM及改进算法,如FCM_S1和FCM_S2算法,对类的大小很敏感,当类大小差距明显时易造成错误分割。为了改善这一状况,对FCM_S1或FCM_S2算法进行改进,新算法在继承两种算法抗噪性的同时,也能够消除对类大小敏感的缺陷。对目标函数(4)式进行改进,新算法的目标函数表示为
为了更清晰地表征(4)式和(7)式的不同,对二式进行变形,分别为
由(9)式可以看出,当图像第i类较大时,除以类总的隶属度
由新的目标函数建立拉格朗日函数,如下
式中:λj为第j个约束参数。
由(10)式对uij求导并且使其为零,即∂L(U,V)/∂uij=0,可得
式中:
由
式中:下标l和s是为了区分i和j。
将(12)式代入(11)式中去,可得
另外,由(10)式对vi求导并且使其为零,即∂L(U,V)/∂vi=0,可得
(13)式和(14)式为新目标函数下迭代的隶属度和聚类中心表达式,其中聚类中心与(6)式相比并无改变,而新隶属度相比(5)式引入了
3.2 新的聚类紧密度
除了考虑类的大小对目标函数的影响外,还须注意到每一类的像素分布对于聚类结果的影响。这里我们给出一种新的聚类紧密度的表达式用来衡量像素的分布状态,如下
其中
式中:Ti为划分为第i类的像素集合;|Ti|为第i类像素集合的个数;ηj为像素xj的滤波值;μi为第i类像素与聚类中心vi距离的平均值。由聚类紧密度公式可以看出:Ci的值越小,表明该类越集中,紧密度越高;反之则表明该类越分散,紧密度越低。进一步,对Ci进行处理,即
其中
式中:fi为分配给第i类的系数;Si为归一化后第i类的紧密度,Smin为Si中的最小值。可以看出,如果第i类的紧密度较高,则他具有较高的系数(fi)。然后利用该系数对(13)式得到的隶属度uij进行更新,如下
式中:
于是,在算法执行流程中,可将系数fi融入聚类的迭代进程中。
3.3 本文算法的执行过程
1) 设置聚类中心数c,模糊指数m,最大迭代次数T,参数α,终止条件ε;
2) 计算待分割图像的均值或中值;
3) 随机初始化V(0)=[
4) 利用(5)式计算隶属度U(0);
5) 利用(13)式计算U(q);
6) 利用(21)式更新U(q);
7) 利用(6)式或(14)式计算V(q);
8) 如果‖V(q)-V(q-1)‖<ε或者q>T,迭代结束,否则,转5);
9) 由最终的隶属度判决,输出聚类结果。
为方便后续描述,本文算法简记为IFCM_S1和IFCM_S2,分别对应像素均值滤波和中值滤波。
3.4 时间复杂度分析
本文算法的时间复杂度由两部分组成。第一部分时间复杂度源于计算原图像的均值或中值滤波图像,对于一幅具有n个像素的图像来说,该部分的时间复杂度表示为O(n×r2),其中r表示某像素r×r的邻域窗口;第二部分时间复杂度源于算法的迭代聚类进程,相应的时间复杂度表示为O(n×c2×q)。所以,本文算法的时间复杂度为O(n×r2+n×c2×q)。
4 实验结果与分析
将标准FCM算法、FCM_S1算法、FCM_S2算法、EnFCM算法、FGFCM算法、文献[ 20]和[21]算法进行对比,来评价本文IFCM_S1算法和IFCM_S2算法对类大小不均衡图像的分割效果。测试图像的主要来源是工业无损检测图像(NDT)。除了原图像外,该网址还提供了待分割图像的标准分割结果,可以作为算法分割结果的参考[2]。实验环境为Matlab (R2014a)、3.40 GHz Intel© CoreTM i3-2130处理器,2 GB内存,Windows7中文版操作系统。
分割评价主要包含定性和定量两方面,其中定性评价主要在于人的主观评价,比如视觉效果;定量评价主要在于所设定的指标,一旦确定,可由指标衡量算法的好坏。定量评价经常用分割准确率(SA)和调整兰德指数(ARI)两个指标,具体表达式以及含义分别见文献[
3, 22]。为了能够公平地比较上述算法的分割效果,需要对相关参数进行统一设定,具体如
Note: A blank cell indicates that the parameter does not need to be set. 选择6幅无损检测图像来验证本文算法的有效性,具体图像如
表 2. 对#NDT1~#NDT6图像各算法的分割指标对比
Table 2. Comparison of segmentation indices of different algorithms on #NDT1~#NDT6 images
|
表 1. 相关算法的参数设置
Table 1. Parameter settings for different related algorithms
|
接下来采用
由
图 1. 图像及相应的标准分割图和灰度直方图。(a)~(f) #NDT1~#NDT6;(g)~(l)标准分割图#NDT1~#NDT6;(m)~(r)灰度直方图#NDT1~#NDT6
Fig. 1. Images, corresponding standard segmentation images, and gray-level histograms. (a)--(f) #NDT1--#NDT 6; (g)--(l) standard segmentation images #NDT1--#NDT 6; (m)--(r) gray-level histograms #NDT1--#NDT 6
图 2. #NDT1图像的分割结果。(a)添加高斯噪声(0,0.02)图像;(b) FCM_S1算法;(c) FCM_S2算法;(d) EnFCM算法;(e) FGFCM算法;(f)文献[ 20]算法;(g)文献[ 21]算法;(h) IFCM_S1算法;(i) IFCM_S2算法
Fig. 2. Segmentation results of different algorithms on #NDT1 image. (a) Image with Gaussian noise (0, 0.02); (b) FCM_S1 algorithm; (c) FCM_S2 algorithm; (d) EnFCM algorithm; (e) FGFCM algorithm; (f) algorithm in Ref. [20]; (g) algorithm in Ref. [21]; (h) IFCM_S1 algorithm; (i) IFCM_S2 algorithm
图 3. #NDT2图像的分割结果。(a)添加高斯噪声(0,0.01)图像;(b) FCM_S1算法;(c) FCM_S2算法;(d) EnFCM算法; (e) FGFCM算法;(f)文献[ 20]算法;(g)文献[ 21]算法;(h) IFCM_S1算法;(i) IFCM_S2算法
Fig. 3. Segmentation results of different algorithms on #NDT2 image. (a) Image with Gaussian noise (0, 0.01); (b) FCM_S1 algorithm; (c) FCM_S2 algorithm; (d) EnFCM algorithm; (e) FGFCM algorithm; (f) algorithm in Ref. [20]; (g) algorithm in Ref. [21]; (h) IFCM_S1 algorithm; (i) IFCM_S2 algorithm
对原图#NDT3图像添加(0,0.01)高斯噪声后,图像如
图 4. #NDT3图像的分割结果。(a)添加高斯噪声(0,0.01)图像;(b) FCM_S1算法;(c) FCM_S2算法;(d) EnFCM算法;(e) FGFCM算法;(f)文献[ 20]算法;(g)文献[ 21]算法;(h) IFCM_S1算法;(i) IFCM_S2算法
Fig. 4. Segmentation results of different algorithms on #NDT3 image. (a) Image with Gaussian noise (0, 0.01); (b) FCM_S1 algorithm; (c) FCM_S2 algorithm; (d) EnFCM algorithm; (e) FGFCM algorithm; (f) algorithm in Ref. [20]; (g) algorithm in Ref. [21]; (h) IFCM_S1 algorithm; (i) IFCM_S2 algorithm
图 5. #NDT4图像的分割结果。(a)添加高斯噪声(0,0.01)图像;(b) FCM_S1算法;(c) FCM_S2算法;(d) EnFCM算法;(e) FGFCM算法;(f)文献[ 20]算法;(g)文献[ 21]算法;(h) IFCM_S1算法;(i) IFCM_S2算法
Fig. 5. Segmentation results of different algorithms on #NDT4 image. (a) Image with Gaussian noise (0, 0.01); (b) FCM_S1 algorithm; (c) FCM_S2 algorithm; (d) EnFCM algorithm; (e) FGFCM algorithm; (f) algorithm in Ref. [20]; (g) algorithm in Ref. [21]; (h) IFCM_S1 algorithm; (i) IFCM_S2 algorithm
图 6. #NDT5图像的分割结果。(a)添加高斯噪声(0,0.01)图像;(b) FCM_S1算法;(c) FCM_S2算法;(d) EnFCM算法;(e) FGFCM算法;(f)文献[ 20]算法;(g)文献[ 21]算法;(h) IFCM_S1算法;(i) IFCM_S2算法
Fig. 6. Segmentation results of different algorithms on #NDT5 image. (a) Image with Gaussian noise (0, 0.01); (b) FCM_S1 algorithm; (c) FCM_S2 algorithm; (d) EnFCM algorithm; (e) FGFCM algorithm; (f) algorithm in Ref. [20]; (g) algorithm in Ref. [21]; (h) IFCM_S1 algorithm; (i) IFCM_S2 algorithm
由
图 7. #NDT6图像的分割结果。(a)添加高斯噪声(0,0.01)图像;(b) FCM_S1算法;(c) FCM_S2算法;(d) EnFCM算法;(e) FGFCM算法;(f)文献[ 20]算法;(g)文献[ 21]算法;(h) IFCM_S1算法;(i) IFCM_S2算法
Fig. 7. Segmentation results of different algorithms on #NDT6 image. (a) Image with Gaussian noise (0, 0.01); (b) FCM_S1 algorithm; (c) FCM_S2 algorithm; (d) EnFCM algorithm; (e) FGFCM algorithm; (f) algorithm in Ref. [20]; (g) algorithm in Ref. [21]; (h) IFCM_S1 algorithm; (i) IFCM_S2 algorithm
基于各算法对#NDT1~#NDT6图像的分割结果分析可知:
1) 无论是对原图像还是对人工添加噪声的图像, IFCM_S1和IFCM_S2算法都能够对图像进行有效分割,说明本文算法对类大小不敏感且具有一定的抗噪性,必须指出,本文算法继承了FCM_S1和IFCM_S2算法的抗噪性优点;
2) 文献[ 20]和文献[ 21]算法能够对无噪声污染的图像进行有效分割,但是对于含高斯噪声图像分割效果较差,显示出对噪声敏感的缺陷;
3) FCM_S1、FCM_S2、EnFCM、FGFCM算法无论是对原图还是加噪图像都不能有效分割,说明了这类算法对类大小敏感,其根本原因在于算法模型不适宜分割类大小不均衡类型的图像。
5 结论
提出对类大小不敏感的模糊聚类图像分割算法。本文算法是在FCM_S1或FCM_S2算法的基础上进行改进的,即将类大小引入至目标函数中去,减弱较大类对目标函数的贡献,防止较小类的聚类中心向较大类靠拢,这种做法能降低算法对类大小不均衡特性的敏感度。接着提出用紧密度的概念来表征每一类的像素分布情况,并将其引入至迭代进程中去。利用无损检测图像对算法进行分割验证,结果表明,对于添加了噪声的图像,本文算法能够较好地进行分割,验证了本文算法的有效性和稳定性,同时说明本文算法具有抗噪性和对类大小不敏感特性。
[1] Zhang X F, Wang G, Su Q T, et al. An improved fuzzy algorithm for image segmentation using peak detection, spatial information and reallocation[J]. Soft Computing, 2017, 21(8): 2165-2173.
[2] 聂方彦, 李建奇, 张平凤, 等. 一种基于Tsallis相对熵的图像分割阈值选取方法[J]. 激光与光电子学进展, 2017, 54(7): 071002.
[3] 唐如欲, 刘德安, 朱健强. 基于局部信噪比的微小损伤自适应检测技术研究[J]. 中国激光, 2018, 45(7): 0704001.
[4] Ahmed M N, Yamany S M, Mohamed N, et al. A modified fuzzy C-means algorithm for bias field estimation and segmentation of MRI data[J]. IEEE Transactions on Medical Imaging, 2002, 21(3): 193-199.
[5] Guo F F, Wang X X, Shen J. Adaptive fuzzy C-means algorithm based on local noise detecting for image segmentation[J]. IET Image Processing, 2016, 10(4): 272-279.
[7] 朱占龙, 王军芬. 基于自适应模糊C均值与后处理的图像分割算法[J]. 激光与光电子学进展, 2018, 55(1): 011004.
[8] 黄鸿, 金莹莹, 李政英, 等. 基于分水岭及半监督最小误差重构的荧光微球分割及分类方法[J]. 中国激光, 2018, 45(3): 0307013.
[9] Bezdek J C. A convergence theorem for the fuzzy ISODATA clustering algorithms[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1980, 2(1): 1-8.
[10] 李婷婷, 江朝晖, 饶元, 等. 结合基因表达式编程与空间模糊聚类的图像分割[J]. 中国图象图形学报, 2017, 22(5): 575-583.
Li T T, Jiang Z H, Rao Y, et al. Image segmentation based on gene expression programming and spatial fuzzy clustering[J]. Journal of Image and Graphics, 2017, 22(5): 575-583.
[11] Krinidis S, Chatzis V. A robust fuzzy local information C-means clustering algorithm[J]. IEEE Transactions on Image Processing, 2010, 19(5): 1328-1337.
[12] Celik T, Lee H K. Comments on “a robust fuzzy local information C-means clustering algorithm”[J]. IEEE Transactions on Image Processing: a Publication of the IEEE Signal Processing Society, 2013, 22(3): 1258-1261.
[13] Chen S C, Zhang D Q. Robust image segmentation using FCM with spatial constraints based on new kernel-induced distance measure[J]. IEEE Transactions on Systems, Man, and Cybernetics. Part b, Cybernetics: a Publication of the IEEE Systems, Man, and Cybernetics Society, 2004, 34(4): 1907-1916.
[14] SzilágyiL, BenyóZ, Szilágyi SM, et al. MR brain image segmentation using an enhanced fuzzy C-means algorithm[C]∥Proceedings of the 25th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, September 17-21, 2003, Cancun, Mexico. New York: IEEE, 2003: 724- 726.
[15] Cai W L, Chen S C, Zhang D Q. Fast and robust fuzzy C-means clustering algorithms incorporating local information for image segmentation[J]. Pattern Recognition, 2007, 40(3): 825-838.
[16] Noordam J C, Buydens L M C. Multivariate image segmentation with cluster size insensitive fuzzy C-means[J]. Chemometrics and Intelligent Laboratory Systems, 2002, 64(1): 65-78.
[17] Ji Z X, Sun Q S, Xia D S. A modified possibilistic fuzzy C-means clustering algorithm for bias field estimation and segmentation of brain MR image[J]. Computerized Medical Imaging and Graphics: the Official Journal of the Computerized Medical Imaging Society, 2011, 35(5): 383-397.
[19] Zhao F. Fuzzy clustering algorithms with self-tuning non-local spatial information for image segmentation[J]. Neurocomputing, 2013, 106: 115-125.
[20] 文传军, 詹永照, 柯佳. 广义均衡模糊C均值聚类算法[J]. 系统工程理论与实践, 2012, 32(12): 2751-2755.
Wen C J, Zhan Y Z, Ke J. General equalization fuzzy C-means clustering algorithm[J]. Systems Engineering-Theory & Practice, 2012, 32(12): 2751-2755.
[21] Liu Y, Hou T, Liu F. Improving fuzzy C-means method for unbalanced dataset[J]. Electronics Letters, 2015, 51(23): 1880-1882.
[22] Mukhopadhyay A, Maulik U. A multiobjective approach to MR brain image segmentation[J]. Applied Soft Computing, 2011, 11(1): 872-880.
Article Outline
赵战民, 朱占龙, 刘永军, 刘明, 郑一博. 对类大小不敏感的图像分割模糊C均值聚类方法[J]. 激光与光电子学进展, 2020, 57(2): 021001. Zhao Zhanmin, Zhu Zhanlong, Liu Yongjun, Liu Ming, Zheng Yibo. Fuzzy C-Means Clustering Algorithm for Image Segmentation Insensitive to Cluster Size[J]. Laser & Optoelectronics Progress, 2020, 57(2): 021001.