乔彩彩,吴成茂,李昌兴,王佳烨
(1.西安邮电大学 通信与信息工程学院,西安 710121;2.西安邮电大学 电子工程学院,西安 710121;3.西安邮电大学 理学院,西安 710121)
图像分割是根据低层特征的相似性或相异性将图像分割成若干个连续的子区域,使同一区域内的特征相似,而不同区域内的特征相异。图像分割方法可大致分为基于边缘[1]、基于阈值[2]、基于聚类[3-4]、基于区域[5]、基于图论[6]的5 类方法。其中聚类是一种无监督分类方法[7],在像素没有标签的情况下,利用类间差别尽可能大而类内差别尽可能小的原则将原像素划分成不同的类,分为硬聚类[8]和模糊聚类[9]。硬聚类强调每个像素数据只能被归为一类,模糊聚类通过隶属度来强调每个像素数据属于每一类的程度,而不是硬性地将数据归到某一类。聚类分析的核心是利用数学方法将目标样本集按某种准则自动归为若干个互不重叠的类,使同一类中的样本相似,不同类中的样本互不相同,这一思想与图像分割相似。模糊聚类应用于分割问题时,引入隶属度表示样本属于某个特定集合的确定程度,体现了描述的模糊性。
在众多的模糊聚类算法中,模糊C-均值(Fuzzy C-Means,FCM)聚类算法[10]是较为经典的无监督聚类算法,考虑了像素对各个聚类中心的隶属度,但并未考虑像素本身和邻域像素之间的关联性,对于含噪图像的聚类难以获得满意的分割结果。为了增强FCM 算法的抗噪性,AHMED 等[11]将局部空间限制项引入FCM 目标函数,提出一种基于空间信息的FCM 算法(FCM_S),由于该算法在每次迭代计算过程中都需要计算像素的邻域项,因此时效性较差。CHEN 等[12]提出两种FCM_S 的改进方法:FCM_S1和FCM_S2 算法,这两种算法分别采用邻域像素的灰度均值和灰度中值来表示像素的局部空间信息,从而有效提高了算法的计算效率。KRINIDIS 等[13]利用像素点的局部信息构造空间模糊因子,并引入FCM 提出模糊局部信息C-均值(Fuzzy Local Information C-Means,FLICM)聚类算法,该算法相比于FCM_S 无需人为设置算法中的参数,能自适应控制噪声的干扰和保留图像细节信息间的平衡。ZHANG 等[14]引入包含非局部信息的像素相关度代替FLICM 算法中的空间约束并改进模糊因子,提出非局部信息模糊C-均值聚类算法(Non-Local information Fuzzy C-Means,NLFCM),该算法有较好的抗噪性,但却抹去了图像的部分细节信息。
传统FCM 算法利用欧式距离来计算像素到聚类中心的距离,原理是将像素空间中较为相近的像素聚在一起,仅适合聚类像素数目相差不悬殊的团状凸数据集,对于复杂的非凸数据集,聚类性能急剧下降。为此,很多学者将核函数[15]的思想引入FCM算法,提出核模糊C-均值(Kernal Fuzzy C-Means,KFCM)聚类算法[16],该算法将像素数据通过非线性函数映射至高维特征空间,使得原空间线性不可分的像素变得线性可分,以此来改善聚类性能。由于高斯核函数的控制参数较少且性能较稳定,因此相比其他核函数应用更广泛。GONG 等[17]在FLICM算法的基础上进行改进,提出一种基于核度量的加权模糊局部信息C-均值(Kernel metric-based Weighted Fuzzy Local Information C-Means,KWFLICM)聚类算法。该算法利用空间差异性定义一个加权平衡模糊因子,包含了图像邻域像素的空间距离约束信息和空间灰度约束信息,并采用高斯核空间距离代替像素点间的欧式距离,提高了算法对噪声的鲁棒性。但由于引入过多的邻域信息,因此使得图像的部分细节信息被抹去。
BUADES 等[18]提出非 局部均 值(Non-Local Means,NLM)图像去噪方法,采用图像块间的欧式距离确定像素点间的相似度权重,通过像素点间的加权平均实现均值滤波效果。引导滤波器[19]在一定程度上可以起到保边去噪的作用,且计算效率高,十分适合弱过滤工作[20],因此众多学者将引导滤波与模糊聚类算法相结合来提高模糊聚类算法的分割性能。引导滤波利用引导图像的信息对输入的图像进行滤波处理得到输出图像,相当于一个局部线性转换器使得输出和输入呈线性关系[21]。考虑到引导滤波保边平滑的特点,GUO 等[22]提出图像引导模糊C-均值(Image Guided Fuzzy C-Means,IGFCM)聚类算法。在该算法中的引导滤波作为正则项加入模糊C-均值算法的目标函数,从而根据引导图像的信息对隶属度进行约束,但由于模型复杂难以计算,因此未得到很好的应用。为了简化IGFCM 算法,GUO等[23-24]提出基于引导滤波的改进模糊C-均值(modified FCM with Guided Filtering,FCM+GF)方法,在该方法中将需要分割的图像作为引导图像,对模糊C-均值聚类算法得到的隶属度进行处理,但该方法对强噪声图像分割结果并不理想,且仅限于灰度图像分割。对于彩色图像,执行多通道的引导滤波是一项困难的工作,鉴于此问题,XU 等[25]提出一种加权多通道引导滤波(Weighting Multi-channel Guided image Filtering,WMGF)算法来提高边缘保护,降低计算复杂度,基于该算法又提出一种新的彩色图像模糊C-均值聚类算法(FCMWMGF),为了进一步提高不同噪声的抗噪性和边缘保护性,将多元形态重建方法[26-27]引入改进的模糊C-均值聚类算法(MMR_FCMWMGF)来获得更高的分割精度,该算法对于彩色图像具有较好的分割效果。LIU 等[28]提出一种鲁棒引导图像滤波(Robust Guided Image Filtering,RGIF)技术,将一个数据项和平滑项组成的优化框架融入引导滤波。SHEN 等[29]考虑输入图与引导图结构的不一致性,提出一种相互结构联合滤波算法并得到了较好的结果。
上述方法对于引导滤波的利用都是通过像素对模糊聚类算法得到的隶属度进行引导,然而该方法仅适用于处理低噪声图像。为了提高基于引导滤波的模糊聚类算法的分割性能和抑噪能力,本文将像素引导隶属度和隶属度引导像素的交替引导滤波引入KWFLICM 算法,提出一种新的基于交替引导滤波的鲁棒模糊聚类算法GFKWFLICMGF。
引导滤波是一种线性滤波器,基本思想是:在图像梯度比较大的地方实现保边,要求尽量不平滑,最好是输出与输入一样;在图像梯度较小的地方尽量平滑,输出与输入可以稍有不同。假设输入图为X,引导图为I,输出图为X′,引导滤波的目的是使得输出图X′和输入图X尽可能相似,同时纹理部分和引导图I尽可能相似。引导滤波器假设滤波后的结果和引导图像在滤波窗口内呈线性关系,即:
其中:wi是以i为中心像素的邻域窗口;ai和bi为该窗口所对应的线性系数,该线性系数保证了输出图像X′和引导图I梯度的相对不变性,即∇X′=a∇I,在引导图有梯度的情况下,输出图才会有梯度。如果图像中任何一个地方的线性系数ai和bi都相同,则相当于对整个图像做了一个线性变换,并没有起到滤波的作用。若要达到保边滤波的效果,则需要在图像的任何地方ai和bi都是随着图像的内容变化的。为了求解引导滤波的线性系数ai和bi,假设所需要的系数能够使滤波输出图像的像素和输入图像的像素Xj的差异最小,那么窗口wi的代价函数可以表示如下:
其中:ε是正则化系数,作用是防止ai过大。根据最小二乘法可以得出其线性系数的解:
通过式(5)可以看出(ai,bi)在空间上是有变化的,所以输出图像X′不仅是引导图像I简单的尺度缩放,(ai,bi)的值也取决于输入图像X。由于式(5)中对线性系数求平均值,(ai,bi)的梯度变化是明显小于I的,因此X′的像素值变化主要取决于引导图I,并且可以近似认为X′=a∇I。
当输入图像自身作为引导图时,ε=0、aj=1、bj=0,此时输入输出之间不存在变化。当ε>0 时,考虑两种极端情况。第一种情况是引导图像较平整,即在窗口内I为固定常数,那么aj=0、bj=此时模型退化为均值滤波。第二种情况是引导图像极其不平整,即在窗口内I的方差接近无穷大,那么aj≈1、bj≈0,此时输出与输入几乎无变化。通过方差评价图像是否平滑,方差大小由参数ε表示,ε越大,引导图中被判定为平整的区域越多,输出图像越平滑,反之,输出图像的平滑效果越差。
FLICM 算法通过模糊因子Gik平衡了局部邻域窗内各像素点对应的隶属度值,使得非噪声点像素及邻域窗口内的噪声像素的隶属度收敛到相似的值,因此算法鲁棒性得到了提升。KWFLICM 算法对模糊因子Gik做出了改进,将局部方差系数构成的空间权重影响因子引入Gik,可以获得更多的空间相互作用信息,得到了鲁棒性更强的分割结果。KWFLICM 算法的目标函数如下:
其中:U=(μik)n×c代表大小为n×c的隶属度矩阵,n代表样本总数,c代表样本被划分的类别数,μik代表样本xi属于第k类的程度;m是模糊指数,本文默认m=2。
权重因子wij由空间位置信息wsc和邻域灰度信息wgc组成,详见文献[17]。利用最小二乘法优化其目标函数,得到隶属度和聚类中心的更新公式分别如下:
像素引导隶属度滤波的目的是得到新的隶属度,并使用新的隶属度矩阵作为划分矩阵来对图像进行聚类,目标函数如下:
其中:pik和qik是当像素中心为i时引导滤波的线性系数;ε是防止pik过大的正则化参数,本文默认ε=0.01。
该目标函数分别对pik和qik求偏导数并令其等于0,于是获得:
隶属度引导像素滤波的目的是得到新的像素值,将模糊聚类得到的隶属度传入利用隶属度引导像素滤波的代价函数,得到引导滤波的线性系数p1i和q1i,从而得到新的像素值。隶属度引导像素滤波的目标函数如下:
其中:p1i和q1i是当像素中心为i时引导滤波的线性系数,1 是为了和前面的pik、qik作区分。
该目标函数分别对p1i和q1i求偏导并令其等于0,于是获得:
于是可将式(16)化简如下:
2.3.1 算法流程
GFKWFLICMGF算法流程如图1 所示。原始加噪图像被当作引导图像,先利用KWFLICM 算法对原始加噪图像进行聚类,将得到的隶属度分别传入像素引导隶属度滤波和隶属度引导像素滤波模块,分别得到新的隶属度和新的像素值,并通过新的隶属度对聚类中心进行更新,再将更新后的隶属度和像素值传入KWFLICM 算法,循环上述过程,直到算法收敛。
图1 GFKWFLICMGF算法流程Fig.1 Procedure ofGFKWFLICMGF algorithm
2.3.2 优化过程
GFKWFLICMGF算法的迭代过程即优化以下多目标函数的过程:
在此多目标模型中,Jm(U,V)是KWFLICM 算法的目标函数,通过初始化隶属度和聚类中心可得到算法隶属度和聚类中心的迭代更新公式,将隶属度分别传入像素引导隶属度滤波和隶属度引导像素滤波的代价函数E(U,p,q)和E1(U,p1,q1),求得像素引导隶属度滤波的线性系数pik、qik和隶属度引导像素滤波的线性系数p1i、q1i,分别将线性系数pik、qik传入隶属度回归模型L(μ′),p1i、q1i传入像素值回归模型L1(x′),利用最小二乘法可得到新的隶属度值和新的像素 值利用新的隶属度值对聚类中心进行更新,最终将新的隶属度和像素值传入KWFLICM算法,循环此过程直到算法收敛。
多目标函数的优化过程具体如下:
1)在KWFLICM 算法中,邻域位置信息和灰度信息被引入模糊因子利用最小二乘法得到隶属度μik和聚类 中心vk的 更新公式如式(8)和 式(9)所示。
2.3.3 算法步骤
GFKWFLICMGF算法步骤具体如下:
1)输入原始噪声图X,初始化隶属度和聚类中心迭代计数器t=0,最大迭代次数tmax和迭代终止阈值σ。
2)t=t+1。
3)根据初始化的隶属度和聚类中心,得到KWFLICM 算法隶属度的更新公式如式(8)所示。
4)X是原始噪声图,I是引导图,令I=X,将隶属度传入像素引导隶属度滤波的目标函数,根据式(13)和式(11)可得线性系数pik和qik,然后根据式(19)可得到新的隶属度。
6)通过新的隶属度,利用式(9)对聚类中心进行更新。
8)当t>tmax或<σ时,算法迭代结束,否则,转入步骤2。
本文算法的本质是通过引导滤波利用邻域像素值对KWFLICM算法的隶属度进行修正,同时利用像素隶属度对像素值进行引导滤波,引导滤波修正后的隶属度和像素值分别为其中,为引导滤波利用像素引导隶属度滤波的邻域线性系数均值为引导滤波 利用隶 属度引导像素滤波的邻域线性系数均值,以此来提高算法的鲁棒性。文献[30]利用邻域像素隶属度对当前像素聚类所得到的隶属度进行修正,再调整聚类中心,以此来提高FCM 分割算法的鲁棒性。文献[31]提出条件空间约束的模糊聚类算法并用于MRI 图像的分割,其本质仍是利用邻域像素隶属度信息对当前像素的隶属度进行约束。文献[32]提出基于组合隶属度的快速模糊聚类算法,通过构造组合隶属度函数,对迭代中的隶属度直接滤波处理,提高了算法的实用性。本文算法的基本思想与文献[30-32]相同,且通过实验分析也证实了本文算法是收敛的。
MRI 图像的质量对临床医学的诊断有着重要意义,是由高斯噪声污染的实部图像和虚部图像经取模运算而得到的模图像,因此最终得到的图像是受莱斯噪声污染的[33]。MRI 图像分布与信号有关,当图像的信噪比较大时莱斯分布趋向于高斯分布,当图像的信噪比较小时莱斯分布呈现瑞利分布,这使得去除莱斯噪声更加困难。因此,本文对受莱斯干扰的合成图、MRI 图像及偏置图进行分割测试。
采用误分率(Misclassified Error,ME)、精确度(Accuracy,ACC)、峰值信噪比(Peak Signal to Noise Ratio,PSNR)、划分系数(Partition Coefficient,PC)、划分熵(Partition Entropy,PE)和Jaccard 相似(Jaccard Similarity,JS)系数作为算法分割的评价指标。将像素引导隶属度滤波和隶属度引导像素滤波的交替引导滤波与KWFLICM 算法相结合。为了验证本文算法的优越性,对基于交替引导滤波的核模糊聚类算法和传统核模糊聚类算法的分割结果进行比较。对合成图、MRI 图像和偏置图分别添加不同强度的莱斯噪声进行测试。
对合成图添加均方差为45 的莱斯噪声,采用KFCM、KFCM_S1、KFCM_S2、KFLICM、KWFLICM算法及它们应用交替引导滤波进行改进的算法对图像进行分割,所得分割结果和评价指标分别如图2及表1 所示,其中最优指标值用加粗字体标示。
表1 合成图的分割评价指标Table 1 Segmentation evaluation indexes of synthetic image
图2 莱斯噪声干扰的合成图及各算法分割结果Fig.2 Synthetic image interfered by Rician noise and segmentation results of various algorithms
对2 幅灰度MRI 图像分别添加均方差为40 和55 的莱斯噪声,采用KFCM、KFCM_S1、KFCM_S2、KFLICM、KWFLICM 算法及它们采用交替引导滤波进行改进的算法对图像进行分割,所得分割结果和评价指标分别如图3、图4 及表2 所示,其中最优指标值用加粗字体标示。
图3 莱斯噪声干扰的MRI 图1 及各算法分割结果Fig.3 MRI image 1 interfered by Rician noise and segmentation results of various algorithms
图4 莱斯噪声干扰的MRI 图2 及各算法分割结果Fig.4 MRI image 2 interfered by Rician noise and segmentation results of various algorithms
对2 幅灰度偏置图(灰度设置为20%和0%)分别添加均方差为40 和40 的莱斯噪声,采用KFCM、KFCM_S1、KFCM_S2、KFLICM、KWFLICM 算法及它们采用交替引导滤波进行改进的算法对图像进行分割,所得分割结果和评价指标分别如图5、图6 及表3 所示,其中最优指标值用加粗字体标示。
表3 偏置图分割评价指标Table 3 Segmentation evaluation indexes of bias images
图5 莱斯噪声干扰的偏置图1 及各算法分割结果Fig.5 Bias image 1 interfered by Rician noise and segmentation results of various algorithms
图6 莱斯噪声干扰的偏置图2 及各算法分割结果Fig.6 Bias image 2 interfered by Rician noise and segmentation results of various algorithms
从图2~图6 可以看出:对于受莱斯噪声干扰的图像,KFCM 算法忽略了像素的空间信息,导致分割结果不理想,分割结果中含有大量噪声点;KFCM_S1、KFCM_S2、KFLICM、KWFLICM 算法的分割结果中存在的噪声点较少,在一定程度上增强了算法的抗噪性、提高了算法的分割性能,其中KFCM_S2 引入邻域中值信息,抑制了原图像中的大部分莱斯噪声,KFLICM 算法虽然引入了具有空间邻域信息的局部模糊因子,但分割结果却不理想,KWFLICM 算法在KFLICM 算法的基础上改进了局部模糊因子,分割结果较好,但仍含有部分噪声,在引入交替引导滤波之后,相比于传统核模糊聚类算法,分割结果中的噪声点明显减少,算法评价指标也明显变好;将KWFLICM 算法和交替引导滤波相结合的本文算法获得的图像几乎不含噪声且细节清晰,分割效果较好。
从表1~表3 可以看出:本文算法在莱斯噪声干扰下的误分率、精确度、峰值信噪比、划分系数、划分熵、Jaccard 相似系数等评价指标上表现更优,表明本文算法在莱斯噪声抑制方面具有一定的优势。
为了验证交替引导滤波的优越性,对MRI 图1 分别添加不同强度的莱斯噪声,测试不同算法在莱斯噪声干扰下的误分率、精确度、峰值信噪比、划分系数、划分熵、Jaccard 相似系数的曲线变化,如图7 所示。
图7 不同算法随莱斯噪声变化的分割性能曲线Fig.7 Segmentation performance curves of different algorithms with Rician noise
从图7 可以看出,分割结果的误分率和划分熵会随着噪声强度的增加而增加,精确度、峰值信噪比、划分系数、Jaccard 相似系数会随着噪声强度的增加而减小。在核空间内,基于交替引导滤波的模糊聚类算法的噪声变化曲线图均优于传统核模糊聚类算法的噪声变化曲线图。本文算法将引入空间位置信息与邻域灰度信息的KWFLICM 算法与交替引导滤波相结合,随着噪声强度的增加,除个别评价指标外,其余各项评价指标均优于其他算法,且噪声变化曲线能保持相对稳定性,大幅提升了算法的性能,无论是从视觉效果还是定量评价指标来看,本文算法在抗莱斯噪声方面具有明显优势。
为比较上述算法的运行效率,对不同算法的计算复杂度进行分析。对n个像素且可分为c类的图像进行分割,w2代表像素的邻域窗口大小,t代表迭代次数。FCM 算法的计算复杂度来自算法的迭代复杂 度O(nct);FCM_S1 或FCM_S2 算法的计 算复杂度主要由两部分组成:一部分来自每个像素的均值或中值信息的计算复杂度O(nw2),另一部分为算法迭代复杂度O(nct);FLICM 算法的复杂度为算法迭代复 杂度O(nctw2);KWFLICM 算法在FLICM 算法的基础上改进了模糊因子,计算复杂度为O(nctw2+n(w+1)2)。在引入双重引导滤波后,算法的计算复杂度由引导滤波器的计算复杂度O(nct)和算法本身的计算复杂度组成。不同算法的计算复杂度如表4 所示。为了直观地展示本文算法的运行效率,分别对受莱斯噪声污染的MRI 图1 测试所有算法的时间开销。不同算法的时间开销柱状图如图8所示。
表4 不同算法的计算复杂度比较Table 4 Computational complexity comparison of different algorithms
图8 不同算法的时间开销比较Fig.8 Time cost comparison of different algorithms
为实现基于引导滤波的模糊聚类算法在图像分割中的应用并降低图像中噪声的敏感性,本文提出一种基于交替引导滤波的鲁棒模糊聚类算法。该算法将像素引导隶属度和隶属度引导像素的交替引导滤波与KWFLICM 算法相结合,有效抑制了图像中的噪声,进一步提升了聚类性能。实验结果表明,本文算法对于莱斯噪声图像的分割效果明显优于传统核模糊聚类算法,证明了其可对噪声环境下的图像进行有效分割。后续将结合并行紧致差分进化方法、Spark 平台和GPU 系统进一步加快本文聚类算法的运行速度,以满足实时图像处理需求。