-
图像分割是基于某种分组标准将图像细分成更易于分析内容的过程.对于基于计算机视觉的应用,如面部识别、机器视觉、对象跟踪等领域,图像分割是一项重要的预处理任务[1].目前,用于图像分割的技术很多,大致可以分为基于边界、基于区域、基于聚类以及基于阈值4类方法[2-3].基于阈值的方法是最简单、计算效率高且应用最为广泛的图像分割方法之一.阈值技术的主要目的是找出用于图像分割的阈值.在双阈值法中,选择一个阈值将图像分割为目标和背景;而在多级阈值法中,多个阈值被确定,并将图像分割为多个区域.
多阈值选择属于一个优化问题[4].传统方法采用穷举搜索来获取最佳阈值,计算十分复杂耗时.近年来,由于元启发式技术在解决现实世界中高度非线性和多峰优化问题的突出表现而受到广泛关注,许多研究者提出了一系列应用元启发式技术来获得最优阈值的方法[5].文献[6]提出了一种基于鲸鱼优化和蛾-火焰优化算法的多级阈值图像分割方法,该方法利用鲸鱼优化和蛾-火焰优化两种自然启发算法来确定多级阈值情况下的最佳阈值,但是该算法的控制参数较多,产生较大的计算复杂度.文献[7]提出了一种基于灰狼优化器的多级阈值处理方法,该算法受到灰狼社交和狩猎行为的启发,利用Kapur熵和Otsu类间方差函数解决多级阈值问题,但是该方法存在收敛精度不够的问题.文献[8]提出了一种基于蛾群算法的多阈值图像分割方法,该元启发式算法通过使用Kapur熵方法来降低最佳阈值的计算复杂度.文献[9]提出了一种基于粒子群优化算法和模糊熵的多级阈值图像分割算法,通过选择香农熵和模糊熵作为优化技术的目标函数,建立了基于粒子群优化算法的多层次阈值分割模型,解决了模型收敛缓慢、计算成本高的问题.上述两种方法有效降低了计算复杂度,提高了收敛速度,但是存在高度依赖于初始控制参数值的问题.文献[10]提出了一种基于改进蜻蜓优化算法的彩色图像分割方法,该方法通过结合蜻蜓算法和差分进化算法,提高了图像阈值技术的准确性和稳定性.
针对大多数优化算法需要大量的控制参数,性能高度依赖于初始控制参数值,传统Kapur熵存在计算效率低的问题,本文提出了一种基于乌鸦搜索优化算法的多级阈值图像分割方法,该方法采用的控制参数较少,从而有效避免了过早收敛的现象.而且,本文采用的Kapur熵比其他熵在测度时获取了更高的平均分数,从而产生了正概率和全局最大熵.
全文HTML
-
乌鸦搜索算法(Crow Search Algorithm,CSA)是基于乌鸦觅食过程而提出的一种智能优化算法[11]. CSA的工作原理:乌鸦搜索算法由N个个体组成,单个个体在d维环境中的位置可以由矢量表示为xi,iteration={x1i,iteration,x2i,iteration,…,xdi,iteration},i=1,2,…,N,iteration=1,…,Maxiter,Maxiter表示最大迭代次数.每个个体藏匿食物的位置都由一个记忆值表示,在第itr迭代中,第i只乌鸦在当前获取的最佳隐匿位置可以表示为mi,itr.此外,每个个体都会记住自己当前的最佳位置.而且个体i在环境中移动,寻找更好的隐藏位置并记住这个位置.如果个体j想要访问其最佳隐藏位置mj,itr,而其他乌鸦i想要跟随j发现其隐藏位置,这种情况存在两种可能:第一种可能是个体j不知道被跟踪,则乌鸦i发现个体j的食物隐藏位置;第二种可能是是个体j发现乌鸦i在跟踪它,为了保护自己食物不被发现,乌鸦j通过转移位置来欺骗乌鸦i.将这两种情况结合起来,可以得到乌鸦i的新位置.
其中,ri和rj取0~1之间的随机数,fli,itr表示飞行长度,APj,itr表示意识概率.在评估适应度函数之后,使用等式(2)更新每个乌鸦的记忆值.
-
本文提出了一种基于乌鸦搜索优化算法的多级阈值图像分割方法.在此方法中,Kapur熵作为适应度函数,采用乌鸦搜索算法将熵最大化,以达到最佳阈值.多个阈值将图像分为多个类别进行分割,随着阈值数量增加,该方法通过向搜索空间添加更多限制和形式来增加问题的复杂性.
-
考虑给定图像中存在G级灰度,像素总数为N.令f(i)为第i个强度级的频率,则
第i个强度级的概率由公式(4)给出.
假设有M个阈值,{th1,th2,…,thM},其中1≤M≤G-1.使用这些阈值,将给定图像划分为M+1个片段,并表示为Class(0)={0,1,…,th1-1},Class(1)={th1,th1+1,…,th2-1}和Class(M+1)={thM-1,thM-1+1,…,thM}.多级阈值是一个优化问题,通过最大化目标函数来进行优化.
在多级阈值化中,多个阈值在候选解决方案中被编码.假设种群数量为N,并且种群内的每个个体都由d个阈值组成.因此,解向量SV可以表示为
其中,Ci=[th1,th2,…,thd].
-
从物理学的角度,熵代表系统中的无序;在信息论中,熵是数据同质性和数据中是否存在冗余的量度[12].本文使用的Kapur熵[13]是一种双层阈值方法,Kapur熵标准进一步扩展可以解决多级阈值问题,并广泛用于多级图像分割中.多阈值问题的Kapur熵方法可以描述为:目标函数可以表示M+1个图像片段的组合熵,即计算每个图像片段的熵并将其求和.
其中,Ei表示第i个图像片段的熵.公式(6)给出了Kapur熵方法的计算公式.
为了获得多级阈值,目标函数最大化的优化问题可以通过公式(7)求得,本文采用乌鸦搜索算法作为优化算法.乌鸦搜索算法只有两个控制参数,飞行长度fl和意识概率AP.意识概率AP用于搜索空间的多样化,飞行长度fl不会在很大程度上影响解决方案,但是正确选择意识概率会极大地影响最终结果.乌鸦搜索算法在探索和开发之间具有更好的平衡,该算法收敛更快,且不会产生过早收敛导致局部最优现象的发生,从而保证了乌鸦搜索算法比其他元启发式优化技术更具优势.
2.1. 基于多级阈值的图像分割
2.2. 基于乌鸦搜索算法的Kapur熵
-
将本文测试结果与蛾-火焰优化算法(MFO)[6]、灰狼优化器算法(GWO)[7]、蛾群算法(MSA)[8]和改进蜻蜓优化(IDA)[10]等算法进行对比分析.本文算法的参数设置如下:种群数量N=20,飞行长度fl=2,意识概率AP=0.01,最大迭代次数为1 500次.终止条件还包括:如果经过10%的迭代后适应度值没有显着变化,则算法立即停止.
-
为了比较分割图像与原始参考图像的相似性,采用图像处理中常用的3种指标评价本文算法的性能:峰值信噪比(PSNR)、结构相似性指数(SSIM)和特征相似度(FSIM).
PSNR表示分割图像的最大像素值与噪声的比值,PSNR越大,说明分割图像失真越小,图像的效果越好.
SSIM从亮度(均值)、对比度(方差)和结构3个层次比较图像失真,但经常用于比较分割图像与原始图像间的结构相似形,SSIM在[-1, 1]区间范围内取值,其值越接近1,说明两者结构相似性越好,相反相似性越差.
FSIM是通过调节相位一致性和梯度幅度特征来计算图像之间的相似性,FSIM越大,说明分割图像失真越小.
-
图 3、图 4显示了本文提出的使用乌鸦搜索算法后分割图像的视觉质量. 图 3a-图 3f和图 4a-图 4f分别表示原始灰度图像、具有2,4,8,16,32个阈值的分割图像.从图 3、图 4中可以清楚地看出,使用CSA获得的最佳阈值对所有基准图像进行了很好的分割,证明了CSA的有效搜索能力.
为了研究CSA与其他一些启发式算法相比的性能,本文使用不同的分割质量指标和MFO,GWO,MSA和IDA算法进行对比.
与最新的多级阈值元启发式算法相比,本文方法的性能更好,具有良好的分割能力,而且在阈值等级高时的搜索能力更佳.随着阈值等级的增加,PSNR,SSIM以及FSIM的值也随之提高,说明分割后的图像越接近原始图像,分割算法的效果越好.
表 1给出了本文算法与MFO,GWO,MSA和IDA采用不同阈值分割图像的计算时间.从表 1中可以明显看出,对于测试图像而言,本文算法比其他算法的计算效率更高.除此之外,从表 1中还可以发现,随着阈值等级增加,算法的运行时间也随之增加,说明阈值等级越高,分割算法的计算量越大.但是,本文采用乌鸦搜索算法后,使得分割效率提升明显,完全适用于实际工程问题.
3.1. 评价指标
3.2. 实验结果与分析
-
本文提出一种基于乌鸦搜索优化算法的多级阈值图像分割方法,解决了传统Kapur熵在多阈值图像分割算法中存在计算复杂度高,计算时间过长的问题.该方法将多级阈值处理视为优化过程,并使用CSA的搜索功能和Kapur熵作为目标函数,其主要优点是使用较少的参数,从而避免了因过早收敛而发生局部最优的情况.通过基准图像集测试,本文算法在多个评价指标上的性能明显优于其他分割算法,而且具有极高的计算效率和适用度.