2. 河北工业大学 河北省大数据计算重点实验室 天津 300401
2. Key Laboratory of Big Data Computing of Hebei Province, Hebei University of Technology, Tianjin 300401, China
图像分割是图像处理中很重要的一部分,也是图像识别过程中一个很重要的子过程,图像分割效果的好坏将直接影响到图像识别的准确率.为取得更好的分割效果,越来越多的研究者将其他领域的理论模型和已有分割技术相融合产生出新的分割方法.其中基于模糊聚类分析的图像分割技术应用非常广泛[1-3],模糊C均值(FCM)算法[4]为其中的典型代表,该方法通过图像中各像素点与聚类中心的灰度值的欧氏距离,将不同的点归属于不同的聚类.由于在此过程中需要较少的人工参与,更有利于图像分割自动化的实现.然而FCM算法有其自身的缺点:① 该算法无法自动确定聚类数目,需要手动确定聚类中心数目(聚类数);② 原始算法只考虑了单个像素的灰度特征,忽略了邻域空间特征,因此分割结果很容易受到噪声的影响[5].
针对上述缺点,随后出现许多改进的FCM图像分割方法.文献[6-7]中引入了灰度以外的其他特征作为聚类分割的考虑因素,文献[8-9]中引入了图论方法辅助图像分割,文献[10]提出了子图分割再合并的FCM方法,文献[11]中提出了一种能自适应模糊加权指数m的FCM方法,这些方法在图像分割方面比传统FCM方法取得了更好的效果,但大都忽略了邻域对于图像分割的影响.文献[12]提出了邻域加权FCM (neighboring weighted FCM,NW-FCM)方法,根据原图邻域像素信息生成新图像,然后根据新图像和原图像进行新的FCM的图像分割,此方法对于含噪声图像具有较好的分割效果,但仍需要人为确定聚类数目并随机初始化聚类中心.因此,本文在考虑图像中像素灰度分布和像素邻域空间信息的基础上,提出一种基于图像灰度分布直方图和空间邻域信息的FCM分割算法,该算法能够自动选取合适的初始聚类中心,并有效减少噪声影响.
1 传统FCM算法假设图像由含n个像素的集合P={p1, p2, …, pn}组成,图像分割就是将图像中的所有像素点分别划分到c个聚类中,V={vi}(i=1, 2, …, c)为聚类中心矩阵, 每一个聚类对应图像中一个部分的分割结果,通过不断迭代使得目标函数不断收敛,最终完成聚类和图像分割.其中pj表示第j个像素的灰度值,其目标函数[7]为
| $ {J_m} = \sum\limits_{i = 1}^c {\sum\limits_{j = 1}^n {u_{ij}^m{{\left\| {{p_j}-{v_i}} \right\|}^2}} }, $ | (1) |
式中:‖·‖表示欧氏距离;m为模糊加权指数,且m∈[1, ∞);定义一个c×n的二维隶属矩阵U,U中的元素uij表示第j个数据点pj属于聚类i的隶属度.式(1) 需满足以下约束条件:
| $ \sum\limits_{i = 1}^c {{u_{ij}}} = 1, {u_{ij}} \in \left[{0, 1} \right], 0 \le \sum\limits_{j = 1}^n {{u_{ij}}} \le n. $ | (2) |
根据拉格朗日乘子法,可以求得当目标函数取得最小值时,隶属度和聚类中心的求解式(3) 和(4),可通过不断迭代这两个公式求得目标函数的最小值从而完成最终聚类.
| $ {u_{ij}} = \frac{1}{{\sum\limits_{k = 1}^c {{{\left( {\frac{{\left\| {{p_j}-{v_i}} \right\|}}{{\left\| {{p_j}-{v_k}} \right\|}}} \right)}^{2/\left( {m-1} \right)}}} }}, $ | (3) |
| $ {v_i} = \frac{{\sum\limits_{j = 1}^n {u_{ij}^m{p_j}} }}{{\sum\limits_{j = 1}^n {u_{ij}^m} }}. $ | (4) |
提出了一种基于图像灰度分布直方图信息寻找初始聚类中心的方法.该方法通过对原灰度直方图形成新的灰度分布直方图,使图像灰度分布趋势更加明显,再在新的直方图中确定初始聚类中心.具体方法如下:
1) 求出输入图像的灰度分布直方图数据,并进行以n为单位长度的区间合并,用t表示合并后的新灰度级,x表示新灰度级中包含的图像中各级灰度像素点平均数.
图 1(a)为文献[13]中图像分割库的一幅图片,用它来提取直方图信息,图 1 (b)为图 1(a) 的灰度级直方图,可以清楚地看出图中主要的波峰和波谷,但由于细小的波峰、波谷的存在,程序很难对主要变化趋势进行准确的判断.为此,以灰度值范围256的约数32、16、8、4作为单位长度n的可选值,对原直方图进行灰度区间合并,在新的分布直方图中灰度表示为ti,i的范围为1~256/n,ti的集合用t表示,以新的灰度ti中包含的原来各灰度值的像素的数量平均值作为新数量值xi,xi的集合用x表示,这样就形成了一个趋势变化很明显的分布图,更有利于对于主体变化趋势的判断,如图 1(c)所示.可以看出,原直方图灰度区间合并后,灰度分布较为集中的区域(t1-t3,t3-t5,t5-t8)更为凸显,有助于划分像素分布集中的灰度区间.
|
图 1 两种灰度分布图的对比 Figure 1 Comparison of the two kinds of gray level distribution |
2) 在区间合并后的直方图中寻找极大值点和极小值点.
| $ 极大值点 :{\rm{sgn}}\left( {{x_{i + 1}}-{x_i}} \right)-{\mathop{\rm sgn}} \left( {{x_i}-{x_{i - 1}}} \right) = - 2, $ | (5) |
| $ 极小值点 :{\rm{sgn}}\left( {{x_{i + 1}}-{x_i}} \right)-{\mathop{\rm sgn}} \left( {{x_i}-{x_{i - 1}}} \right) = 2, $ | (6) |
3) 求出合格的分割区间位置lseg.如果求出的x的极大值和极小值一共有m个,则可分为m-1个变化区间,各区间t对应的像素点数x变化幅度可表示为rj, j∈(1, m-1), 用σ(t)表示t中x的标准差,选取满足|rj|>|σ(t)|的下降区间,一直到产生c-1个下降区间.用lsegi表示第i个分割点位置,i∈(1, c-1).
4) 根据求得的分割区间位置将整个区间t划分为c个新的区间,步骤如下:(ⅰ)将lseg1作为第一个分割的位置, 将t分为左右两个部分;(ⅱ)以下一个分割点lseg2将(ⅰ)分割后的右侧区域分为左右两部分;(ⅲ)按照(ⅱ)的方法依次类推,直到最后一个分割区域位置lsegend,新灰度区间t被分为c个子区间.每个子区间表示为subq,每一个子区间在t中的起始位置为lsubq,当q≠1时,lsubq=lsegq-1;当q=1时,lsubq=1,q∈(1, c).
5) 求出各划分子区间的平均灰度值作为初始聚类中心.将划分后的t灰度区间转化为原来灰度区间, 求取各区间灰度平均值,由于分成了c个子区间,则产生c个初始聚类中心,n为区间合并的单位长度,设分割子区间subq中t的个数为numtq,可求得numtq=lsubq+1-lsubq,hist(g)表示灰度为g的像素点的数量,第q个分割区间上的聚类计算公式为
| $ \begin{array}{l} {c_q} = \\ \frac{{\sum\limits_{j = 0}^{num{t_q}- 1} {\sum\limits_{i = 1}^n \{ [(lsu{b_q}-1 + j) \times n + i] \times hist((lsu{b_q} -1 + j) \times n + i)\} } }}{{\sum\limits_{j = 0}^{num{t_q} -1} {\sum\limits_{i = 1}^n {hist} } \left( {\left( {lsu{b_q} -1 + j} \right) \times n + i} \right)}}. \end{array} $ | (7) |
传统的FCM图像分割算法仅考虑了图像的灰度信息,忽略了空间信息的影响,使算法对噪声非常敏感,很难取得令人满意的分割效果.为此,在文献[12]中NW-FCM方法的基础上提出了一种改进的FCM算法.
在一幅h×n图像的每一个r×r的邻域中,邻域中心坐标为(x,y),p(x+u,y+v)(u,v∈{-r, 0, r}∧(u,v)≠(0, 0))是坐标为(x+u,y+v)处像素的灰度值,gap(u,v)定义为邻域像素与中心像素的距离,则有
| $ gap\left( {x + u, y + u} \right) = \left| {p\left( {x + u, y + u} \right)-p\left( {x, y} \right)} \right|, \left( {u, v} \right) \ne \left( {0, 0} \right), $ | (8) |
| $ \begin{array}{l} \left| {p\left( {x + u, y + u} \right)-\overline {p\left( {x, y} \right)} } \right| + gap\left( {x + u, y + u} \right)\\ > st{d_p}\left( {x, y} \right) + \overline {gap\left( {x + u, y + u} \right)} . \end{array} $ | (9) |
满足(9) 式的p(x+u,y+v)为邻域干扰元素,将此元素定义为pjam,这些像素属于异常像素,将会对图像分割造成干扰,故需要删去.令p*(x, y)为邻域权值图像,可以表示为
| $ \begin{array}{l} {p^*}\left( {x, y} \right) = \overline {{p_{{\rm{val}}}}\left( {x, y} \right)} = \\ avg\left( {sum\left( {p\left( {x + u, y + u} \right)} \right)-sum\left( {{p_{{\rm{jam}}}}\left( {x + u, y + u} \right)} \right)} \right), \end{array} $ | (10) |
式中:avg(·)为求均值运算符号;sum(·)为求和运算符号;p*(x, y)为有效邻域元素的均值
在FCM基础上加入邻域像素影响的新目标函数为
| $ {J_m} = \sum\limits_{i = 1}^c {\sum\limits_{j = 1}^N {u_{ij}^m{{\left\| {{p_j}-{v_i}} \right\|}^2}} } + a\sum\limits_{i = 1}^c {\sum\limits_{j = 1}^N {u_{ij}^m{{\left\| {p_{_j}^*-{v_i}} \right\|}^2}} }, $ | (11) |
式中:a为惩罚因子,控制惩罚项的惩罚效果;N=h×n为总像素点数.改进后的迭代公式为
| $ {u_{ij}} = \frac{1}{{{{\sum\limits_{k = 1}^c {\left( {\frac{{{{\left\| {{p_j}-{v_i}} \right\|}^2} + a{{\left\| {p_{_j}^*-{v_i}} \right\|}^2}}}{{{{\left\| {{p_j}-{v_k}} \right\|}^2} + a{{\left\| {p_{_j}^* - {v_k}} \right\|}^2}}}} \right)} }^{m - 1}}}}, $ | (12) |
| $ {v_i} = \frac{{\sum\limits_{j = 1}^n {u_{_{ij}}^m\left( {{p_j} + ap_j^*} \right)} }}{{\left( {1 + a} \right)\sum\limits_{i = 1}^n {u_{ij}^m} }}. $ | (13) |
设P={p1, p2, …, pn}为原图像中各点,算法具体步骤如下:
1) 通过2.1中算法求出图像的初始聚类中心{Ci(0)}(i=1, 2, …, c);
2) 根据式(8)~(10) 计算邻域加权均值图像;
3) 用当前聚类中心Ci根据式(12) 计算隶属度函数uij;
4) 判断是否满足max|U(n+1)-U(n)|≤ε或n≥nmax,如满足则算法终止;
5) 用当前隶属度函数uij根据式(13) 修正聚类中心,返回3).
3 实验结果及分析为了验证所提出算法的性能,对几幅不同图片进行初始聚类中心测试实验,并通过几幅人工合成图片和真实图片对本文算法的分割性能进行测试.
3.1 自适应聚类中心方法的实验实验所用部分图片如图 2所示,其中图 2(b)、2(c)来自文献[14],用图 2的3个图片对直方图初始聚类中心方法的准确度进行了测试.由于FCM方法获得的最终聚类中心与实际聚类中心十分接近,因此,将直方图方法获得的初始聚类中心和FCM方法最终得到的聚类中心进行对比,结果如表 1所示.
|
图 2 实验所用部分图片 Figure 2 The pictures used in the experiment |
|
|
表 1 聚类中心对比结果 Table 1 The comparison results of cluster centers |
可以看出, 当图像比较简单时(如图 2(a)),本文直方图方法查找到的聚类中心与传统FCM方法最终收敛到的聚类中心非常接近.对于较复杂图像(如图 2(b)、2(c)),本文方法所得聚类中心与实际聚类中心仍比较接近.同时在此过程中,实验中的图片都得到了较为准确的聚类数.因此,相比于随机初始化聚类中心的方法,本文方法具有较好的参考价值,并可省去人为确定聚类数的操作.
3.2 图像分割实验为了验证分割方法的有效性,通过FCM、NW-FCM和本文算法对于人工合成噪声图片、实物(树木)图片和遥感图像进行了分割测试实验.
首先对于人工合成噪声图片进行了分割测试.测试图片为黑白灰的棋盘图像,其中含有高斯噪声(均值为0,方差为0.01),参数设置为c=3,α=50,r=2(5×5邻域).实验结果如图 3所示.
|
图 3 人工合成噪声图片分割结果 Figure 3 The segmentation effect of synthetic noise image |
FCM算法没有考虑邻域信息的影响,分割效果很差,分割后的图像中仍然含有较多噪声.NW-FCM算法由于较好地考虑了邻域像素的影响,因此分割后的结果去除了绝大部分噪声,仅在不同灰度像素的交界处有零星噪声.而本文方法由于充分考虑了邻域像素的影响,效果最佳.
对图 1(a)树木图片进行了分割测试,结果如图 4所示.可以看出,通过传统FCM算法分割的结果在地面见光处的噪声比较多,分割的区域并不连贯;树冠中的细小噪声也没有很好地消除.对于NW-FCM算法,由于考虑了邻域信息的影响,因此在树冠和地面上的分割效果有明显改善.本文方法则更好地去除了噪声的干扰,在树冠和地面处取得了更为连贯的分割区域,分割结果更佳.
|
图 4 树木图片分割结果 Figure 4 The segmentation results of tree image |
对形态更为抽象杂乱的遥感图像进行了分割测试,分割结果如图 5所示.可以看出,对于遥感图像分割的结果,NW-FCM和本文算法明显优于FCM方法,这两种方法在分割效果上非常接近,本文算法在局部细节上略优于NW-FCM算法.
|
图 5 遥感图像分割结果 Figure 5 The segmentation results of remote sensing image |
可见本文结合邻域信息的FCM算法对于人工合成噪声图像、实物图像和遥感图像的分割结果都要优于FCM和NW-FCM算法.
4 结束语针对FCM图像分割算法无法以合理的方法获得适当数目近似初始聚类中心,以及分割结果容易受到噪声影响的缺点,提出了一种通过图像灰度分布直方图信息初始化聚类中心,同时考虑邻域信息的改进FCM算法.实验结果表明,该算法能够较好地确定初始聚类中心的近似位置及数目,有效减少聚类过程噪声的影响,相对于FCM和NW-FCM聚类图像分割算法,本文算法分割效果更好.
| [1] |
DENG W Q, LI X M, GAO X F, et al. A modified fuzzy C-means algorithm for brain MR image segmentation and bias field correction[J]. Journal of computer science and technology, 2016, 31(3): 501-511. DOI:10.1007/s11390-016-1643-5 ( 0) |
| [2] |
JUI S L, LIN C, XU W, et al. Dynamic incorporation of wavelet filter in fuzzy C-means for efficient and noise-insensitive MR image segmentation[J]. International journal of computational intelligence systems, 2015, 8(5): 796-807. DOI:10.1080/18756891.2015.1063241 ( 0) |
| [3] |
TU X, GAO J, ZHU C, et al. MR image segmentation and bias field estimation based on coherent local intensity clustering with total variation regularization[J]. Medical & biological engineering & computing, 2016, 54(12): 1807-1818. ( 0) |
| [4] |
BEZDEK J C, HATHAWAY R J, SABIN M J, et al. Convergence theory for fuzzy C-means: counterexamples and repairs[J]. IEEE transactions on systems, man and cybernetics, 1987, 17(5): 873-877. DOI:10.1109/TSMC.1987.6499296 ( 0) |
| [5] |
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. DOI:10.1109/42.996338 ( 0) |
| [6] |
NICHAT A M, LADHAKE S A. Brain tumor segmentation and classification using modified FCM and SVM classifier[J]. International journal of advanced research in computer and communication engineering, 2016, 5(4): 73-76. ( 0) |
| [7] |
依玉峰, 高立群, 郭丽. 改进FCM在交互式图像分割中的应用[J]. 中国图象图形学报, 2012, 17(3): 342-348. DOI:10.11834/jig.20120307 ( 0) |
| [8] |
吴秋红, 吴谨, 朱磊, 等. 基于图论和FCM的图像分割算法[J]. 液晶与显示, 2016, 31(1): 112-116. ( 0) |
| [9] |
HUANG Q H, LEE S Y, LIU L Z, et al. A robust graph-based segmentation method for breast tumors in ultrasound images[J]. Ultrasonics, 2012, 52(2): 266-275. DOI:10.1016/j.ultras.2011.08.011 ( 0) |
| [10] |
周晓明, 李钊, 刘雄英. 一种基于改进FCM的自动图像分割算法[J]. 华南理工大学学报(自然科学版), 2014, 42(3): 1-7. ( 0) |
| [11] |
李晓冰. 基于自适应模糊加权指数的FCM聚类测量图像分割方法[J]. 红外技术, 2013, 35(3): 146-149. ( 0) |
| [12] |
康家银, 龚成龙, 张文娟. 基于邻域加权模糊C均值的遥感影像分割[J]. 系统仿真学报, 2012, 24(9): 1969-1972. ( 0) |
| [13] |
ALPERT S, GALUN M, BASRI R, et al. Image segmentation by probabilistic bottom-up aggregation and cue integration[J]. IEEE transactions on pattern analysis and machine intelligence, 2012, 34(2): 315-327. DOI:10.1109/TPAMI.2011.130 ( 0) |
| [14] |
MARTIN D, FOWLKES C, TAL D, et al. A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics[C]// Proceedings of 8th IEEE International Conference on Computer Vision.Vancouver, 2001:416-423.
( 0) |
2017, Vol. 49



0)