基于自适应模糊C均值与后处理的图像分割算法 下载: 1194次
1 引言
图像分割是图像处理和机器视觉领域中的重要研究内容[1-2],是将一幅图像分割成几个具有相似特性区域的过程。近年来,聚类方法、阈值法、水平集法以及主动轮廓模型等方法已广泛应用在自然图像、遥感图像及医学图像等领域的图像分割中[3-7]。
模糊C均值(FCM)算法[8]是一种有效的图像分割算法,但对噪声图像分割效果较差。结合邻域信息的FCM(FCM_S)算法的提出[9]弥补了该缺陷,然而该算法在每个迭代过程中都要计算邻域信息。为缩短运行时间,相继提出利用邻域均值和中值的FCM(FCM_S1、FCM_S2)算法[10]。另一种在图像灰度直方图上进行图像分割的模糊C均值算法(EnFCM)[11]也极大地减少了分割工作量,一种在图像的灰度直方图上进行分割的快速广义模糊C均值(FGFCM)算法[12]获得了优于EnFCM算法的结果。以上算法在分割时需给定邻域的影响因子,而这需要根据经验人为设定,为此Krinidis等[13]通过引入新颖的模糊因子而不引入任何参数,融合邻域像素的空间信息和灰度信息来改善图像的分割性能(FLICM)。
当图像被较强的噪声所污染时,很难用某一特定参数来度量噪声与图像细节关系[14-15],因为不同像素周边的噪声情况不同,所以要自适应度量每个像素所对应的参数,这里通过统计每个像素的邻域信息来衡量某像素是噪声的可能性,进而得到原图像对应的滤波图像。
另外,图像分割后还可能存在错分点,需进行分割后处理。文献[ 16]利用图像灰度值重新计算隶属度,再利用模糊熵做进一步处理,这需要人为设置目标和背景参数,并对每个像素重新进行了分类。文献[ 17]通过最小化目标函数Ji实现了可能错分点重新分类,但是计算过程较复杂且需要人为设置参数。此外,也有直接将隶属度进行平滑处理以得到更精确结果的报道[18]。这些方法都在一定程度上提高了算法的分割性能,但存在人为设置参数或进行冗余计算,比如对初始分割已确定的分类还要重新计算的缺陷。本文提出两种基于邻域的自适应噪声检测模糊聚类方法,以及简便的错分点检测后处理方法,将这两步归结成一个整体算法,并与其他模糊聚类算法相比。
2 相关工作
2.1 FCM_S系列算法
FCM_S算法[9]是在标准FCM算法的目标函数中引入了空间限制,目标函数为
式中c为聚类中心数,vi(1≤i≤c)为聚类中心,N为图像的像素数,xj(1≤j≤N)为图像第j个像素点灰度值,m(1
式中
2.2 EnFCM算法和FGFCM算法
Szilagyi等[11]提出的EnFCM算法和Cai等[12]提出的FGFCM算法有效提高了图像分割的执行速度,分别构建线性、非线性加权和图像,图像ζj中第j个像素的灰度值分别定义为
式中Sij为像素xi和xj的相似性度量,(pi,qi)和(pj,qj)分别为像素xi和xj的二维坐标,λs和λg为尺度因子,σj定义为σj=
目标函数、隶属度以及聚类中心分别表示为
2.3 FLICM算法
FLICM算法[13]在目标函数中引入因子Gij,它最大的优势是没有其余参数的设置,该模糊因子与目标函数表示为
式中像素xk为中心像素xj的邻域像素,Nj为xj的邻域像素数,djk为xk与xj的距离。隶属度及聚类中心表示为
3 所提算法
3.1 基于邻域的噪声检测自适应FCM算法
由于噪声具有随机性,需单独对像素噪声进行检测。考虑中心像素xj的邻域,Nj为其邻域集,判断像素xj噪声可能性的方法如下:
当
由于像素xj可能是噪声,故需通过邻域集来确定该像素处的灰度值,采取邻域均值的方法误差较大,给出新的计算像素xj处灰度值的方法,步骤如下:
1) 判断邻域集的像素灰度(xr∈Nj)是否为噪声。
式中
2) 由邻域集度量像素xj处的灰度值。
(16)式表示邻域集Nj中判断为可靠值的平均灰度值。以邻域噪声检测为基础,自适应FCM算法目标函数可以修改为
式中ζj由(5)式得到,且令sj=pjΓj+(1-pj)ζj,利用各像素的邻域信息自适应地对中心像素进行噪声可能性检测。对灰度值为220的区域添加(0,0.03)高斯噪声,选择某区域(3×3区域)如
图 1. 3×3含噪区域。(a)(b)高斯噪声;(c)(d)混合噪声
Fig. 1. 3×3 window with noise. (a)(b) Gaussian noise; (c)(d) mixed noise
当添加(0,0.03)高斯噪声时,由(14)式判断
由sj表达式可知,噪声的可能性pj不同,会导致在构建新的滤波图像时中心像素灰度值所占的权重不同,结合(5)式可得
结合
另外,受EnFCM和FGFCM算法的启发,得出基于邻域噪声快速检测自适应FCM算法:
式中
3.2 后处理方法
当噪声较大时,总有一些错分点出现,需要对这些错分点进行后处理。通过隶属度的分布情况来对错分点进行重新分类,统计公式为
式中
某中心像素可能错分的情况如
可知,J1≫ J2,将中心像素的标签2修改为标签1,实现了该错分点的重新分类(标签重置),现给出整个图像的后处理过程,共分为两步:1) 对图像
图 2. 某邻域隶属度和分类标签。(a)标签为1的隶属度;(b)标签为2的隶属度;(c)分类标签
Fig. 2. Membership andcluster label of neighborhood. (a) membership of label 1; (b) membership of label 2; (c) cluster label
的所有像素检测其3×3邻域,有不同的标签则认为该点是可能错分点,进行保存,否则标签不变;2) 对上一步的错分点利用(23)式进行重新分类,argmax(Ji)对应的标签i为重置标签,要保证重置的标签在中心像素3×3邻域出现过。后处理方法的流程如
简便起见,用NDFCM_P算法和FNDFCM_P算法分别记为两种算法的简写。需指出,NDFCM_P算法利用(18)式计算隶属度时历遍所有像素,而FNDFCM_P算法利用(21)式计算隶属度时历遍所有像素灰度级,于是在进行后处理之前两种算法得到的隶属度矩阵大小分别为c×N和c×256,导致这两种算法在进行后处理的步骤2时有所不同:FNDFCM_P算法在后处理的步骤2中将隶属度大小c×256转变为c×N,而NDFCM_P算法的隶属度保持不变。
初始时均设置聚类数c,模糊指数m,停止阈值ε和迭代次数T及计算原始图像的ζj、Γj、pj和sj。NDFCM_P算法流程具体如下:
1) 初始化聚类中心V(1)=[
2) 利用(18)式计算隶属度
3) 利用(19)式计算聚类中心
4) 如果‖V(q+1)-V(q)‖<ε或者q>T,输出结果,否则q=q+1,转步骤2)。
5) 利用
FNDFCM_P算法流程具体如下:
1) 构建sj的灰度直方图。
2) 初始化聚类中心V(1)=[
3) 利用(21)式计算隶属度
4) 利用(22)式计算聚类中心
表 1. 后处理执行框架
Table 1. Diagram of post processing
|
5) 如果‖V(q+1)-V(q)‖<ε或者q>T,输出结果,否则q=q+1,转步骤3)。6) 对分割结果做后处理,过程如
4 实验与结果
为了验证NDFCM_P算法和FNDFCM_P算法的有效性,采用了人工合成图像和真实图像进行分割实验,同时采用FCM_S1、FCM_S2、EnFCM、FGFCM以及FLICM五种FCM型算法进行对比,算法实验是在MATLAB R2010a上实现的,处理器为3.40 GHz Intel®CoreTMi3-2130,内存大小为2 GB,操作系统为Windows7中文版。分割结果评价主要采用分割准确率(SA)[17]和ARI(Adjusted Rand Index)[19],分别表示为
4.1 人工合成图像实验
添加高斯噪声(0,0.03)的合成图像分割图如
图 3. 添加高斯噪声(0,0.03)的合成图像分割图。(a)原始图像;(b)高斯噪声图像;(c) FCM_S1算法;(d) FCM_S2算法;(e) EnFCM算法;(f) FGFCM算法;(g) FLICM算法;(h) NDFCM_P算法;(i) FNDFCM_P算法
Fig. 3. Segmentation of synthetic image with Gaussian noise(0, 0.03). (a) Original image; (b) image with Gaussian noise (0, 0.03); (c) FCM_S1algorithm; (d) FCM_S2 algorithm; (e) EnFCM algorithm; (f) FGFCM algorithm; (g) FLICM algorithm; (h) NDFCM_P algorithm; (i) FNDFCM_P algorithm
由
对于上述人工合成图像,在后处理过程中采用3×3邻域统计隶属度分布情况。为对比不同邻域大小对分割结果的影响,在
图 4. 添加椒盐噪声(0.1)的合成图像分割图。(a)原始图像;(b)高斯噪声图像;(c) FCM_S1算法;(d) FCM_S2算法; (e) EnFCM算法;(f) FGFCM算法;(g) FLICM算法;(h) NDFCM_P算法;(i) FNDFCM_P算法
Fig. 4. Segmentation of synthetic image with salt & pepper noise (0.1). (a) Original image; (b) image with salt & pepper noise (0.1); (c) FCM_S1 algorithm; (d) FCM_S2 algorithm; (e) EnFCM algorithm; (f) FGFCM algorithm; (g) FLICM algorithm; (h) NDFCM_P algorithm; (i) FNDFCM_P algorithm
表 3. 不同噪声水平下各分割算法的指标对比
Table 3. Comparison of indices of different segmentation algorithms under different noise levels
|
图 5. 不同邻域的人工合成分割结果对比图。(a) NDFCM_P算法;(b) FNDFCM_P算法
Fig. 5. Comparison of synthetic segmentation results in different neighborhoods. (a) NDFCM_P algorithm; (b) FNDFCM_P algorithm
4.2 Berkeley图像实验
在Berkeley图像库[6]中选择了编号为#42049和#238001的图像进行实验,分别对图像添加高斯噪声和椒盐噪声,然后利用7种算法对加噪图像进行分割以验证本文算法性能。
对#42049的图像添加(0,0.04)的高斯噪声以及密度为0.1的椒盐噪声,如
另外,利用其他水平的噪声对两个图像进行了分割测试,具体结果如
图 6. #42049分割结果。(a)原图;(b)加噪图;(c)标准人工分割图;(d) FCM_S1算法;(e) FCM_S2算法;(f) EnFCM算法;(g) FGFCM算法;(h) FLICM算法;(i) NDFCM_P算法;(j) FNDFCM_P算法
Fig. 6. Segmentation results of #42049 (a) Original image; (b) image with mixed noise; (c) standard manual segmentation; (d) FCM_S1 algorithm; (e) FCM_S2 algorithm; (f) EnFCM algorithm; (g) FGFCM algorithm; (h) FLICM algorithm; (i) NDFCM_P algorithm; (j) FNDFCM_P algorithm
图 7. #238001分割结果。(a)原图;(b)加噪图;(c)标准人工分割图;(d) FCM_S1算法;(e) FCM_S2算法;(f) EnFCM算法;(g) FGFCM算法;(h) FLICM算法;(i) NDFCM_P算法;(j) FNDFCM_P算法
Fig. 7. Segmentation results of #238001. (a) Original image; (b) image with Salt & Pepper noise; (c) standard manual segmentation; (d) FCM_S1 algorithm;(e) FCM_S2 algorithm; (f) EnFCM algorithm; (g) FGFCM algorithm; (h) FLICM algorithm; (i) NDFCM_P algorithm; (j) FNDFCM_P algorithm
表 4. Berkeley图像各分割算法的指标对比
Table 4. Comparison of indices of different segmentation algorithms on Berkeley image
|
对于上述Berkeley图像,在后处理过程中采用了3×3邻域统计邻域隶属度分布情况。同样为对比不同邻域大小对分割结果的影响,在
图 8. 不同邻域时#42049的分割结果对比图。(a) NDFCM_P算法;(b) FNDFCM_P算法
Fig. 8. Comparison of #42049 segmentation results in different neighborhoods. (a) NDFCM_P algorithm; (b) FNDFCM_P algorithm
表 2. 不同分割算法的参数设置
Table 2. Parameters setting for different segmentation algorithms
|
4.3 其他图像实验
为进一步验证本文算法的分割性能,选择“石头山”图像和“硬币”图像,分别如
由
4.4 算法运行时间
算法的运行时间是需要考虑的一大要素。这里从人工合成图像、Berkeley图像,以及其他图像中各选出一幅加噪图像作为待分割图像,执行7种算法程序得到运行时间,具体如
图 9. 不同算法的石头山图像分割图。(a)原始图像;(b)混合噪声图像;(c) FCM_S1算法;(d) FCM_S2算法; (e) EnFCM算法;(f) FGFCM算法;(g) FLICM算法;(h) NDFCM_P算法;(i) FNDFCM_P算法
Fig. 9. Segmentation of stone mountain image by different algorithms. (a) Original image; (b) image corrupted by mixed noise; (c) FCM_S1algorithm; (d) FCM_S2 algorithm; (e) EnFCM algorithm; (f) FGFCM algorithm; (g) FLICM algorithm; (h) NDFCM_P algorithm; (i) FNDFCM_P algorithm
图 10. 不同算法的硬币图像分割图。(a)原始图像;(b)椒盐噪声图像;(c) FCM_S1算法;(d) FCM_S2算法; (e) EnFCM算法;(f) FGFCM算法;(g) FLICM算法; (h) NDFCM_P算法; (i) FNDFCM_P算法
Fig. 10. Segmentation of coin image by different algorithms. (a) Original image; (b) image corrupted by salt & pepper noise; (c) FCM_S1 algorithm; (d) FCM_S2 algorithm; (e) EnFCM algorithm; (f) FGFCM algorithm; (g) FLICM algorithm; (h) NDFCM_P algorithm; (i) FNDFCM_P algorithm
表 5. 不同分割算法的运行时间对比
Table 5. Comparison of execution time by different segmentation algorithms
|
由
由于NDFCM_P算法分两步,第一步与FCM_S1算法复杂度相同,所以时间消耗在第二步后处理中。同样,FNDFCM_P算法也分两步,第一步与EnFCM算法复杂度相同,时间消耗主要在第二步,而后处理的时间与图像大小、分类数、第一步的分割结果均有直接关系,由此可见,所提算法虽然提升了分割精度,改善了分割的视觉效果,但是增加了运行时间。
5 结论
提出了NDFCM_P和FNDFCM_P两种改进的FCM算法用于图像分割。算法分两步:第一步利用图像像素的邻域值对每个像素进行噪声可能性判别,具有一定的自适应性,然后利用该信息处理噪声与细节的关系得到新的加权和图像,在此基础上给出基于像素级和灰度级的两类聚类算法;第二步对初步分割结果中可能存在的错分点进行了后处理。利用人工合成图像、Berkeley图像和其他图像对所提算法进行了实验验证。结果表明,所提算法分割的图像轮廓更清晰,SA和ARI指标更高,但是在分割时间上,除了FLICM算法外,相比其他FCM型算法,分割时间较长。另外,综合考虑灰度、颜色、纹理等信息的图像分割显然比考虑灰度信息的分割更具全面性,这是下一步的研究重点。
[3] 王蒙军, 郭林, 王霞, 等. 改进内部活动项的多通道PCNN彩色图像分割[J]. 激光与光电子学进展, 2015, 52(12): 121001.
[5] 聂方彦, 李建奇, 张平凤, 等. 一种基于Tsallis相对熵的图像分割阈值选取方法[J]. 激光与光电子学进展, 2017, 54(7): 071002.
[7] 李俊威, 陈晓冬, 贾忠伟, 等. 基于光线投射法的冠脉血管腔壁分割算法[J]. 中国激光, 2015, 42(8): 0804002.
[11] 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 EMBS, 2003, 1: 724- 726.
[16] 王保平, 范九伦, 谢维信, 等. 一种基于代价函数和模糊熵的图像分割方法[J]. 光子学报, 2003, 32(12): 1502-1505.
[18] 崔西希, 吴成茂. 核空间中智模糊聚类及图像分割应用[J]. 中国图象图形学报, 2016, 21(10): 1316-1327.
Article Outline
朱占龙, 王军芬. 基于自适应模糊C均值与后处理的图像分割算法[J]. 激光与光电子学进展, 2018, 55(1): 011004. Zhu Zhanlong, Wang Junfen. Image Segmentation Based on Adaptive Fuzzy C-Means and Post Processing Correction[J]. Laser & Optoelectronics Progress, 2018, 55(1): 011004.