基于空间信息的模糊C-均值噪声图像分割算法
2023-10-12陈息坤
李 力,陈息坤
(1. 广东科学技术职业学院 物联网工程学院,广东 广州 510640;2. 上海大学 机电工程与自动化学院,上海 200444)
0 引言
图像分割是根据像素之间的相似度(包括亮度、颜色和纹理等)将数字图像分为若干个像素组,从而简化后续分析的过程[1-3]。近年来,针对不同的应用场合,出现了多种图像分割算法,如阈值法、区域划分法、边缘检测法和深度学习方法等[4-6]。在真实环境中,由于采集和转换过程中的噪声干扰、图像的质量下降,用上述方法难以产生有效的分割结果。比如面对噪声时,阈值法出现目标和背景混叠的现象,区域划分法产生过分割和欠分割,边缘检测法分割的结果边缘贴合度差,难以满足实际需求,基于深度学习的方法需要大量的噪声图像的学习样本训练模型,复杂度和成本较高。模糊C-均值(Fuzzy C-means,FCM)聚类算法[7]是一种无监督训练算法,因其不需要提前训练样本、算法结构简单和聚类效果好等优点被广泛应用于图像分割领域。
由于传统FCM聚类算法未考虑图像的空间信息,因此对噪声较为敏感,为提高传统FCM算法的鲁棒性和有效性,已经提出许多FCM变体算法以实现更好的性能。目前对于FCM算法的改进大致可分为以下4种:① 基于局部空间信息的FCM算法,该方法考虑了中心像素以外的其他邻域像素,提高了算法的鲁棒性,如模糊局部信息C-均值算法(FLICM)[8]、基于空间约束和偏差校正的模糊C-均值算法(BCEFCM_S)[9]和基于空间约束和隶属度链接的模糊C-均值算法(FCM_SICM)[10];② 基于直方图的方法,该方法将聚类过程由原始图像转换为在直方图上进行聚类,提高了算法的时间效率,如增强型模糊C-均值算法(EnFCM)[11]、快速广义模糊C-均值算法(FGFCM)[12]和快速超像素模糊C-均值算法(SFFCM)[13];③ 基于区域级信息的FCM算法,该方法通过考虑更多的图像冗余信息以提高算法的鲁棒性,如基于区域信息和均值隶属度链接的模糊子空间聚类算法(FSC_LNML)[14]、区域级信息模糊C-均值算法(RLFCM)[15]和自适应区域级模糊C-均值算法(FALRCM)[16];④ 基于特征加权的FCM算法,该方法主要通过考虑图像的多个特征以加强对彩色图像的分割性能,如特征和聚类加权模糊C-均值算法(FWCW_FCM)[17]、聚类加权和组特征加权的模糊C-均值算法(CGFFCM)[18]。
虽然上述算法提高了对噪声的鲁棒性,但其局部空间信息或区域级信息与聚类中心的距离采用欧式距离进行计算。尽管此度量方法在计算上很简单,但是,在分割已被噪声、离群值或其他图像伪影损坏的图像时,使用欧氏距离可能会产生不稳健的结果,因此需要有一种新的度量方法代替欧氏距离,提高算法的鲁棒性。核度量方法由此引入,基于核函数的模糊C-均值算法(KWFLICM)[19]在FLCM的基础上用核度量方法代替欧氏距离,分割性能显著提高。该算法虽然能对噪声图像进行有效分割,但其对局部空间的约束参数无法进行自适应选择,且聚类结果出现过分割现象,影响分割精度。
本文提出一种基于空间信息的模糊C-均值噪声图像分割算法。首先,将区域级信息加入FCM目标函数中,并用核度量方法代替传统欧氏距离,计算区域级空间信息与聚类中心的距离,提高算法对噪声的鲁棒性;其次,用原始图像与区域级空间信息绝对差的倒数和它本身来约束原始图像和区域信息项,实现约束项参数自适应选择;最后,利用连通分量滤波,消除聚类结果中出现的过分割现象,提高分割精度。
1 相关工作
1.1 FCM聚类算法
传统FCM聚类算法通过反复迭代,使目标函数达到最小,将图像I中的N个像素指定为K类:
(1)
式中:ci为第i个聚类簇的中心,uij为第j个像素属于第i个聚类簇的隶属度,m为隶属度权重指数,通常设置为2。通过拉格朗日数乘法,式(1)通过式(2)和式(3)最小化:
(2)
(3)
1.2 区域级信息
传统FCM没有考虑局部空间信息,对噪声比较敏感,为了增强算法对噪声的鲁棒性,将局部空间信息引入FCM目标函数中。但在高噪声图像或混合噪声图像中,中心像素的相邻像素可能大都是噪声像素,因此,考虑其他局部像素块比以中心像素为中心的像素块更合理,区域级信息由此引入目标函数中,区域级信息ξj表示为:
(4)
(5)
式中:xj为原始图像I的第j个像素,xq为落在区域Rj(S×S)的第q个像素,M(xq)和M(xj)分别为以像素xq和像素xj为中心的局部像素块,大小为l×l(l
图1 图像I中的局部像素块与区域级信息的关系Fig.1 The relationship between local pixel blocks and region-level information of image I
2 本文算法
传统FCM算法对噪声图像较为敏感,难以得到理想的分割结果。本文考虑了图像的区域级信息,并用核度量方法代替传统欧氏距离,计算区域级空间信息与聚类中心的距离,然后用原始图像与区域级空间信息绝对差的倒数和它本身来约束原始图像和区域信息项,最后用连通分量滤波,消除聚类过程中出现的过分割现象。
2.1 基于核度量的区域级信息提取
为了提高FCM的抗噪声性能,许多FCM变体算法被提出,其目标函数可以概括为:
(6)
式中:Gij为模糊度因子,β为约束项,不同的算法具有不同的模糊度因子Gij。在基于区域级信息的模糊C-均值算法(FCM_NLS)[20]中,模糊度因子Gij为:
(7)
观察区域级信息约束项Gij,ci所在‖·‖中前面部分为原始图像的区域级信息,则Gij可表示为Gij=‖ξj-ci‖2,其中ξj为图像的区域级信息,因此Gij可以看作区域级信息与聚类中心的欧氏距离计算的结果。尽管此度量方法在计算上很简单,但是使用欧氏距离可能会导致对因噪声、离群值和其他成像伪影而损坏的图像进行分割时出现非稳健的结果。为提高鲁棒性,可将核度量方法引入目标函数代替欧氏距离。
特征空间中的核可以表示为以下函数K:
K=〈Φ(x),Φ(y)〉,
(8)
式中:Φ(·)表示隐式非线性映射,〈Φ(x),Φ(y)〉为内积运算。高斯径向基函数核(GRBF)是一种常用的核算法,其表达式为:
(9)
式中:D为向量的维数,σ为内核带宽,一般设置为4,a≥0,1≤b≤2,显然K(x,x)=1。Φ(xj)和Φ(ci)在特征空间的内积为Φ(xj)TΦ(ci)=K(xj,ci),通过核替换有:
‖Φ(xj)-Φ(ci)‖2=K(xj,xj)+K(ci,ci)-2K(xj,ci)。
(10)
通过这种方法,得到了原始数据空间中一类新的非欧几里德距离测度,由于K(x,x)=1,因此模糊因子Gij=‖ξj-ci‖2可以用下式表示:
(11)
综上所述,基于核度量的区域级信息提取步骤如下:首先,选取图像I的一个像素为中心像素,记为xj,其周围l×l的邻域范围为局部区域,记为M(xj);其次,在以xj为中心的S×S区域内搜寻一个与xj灰度值相同(或相差不大)的像素,记为xq,其局部区域为M(xq),则由上述2个局部区域M(xj)和M(xq)构成的区域即为以像素xj为中心的区域级信息;最后,利用式(4)和式(5)计算区域级信息,并将其引入FCM目标函数中,遍历整幅图像,直至所有像素完成聚类。
2.2 连通分量滤波消除过分割现象
FCM聚类算法将每个像素视为独立的样本,因此在聚类过程中,容易产生过分割现象,即分割结果中包含大量孤立的小区域,如图2所示。
图2 使用连通分量滤波前后的对比Fig.2 The comparison of results before and after using connected component filtering
由图2(c)可以看出,聚类结果包含很多无用的小区域,从而影响分割精度,利用连通分量滤波可以有效地去除这些小区域。
连通分量滤波技术,首先计算所有连通区域的面积,然后由大到小对这些连通分量进行排序,生成面积决策图,接着求出各个连通区域的区间长度,最大区间对应一个区域,该区域的面积被认为是阈值M,最后用得到的M消除孤立区域。文献[21]提出可利用面积密度平衡算法与连通分量滤波相结合来快速寻找阈值M。用χp表示第p个数据点的归一化面积,其中1≤p≤N+1,0≤χp≤1,αq表示第q个区域的面积,ζp表示在半径ε下χp附近的αq的个数,可用公式表示为:
(12)
(13)
式中:Q为由聚类算法得到的连通区域的个数。kq为αq的映射:
(14)
将kq归一化的值作为阈值M进行连通分量滤波消除聚类结果中出现的过分割现象。如图2(d)所示,经过连通分量滤波后,图2(c)中孤立的小区域被滤除,进而提高了分割精度。
2.3 本文算法目标函数
为了提高传统FCM算法对噪声的鲁棒性,提出一种自适应区域级信息约束方法,目标函数为:
(15)
(16)
(17)
本文算法步骤如算法1所示。
算法1:基于区域信息和连通分量滤波的FCM算法输入:图像I,聚类数目K,误差参数ε,最大迭代次数T,局部像素块尺寸l,搜索半径S输出:隶属度矩阵u'ij,聚类中心c'i1.计算原始图像的区域级信息ξj2.初始化隶属度矩阵u'ij、聚类中心c'i3.利用式(11)计算区域级信息与聚类中心的距离4.a←25.重复执行 ⅰ 用式(17)更新聚类中心c'i ⅱ 用式(16)更新隶属度矩阵u'ij ⅲ 用式(15)更新目标函数J(a)m ⅳ a←a+16.直到‖J(a)m-J(a-1)m‖<ε或a>T7.返回 隶属度矩阵u'ij,聚类中心c'i
3 实验结果与分析
为了验证本文算法的有效性,采用合成图像和彩色图像进行测试,并将实验结果与FCM、CGFFCM、FSC_LNML和RLFCM算法进行对比。为了说明算法对不同类型的噪声都具有较强的鲁棒性,实验选用等量的高斯白噪声、椒盐噪声和均匀分布乘性噪声的混合噪声污染图像。
指标采用模糊分割系数VPC、模糊分割熵VPE、分割精准度SA、平均交并比mIoU和归一化互信息NMI:
(18)
(19)
(20)
(21)
式中:Ai为分割结果中第i个聚类簇的像素集合,Ci为参考图像中第i个聚类簇的像素集合。SA、VPC和mIoU越大,分割结果越好,VPE越小分割性能越好。对于图像I1和I2:
(22)
式中:MI(I1,I2)表示I1和I2的互信息,H(I1)和H(I2)分别表示I1和I2的熵,NMI越大,分割结果越好。
对几种算法的参数设置如下:对于所有算法,设置隶属度指数m=2,最小误差ε=10-6,最大迭代次数T=200;对于CGFFCM算法,pint、pmax和pstep分别设置为0、0.8和0.05;对于FSC_LNML和RLFCM算法,设置局部窗口l=9,搜索窗口S=15,平滑度参数h=9;对于本文算法的参数敏感性将在3.3节讨论。
3.1 合成图像分割实验
原始图像大小为256 pixel×256 pixel,在实验过程中分别加入5%、10%、15%和20%的混合噪声,聚类数目K=3。图3为5种算法对含15%混合噪声合成图像的分割结果,5种算法对含混合噪声合成图像的定量指标结果如表1所示。
表1 5种算法对含不同混合噪声的合成图像的性能指标Tab.1 The performance indexes of five algorithms for synthetic images with different mixed noises
图3 5种算法对含15%混合噪声合成图像的分割结果Fig.3 The segmentation results of five algorithms for synthetic images with 15% mixed noise
首先,讨论分割的视觉效果。视觉效果最差的为FCM和CGFFCM算法,因为FCM算法没考虑图像的任何空间信息,对噪声较为敏感,而CGFFCM算法是基于特征的聚类算法,即在算法的输入端输入图像的特征而非图像本身,而在面对噪声时,原始图像的特征被噪声破坏,难以表征图像信息,因此CGFFCM的结果视觉效果较差。FSC_LNML和RLFCM算法虽然考虑了图像的空间信息,但度量像素与聚类中心的距离仍然采用原始的欧氏距离,因此结果中含有一部分噪声斑点,且存在误分割现象,视觉效果较差。本文算法的视觉效果最好,这主要归因于区域级信息和核度量方法。
其次,分析各个算法的性能指标。由表1可以看出,总体上,随着噪声密度的增加,所有算法的性能均有所下降。其中,FCM和CGFFCM算法的性能指标最低,如在噪声密度为20%时,FCM和CGFFCM算法的NMI指标分别为13.33%和11.51%,表明在面对高密度噪声时,这2种算法无法正确执行。RLFCM算法的性能指标较好,接近本文算法,个别指标甚至超过本文算法,如在噪声密度为5%时,RLFCM算法的VPC为98.51%,超过本文算法。本文算法在大多数指标上性能均优于其他几种比较算法,稳定性较好。
3.2 彩色图像分割实验
3.1节的合成图像实验说明本文算法是一种鲁棒性较强的图像分割算法,本小节采用真实的彩色图像验证算法的有效性。为了实验的严谨性,本文测试了来自伯努利数据库(BSDS500)[22]的所有图像,并给出了所有算法的平均性能指标,如表2所示。同时为了展示视觉效果,本文选取几幅具有代表性的图像,将所有算法的分割结果展示在图4中。
表2 5种算法对含不同混合噪声彩色图像的性能指标Tab.2 The performance indexes of five algorithms for color images with different mixed noises
由图4可以看出,FCM算法的分割结果中充满噪声,视觉效果较差。CGFFCM算法存在严重的误分割现象,几乎无法辨别图像中的目标和背景,这表明,CGFFCM算法虽然考虑了图像的多个特征,但面对噪声时,其稳健性逐渐降低。FSC_LNML算法对#24063、#67079的分割结果较好,但在分割#3063时存在误分割,将飞机和天空误分为一类,#86016和#42049的结果中存在少许噪声斑点。RLFCM算法是最近提出的一种基于非局部空间信息的FCM变体算法,其性能较好,因此可以分割大多的彩色图像,但也有例外,如#24063的分割结果中目标比较模糊,#3063的分割结果含有少量噪声。相比前几种算法,本文算法不仅能有效地分割目标,同时可以较好地抑制噪声,视觉效果最好。
在性能指标方面,本文给出了所有算法在BSDS500数据库中的平均性能指标。与合成图像类似,随着噪声的增加,各个指标逐渐降低,但相较于其他算法,本文算法下降得较为缓慢,即本文算法具有更好的稳定性。这主要归因于本文算法考虑了图像的区域信息,同时又以核函数为距离度量,在面对噪声时稳定性更好。
3.3 参数敏感性分析
讨论参数对算法性能的影响,即局部窗口尺寸l和搜索窗口尺寸S的选择。首先,确定l的值,l为局部窗口尺寸,决定邻域范围的大小。如果l太小,则无法有效滤除噪声,而过大的l导致空间运算(即区域信息的提取过程)过分平滑图像,使得图像的细节和边缘信息丢失,进而影响分割精度,因此需要选择合适的l值。如图5所示,随着l增大,算法的性能也相应提升,当l增加到9时,其性能逐渐趋于稳定,因此本文设置l=9。其次,确定S的值,S为搜索窗口的尺寸,当S较小时,算法执行速度较快,但鲁棒性较差,当S较大时,可以有效滤除噪声,但算法的时间效率也相对降低,因此选择合适的S值是至关重要的。如图6所示,随着S的增加,算法的性能也在逐渐提升,但当S增加到15之后,其各个性能增加缓慢,综合时间效率和分割性能考虑,本文设置S=15。
图6 不同S对算法性能的影响Fig.6 The effect of different S values on the performance of the algorithm
3.4 时间复杂度比较
时间复杂度是评价算法性能的重要指标,表3列出了5种算法的时间复杂度,其中N为像素总个数,L为特征数,T为迭代步长。由表3可知,FCM算法的复杂度最低,因为原始FCM算法并未考虑任何空间信息,因此最为简单。复杂度较低的为CGFFCM算法,该算法只考虑图像的特征而没有进行空间运算,因此复杂度较低,本文算法和其他几种算法都是基于区域级信息的FCM算法,因此复杂度较高,为o(n5),但同时鲁棒性也较好。
表3 5种算法的复杂度比较Tab.3 The complexity comparison of five algorithms
4 结束语
本文提出了一种基于空间信息的模糊C-均值噪声图像分割算法。针对传统FCM聚类算法对噪声缺乏鲁棒性的问题,将原始图像的区域级信息加入FCM的目标函数之中,并用核度量方法代替欧氏距离,计算区域级信息与聚类中心之间的距离,提高了算法对噪声的鲁棒性,而且将原始图像与区域级空间信息绝对差的倒数和它本身作为约束项,来自适应约束原始图像和与区域级信息,最后再利用连通分量滤波对聚类结果中出现的孤立小区域进行去除,提高分割精度。通过合成图像和彩色图像分割实验对比,表明本文算法在模糊分割系数、模糊分割熵、分割精确度、平均交互比和归一化互信息等方面均优于CGFFCM、FSC_LNML和RLFCM算法。但本文算法输入参数较多,如何减少输入参数将是下一步的研究目标。