基于改进粒子群的二维模糊散度多阈值图像分割

2020-09-09 03:09
计算机应用与软件 2020年9期
关键词:散度邻域灰度

杨 梦 雷 博 赵 强 兰 蓉

(西安邮电大学通信与信息工程学院 陕西 西安 710121)

0 引 言

图像分割是图像处理过程中的关键步骤[1],常用的有基于阈值、区域、边缘及聚类的图像分割方法[2-5],阈值化算法因实现简单且性能稳定而应用广泛。Otsu[6]于1979年提出的Otsu法,只利用图像灰度信息进行分割,分割精度较低。1993年,刘健庄等[7]提出灰度图像的二维Otsu自动阈值分割方法,考虑像素灰度值的同时,结合像素的空间邻域信息,从而改善一维Otsu算法的抗噪性能。

在基于二元灰度空间的多阈值分割算法中,一方面,由于多阈值分割算法采用穷举搜索法,计算复杂度随阈值数呈指数形式增长[8];另一方面,经典二维阈值分割算法的运算量也会随阈值数而快速增加。为了解决上述问题,众多学者将群智能优化算法应用于二维多阈值分割算法,如:粒子群优化(Particle Swarm Optimization,PSO)算法[9]、狼群算法(Wolf Pack Algorithm,WPA)[10]和差分进化(Differential Evolution,DE)算法[11]等。2017年,曹爽等[12]提出狼群算法优化二维Otsu快速图像分割算法。2019年,罗钧等[13]提出基于改进的自适应差分演化算法的二维Otsu多阈值图像分割。由于PSO算法参数少,易于实现,且搜索最优解的性能优于其他智能优化算法[9,11],因此被广泛讨论,但其易陷入局部最优,造成虚假收敛[14]。

由于图像边缘具有渐变特性,且受成像设备影响,使得图像具有一定的模糊性,因此将模糊理论应用于图像分割具有合理性。1992年,Bhandari[15]引入K-L散度衡量两个模糊集之间的差别,并将其应用于图像分割[15]。2016年,Zhao等[16]提出基于改进粒子群的二维K-L散度多阈值图像分割算法。2010年,兰蓉等[17]给出α-型模糊散度,并在2017年将其应用于图像分割[18]。然而,已有基于α-型模糊散度的阈值分割算法未涉及复杂图像的多阈值分割问题,而且没有考虑图像像素的空间邻域信息,导致分割精度较低[13]。

基于此,本文提出基于改进粒子群的二维模糊散度多阈值图像分割算法。建立二维隶属度函数,进而推导出二维多阈值α-型模糊散度计算式作为选取最佳阈值的准则函数;针对PSO算法易陷入局部最优,造成虚假收敛的问题,分别对PSO的“自我认知”和“社会认知”部分进行改进;用改进后的粒子群算法优化求解二维多阈值α-型模糊散度。实验结果表明,本文算法相较对比算法,有较好的分割性能和较高的分割精度。

1 相关工作

1.1 模糊集

定义1设X为论域,则X上的模糊集合A可以表示为:

A={(x,μA(x)):x∈X}

(1)

式中:映射μA:X→[0,1]称为模糊集A的隶属度函数。

1.2 基于模糊散度的阈值分割算法

在基于模糊散度的阈值分割算法中,选取最佳阈值的准则函数为α-型模糊散度。

(2)

式中:α>0且α≠1;g∈{0,1,…,L-1},L为图像最大灰度级;T为分割阈值;μA(g;T)是建立图像模糊集的隶属度函数。常用的隶属度函数有Gamma型,限制等价型(Restricted Equivalence Function,REF)和指数型等。当式(2)最小时对应的T为最佳分割阈值。

1.3 二维直方图

令f(x,y)(1≤x≤M,1≤y≤N)表示一幅大小为M×N的图像。每个像素点的d×d邻域内的平均灰度值为:

(3)

设f(x,y)=i,g(x,y)=j,0≤i,j≤L-1,L为图像的最大灰度级。则二维直方图定义为:

(4)

式中:num(f(x,y)=i∩g(x,y)=j)表示灰度值为i及其邻域平均灰度值为j的像素点出现的次数。Pi,j构成图像的二维直方图,如图1所示。图中:A1,A2,…,An为背景或目标区域,其他区域为边界或噪声区域。T={t1,t2,…,tn-1}和S={s1,s2,…,sn-1}分别为灰度空间和邻域灰度空间上的n-1阈值。

图1 二维多阈值分割直方图

1.4 PSO算法

Eberhart等[19]在1995年提出了PSO算法。其具体步骤如下。

步骤1设置PSO算法的各参数:学习因子c1和c2,惯性因子wmax和wmin,种群大小N,最大迭代次数G,搜索空间维数D。初始化粒子的速度和位置。

步骤2计算适应度函数,并根据算法的具体要求得到全局最佳位置及其适应度值。

步骤3按照下式更新粒子的速度、位置和惯性因子。t为当前迭代次数,r1和r2均为[0,1]上的随机数。

(5)

(6)

w(t)=wmax-(wmax-wmin)×t/G

(7)

步骤4判断是否满足终止条件。若满足,输出全局最优位置,若不满足,则返回步骤2。

2 算法设计

2.1 二维模糊散度

模糊散度可以衡量两个模糊集之间的差别,而模糊集一般用隶属度函数表示。常用的隶属度函数仅考虑图像像素的灰度信息,而未考虑其空间邻域信息。本文选择REF2型隶属度函数[20]建立图像的模糊集,设T={t1,t2,…,tn-1}和S={s1,s2,…,sn-1}分别为灰度空间和邻域灰度空间上的n-1个阈值。则对应空间上的多阈值隶属度函数分别为:

(8)

(9)

式中:c为归一化参数;ma1,ma2,…,man和mb1,mb2,…,mbn分别为定义在二维直方图上的灰度空间和邻域灰度空间不同区域的均值。

(10)

(11)

(12)

式中:gmax和gmin分别为图像的最大和最小灰度值;t0=0,tn=L-1,s0=0,sn=L-1;Pi,j为二维直方图。

因此,二维灰度空间下的二维多阈值隶属度函数为:

(13)

则二维多阈值α-型模糊散度为:

(14)

当其达到最小值时对应的阈值为最优阈值。

2.2 基于线性函数改进的PSO算法(IPSO)

PSO算法中,学习因子c1和c2分别控制着当前粒子向个体最优位置和全局最优位置的学习能力,即分别控制着PSO的“自我认知”和“社会认知”部分。粒子在不同c1和c2值下的搜索能力不同。在迭代初期,粒子与个体最优距离较近,与全局最优距离较远,需要增强粒子的“自我认知”能力,减弱“社会认知”能力,即需要较大的c1值和较小的c2值。在迭代后期,粒子与个体最优距离较远,与全局最优距离较近,需要减弱粒子的“自我认知”能力,增强“社会认知”能力,即需要较小的c1值和较大的c2值。但经典PSO算法中,c1和c2值都是固定值。因此,本文采用线性递减和线性递增函数分别对PSO算法的“自我认知”和“社会认知”部分进行改进:

(15)

(16)

式中:c10和c20为学习因子的初始值;t和G分别为当前迭代次数和最大迭代次数。则改进后的速度更新公式为:

(17)

2.3 基于IPSO的二维模糊散度多阈值图像分割

步骤1输入待分割图像,若为彩色图像,则将其转化为灰度图像;统计最大灰度值gmax和最小灰度值gmin;计算图像的二维直方图Pi,j。

步骤2设置IPSO算法的各参数:学习因子c10和c20,惯性因子wmin和wmax,种群大小N,最大迭代次数G,优化求解问题的维数D。分别在灰度空间和邻域灰度空间上初始化粒子的位置和速度。

步骤3分别对灰度空间和邻域灰度空间上的位置按升序排序,并有序赋值给对应空间上的多个阈值。

步骤4选择REF2型隶属度函数建立图像的模糊集。根据式(13)计算二维多阈值隶属度函数,再根据式(14)计算二维多阈值α-型模糊散度作为IPSO算法的适应度函数。通过极小化适应度函数确定最佳适应度值和全局最优位置。

步骤5根据式(6)-式(7)和式(15)-式(17)更新粒子的惯性因子、速度和位置。

步骤6判断是否到达最大迭代次数。若是,则输出灰度空间和邻域灰度空间上的全局最优位置并作为最优阈值实现图像的多阈值分割;若不是,则返回步骤3。

3 实 验

本文选择Berkeley BSD500图库[21]中的#3063、#3096、#118035、#24063、#241004和#55067进行仿真实验,阈值数目分别为1、1、2、2、3、4。

所有实验环境均为:Windows 8;Intel Core-i5 CPU;4.00 GB RAM;MATLAB R2014a。

3.1 对比算法和参数设置

为验证本文算法的有效性,采用的对比算法为2DOtsu算法[7]、WPA2DOtsu算法[12]和2DKLMPSO算法[16]。α-型模糊散度中,参数α=0.5。像素邻域大小为3×3。IPSO算法中,学习因子c10=2,c20=2,惯性因子wmin=0.4,wmax=0.9。种群大小N=50,最大迭代次数G=100。

3.2 性能指标

为进一步验证本文算法的有效性,选择峰值信噪比[14](Peak Signal to Noise Ration,PSNR),特征相似性[14](Feature Similarity Index,FSIM)和分类误差[22](Misclassification Error,ME)客观评价本文算法的性能。

PSNR值越大,表示失真越小,图像分割效果越好。

(18)

(19)

FSIM值越大,表示分割后图像的质量越好。

(20)

PCmax(x)=max(PC1(x),PC2(x))

(21)

SL(x)=[SPC(x)]∂·[SG(x)]β

(22)

(23)

(24)

式中:δ为整幅图像的像素域,PC1(x)和PC2(x)分别为原始图像和分割后图像的相位一致性,G1(x)和G2(x)分别为原始图像和分割后图像的梯度幅值,∂、β、M1和M2为常数。

ME值越小,表示被错分的像素越少,分割后图像的质量越好。

(25)

式中:mT1,mT2,…,mTn表示实际分割图像对应区域的像素;mo1,mo2,…,mon表示理想分割或者Ground-Truth对应区域的像素。

3.3 实验结果

所选6幅测试图像的多阈值分割结果如图2-图7所示,其中:(a)和(b)分别为原图像和Ground-Truth,(c)-(f)分别为2DOtsu算法、WPA2DOtsu算法、2DKLMPSO算法和本文算法的分割结果。PSO算法和IPSO算法对各测试图像的收敛曲线如图8所示。表1列出了4种算法对各测试图像的性能指标值。

图2 图像#3063单阈值分割结果

图3 图像#3096单阈值分割结果

图4 图像#118035二阈值分割结果

图5 图像#24063二阈值分割结果

图6 图像#241004三阈值分割结果

图7 图像#55067四阈值分割结果

表1 各算法PSNR值,FSIM值和ME值对比

续表1

对于#3063和#3096,2DOtsu算法和WPA2DOtsu算法出现大量像素误判现象,本文算法相比于2DKLMPSO算法,可以保留更多的机身信息,由表1可以看出,本文算法的3种指标值优于对比算法。对于#118035,本文算法对房顶处理较好,表1列出的3种性能指标值也优于对比算法。对于#24063,本文算法对右上角的处理较好,其PSNR值、FSIM值和ME值保持一定的优势。对于#241004,2DOtsu算法和WPA2DOtsu算法对草地处理较差,2DKLMPSO算法将部分山峰误分为天空,本文算法的分割结果更接近于Ground-Truth,其PSNR值和FSIM值保持一定的优势,但ME值不及2DOtsu算法。对于#55067,2DOtsu算法和WPA2DOtsu算法出现大量边缘像素误判现象,2DKLMPSO算法出现部分山峦错分现象,本文算法的分割结果在视觉效果上更接近于Ground-Truth,其对应的PSNR值、FSIM值和ME值也优于对比算法。

由图8可以看出,相比于PSO算法,改进后的IPSO算法可以有效改善过早收敛,陷入局部最优的现象,能够扩大最优解的搜索范围,保持解的多样性。

对6幅测试图像,本文算法的平均运行时间为68.675 0 s,未加IPSO算法的二维多阈值α-型模糊散度平均运行时间在64 800 s以上。本文算法耗时明显较少。

4 结 语

本文提出一种基于IPSO的二维模糊散度多阈值图像分割算法。首先,在二元灰度空间上建立二维多阈值隶属度函数,进而构造二维多阈值α-型模糊散度作为选取最佳阈值的准则函数;其次,用线性递减和线性递增函数分别对PSO算法的“自我认知”和“社会认知”部分进行改进,以改善PSO算法易陷入局部最优,造成虚假收敛的问题;最后,为解决未加优化的二维多阈值分割算法耗时长的问题,用改进后的IPSO算法优化求解二维多阈值α-型模糊散度的最优阈值,实现图像的多阈值分割。实验结果表明,本文算法对不同测试图像有较好的分割结果,提高了分割精度,同时节省了大量时间。

猜你喜欢
散度邻域灰度
基于混合变邻域的自动化滴灌轮灌分组算法
采用改进导重法的拓扑结构灰度单元过滤技术
含例邻域逻辑的萨奎斯特对应理论
融合t-分布随机邻域嵌入与自动谱聚类的脑功能精细分区方法
天津港智慧工作平台灰度发布系统和流程设计
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Arduino小车巡线程序的灰度阈值优化方案
静电场边界问题专题教学方法探索及推广应用
绵阳机场冬季连续浓雾天气成因及特征分析
邻域平均法对矢量图平滑处理