基于交叉变异人工鱼群算法的多阈值图像分割方法与流程

文档序号:11251901阅读:502来源:国知局
基于交叉变异人工鱼群算法的多阈值图像分割方法与流程

本发明属于图像处理技术领域,更进一步涉及一种对多阈值图像的分割方法,可用于计算机视觉分析中。



背景技术:

多阈值图像分割技术是把图像划分成若干个有意义的区域,保证后续工作的有效进行,是图像处理到图像分析的重要步骤。其中多阈值图像分割方法的主要思想就是将选取多个合适的阈值,将灰度值位于两个阈值之间的像素点归属为同一类,使得分割后的选取的阈值能够满足kapur最大熵或者满足otsu准则的公式,然后将分类后的结果映射回原来图像的空间上,由此得到最后的图像分割结果。

传统的基于kapur最大熵准则的二维阈值图像分割法需要通过穷举法才能得出相应阈值,对于只需要将图像分割为两类的二维阈值分割法,穷举法只需要遍历所有的灰度值,选择合适的单个阈值即可,但是随着问题复杂度的增加,对于要将图像分割为多个类别的多阈值图像分割而言,需要求出对应的多个阈值,但是穷举法的计算时间过长,同时也增加了模型的复杂度,因此采用传统的穷举法已经无法满足复杂问题的需求。

人工鱼群算法是群智能算法中的一种,群智能算法主要是基于对自然界生物生活行为的模仿优化算法,群体是由众多个体组成的,其中群体中每个个体均作为优化问题的一种潜在解,首先通过对所有个体选取初始解,然后对当前的解进行不断的更新,当搜索到最优解或者达到最大搜索次数时结束。blum在文章"swarmintelligenceinoptimization."swarmintelligence.springerberlinheidelberg,2008.43-85.中提到群智能算法中群体中的每个个体功能简单,但是通过个体之间的交互,整个群体能够解决复杂的问题,同时与传统的算法相比具有更强的鲁棒性与高效性。yang在文章"swarmintelligencebasedalgorithms:acriticalanalysis."evolutionaryintelligence7.1(2014):17-28.中提到由于群智能算法中群体规模较大,因此初始值选择的可能性更多,自由度更大。

群智能算法的优点在于,群体中每个个体均可看作一组不同的可能解,整个群体具有很强的解的多样性,然后通过群体的某种行为模式,对不同个体的解进行更新,在满足目标函数的准则上,找出最优的解。群智能算法不需要过多的先验知识即可优化复杂的问题。

因此越来越多的研究学者将群智能算法与多阈值图像分割进行结合,例如,horng在论文"multilevelthresholdingselectionbasedontheartificialbeecolonyalgorithmforimagesegmentation."expertsystemswithapplications38.11(2011)中提出的通过将人工蜂群算法与多阈值图像分割思想结合,其中人工蜂群算法的探索能力较强,但是开发能力较弱,因此在迭代过程中寻优效率较差。sun在"grayscaleimagesegmentationusingmultilevelthresholdingandnature-inspiredalgorithms."hybridsoftcomputingforimagesegmentation.springerinternationalpublishing,2016.23-52.中提出将粒子群与重力搜索混合算法与多阈值图像分割思想结合,其中粒子群与重力搜索混合算法具有较强的开发能力,但是探索能力较弱,因此寻优效率只在迭代过程初期较强,难以保持长期的较高寻优效率。依据kapur最大熵准则,实现多阈值图像分割,与传统的穷举法相比较,基于群智能算法的多阈值图像分割算法计算过程所需要的时间大大的缩短,但是由于基于群智能算法的多阈值图像分割本身难以很好的平衡寻优过程中的探索能力与开发能力,造成无法找到最佳的最优阈值可能解的问题,导致求得的阈值分割后的图像信息丢失严重,分割效果不够好,进一步影响计算机视觉分析的过程。



技术实现要素:

本发明的目的在于克服上述现有技术的不足,提出一种基于交叉变异人工鱼群算法的多阈值图像分割方法,以减小图像信息的丢失情况,同时提高图像的分割效果。

本发明通过将基于交叉变异人工鱼群算法与多阈值图像分割思想进行结合,利用该算法具有能够进一步平衡寻优过程中的探索能力与开发能力的优势进行图像分割。遵循kapur最大信息熵的准则,求解合适的阈值满足适应度函数的最大值,适应度函数值越大,说明分割效果越好。首先将人工鱼群中的每个个体分别代表一组不同阈值的可能解,根据适应度函数计算对应的适应度,再通过人工鱼群算法中不同的行为模式进行迭代与更新,最终输出搜索到的最大适应度对应的阈值组合解,再根据该阈值组合对图像中的像素点进行分类,将图像有效的分割。

为实现上述目的,本发明的技术方案如下:

(1)输入灰度图像,并提取灰度图像中像素点的个数m×n,任意像素点的灰度值为dk,k∈[1,m×n],每个像素点的灰度值取值范围为[0,l-1],其中m和n分别代表图像中像素点的行和列,l表示为灰度值的级数;

(2)设定分割图像的阈值个数c,从所有灰度值中随机选择c个不同灰度作为

一组阈值的可能解,共挑选n组阈值可能解,其中每组阈值的可能解可以表示为a,b,...p∈k且a≠b≠...≠p,i∈[1,n];

(3)取(2)中选择的n组阈值可能解,将每组阈值可能解中的灰度值按照从小到大的顺序重新排列,得到排序后的阈值可能解:并将作为人工鱼群体中第i个人工鱼的初始解,其中表示对应的该组阈值可能解中第m个阈值,m∈[1,c];

(4)获取图像的灰度直方图h,其中所有像素点中灰度值为j的像素点个数hj,j∈[0,l-1];

(5)计算(4)中所有hj占(1)中像素点总数m×n的比例pj:pj=hj/(m×n),j∈[0,l-1];

(6)根据初始解中的c个阈值与(5)中的pj,计算初始解中c+1个灰度值区间的灰度值概率和ω0

(7)根据(5)中的pj与(6)中ω0计算初始解中c+1个灰度值区间的熵h0

(8)根据(7)中的初始解的熵h0,计算每个人工鱼初始解的适应度保存n个人工鱼初始解中具有最大适应度的一组阈值可能解xb,得到适应度最大值f(xb);

(9)迭代计算n个人工鱼解:

取t表示当前迭代次数,t∈[0,maxt],其中t=0代表开始迭代前的初始状态,设第i个人工鱼第t次迭代的适应度为i∈[1,n],maxt表示迭代总次数,v表示所有人工鱼的视野范围,其迭代步骤如下:

(9a)令t=1;

(9b)选出第t-1次迭代适应度最高的n1个和适应度最低的n2个人工鱼解并将其余人工鱼解更新为i∈[1,n];i∈[1,n];

(9c)将(9b)中的n1个人工鱼解用交叉行为更新为

(9d)计算(9b)中的n2个人工鱼解到(7)中xb的欧氏距离如果则使用局部变异行为将更新为否则使用全局变异行为将更新为

(9e)根据所有更新后的中的c个阈值,计算第t次迭代c+1个灰度值区间的灰度值概率和ωt

(9f)根据(5)中的pj与(9e)中ωt,计算第t次迭代c+1个灰度值区间的熵ht

(9g)根据(9f)中得到的熵ht,计算第t次迭代的每个人工鱼解的适应度i∈[1,n];

(9h)将(9g)中的所有适应度与(7)中的适应度最大值f(xb)进行比较:如果则将适应度最大值更新为将最优的阈值可能解更新为否则,不更新;

(9i)比较t与maxt的大小,如果t<maxt,则令t=t+1,返回(9b),否则输出f(xb)与xb,执行步骤(10);

(10)用(9i)中输出的具有最大适应度的一组阈值可能解xb计算所有像素点的灰度值d'k,将(1)中的dk更新为d'k,输出图像,k∈[1,m×n]。

本发明与现有技术相比具有以下优点:

第一,由于本发明引入了交叉行为,针对群体中适应度最高的前n1个个体进行交叉,通过优秀小规模群体之间的信息交互,使得更加优良的可能解得以保留,提高了群体寻优过程中的探索能力。

第二,由于本发明引入了变异行为,并针对群体中适应度最差的后n2个个体进行变异,能最大限度的诱导收敛搜索性能差的人工鱼个体突变为新的可能解,降低了劣势解对群体寻优结果的影响,增强了整个群体的多样性,从而一定程度上提高了群体寻优过程中的开发能力。

第三,本发明由于提高了群体的探索能力,增强了整个群体的多样性与跳出局部极值点的能力,因此能够更好的平衡寻优过程中的探索能力与开发能力,因而能够选择出更加合适的阈值,使得分割后的图像能够克服丢失过多信息的缺点,实现更加高效的图像分割结果。

附图说明

图1为本发明流程图。

图2为输入的原始图像;

图3中为用本发明和现有方法对图2的分割结果图;

图4为本发明和现有方法迭代过程中的适应度最大值曲线。

具体实施方式

下面结合附图,对本发明作进一步的详细描述。

本发明对原始人工鱼群算法的寻优能力进行改进,引入了交叉行为和变异行为,通过选取合适的灰度值作为分割阈值,令群体中每条人工鱼个体代表一组分割阈值的可能解,通过一定的迭代次数,基于交叉变异人工鱼群算法对所有的可能解进行更新。在每次迭代过程中,每条人工鱼通过选择不同的行为模式更新自身信息,在达到最大迭代次数时,输出搜索到的适应度函数最大值对应的最优阈值解,最终根据最优阈值解分割图像。

参照图1,对本发明实施步骤作进一步的详细描述。

步骤1,输入灰度图像。

从图库里获取4幅灰度图像并输入,在每幅灰度图像中提取m×n个像素点,每个像素点的灰度值为dk,k∈[1,m×n],每个像素点的灰度值取值范围为[0,l-1],其中m和n分别代表图像中像素点的行和列,l表示为灰度值的级数。

步骤2:设定分割图像的阈值个数c。

图像分割的目标数取决于阈值个数c,c个阈值能将图像分割为c+1个目标,因此分割前需要设定分割图像的阈值个数c,其实现步骤如下:

2.1)从灰度值范围内随机选取c个灰度值作为c个阈值,再将这c个阈值作为一组阈值可能解;

2.2)选取n组阈值可能解,将每组阈值可能解表示为其中da,db,...,dp表示图像中第a,b,...p个像素点的灰度值a,b,...p∈[1,m×n],且a≠b≠...≠p,i∈[1,n],m×n表示图像中像素点总数。

步骤3:初始化人工鱼群算法。

人工鱼群算法是一种以群体为基础的优化算法,群体中的每个个体可以作为解决问

题的一种解,设群体中有n个人工鱼,其中每个人工鱼代表一组阈值可能解,人工鱼初始化则表示获取n个人工鱼初始解,其过程如下:

取步骤2中选取的n组阈值可能解,将每组阈值可能解中的灰度值按照从小到大的顺序重新排列,排序后的阈值可能解表示为:其中

作为人工鱼群体中第i个人工鱼的初始解,其中表示中的第m个阈值,m∈[1,c]。

步骤4:获取图像的灰度直方图h。

根据步骤1中获取的所有像素点和每个像素点的灰度值dk,得到灰度值j从0到l-1的所有hj,其中hj表示灰度值为j的像素点个数,j∈[0,l-1];用hj作为纵轴,使用灰度值j作为横轴,得到的示意图即为灰度直方图h。

步骤5:根据灰度值为j的像素点个数,计算每个灰度值对应像素点个数所占像素总数的比例pj:pj=hj/(m×n),j∈[0,l-1],其中m×n表示像素点总数,l表示灰度级数。

步骤6:根据pj计算灰度值区间的灰度值概率和ω0

取步骤3中的n个人工鱼初始解x0,将第i个人工鱼初始解表示为其对应的一组灰度值概率和表示为每组中包含c+1个灰度值概率和,i∈[1,n],计算过程如下:

6.1)按顺序取c+2个灰度值,分别为0、中的c个阈值和l-1,其中每两个相邻灰度值之间的范围表示一个区间,用c+2个灰度值将灰度值范围[0,l-1]划分为c+1个灰度值区间,将第i组第q个灰度值区间的灰度值概率和表示为q∈[1,c+1];

6.2)计算第1个灰度值区间的灰度值概率和:

6.2)计算第r个灰度值区间的灰度值概率和:

6.3)计算第c+1个灰度值区间的灰度值概率和:

其中表示第i个人工鱼初始解的第r个阈值,pj表示灰度值为j的像素点占像素点总数的比例。

步骤7:计算灰度值区间的熵h0

取步骤5中的pj与步骤(6)中的n组灰度值概率和ω0,计算n组灰度值区间的熵h0,其中第i组灰度值区间的熵表示为i∈[1,n],第i组中第q个灰度值区间的熵表示为q∈[1,c+1],其中的计算过程如下:

(7.1)计算第1个灰度值区间的熵:

(7.2)计算第r个灰度值区间的熵:

(7.3)计算第c+1个灰度值区间的熵:

其中表示第i个人工鱼初始解的第r个阈值,pj表示灰度值为j的像素点占像素点总数的比例,表示初始解中第i个人工鱼第r个灰度值区间的灰度值概率和。

步骤8:计算人工鱼初始解的适应度,保存适应度最大值和最优阈值可能解。

适应度能够衡量分割图像的能力,适应度值越大,说明图像分割效果越好。

8.1)根据步骤7中的n组初始解的熵h0,计算n个人工鱼初始解的适应度,第i个人工鱼初始解的适应度表示为其计算公式如下:

8.2)计算适应度最大值f(xb):

其中xb表示n个人工鱼解中适应度最大的一组阈值可能解,也称为最优阈值可能解,表示第i个人工鱼初始解第λ个灰度值区间的熵。

步骤9:迭代计算n个人工鱼解。

取t表示当前迭代次数,maxt表示迭代总次数,t∈[0,maxt],其中t=0代表开始迭代前的初始状态,v表示所有人工鱼的视野范围,设第i个人工鱼第t次迭代的适应度为i∈[1,n],其迭代步骤如下:

9.1)初始化迭代次数t,令t=1;

9.2)选出第t-1次迭代适应度最高的n1个和适应度最低的n2个人工鱼解并将群体中其余人工鱼解更新为其中i∈[1,n];

9.3)更新9.2)中的n1个人工鱼解

使用交叉行为更新9.2)中的n1个人工鱼解更新过程按如下公式计算:

其中交叉行为是一种更新解的方式,p=0.5表示交叉因子,xi与xj均为步骤(9b)中所述n1个人工鱼解其中之一,表示第t-1次迭代第i个人工鱼解,表示更新后的第t次迭代第i个人工鱼解,并且i,j∈[1,n],i≠j;

9.4)更新9.2)中的n2个人工鱼解

对于9.2)中的n2个人工鱼解有两种更新方式,包括使用局部变异行为更新和使用全局变异行为更新,而对于更新方式的选择,取决于比较与v的大小,按如下公式计算:

其中表示第t-1次迭代第i个人工鱼解的第w个阈值,xb,w表示步骤8)中所述最优阈值可能解的第w个阈值,v表示人工鱼的视野范围;

如果使用局部变异行为将更新为否则,使用全局变异行为将更新为

局部变异行为更新公式如下:

其中rand(0,1)表示0到1之间的随机数,代表第t次迭代第i个人工鱼解xi的第m个阈值,xb,m代表中xb的第m个阈值。

全局变异行为更新过程为:在灰度值的取值范围内随机选择c个不同灰度值,从小到大排列后,作为的第t次迭代更新后第i个人工鱼解

9.5)计算第t次迭代灰度值区间的灰度值概率和ωt

取第t次迭代n组更新后的人工鱼解xt,第i个人工鱼初始解表示为每个对应一组灰度值概率和每组中包含c+1个灰度值概率和,i∈[1,n],计算过程如下:

9.5.1)按顺序取c+2个灰度值,分别为0、中的c个阈值与l-1,其中每两个相邻灰度值之间的范围表示一个区间,用该c+2个灰度值将灰度值范围[0,l-1]划分为c+1个灰度值区间,第i组第q个灰度值区间的灰度值概率和表示为q∈[1,c+1];

9.5.2)计算第1个灰度值区间的灰度值概率和:

9.5.3)计算第r个灰度值区间的灰度值概率和:

9.5.4)计算第c+1个灰度值区间的灰度值概率和:

其中表示第t次迭代第i个人工鱼解的第r个阈值,pj表示灰度值为j个像素点占像素点总数的比例;

9.6)计算第t次迭代灰度值区间的熵ht

取步骤5中的pj与步骤9.5)中的n组灰度值区间的灰度值概率和ωt,计算n组灰度值区间的熵ht,其中第i组灰度值区间的熵表示为i∈[1,n],第i组中第q个灰度值区间的熵表示为q∈[1,c+1],其中的计算过程如下:

9.6.1)计算第1个灰度值区间的熵:

9.6.2)计算第r个灰度值区间的熵:

9.6.3)计算第c+1个灰度值区间的熵:

其中表示第t次迭代第i个人工鱼解的第r个阈值,pj表示灰度值为j的像素点占像素点总数的比例,表示第t次迭代第i个人工鱼解第r个灰度值区间的灰度值概率和;

9.7)计算第t次迭代n个人工鱼解的适应度。

根据9.6)中得到的第t次迭代n组灰度值区间的熵ht,计算第t次迭代n个人工鱼解的适应度,其中第i个人工鱼解的适应度表示为i∈[1,n],其计算公式如下:

其中表示第t次迭代第i个人工鱼解第λ个灰度值区间的熵;

9.8)判断是否更新适应度最大值与最优阈值解:

取步骤9.7)中n个适应度f(xt),其中第i个适应度表示为比较与步骤8)中所述适应度最大值f(xb)的大小:

如果则将适应度最大值f(xb)更新为并将步骤8)中所述最优阈值可能解xb更新为否则,不进行更新。

步骤10:判断是否结束迭代过程。

比较t与maxt的大小,如果t<maxt,则令t=t+1,返回步骤9.2),否则,输出步骤8)中的f(xb)与xb,结束迭代过程,执行步骤(11),其中t表示当前迭代次数,maxt表示迭代总数。

步骤11:更新图像中所有像素点的灰度值,并输出图像。

11.1)取步骤10中输出的xb与步骤1中的dk,将所有像素点的灰度值更新为d'k,k∈[1,m×n],d'k的更新过程是通过比较dk与xb中c个阈值的大小确定:

如果dk<xb,1,d'k=1;

如果xb,s-1≤dk<xb,s,d′k=s,s∈[2,c];

如果dk≥xb,c,d'k=c+1;

其中xb代表8)中所述最优阈值可能解,xb,1代表xb中第1个阈值,xb,s代表xb中第s个阈值,xb,c表示xb中第c个阈值;

11.2)输出像素点灰度值更新后的图像。

本发明的结果可通过以下仿真结果进一步说明:

1.仿真环境与条件:

采用matlab2012a作为仿真软件。

从图库输入一幅大小为481x321的灰度图像,如图2所示;

设定迭代总数maxt=150,种群规模n=20,视野范围v=31,较优个体数量n1=6,较差个体数量n2=6,人工蜂群算法和粒子群与重力搜索混合算法的参数按照背景技术中对应的参考文献中设置。

2.仿真内容:

仿真一:

取阈值个数c=5,分别使用本发明、人工蜂群算法和粒子群与重力搜索混合算法对图2进行1次分割仿真,分割后的图像如图3所示,其中图3中的(a)图表示使用本发明对图2分割后的图像,图3中的(b)图表示使用人工蜂群算法对图2分割后的图像,图3中的(c)图表示使用粒子群与重力搜索混合算法对图2分割后的图像。

仿真二:

取阈值个数c=5,分别使用本发明、人工蜂群算法abc和粒子群与重力搜索混合算法psogsa对图2进行1分割仿真,迭代次数为maxt,仿真迭代过程中适应度最大值的仿真曲线,结果图4所示。

仿真三:

取阈值个数c分别为2,3,4,5,使用本发明、人工蜂群算法abc表和粒子群与重力搜索混合算法,psogsa对图2进行分割仿真,对于每种阈值个数取值,都进行30次分割仿真,每次分割仿真都有对应的数据结果,其中包括适应度最大值和最优阈值可能解,展示30次分割仿真中具有最好分割效果的一次对应的数据结果,如表1。

计算30次数据结果中适应度最大值的均值和标准差std,结果如表2中所示。

表1

表2

3.仿真结果分析:

多阈值图像分割算法的评判标准为:分割后的图像越接近原图说明分割算法效果越好。从图3(b)可以看出,人工蜂群算法分割后的图像丢失信息最多,从图3(c)中可以看出粒子群与重力搜索混合算法分割后的图像丢失信息也较多,均不能全面展示图2中的内容,从图3中(a)可以看出,本发明分割后的图像信息丢失较少,更接近原图,说明本发明分割效果更好,这是因为本发明加快了群体搜寻到最优结果的速度,增强了整个群体的多样性与跳出局部极值点的能力,因而能够选择出更加合适的阈值,使得分割后的图像能够克服丢失过多信息的缺点。

从图4中可以看出,abc曲线虽然不断上升,但是搜索到的适应度最大值太差,说明abc的探索能力较强,但是开发能力较弱;psogsa曲线在第10次迭代次数之前一直保持较快的增长趋势,但是很快趋于平稳,说明该算法的开发能力较强,但是探索能力较弱;本发明在较长的迭代过程中搜索到的适应度最大值保持较大的斜率增长,说明了本算法的开发能力较强,同时可以看出本发明在短期的迭代过程中搜索到更大的适应度最大值,说明本发明的整体搜索能力更强,能够更好的平衡寻优过程中的开发能力与探索能力,因此分割效果更好。

从表1中可以看出,在阈值个数形同的情况下,本发明的适应度最大值更大,说明本发明的分割效果更好。

从表2中可以看出,在阈值个数相同的情况下,本发明的均值最大,并且标准差最小,说明本发明在多次分割仿真中的效果更加稳定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1