一种基于交叉型粒子群算法的图像分割方法及系统与流程

文档序号:16322734发布日期:2018-12-19 05:46阅读:165来源:国知局
一种基于交叉型粒子群算法的图像分割方法及系统与流程

本发明涉及图像分割领域,尤其涉及一种基于交叉型粒子群算法的图像分割方法及系统。

背景技术

随着计算机技术的飞跃发展,人们越来越多的利用计算机来帮助人类获取和处理视觉图像信息。据统计,在人类从外界获取的信息中有80%是来自于视觉,这包括图像、图形、视频等,它是人们最有效的信息获取和交流方式,图像也因其所含的信息量大、表现直观而在多媒体处理技术中占有非常重要的位置。图像处理从本质上讲是对图像信息进行加工以满足人们的视觉心理或应用需求的行为。而图像分割是图像处理技术中的一种,其目的是将图像分成各具特性的区域并提取出感兴趣的部分以满足人们的某种需要。图像分割的结果是图像特征提取和识别等图像理解的基础,对图像的加工主要处于图像处理的层次,图像分割后,对图像的分析才有可能。另外,图像分割在实际中也得到了广泛的应用,特别是近年来随着计算机技术和图形图像学的飞速发展,使得图像分割技术成为其他很多研究方向能否顺利发展的一个重要基础。

现有技术中,图像分割方法主要有以下几种:

(1)阈值分割法。因实现简单、运算效率高而成为一种有效的图像分割方法,而阈值的确定是阈值法图像分割的关键。然而要在一幅多峰直方图的全灰度范围内搜索一个最佳的多阈值组合使得分割结果更为精准,求解的过程将变得异常耗时,无法满足图像分割对实时性的要求,严重地阻碍了该方法的进一步发展。

(2)并行区域分割技术。该技术是一种采用并行方式对感兴趣区域进行检测来对图像进行分割的技术。首先对于一幅灰度图像,该技术会根据预先确定的一个处于图像灰度取值范围中的灰度阈值将所有像素归为两大类,灰度值大于阈值的像素为一类,灰度值小于阈值的像素归为一类,灰度值等于阈值的像素可视情况归为前面两类当中的任意一类。通常情况下,两类像素分属于图像中的两类区域,从而根据阈值分类完成了对图像的分割。并行区域分割技术需要基于先验知识来确定图像的灰度阈值,然而先验知识往往是基于以往的经验总结出来的,并不能很好地适应不同的情况,其处理结果很大程度上依赖预设的灰度阈值,因此并行区域分割技术自适应性和稳定性往往不尽人意。

(3)现有技术中基于基本粒子群算法实现图像分割中,首先随机初始化一群粒子,而每个粒子则代表一个候选解,并通过适应度函数来评价各个候选解的优劣;在每次的搜寻过程中,各个粒子通过跟随两个“榜样”在整个候选解空间中进行搜索:一个是粒子自身到目前为止所搜寻到的最优值,即局部最优解;另一个是整个种群到目前为止所搜寻到的最优值,即全局最优解。由于每次搜寻都是在之前搜寻的最优结果的基础上进行的进一步搜索,所以随着迭代次数的不断增加,整个群体搜寻的结果质量也会不断提升。然而,在实际的搜寻过程中,如果某个粒子得到了到目前为止种群所发现的最优值,那么其他粒子也将快速向该粒子靠拢,但该粒子所发现的最优值往往是局部最优解,所以这将很有可能导致整个算法陷入局部最优解的现象。另外,在粒子群算法的搜寻过程中,如果某些粒子发现最优的位置,那么全体中的其他粒子也将向这些粒子靠近,然而如果最优位置发生了退化,即当前迭代过程中所发现的最优解不如之前所发现的最优解,那么整个粒子群体就很有可能向该最优解移动,从而导致整个群体搜寻质量的降低。



技术实现要素:

为了克服上述现有技术的缺陷,本发明提供一种基于交叉型粒子群算法的图像分割方法及系统。具体的,本发明的技术方案如下:

一方面,本发明公开了一种基于交叉型粒子群算法的图像分割方法,包括:s100获取待分割图像的灰度值范围;s200根据所述待分割图像的灰度值范围,采用交叉型粒子群算法得到图像分割的最佳灰度阈值;s300根据所述图像分割的最佳灰度阈值,对所述待分割图像进行分割。

优选地,所述步骤s200包括:s210初始化粒子群;s220计算所述粒子群中各粒子的当前适应度值;s230根据所述各粒子的当前适应度值,获取各粒子最新的局部最优解及所述粒子群的全局最优解;s240更新所述粒子群中各粒子的速度和位置;s250对所述粒子群执行交叉调节操作;s260更新所述粒子群中各个粒子执行交叉操作后各自的速度和位置;s270判断当前是否满足结束迭代的条件;若是,进入步骤s280;否则返回步骤s220进入下一次迭代;s280根据最近一次获取的所述粒子群的全局最优解得到图像分割的最佳灰度阈值。

优选地,所述步骤s250包括:s251根据公式(1)获取交叉概率:

其中:pcmax、pcmin分别是最大交叉概率和最小交叉概率,t为当前迭代次数,tmax为最大迭代次数;

s252根据所述交叉概率对所述粒子群的各粒子执行交叉操作。

优选地,所述步骤s230包括:s231将所述粒子群中每个粒子的当前适应度值与其局部最优解对应的适应度值进行比较,若所述粒子的适应度值大于其局部最优解对应的适应度值,则所述粒子的局部最优解更新为所述粒子当前位置;s232将所述粒子群中每个粒子的当前适应度值与当前全局最优解对应的适应度值进行比较,若所述粒子的当前适应度值大于所述全局最优解对应的适应度值,则所述粒子群的全局最优解更新为所述粒子当前位置。

优选地,所述步骤s240及所述步骤s260中更新所述粒子群中计算各粒子的速度采用的公式为:

其中,为第k+1代粒子群第i个粒子第d维的飞行速度;r1和r2是[0,1]区间的随机数;c1、c2为预设的加速系数;为第k代粒子群第i个粒子第d维的飞行速度;为第k代粒子群第i个粒子第d维的局部最优解;为第k代粒子群第d维的全局最优解,为第k代粒子群第i个粒子第d维的位置;

所述步骤s240及所述步骤s260中更新所述粒子群中各粒子的位置中计算各粒子的位置采用的公式为:

其中:为第k+1代粒子群第i个粒子第d维的飞行速度,为第k代粒子群第i个粒子第d维的位置。

优选地,所述步骤s270中结束迭代的条件为当前迭代次数达到预设的最大迭代次数或所述全局最优解满足预设的最小适用阈值。

另一方面,本发明还公开了一种基于交叉型粒子群算法的图像分割系统,包括:获取模块,用于获取待分割图像的灰度值范围;处理模块,用于根据所述获取模块获取的所述待分割图像的灰度值范围,采用交叉型粒子群算法得到图像分割的最佳灰度阈值;分割模块,用于根据所述处理模块得到的图像分割的最佳灰度阈值,对所述待分割图像进行分割。

优选地,所述处理模块包括:初始化子模块,用于初始化粒子群;计算比较子模块,用于计算所述粒子群中各粒子的当前适应度值,并根据所述各粒子的当前适应度值,获取各粒子最新的局部最优解及所述粒子群的全局最优解;计算更新子模块,用于更新所述粒子群中各粒子的速度和位置;交叉操作子模块,用于对所述粒子群执行交叉调节操作;所述计算更新子模块,还用于更新所述粒子群中各个粒子执行交叉操作后各自的速度和位置;判断子模块,用于判断当前是否满足结束迭代的条件;所述计算比较子模块,还用于当所述判断子模块判定当前满足结束迭代的条件时,返回继续计算所述粒子群中各粒子的当前适应度值,进入下一次迭代;所述阈值获取子模块,用于当所述判断子模块判定当前满足结束迭代的条件时,根据最近一次获取的所述粒子群的全局最优解得到图像分割的最佳灰度阈值。

优选地,所述交叉操作子模块包括:交叉概率获取单元,用于根据公式(1)获取交叉概率:

其中:pcmax、pcmin分别是最大交叉概率和最小交叉概率,t为当前迭代次数,tmax为最大迭代次数;

交叉操作单元,用于根据所述交叉概率获取单元计算的交叉概率对所述粒子群的各粒子执行交叉操作。

优选地,所述计算更新子模块包括:速度计算单元,用于根据公式(2)计算所述粒子群中各粒子的速度:

其中,为第k+1代粒子群第i个粒子第d维的飞行速度;r1和r2是[0,1]区间的随机数;c1、c2为预设的加速系数;为第k代粒子群第i个粒子第d维的飞行速度;为第k代粒子群第i个粒子第d维的局部最优解;为第k代粒子群第d维的全局最优解,为第k代粒子群第i个粒子第d维的位置;

位置计算单元,用于根据公式(3)计算所述粒子群中各粒子的位置:

其中:为第k+1代粒子群第i个粒子第d维的飞行速度,为第k代粒子群第i个粒子第d维的位置;

更新单元,用于根据所述速度计算单元计算的速度及所述位置计算单元计算的位置,更新对应粒子的飞行速度和位置。

本发明至少具备以下一项有益效果:

(1)现有技术的阈值分割法的求解过程异常耗时,无法满足图像分割的实时性要求,而本发明的基于交叉型粒子群算法的图像分割方法则不然,它采用了一种高效快捷的自适应粒子群算法来求解多阈值图像分割问题,提高了图像分割的速度,具有较高的效率。

(2)现有技术中并行区域分割技术需要基于先验知识来确定图像的灰度阈值,然而先验知识往往是基于以往的经验总结出来的,并不能很好地适应不同的情况,其处理结果很大程度上依赖预设的灰度阈值,因此并行区域分割技术自适应性和稳定性往往不尽人意。而本发明采用的基于交叉型粒子群算法的图像分割技术方案则不依赖先验知识,而且具有较强的自适应、自主学习能力,稳定性高。

(3)本发明将交叉操作引入基本粒子群算法之中,形成交叉型粒子群算法,并将该算法用于图像分割中,形成基于交叉型粒子群算法图像分割技术方案,保持种群的多样性,阻止搜寻质量的退化,提高搜寻的质量和速度。本发明中的交叉型粒子群算法不仅不依赖先验知识,而且具有较强的自适应、自主学习能力,能够很好地获得全局最优解;在求解图像分割的灰度阈值时,将利用迭代过程中得到的反馈信息自行调节并发搜索过程,具有较强的并发性,能够高效地获取较优的分割效果。

(4)本发明的图像分割技术方案,由于在基本的粒子群算法中加入了交叉调节操作,从而具有自主学习和自适应性和较高的鲁棒性,且能够从全局并发求解灰度阈值,较好地获取全局最优值,准确高效。

(5)在交叉型粒子群算法中,交叉概率是非常关键的因素,它对算法的执行效率和结果都有非常大的影响,本发明设定的交叉概率可以随着迭代次数的增加而进行动态调整,从而达到自适应的目的。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于交叉型粒子群算法的图像分割方法实施例流程图;

图2为本发明基于交叉型粒子群算法的图像分割方法另一实施例流程图;

图3为本发明基于交叉型粒子群算法的图像分割系统实施例的框图;

图4为本发明基于交叉型粒子群算法的图像分割系统另一实施例的框图;

图5为本发明基于交叉型粒子群算法的图像分割系统另一实施例的框图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明公开了一种基于交叉型粒子群算法的图像分割方法,实施例如图1所示,包括:

s100获取待分割图像的灰度值范围;

s200根据所述待分割图像的灰度值范围,采用交叉型粒子群算法得到图像分割的最佳灰度阈值;

s300根据所述图像分割的最佳灰度阈值,对所述待分割图像进行分割。

本实施例中,所述待分割图像为二维灰度图像,图像的每个像素点都有一个灰度值,收集整幅图像所有像素点的灰度值,对这些灰度值排序,从而得到灰度值范围。

粒子群算法,也称粒子群优化算法或鸟群觅食算法(particleswarmoptimization),缩写为pso,是近年来由j.kennedy和r.c.eberhart等开发的一种新的进化算法(evolutionaryalgorithm-ea)。pso算法属于进化算法的一种,和模拟退火算法相似,它是从随机解出发,首先随机初始化一群粒子,而每个粒子则代表一个候选解,并通过适应度函数来评价各个候选解的优劣;在每次的搜寻过程中,各个粒子通过跟随两个“榜样”在整个候选解空间中进行搜索:一个是粒子自身到目前为止所搜寻到的最优值,即局部最优解;另一个是整个种群到目前为止所搜寻到的最优值,即全局最优解。由于每次搜寻都是在之前搜寻的最优结果的基础上进行的进一步搜索,所以随着迭代次数的不断增加,整个群体搜寻的结果质量也会不断提升。

在基本粒子群算法的搜寻过程中,如果某些粒子发现最优的位置,那么全体中的其他粒子也将向这些粒子靠近,然而如果最优位置发生了退化,即当前迭代过程中所发现的最优解不如之前所发现的最优解,那么整个粒子群体就很有可能向该最优解移动。随着迭代次数的增加,整个种群的多样性会急剧降低,从而导致整个群体的进化动力大大减小,致使最终的搜寻质量降不尽人意。

鉴于以上分析,为了尽可能阻止算法搜寻质量的退化,保持种群的多样性,提高算法搜寻的质量和速度,本发明将交叉操作引入基本粒子群算法形成交叉型粒子群算法,通过该交叉型粒子群算法,找到图像分割问题的最佳灰度阈值,根据此最佳灰度阈值对图像进行分割。

图像分割是将图像的灰度分割成若干个不重叠区域,使不同区域间差异最大,同一区域内具有某种共性。比如,把一幅图像的灰度空间分成d块区域,分别记为:区域c1对应阈值区间[0,…,t_1],区域c2对应阈值区间[t_1+1,…,t_2],...,区域cd对应阈值区间[t_d-1,…,l],lmin≤t_1≤t_2≤…≤t_d-1≤lmax,lmin为待分割图像的最小灰度值,lmax为最大灰度值;图像分割的问题就是,在整个阈值空间内,如何找到最佳的阈值组合[t_1,t_2,...,t_d-1]t,使类间距方差最大。在此问题中,其解是d-1维的,是由d-1个阈值所组成的向量,其评判原则是类间距方差最大;在粒子群算法中,每个候选解都被称为“粒子”,用粒子的位置表示;每个候选解向目标解的逼近过程,类似粒子的初始位置向目标位置的逼近;所有的粒子的位置的好坏都根据适应度函数决定的适应度值来判断,选择类间距方差作为适应度函数。

本发明基于交叉型粒子群算法来进行图像分割不仅不依赖先验知识,而且具有较强的自适应、自主学习能力,能够很好地获得全局最优解。在应用上述算法求解图像分割的灰度阈值时,算法将利用迭代过程中得到的反馈信息自行调节并发搜索过程。该算法具有较强的并发性,所以本技术方案不仅能够获取较优的分割效果,而且具有较高的效率。

本发明方法的另一实施例,如图2所示,包括:

s100获取待分割图像的灰度值范围;

s210初始化粒子群;

s220计算所述粒子群中各粒子的当前适应度值,

s230根据所述各粒子的当前适应度值,获取各粒子最新的局部最优解及所述粒子群的全局最优解;

s240更新所述粒子群中各粒子的速度和位置;

s250对所述粒子群执行交叉调节操作;

s260更新所述粒子群中各个粒子执行交叉操作后各自的速度和位置;

s270判断当前是否满足结束迭代的条件;若是,进入步骤s280;否则返回步骤s220进入下一次迭代;

s280根据最近一次获取的所述粒子群的全局最优解得到图像分割的最佳灰度阈值;

s300根据所述图像分割的最佳灰度阈值,对所述待分割图像进行分割。

上述实施例中,首先初始化粒子群,包括设定群体规模,加速常数,以及最大迭代次数,随机产生每个粒子的初始位置和初始速度等等;初始化后便开始计算并评价每个粒子的适应度值;然后将每个粒子的适应度值与其自身所经历的最好位置(局部最优解)进行比较,若当前最优,则将该粒子当前位置作为当前的个体最优位置(最新的局部最优解);对于每一个粒子,将其适应度值与全局所经历的最好位置(全局最优解)的适应度进行比较,若当前较优,将该粒子当前位置作为当前的全局最优位置(最新的全局最优解);然后对种群中粒子的速度及其位置进行更新;为了阻止搜寻质量的退化,保持种群的多样性,提高算法搜寻的质量和速度,在此引入了交叉调节操作,对交叉概率进行了动态调整,使粒子群中的粒子进行交叉操作,交叉操作之后,由于交叉了的粒子会发生位置或速度的变化,因此,还需要再次更新粒子群中各粒子的速度和位置;最后再来判断当前情况是否满足结束迭代的条件,比如,判断是否达到最大迭代次数或者最小精度要求,若否,则返回继续计算粒子群中每个粒子的适应度值,进入下次迭代;若是,则停止迭代,结束寻优,根据当前获取到的全局最优解获得图像分割的最佳灰度阈值,从而进行图像分割。

本实施例中在基本的粒子群算法的基础上引入了交叉操作,提高了忠犬的多样性,让粒子慢慢向最优靠拢,避免了由于最优位置发生退化而导致的整个群体搜寻质量降低的问题,提高了搜寻的质量和速度,随着迭代的次数的增加,交叉调节操作时通过对交叉概率进行动态调整,从而可以达到自适应的目的。本实施例的方法具有自主学习和自适应性,以及较高的鲁棒性,且能从全局出发求解灰度阈值,能较好地获取全局最优值,准确而高效。

上述实施例中,步骤s220-s280是通过交叉型粒子群算法获取图形分割的最佳灰度阈值的具体流程。其中:

步骤s220中关于粒子的适应度的计算,可以采用最大类间方差函数计算获得,描述如下:

f(t)=w1(t)*w2(t)*(u1(t)-u2(t))2............................................................(4)

在等式(4)中,t表示用来处理图像的阈值,w1(t)表示图像中灰度值小于阈值t的像素的个数,w2(t)表示图像中灰度值大于阈值t的像素的个数,u1(t)表示图像中的灰度值小于阈值t的像素的平均灰度值,而u2(t)则表示图像中灰度值大于阈值t的像素的平均灰度值。

当然,也可以采用其它方式来评价粒子的适应度,比如采用如下公式:

其中:d为预设分割区域数量,pd为第d区域内灰度值出现的概率,ud为第d区域内灰度值的平均值,uavg为整个图像的平均灰度值,为第k代粒子群第i个粒子的位置;为根据第k代粒子群第i个粒子的位置计算的适应度值。

上述实施例的步骤s230包括:

s231将所述粒子群中每个粒子的当前适应度值与其局部最优解对应的适应度值进行比较,若所述粒子的适应度值大于其局部最优解对应的适应度值,则所述粒子的局部最优解更新为所述粒子当前位置;

s232将所述粒子群中每个粒子的当前适应度值与当前全局最优解对应的适应度值进行比较,若所述粒子的当前适应度值大于所述全局最优解对应的适应度值,则所述粒子群的全局最优解更新为所述粒子当前位置。

通过将每个粒子的适应度与其对应的局部最优解对应的适应度进行比较,可更新获得最新的每个粒子的局部最优解;通过对每个粒子的适应度与全局最优解对应的适应度进行比较,可更新获得最新的全局最优解。获取到每个粒子的局部最优解和粒子群的全局最优解之后,便可更新粒子群中各粒子的位置和速度了,具体的,上述实施例中所述步骤s240及所述步骤s260中更新所述粒子群中计算各粒子的速度采用的公式为:

其中,为第k+1代粒子群第i个粒子第d维的飞行速度;r1和r2是[0,1]区间的随机数;c1、c2为预设的加速系数,一般可取2;为第k代粒子群第i个粒子第d维的飞行速度;为第k代粒子群第i个粒子第d维的局部最优解;为第k代粒子群第d维的全局最优解,为第k代粒子群第i个粒子第d维的位置;d取值范围为[1,d],d为搜寻的维度,一般取10。

所述步骤s240及所述步骤s260中更新所述粒子群中各粒子的位置中计算各粒子的位置采用的公式为:

其中:为第k+1代粒子群第i个粒子第d维的飞行速度,为第k代粒子群第i个粒子第d维的位置。

也就是是粒子群中各粒子根据公式(2)和公式(3)更新各自的速度和位置。更新过后,则再进行交叉调节操作,具体的,上述实施例中,所述步骤s250包括:

s251根据公式(1)获取交叉概率:

其中:pcmax、pcmin分别是最大交叉概率和最小交叉概率,t为当前迭代次数,tmax为最大迭代次数;pcmax一般取0.08,pcmin一般取0.05。

s252根据所述交叉概率对所述粒子群的各粒子执行交叉操作。

上述的交叉概率是非常关键的因素,它对算法的执行效率和结果都有非常大的影响,为了更好地处理图像分割问题,随着求解过程的不断推进,对交叉概率进行动态调整,从而达到自适应的目的。随着迭代次数增加,寻优搜索的范围慢慢缩小,那么按照交叉概率进行交叉操作的粒子交叉范围也会缩小,慢慢向最优靠拢。交叉概率随迭代次数增加而增大。

执行完交叉操作后,由于有些粒子位置或速度可能发生微小变动,因此,还需要再一次更新粒子群中各粒子的速度和位置,比如某粒子a的速度二进制中的某位数与某粒子b的速度二进制中的某位数进行了交换,那么粒子a和粒子b的速度都会发生微小变化,从而位置也会发生微小变化,因此我们需要再次更新粒子群中各粒子的速度与位置。由于交叉后速度和位置的变化不会太大,因此为了减小计算的工作量,可以不用再计算每个粒子的局部最优解和粒子群的全局最优解,可选用前面最新一次获取的每个粒子的局部最优解和全局最优解即可。当然,如果想要更为准确的全局最优解,则可以在粒子群按照交叉概率执行完交叉操作后,再比较获取每个粒子的局部最优解,进而获取粒子群的全局最优解。

上述实施例中,所述步骤s270中结束迭代的条件为当前迭代次数达到预设的最大迭代次数或所述全局最优解满足预设的最小适用阈值。比如,设置的迭代次数为50次,迭代结束的条件为迭代50次后结束操作,那么当迭代次数满足50次后便会结束寻优,不足50次,则返回到前面适应度计算的步骤,进入下一轮迭代,每一次循环为一次迭代过程。

本发明的另一实施例,具体的,假定图像分割问题为,设置4个阈值将一幅图像的灰度空间分割为5个区域,如何找到最佳灰度阈值组合[t1,t2,t3,t4]t,使5个区域的类间距方差最大。

首先,初始化粒子群,包括设定粒子群的群体规模,随机产生每个粒子的初始位置和速度,最大迭代次数,加速常数等等。比如,预设粒子群规模为12,即有12个粒子;预设最大迭代次数为30次,即经过30轮迭代,所得到的全局最优解为所找到的最佳灰度阈值组合。这个根据待分割图像的预设分割区域数量得到粒子的维数为4维,即5(分割区域数量)-1=4;粒子在每代粒子群中的飞行速度、位置、局部最优解,以及每代粒子群的全局最优解都是4维的。首先初始化12个粒子的飞行速度、位置,和局部最优解:比如,初始化第1个粒子的位置为向量[12、75、85、100]t,第2个粒子的位置为向量[15、24、65、70]t,第3个粒子的位置为向量[5、16、45、80]t,...,如此完成10个粒子的位置初始化;初始化第1个粒子的飞行速度为[0.8,0.5,0.5,0.8]t,第2个粒子的飞行速度为[0.8,0.5,0.5,0.8]t,为了简化,12个粒子的飞行速度可以设置成一样;每个粒子的局部最优解即粒子的位置;按此循环,直至完成12个粒子的。如果两个粒子的飞行速度和位置完全一样,则为同一个粒子,相当于减少了粒子群的规模;所以在初始化时需要避免类似情况发生。如果两个粒子的飞行速度设成一样,则两个粒子的初始化位置需要设得不同;如果两个粒子的初始化位置相同,则两个粒子的飞行速度需设成不一样。初始化的时候每个粒子的局部最优解即该粒子的初始位置,然后根据所有初始化粒子的局部最优解可获得初始化的全局最优解。此时,所有粒子都处于初始态,记为第一代粒子群。将第一代粒子群作为当前粒子群,以及,设置当前迭代次数为1;

初始化后的12个粒子开始飞行,进入第二代粒子群;分别计算这12个粒子的适应度值,然后根据每个粒子的适应度值获取该粒子对应的局部最优解,也就是说该粒子飞行过的最优位置。计算第二代粒子群的全局最优解:针对每个粒子的适应度值;与前一代粒子群中获取的全局最优解对应的适应度值进行比较,如果粒子的适应度值大于前一代粒子群中获取的全局最优解对应的适应度值,则将该粒子的当前位置作为这一代粒子的最新的全局最优解,然后将第2个粒子的适应度值与最新的全局最优解对应的适应度值进行比较,大于则替换更新最新全局最优解,若第2个粒子的适应度值小于最新的全局最优解对应的适应度值,则全局最优解不用更新,保持不变。以此类推,直至所有12个粒子均比较完毕。

获取到每个粒子的局部最优解和粒子群的全局最优解后,再对粒子群中各粒子的位置和速度进行更新,这里可采用前面实施例中的公式(2)和公式(3)来进行速度和位置的更新。随后,进入交叉调节操作,首先要获取交叉概率,然后根据交叉概率进行相应的交叉操作。这里交叉概率的获取可通过前面实施例中的公式(1)来进行计算获得,迭代次数的不同,交叉概率也会不一样。粒子群中的粒子按照获取的交叉概率执行交叉操作后,则需要再次更新粒子群中各粒子的速度和位置了,同样的,可根据前面实施例中的公式(2)和公式(3)来进行更新。

随后,12个粒子,再飞行一次,进入第三代粒子群,再分别计算这12个粒子的适应度值........如此循环(与前一代粒子群执行的操作步骤相同),直至当前迭代次数达到预设的最大迭代次数,本实施例中当迭代次数达到30次后,退出循环,此时所获得的当前粒子群的全局最优解即为所述图像分割的最佳灰度阈值。

基于相同的技术构思,本发明还公开了一种基于交叉型粒子群算法的图像分割系统,该图像分割系统可采用本发明的基于交叉型粒子群算法的图像分割方法来进行图像分割,具体的,如图3所示,本发明的基于交叉型粒子群算法的图像分割系统包括:获取模块100,用于获取待分割图像的灰度值范围;处理模块200,用于根据所述获取模块100获取的所述待分割图像的灰度值范围,采用交叉型粒子群算法得到图像分割的最佳灰度阈值;分割模块300,用于根据所述处理模块200得到的图像分割的最佳灰度阈值,对所述待分割图像进行分割。

本发明提供的一种基于交叉型粒子群算法的图像分割系统。本实施例中的处理模块200采用了交叉型粒子群算法来获取最佳灰度阈值。一般的,在基本粒子群算法中,首先随机初始化一群粒子,而每个粒子则代表一个候选解,并通过适应度函数来评价各个候选解的优劣;在每次的搜寻过程中,各个粒子通过跟随两个“榜样”在整个候选解空间中进行搜索:一个是粒子自身到目前为止所搜寻到的最优值,即局部最优解;另一个是整个种群到目前为止所搜寻到的最优值,即全局最优解。由于每次搜寻都是在之前搜寻的最优结果的基础上进行的进一步搜索,所以随着迭代次数的不断增加,整个群体搜寻的结果质量也会不断提升。然而,在实际的搜寻过程中,如果某个粒子得到了到目前为止种群所发现的最优值,那么其他粒子也将快速向该粒子靠拢,但该粒子所发现的最优值往往是局部最优解,所以这将很有可能导致整个算法陷入局部最优解的现象。另外,在粒子群算法的搜寻过程中,如果某些粒子发现最优的位置,那么全体中的其他粒子也将向这些粒子靠近,然而如果最优位置发生了退化,即当前迭代过程中所发现的最优解不如之前所发现的最优解,那么整个粒子群体就很有可能向该最优解移动,从而导致整个群体搜寻质量的降低。

因此,为了尽可能保持种群的多样性,阻止算法搜寻质量的退化,提高算法搜寻的质量和速度,本发明将交叉操作引入基本粒子群算法之中,形成基于交叉型粒子群算法的图像分割技术方案,本发明的基于交叉型粒子群算法的图像分割系统不仅不依赖先验知识,而且具有较强的自适应、自主学习能力,能够很好地获得全局最优解。在求解图像分割的灰度阈值时,利用迭代过程中得到的反馈信息自行调节并发搜索过程,具有较强的并发性,所以本技术方案不仅能够获取较优的分割效果,而且具有较高的效率。

本发明系统的另一实施例,如图4所示,在上述系统实施例的基础上,所述处理模块200包括:初始化子模块210,用于初始化粒子群;计算比较子模块220,用于计算所述粒子群中各粒子的当前适应度值,并根据所述各粒子的当前适应度值,获取各粒子最新的局部最优解及所述粒子群的全局最优解;计算更新子模块230,用于更新所述粒子群中各粒子的速度和位置;交叉操作子模块240,用于对所述粒子群执行交叉调节操作;所述计算更新子模块230,还用于更新所述粒子群中各个粒子执行交叉操作后各自的速度和位置;判断子模块250,用于判断当前是否满足结束迭代的条件;所述计算比较子模块220,还用于当所述判断子模块250判定当前满足结束迭代的条件时,返回继续计算所述粒子群中各粒子的当前适应度值,进入下一次迭代;所述阈值获取子模块260,用于当所述判断子模块250判定当前满足结束迭代的条件时,根据最近一次获取的所述粒子群的全局最优解得到图像分割的最佳灰度阈值。

上述系统中处理模块200中的各子模块协助合作,求取图像分割的最佳灰度阈值的流程可参见前面方法实施例中步骤s210-s280的流程,为减少重复,不再赘述。

此外,上述系统实施例中,初始化子模块210初始化粒子群,包括设定种群的规模、各粒子的初始位置和速度、迭代次数等与粒子运行相关的参数。计算比较子模块220计算各粒子的适应度值,并将其与对应的局部最优解进行比较,以便更新各粒子的局部最优解。具体的,将每个粒子的适应度值与其局部最优解对应的适应度值进行比较,若当前最优,则将该粒子当前位置作为最新的局部最优解;更新了每个粒子的局部最优解后,再来获取全局最优解,具体的,对于每一个粒子,将其适应度值与全局最优解的适应度进行比较,若当前较优,将该粒子当前位置作为最新的全局最优解。

获取到每个粒子的局部最优解和粒子群的全局最优解之后,通过计算更新子模块230更新各粒子的速度和位置。具体的,如图5所示,计算更新子模块230包括:速度计算单元231、位置计算单元232和更新单元233;其中,速度计算单元231用于根据公式(2)计算所述粒子群中各粒子的速度:

其中,r1和r2是[0,1]区间的随机数;c1、c2为预设的加速系数,一般设定为2;为第k代粒子群第i个粒子第d维的飞行速度;为第k代粒子群第i个粒子第d维的局部最优解;为第k代粒子群第d维的全局最优解,为第k代粒子群第i个粒子第d维的位置;为第k+1代粒子群第i个粒子第d维的速度。d取值范围为[1,d],d为搜寻的维度,取值为待分割图像的预设分割区域数量减1,较为常见的维度取10。

位置计算单元232,用于根据公式(3)计算所述粒子群中各粒子的位置:

其中:为第k+1代粒子群第i个粒子第d维的飞行速度,为第k代粒子群第i个粒子第d维的位置。

更新单元233,用于根据所述速度计算单元231计算的速度及所述位置计算单元232计算的位置,更新对应粒子的飞行速度和位置。

各粒子的位置和速度更新后,再通过交叉操作子模块240来执行交叉操作,具体的,如图5所示,所述交叉操作子模块240包括:交叉概率获取单元241和交叉操作单元242,其中,交叉概率获取单元241用于根据公式(1)获取交叉概率:

其中:pcmax、pcmin分别是最大交叉概率和最小交叉概率,pcmax一般取0.08,pcmin一般取0.05;t为当前迭代次数,tmax为最大迭代次数。交叉概率是非常关键的因素,它对算法的执行效率和结果都有非常大的影响,为了更好地处理图像分割问题,随着求解过程的不断推进,对交叉概率进行动态调整,从而达到自适应的目的。

交叉操作单元242,用于根据所述交叉概率获取单元241计算的交叉概率对所述粒子群的各粒子执行交叉操作。

执行完交叉调节操作之后,再通过计算更新子模块230来更新各粒子的速度和位置,然后通过判断子模块250来判断当前是否满足结束迭代的条件,比如迭代的次数是否达到预设的迭代次数等,如果不满足,则进入下一次迭代,再通过计算比较子模块220计算下一代粒子群各粒子的适应度,获取各粒子的局部最优解和粒子群的全局最优解,进而通过计算更新子模块230更新下一代粒子群的速度和位置,再通过交叉操作子模块240进行交叉调节操作,再次通过计算更新子模块更新各粒子的速度和位置,如此循环,直至迭代的次数达到预设的次数,则结束迭代,分割模块300再根据最后一次迭代获取的全局最优解获得最佳灰度阈值,进而根据最佳灰度阈值进行图像分割。

本发明的系统实施例与本发明的方法实施例对应,本发明的方法实施例的技术细节同样适用于本发明的系统实施例,为减少重复,不再赘述。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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