基于复合布谷鸟算法的彩色图像多阈值分割∗
2019-05-07邓小亚
邓小亚
(四川文理学院智能制造学院 达州 635000)
1 引言
图像分割在图像预处理中具有重要的作用,可以将一个图像分为有意义的多个子图像,在医学图像处理[1]、遥感图像[2~3]、模式识别[4~5]等方面都有广泛的应用,多年来人们对图像分割提出了很多的方法,其中最为广泛的还是阈值分割法,主要原因是由于阈值分割法的简单和高效。单阈值分割方法最早出现,但对于现实生活来说,单阈值分割方法并不能满足实际的需要,因而出现了多阈值分割方法[4~5],而多阈值分割方法中多阈值的选择一般是高维空间的寻优问题,因此产生了许多的多阈值优化求解方法,但是多阈值分割方法随着阈值数的增加其计算的复杂性明显增加,当前应用广泛的多阈值分割方法是使用进化算法的计算技术,简单且广泛,因而得到了广泛的应用,产生了诸多的进化算法运用于多阈值分割中[6~8],本文中我们将多阈值分割方法作为一个限制性优化问题,通过一种称为CS(布谷鸟算法)的元启发算法来进行多阈值寻优。
2 布谷鸟搜索算法及改进算法的彩色图像多阈值分割
本文以改进的复合布谷鸟搜索算法进行彩色图像多阈值分割,其中适应度函数采用Tsallis熵函数[9]所求得的全局最优解就是最优阈值,其全局最优解分量就是最优阈值分量。
2.1 布谷鸟搜索算法
布谷鸟搜索算法[10~12]是一种重要的元启发式搜索算法,因此能在限制及非限制条件下进行局部和全局寻优,布谷鸟搜索算法主要缘于一些布谷鸟会将一些蛋寄生在其他种类鸟的巢中,而被其他种类的宿主鸟类发现后,宿主鸟可能将这些布谷鸟蛋抛弃或重新建一个新的鸟巢而受启发产生的一种新的算法,由于本算法中的最优解是多维空间的全局最优解,研究者为解决布谷算法中高维空间的最优目标函数问题进行了大量探索,如文献[13]提出的方法以及典型的Tsallis熵函数方法等。本文采用基于Tsallis熵函数的方法。
在此算法中一个解的值就对应于相应的目标函数值,也就是适应度值,但CS算法并不同于其他的搜索算法,它是一种元启发式算法,采用离散信息编码方式因而很容易被用于病态化结构的离散优化问题甚至连续优化问题中,并且能在复杂的高维空间中寻求优化解而不需要采用穷举式搜索,在多目标问题和非线性问题中都有重要的应用,本文中一个解对应一个鸟巢,每个解分量对应一个鸟蛋。
CS算法的基本原理如下:
1)每一只布谷鸟在一个时间只能产一枚蛋,并将蛋放入随机选择的其他鸟类的鸟巢中。
2)通常情况下,含高质量的蛋最优鸟巢很容易被传递到下一代。
3)利用鸟巢的数量是固定的,而布谷鸟所放入的蛋被宿主发现的概率范围一般为[0,1]之间,最差的鸟巢被发现且从进一步的计算中抛弃。
在此三个基本原理基础上产生了CS算法,而且控制参数[14]的选择比较简单,包含步长因子,发现概率等,而产生的新解的公式xt+1,对第i只布谷鸟来说,其莱维飞行计算公式如下:
其中α>0是步长因子,λ为莱维因子,λ∈(1,3],t为迭代次数。
2.2 对布谷鸟算法的改进
由于布谷鸟算法中,每只布谷鸟是随机行走,其漫步的随机性导致收敛较慢甚至容易早熟,因此在莱维飞行结束后,对当前位置进行变异:
左边 PSi,j表示变异后的位置,右边 PSi,j表示变异前的位置,β∈[0,1]的随机数,μ∈[-1,1]之间的随机数,PSbest,j表示当前全局最优位置,k≠i,η为柯西变异因子,可以帮助逃离局部最优,右边第二式可以帮助布谷鸟粒子尽快收敛于全局最优,第三式可以帮助增加布谷鸟飞行寻优位置的多样性,同时步长因子和发现概率也对布谷鸟算法收敛的速度和质量有重要影响,因此本文对步长因子和发现概率各提出了一个新的方程。
其中对步长因子,方程如下:
其中L为变异后步长因子,Lmin为最小步长因子、Lmax为最大步长因子,t为当前迭代次数、tmax为最大迭代次数。
而发现概率,其方程如下:
其中P为变异后发现概率,Pmin为最小发现概率、Pmax为最大发现概率,t、tmax同上面步长因子分别为当前迭代次数和最大迭代次数,d取值为6。
步长因子和发现概率利用非递性函数,有利于前期的较大的全局搜索能力和后期的局部寻优能力。
2.3 本文提出的算法
本文采用提出的改进算法(HCS算法),进行彩色图像多阈值分割,算法所得到的全局最优解就是全局最优阈值。
本文提出的算法如下:
1)初始化布谷鸟种群相关参数,并设置相关问题控制变量;
2)评估适应函数值,并从所有初始解中识别局部最优解,并开始迭代过程;
3)布谷鸟莱维飞行结束后,以式(2)对当前布谷鸟位置进行变异;
4)以式(3)、(4)中所计算的步长因子和发现概率莱维飞行;
5)计算适应函数值,并识别出当前局部最优解和全局最优解;
6)对所有局部最优解和全局最优解标记;
7)重复3)~6);
8)当达到收敛标准或满足预定条件时,算法终止;
9)输出全局最优解即为最优阈值,每个解向量即为每个阈值分量。
2.4 测试函数下改进算法与传统算法的性能比较
为验证本文提出的改进复合布谷鸟算法(HCS)的性能,将HCS算法与布谷鸟算法(CS)和粒子群体优化算法(PSO)在函数优化领域广泛采用的典型测试函数Sphere中进行验证测试,三种情况下的收敛性能如图1所示。
图1 标准测试函数Sphere下,HCS、CS及PSO算法性能比较结果图
从图1中三种算法的收敛性能比较,可以看出,图(a)中算法收敛不仅迭代次数较多,而且收敛时误差也较大,而图(b)中收敛误差相比图(a)的收敛误差小,迭代次数也减少,说明CS算法在Sphere函数下收敛性能比PSO算法要好,图(c)中是本文提出的改进算法HCS算法的收敛图,从图(c)中可以看出,本文提出的HCS算法在标准测试函数Sphere函数下收敛性能最好,收敛时迭代次数比CS算法稍微多些,但收敛误差更小,且不仅迭代次数还是收敛时的误差HCS算法都比PSO算法好。
3 实验结果与分析
本实验基于Matlab平台,其硬件配置为8GB内存,处理器为四核3.6GHz,在实验中采用了多张图片进行了大量实验,实验素材来自网络和实验室,限于篇幅,本文选取了巴厘岛中的蓝梦岛图片的实验结果,本实验分为两部分,第一部分是实验的多阈值分割效果展示及分析,第二部分是实验结果中的数据分析。
3.1 三种算法对巴厘岛中蓝梦岛的多阈值分割结果图比较
第一部分是本文提出的复合布谷鸟算法(HCS)算法、标准布谷鸟算法(CS)、粒子群优化算法(PSO)分别作用于巴厘岛中蓝梦岛的多阈值分割结果图的主观分析,如图2~图4所示。
图2 巴厘岛中蓝梦岛原图及三种算法的二阈值分割结果图
图3 巴厘岛中蓝梦岛原图及三种算法的三阈值分割结果图
图4 巴厘岛中蓝梦岛原图及三种算法的四阈值分割结果图
在图2中的三种算法分割结果图中,图(b)是PSO算法对蓝梦岛的二阈值分割结果图,其分割效果是最差的,在蓝梦岛图的岛边的小船及岛上的房屋建筑边缘几乎没分割出来,岛上的高塔明显没分割出来,远处的云彩边缘分割得不准确,出现了许多错分和漏分现象,而图2中的图(c),是CS算法对蓝梦岛的二阈值分割结果图,其分割效果比图(b)要好,蓝梦岛边上的船及岛上的建筑都一定程度分割了出来,岛上的高塔及远处的云彩也有部分被分割出来,而图(d)是图2的三种算法分割效果图中最好的,岛上的建筑及高塔分割效果明显比图(c)要好,远处云彩及岛边的船分割也要清晰些,但总的来说,图2中三种算法的二阈值分割效果并不理想,离理想分割效果有较大的差距。图3是三种算法在蓝梦岛上三阈值分割效果图,其分割效果普遍比二阈值要好,而且HCS算法分割效果比CS算法好,CS算法分割效果比PSO算法分割效果好,而图4中其分割效果不仅总体上比图3好,而且HCS算法分割效果比CS算法好,CS算法分割效果比PSO算法分割效果好,因而从图2~图4的多阈值分割效果来看,在每个图中图(d)的分割效果都是最好的,从所有图的对巴厘岛中蓝梦岛的分割效果来看,在图4中图(d)的分割效果是最好的,这说明本文所提出的HCS算法在三种算法的多阈值分割中,分割效果是比较理想的。
3.2 三种算法在巴厘岛中蓝梦岛图片上进行多阈值分割的实验结果数据比较
第二部分是本文提出的三种算法对巴厘岛的蓝梦岛图片进行多阈值分割实验结果数据指标比较,三种算法对巴厘岛的蓝梦岛的二阈值、三阈值、四阈值分割的运行时间及均一度[15]比较如表1所示。
从表1可知,在对巴厘岛中蓝梦岛的三种算法的多阈值分割时间及均一度分割的实验结果数据来看,在同为二阈值时,本文提出的HCS算法所用时间是PSO算法所用时间的66.45%,是CS算法所用时间的73.01%,在同为三阈值时,本文所提出的HCS算法所用时间是PSO算法所用时间的75.39%,是CS算法所用时间的87.52%,在同为四阈值时,本文所提出的HCS算法所用时间是PSO算法所用时间的46.74%,是CS算法所用时间的64.83%,因此在相同阈值情况下,本文所提出的HCS算法的分割时间是最短的,从均一度来看,从PSO算法至CS算法至HCS算法,其均一度值逐渐增大,根据均一度值原理,可知从PSO算法至HCS算法,不仅总体分割效果逐渐变好,而且CS算法的二阈值分割效果比PSO算法的四阈值分割效果好,HCS算法的二阈值分割效果比CS算法的四阈值分割效果好。总之,无论从时间上还是从多阈值分割图像的均一度来看,本文所提出的HCS算法的分割效果在三种算法中都是最好的。
表1 三种算法的实验对比结果
4 结语
本文在CS算法中引入ABC算法的蜜蜂寻优行为,由此提出一种改进CS算法即HCS算法,并通过标准函数Sphere对HCS、CS及PSO三种算法的收敛性能进行了比较,实验结果表明本文提出的HCS算法的收敛性能最好,并以此HCS算法作用于彩色图像多阈值分割,通过在二阈值、三阈值、四阈值的三种算法对比实验中,对三种算法的多阈值彩色分割的主观效果进行了比较并对客观实验数据时间及均一度也进行了定量比较,其实验结果都证明了本文所提算法的有效性。