一种基于变异型粒子群算法的图像分割方法及系统
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于变异型粒子群算法的图像分割方法及系统。
背景技术
随着计算机技术的飞跃发展,人们越来越多的利用计算机来帮助人类获取和处理视觉图像信息。据统计,在人类从外界获取的信息中有80%是来自于视觉,这包括图像、图形、视频等。他是人们最有效的信息获取和交流方式,图像也因其所含的信息量大、表现直观而在多媒体处理技术中占有非常重要的位置。
图像分割的是图像特征提取和识别等图像理解的基础。对图像的加工主要处于图像处理的层次,图像分割后,对图像的分析才有可能。另外,图像分割在实际中也得到了广泛的应用,特别是近年来随着计算机技术和图形图像学的飞速发展,使得图像分割技术成为其他很多研究方向能否顺利发展的一个重要基础。
阈值分割法因实现简单、运算效率高而成为一种有效的图像分割方法,而阈值的确定是使用阈值分割法进行图像分割的关键。然而要在一幅多峰直方图的全灰度范围内搜索一个最佳的多阈值组合使得分割结果更为精准,求解的过程将变得异常耗时,无法满足图像分割对实时性的要求,严重地阻碍了该方法的进一步发展。
可使用灰度阈值对图像进行区域分割,首先对于一幅灰度图像,该技术会根据预先确定的一个处于图像灰度取值范围中的灰度阈值将所有像素归为两大类,灰度值大于阈值的像素为一类,灰度值小于阈值的像素归为一类,灰度值等于阈值的像素可视情况归为前面两类当中的任意一类。通常情况下,两类像素分属于图像中的两类区域,从而根据阈值分类完成了对图像的分割。
例如,公开号为CN104599271A的专利文献公开了一种基于CIE Lab彩色空间的灰度阈值分割方法,包括如下步骤:步骤1:将RGB彩色空间的图像变换至CIE Lab彩色空间;步骤2:对CIE Lab彩色空间的各个灰度通道进行高斯直方图滤波;步骤3:采用Otsu阈值法计算出各个灰度通道的阈值,并调整阈值为局部极小值;步骤4:计算CIE Lab彩色空间的各个灰度通道的灰度分离度,选取灰度分离度最大的灰度通道,采用步骤3中计算出的相应的阈值进行二值化分割。该方法可用于解决彩色图像的分割问题,但与本发明的技术方案不同。
使用灰度阈值对图像进行区域分割,需要基于先验知识来确定图像的灰度阈值,然而先验知识往往是基于以往的经验总结出来的,并不能很好地适应不同的情况。
发明内容
本发明所要解决的技术问题在于,在现有技术中,使用灰度阈值对图像进行区域分割适应性不好,需要基于经验来确定图像的灰度阈值,并不能很好地适应不同的情况。
本发明解决其技术问题,提出一种基于变异型粒子群算法的图像分割方法及系统。
所述基于变异型粒子群算法的图像分割方法包括:
利用粒子群算法求解用于图像分割的最优灰度阈值;并在粒子群算法进行迭代时,以变异概率调整粒子群的全局最优位置;
使用所述最优灰度阈值对所述图像进行分割。
可选地,所述利用粒子群算法求解用于图像分割的最优灰度阈值;并在粒子群算法进行迭代时,以变异概率调整粒子群的全局最优位置包括:
S21,设定粒子群算法的参数,以对所述图像应用粒子群算法,求解用于图像分割的最优灰度阈值;
S22,计算每个粒子的适应度;并根据所述适应度,更新各个粒子的局部最优灰度阈值和粒子群的全局最优灰度阈值;
S23,以变异概率对当前的全局最优位置进行调整;
S24,更新每个粒子的速度和位置;
S25,检测粒子群算法当前的迭代次数是否到达预设的迭代次数;若没有,返回步骤S22,以进行下一次迭代;若达到,确定最优灰度阈值。
可选地,所述变异概率PM的计算公式为:
其中,PMmax,PMmin分别是最大变异率和最小变异率,tmax为最大的迭代次数;t为当前的迭代次数。
可选地,所述适应度的计算公式为:
f(t)=w1(t)×w2(t)×(u1(t)-u2(t))2
式中,t为粒子找到的灰度阈值,w1(t)为图像中灰度值小于灰度阈值t的像素的个数,w2(t)为图像中灰度值大于灰度阈值t的像素的个数,u1(t)为图像中的灰度值小于灰度阈值t的像素的平均灰度值,u2(t)为图像中灰度值大于灰度阈值t的像素的平均灰度值。
可选地,粒子位置的更新公式为:
式中,为更新后第i个粒子的位置;r1和r2是[0,1]区间的随机数;Pi=(pi1,pi2,…,piD)T为当前第i个粒子搜寻到的最优位置;Pg=(pg1,pg2,…,pgD)T为当前整个粒子群所搜寻到的最优位置;xi=(xi1,xi2,…,xiD)T为第i个粒子所搜寻到的位置;d取值范围为[1,D],D为搜寻的维度;k为迭代次数;c1、c2为加速系数。
所述基于变异型粒子群算法的图像分割系统包括:
最优灰度阈值求解模块,用于利用粒子群算法求解用于图像分割的最优灰度阈值;并在粒子群算法进行迭代时,以变异概率调整粒子群的全局最优位置;
图像分割模块,用于使用所述最优灰度阈值对所述图像进行分割。
可选地,所述最优灰度阈值求解模块包括:
参数设定子模块,用于设定粒子群算法的参数,以对所述图像应用粒子群算法,求解用于图像分割的最优灰度阈值;
适应度计算子模块,用于计算每个粒子的适应度;并根据所述适应度,更新各个粒子的局部最优灰度阈值和粒子群的全局最优灰度阈值;
调整子模块,用于以变异概率对当前的全局最优位置进行调整;
粒子更新子模块,用于更新每个粒子的速度和位置;
检测子模块,用于检测粒子群算法当前的迭代次数是否到达预设的迭代次数;若没有,返回调用适应度计算子模块,以进行下一次迭代;若达到,确定最优灰度阈值。
可选地,所述变异概率PM的计算公式为:
其中,PMmax,PMmin分别是最大变异率和最小变异率,tmax为最大的迭代次数;t为当前的迭代次数。
可选地,所述适应度的计算公式为:
f(t)=w1(t)×w2(t)×(u1(t)-u2(t))2
式中,t为粒子找到的灰度阈值,w1(t)为图像中灰度值小于灰度阈值t的像素的个数,w2(t)为图像中灰度值大于灰度阈值t的像素的个数,u1(t)为图像中的灰度值小于灰度阈值t的像素的平均灰度值,u2(t)为图像中灰度值大于灰度阈值t的像素的平均灰度值。
可选地,粒子位置的更新公式为:
式中,为更新后第i个粒子的位置;r1和r2是[0,1]区间的随机数;Pi=(pi1,pi2,…,piD)T为当前第i个粒子搜寻到的最优位置;Pg=(pg1,pg2,…,pgD)T为当前整个粒子群所搜寻到的最优位置;xi=(xi1,xi2,…,xiD)T为第i个粒子所搜寻到的位置;d取值范围为[1,D],D为搜寻的维度;k为迭代次数;c1、c2为加速系数。
本发明基于变异型粒子群算法计算用于分割图像的灰度阈值,在粒子群算法进行迭代时,以变异概率调整粒子群的全局最优位置,以避免粒子群算法陷入局部最优解和低效率搜索,进而能够获得较优的用于分割图像的灰度阈值。而且本发明提供的图像分割法对不同的图像进行自适应学习,具有较高的适应性和鲁棒性。
附图说明
图1是本发明实施例一提供的一种基于变异型粒子群算法的图像分割方法的流程图;
图2是本发明实施例二提供的一种基于变异型粒子群算法的图像分割方法的流程图;
图3是本发明实施例三提供的一种基于变异型粒子群算法的图像分割系统的结构框图。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
还应当理解,此处所描述的具体实施例仅仅用于理解本发明,并不用于限定本发明。
使用灰度阈值进行图像分割的关键是灰度阈值的确定,本发明使用变异型粒子群算法对灰度阈值进行求解。
在基本的粒子群算法中,首先初始化一群粒子,每个粒子代表一个候选解,并通过适应度函数来评价各个候选解的优劣。各个粒子通过跟踪两个极值来更新自己,在整个候选解空间进行搜索;一个是每个粒子自身到目前为止所搜寻到的最优值,即局部最优解;另一个是整个粒子群到目前为止所搜寻到的最优值,即全局最优解。由于每次搜寻都是在之前搜寻的最优结果的基础上进行的下一步搜索,所以随着迭代次数的不断增加,整个粒子群搜寻的结果质量也会不断提升。然而,在实际的搜寻过程中,如果某个粒子得到了到目前为止种群所发现的最优值,那么其他粒子也将快速向该粒子靠拢,但该粒子所发现的最优值往往是局部最优解,所以这将很有可能导致整个算法陷入局部最优解的现象。
其中,所述局部最优解对应的位置为局部最优位置;所述全局最优解对应的位置为全局最优位置。
此外,在粒子群算法的搜寻过程中,如果当前迭代过程中所发现的最优解不如之前所发现的最优解,那么整个粒子群很可能向该最优解移动,从而导致整个粒子群的搜寻效率降低。
鉴于上述分析,为了避免粒子群算法陷入局部最优解和搜索效率的降低,本发明在粒子群算法迭代时,引入变异操作,即以变异概率调整粒子群的全局最优位置。
所述变异概率在粒子群每次进行迭代时可以有所调整。可将所述变异概率随着迭代次数的增加,而逐渐的减小。
以变异概率调整粒子群的全局最优位置,具体来说,在每次迭代时执行变异操作的概率为变异概率。也就是说,并不是粒子群的每次迭代都一定会执行变异操作,是否执行变异操作是一个概率为变异概率的随机事件。
所述变异操作为调整粒子群的全局最优位置。对全局最优位置的调整可以避免整个粒子群因为全局最优位置处于某个局部最优点时,快速聚集到该局部最优点,陷入局部最优解。
使用本发明提供的基于变异型粒子群算法的图像分割方法可有效的避免上述情况,从而获得较优的用于图像分割的灰度阈值。
进一步地,使用所述最优灰度阈值对所述图像进行分割。
实施例一
图1是本实施例提供的一种基于变异型粒子群算法的图像分割方法的流程图,结合附图详述如下:
步骤S101,利用粒子群算法求解用于图像分割的最优灰度阈值;并在粒子群算法进行迭代时,以变异概率调整粒子群的全局最优位置。
所述变异概率在粒子群每次进行迭代时可以有所调整,也可以使用一个确定值。
可选地,所述变异概率随着迭代次数的增加,而逐渐的减小。到粒子群算法的后期,减小变异概率,有利于各个粒子收敛于一个最优位置。
以变异概率调整粒子群的全局最优位置,具体来说,在每次迭代时执行变异操作的概率为变异概率。也就是说,并不是粒子群的每次迭代都一定会执行变异操作,是否执行变异操作是一个概率为变异概率的随机事件。
例如,当变异概率为PM时,可产生一个区间为[0,1]的随机数p,当该随机数p小于PM时,执行变异操作;否则,不执行变异操作。
所述变异操作为调整粒子群的全局最优位置。对全局最优位置的调整可以避免整个粒子群因为全局最优位置处于某个局部最优点时,快速聚集到该局部最优点,陷入局部最优解。
进一步地,基于上述变异型粒子群算法对图像求解最优灰度阈。
步骤S102,使用所述最优灰度阈值对所述图像进行分割。
本发明基于变异型粒子群算法计算用于分割图像的灰度阈值,在粒子群算法进行迭代时,以变异概率调整粒子群的全局最优位置,以避免粒子群算法陷入局部最优解和低效率搜索,进而能够获得较优的用于分割图像的灰度阈值。而且本发明提供的图像分割法对不同的图像进行自适应学习,具有较高的适应性和鲁棒性。
实施例二
图2是本实施例提供的一种基于变异型粒子群算法的图像分割方法的流程图,结合附图详述如下:
S201,设定粒子群算法的参数,以对所述图像应用粒子群算法,求解用于图像分割的最优灰度阈值。
所述粒子群算法的参数包括:种群的规模、粒子的长度、粒子的范围、最大粒子速度、压缩因子、加速系数、迭代次数。
根据实际情况,对上述参数进行设定,以便将粒子群算法应用于所述图像,以获取用于图像分割的最优灰度阈值。
S202,计算每个粒子的适应度;并根据所述适应度,更新各个粒子的局部最优灰度阈值和粒子群的全局最优灰度阈值。
粒子的适应度用于评价粒子搜寻的解的优劣。
所述适应度的计算公式为:
f(t)=w1(t)×w2(t)×(u1(t)-u2(t))2
式中,t为粒子找到的灰度阈值,w1(t)为图像中灰度值小于灰度阈值t的像素的个数,w2(t)为图像中灰度值大于灰度阈值t的像素的个数,u1(t)为图像中的灰度值小于灰度阈值t的像素的平均灰度值,u2(t)为图像中灰度值大于灰度阈值t的像素的平均灰度值。
通过函数值f(t)的大小来比较灰度阈值的好坏,进而获得各个粒子的局部最优灰度阈值和粒子群的全局最优灰度阈值。
进一步地,需要计算本次迭代搜寻到的灰度阈值的适应度的大小。
根据每个粒子本次迭代搜寻到的灰度阈值的适应度的大小,更新各个粒子的局部最优灰度阈值和粒子群的全局最优灰度阈值。
S203,以变异概率对当前的全局最优位置进行调整。
具体地,所述变异概率PM的计算公式为:
其中,PMmax,PMmin分别是最大变异率和最小变异率,tmax为最大的迭代次数;t为当前的迭代次数。
此外,本发明对调整全局最优位置的方式不作限定。
S204,更新每个粒子的速度和位置。
每次迭代,粒子的运动同时受到局部最优灰度阈值和粒子群的全局最优灰度阈值的影响。
可选地,粒子位置的更新公式为:
式中,为更新后第i个粒子的位置;r1和r2是[0,1]区间的随机数;Pi=(pi1,pi2,…,piD)T为当前第i个粒子搜寻到的最优位置;Pg=(pg1,pg2,…,pgD)T为当前整个粒子群所搜寻到的最优位置;xi=(xi1,xi2,…,xiD)T为第i个粒子所搜寻到的位置;d取值范围为[1,D],D为搜寻的维度;k为迭代次数;c1、c2为加速系数。
其中,c1、c2可取2;D为搜寻的维度,一般取10,这里可理解为用于分割图像的分割线的数目。
S205,检测粒子群算法当前的迭代次数是否到达预设的迭代次数;若没有,返回步骤S202,以进行下一次迭代;若达到,确定最优灰度阈值。
粒子群算法预设的迭代次数在参数设置中设定,可设定为20-50之间的整数值。
步骤S205,使用所述最优灰度阈值对所述图像进行分割。
进一步地,根据求解的最优灰度阈值对所述图像进行分割。
实践证明,根据使用上述提供的变异概率计算公式,可有效的避免粒子群算法陷入局部最优解和低效率搜索,进而获得更优质的用于分割所述图像的灰度阈值。
实施例三
图3是本实施例提供的一种基于变异型粒子群算法的图像分割系统的结构框图,结合附图详述如下:
所述基于变异型粒子群算法的图像分割系统包括:
最优灰度阈值求解模块31,用于利用粒子群算法求解用于图像分割的最优灰度阈值;并在粒子群算法进行迭代时,以变异概率调整粒子群的全局最优位置;
图像分割模块32,用于使用所述最优灰度阈值对所述图像进行分割。
可选地,所述最优灰度阈值求解模块31包括:
参数设定子模块,用于设定粒子群算法的参数,以对所述图像应用粒子群算法,求解用于图像分割的最优灰度阈值;
适应度计算子模块,用于计算每个粒子的适应度;并根据所述适应度,更新各个粒子的局部最优灰度阈值和粒子群的全局最优灰度阈值;
调整子模块,用于以变异概率对当前的全局最优位置进行调整;
粒子更新子模块,用于更新每个粒子的速度和位置;
检测子模块,用于检测粒子群算法当前的迭代次数是否到达预设的迭代次数;若没有,返回调用适应度计算子模块,以进行下一次迭代;若达到,确定最优灰度阈值。
可选地,所述变异概率PM的计算公式为:
其中,PMmax,PMmin分别是最大变异率和最小变异率,tmax为最大的迭代次数;t为当前的迭代次数。
可选地,所述适应度的计算公式为:
f(t)=w1(t)×w2(t)×(u1(t)-u2(t))2
式中,t为粒子找到的灰度阈值,w1(t)为图像中灰度值小于灰度阈值t的像素的个数,w2(t)为图像中灰度值大于灰度阈值t的像素的个数,u1(t)为图像中的灰度值小于灰度阈值t的像素的平均灰度值,u2(t)为图像中灰度值大于灰度阈值t的像素的平均灰度值。
可选地,粒子位置的更新公式为:
式中,为更新后第i个粒子的位置;r1和r2是[0,1]区间的随机数;Pi=(pi1,pi2,…,piD)T为当前第i个粒子搜寻到的最优位置;Pg=(pg1,pg2,…,pgD)T为当前整个粒子群所搜寻到的最优位置;xi=(xi1,xi2,…,xiD)T为第i个粒子所搜寻到的位置;d取值范围为[1,D],D为搜寻的维度;k为迭代次数;c1、c2为加速系数。
本实施例提供的基于变异型粒子群算法的图像分割系统与前述的方法实施例对应,相关的内容参看前述的方法实施例,这里不再赘述。
应当理解,本发明中的步骤并没有严格的执行顺序,所有可预见并且不影响功能的实现的变化都应该在本发明的保护范围内。
在本申请所提供的实施例中,应该理解所描述的方法和系统都是示意性的,在实际实施过程中通过调整可以有所差别。
另外,各功能单元或模块的具体名称也只是为了便于相互区分,并不用于本发明的保护范围。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。