背景技术
随着计算机技术的飞跃发展,人们越来越多的利用计算机来帮助人类获 取和处理视觉图像信息。据统计,在人类从外界获取的信息中有80%是来自于 视觉,这包括图像、图形、视频等,它是人们最有效的信息获取和交流方式, 图像也因其所含的信息量大、表现直观而在多媒体处理技术中占有非常重要的 位置。
图像最基本的特征是边缘,所谓边缘是指其周围像素灰度有阶跃变化或 屋顶变化的那些像素的集合。它存在于目标与背景、目标与目标、区域与区域 之间,不仅是图像边缘检测所依赖的最重要的特征,也是纹理特征的重要信息 源和形状特征的基础,而图像的纹理形状特征的提取又常常要依赖于图像边缘 检测。图像的边缘是由灰度不连续性所反映的。经典的边缘提取方法是考察图 像的每个像素在某个区域内灰度的变化,利用边缘邻近一阶或二阶方向导数变 化规律,用简单的方法检测边缘,这种方法称为边缘检测局部算子法。
基于灰度梯度算子的边缘检测技术属于一阶算子边缘检测技术,其方法 的实质是用一个准高斯函数做平滑运算,然后根据一阶微分算子来定位导数最 大值。基于灰度梯度算子的边缘检测技术需要基于先验知识来确定图像的灰度 阈值,然而先验知识往往是基于以往的经验总结出来的,并不能很好地适应不 同的情况,其处理结果很大程度上依赖预设的灰度阈值。另外,该技术在实际 应用过程中实现较为复杂,运算量较大,运算效率低。
发明专利申请CN201710892766.9公开了一种基于遗传算法的图像边缘 检测方法,并具体公开了该方法包括:S100生成初始种群;所述初始种群包 括若干个图像边缘点;S200对各个图像边缘点进行运算,得到各个图像边缘 点的适应度值;S300判断所述适应度值是否达到平均适应度值;若是,执行 步骤S400;S400选取达到所述平均适应度值对应的图像边缘点;S500调整各 个选取的图像边缘点的交叉概率;S600根据调整后交叉概率和预设变异概率, 对所述选取的图像边缘点进行交叉变异操作,得到下一代种群;S700判断所述下一代种群是否满足预设终止条件;若是,执行步骤S800;否则,返回步 骤S200;S800获取目标图像边缘点,根据所述目标图像边缘点的灰度值进行 图像边缘检测。该发明专利申请虽然解决了灰度阈值通过先验知识获得所带来 的适应差的问题,但其收敛速度低。
现有通过基本粒子群算法求解灰度阈值时,通过多次搜寻个体最优位置 和全局最优位置进而得到最优值。虽然该算法解决了灰度阈值通过先验知识获 得所带来的适应差的问题,但由于该算法随着迭代次数的增加,整个种群的多 样性会急剧降低,最终获得的最优值往往是局部最优解,使得获得的解的质量 不尽人意。为此,实用新型专利CN201320116473.9公开了一种基于自适应云 粒子群算法的图像边缘检测装置,其具体公开了该装置包括高分辨率摄像头、 光隔离器、连接高分辨率摄像头和光隔离器的图像信号处理硬件平台。自适应 云粒子算法固化到图像信号处理硬件平台中,通过动态变异概率对全局最优粒 子和粒子自身最优位置进行正态云变异,随着迭代的进行对全局最优粒子和粒 子自身最优位置进行变异的概率逐渐减小。该实用新型专利在粒子陷入局部最 优时,对全部粒子根据全局极值,通过正态云发生器进行变异操作,采用自适 应云粒子算法通过像素方向划分将梯度的计算简化为在一维空间实现,并且利 用梯度直方图的统计特征实现梯度阈值的动态选取,增强了算法的适应性。然 而,该专利是直接应用已固化自适应云粒子算法的图像信号处理硬件平台直接 进行图像边缘检测,并未具体公开该自适应云例子算法获取灰度阈值及图像边 缘检测的方法。
发明内容
本发明针对现有技术存在的问题,提出了一种检测精度和抗噪声能力好 的基于交叉型粒子群算法的灰度阈值获取方法、图像边缘检测方法。
本发明将交叉操作引入基本粒子群算法形成交叉型粒子群算法,随着求 解过程的不断推进,对交叉概率进行动态调整,从而达到自适应的目的,并将 该粒子群算法用于图像边缘检测中,以便获得较优的检测结果。
本发明是通过以下技术方案得以实现的:
基于交叉型粒子群算法的灰度阈值获取方法,包括以下步骤:
步骤S01,根据图像灰度值进行种群初始化;
步骤S02,计算种群内个体的适应度值;
步骤S03,计算个体的交叉概率,根据交叉概率进行交叉操作;
步骤S04,更新种群内个体的位置;
步骤S05,判断是否满足终止条件,若满足则获取最优解并得到最优灰度 阈值;否则执行步骤S02进入下一代种群。
作为优选,步骤S01的种群初始化包括初始化个体速度、个体位置矢量、 初始代种群个体最优位置和全局最优位置。
作为优选,步骤S02的个体的适应度值按如下公式(1)计算:
f(t)=w1(t)*w2(t)*(u1(t)-u2(t))2 (1)
其中,f(t)表示个体适应度值,t表示种群初始化后的图像灰度值并作 为处理图像的阈值,w1(t)表示图像中灰度值小于阈值t的像素的个数,w2 (t)表示图像中灰度值大于阈值t的像素的个数,u1(t)表示图像中的灰度 值小于阈值t的像素的平均灰度值,u2(t)表示图像中灰度值大于阈值t的 像素的平均灰度值。
作为优选,步骤S03的交叉概率按如下公式(2)进行调节:
其中,PCmax、PCmin分别是最大交叉率和最小交叉率,nmax为最大的迭代次数; n为当前的迭代次数。
作为优选,步骤S04更新种群内个体的位置按如下公式(3)、(4)计算:
其中,r1和r2是[0,1]区间的随机数;为第k代第搜寻到的最优位 置;为第k代整个粒子群所搜寻到的最优位置;为第k代第 i个粒子的个体速度;为第k代第i个粒子的位置,c1,c2为加速 系数。
作为优选,步骤S04还包括更新种群内个体最优位置和全局最优位置。
计算种群的个体最优位置按如下公式(5)计算:
其中,为第k代的第i个粒子个体的适应度值;为第k 代的个体最优位置,为第k代第i个粒子的位置;
计算种群的全局最优位置按如下公式(6)计算:
其中,为第k代整个粒子群的全局最优位置。
作为优选,步骤S04还包括溢出约束限制:设置最大个体速度,当个体速 度大于最大个体速度时,将其更新为最大个体速度。
一种图像边缘检测方法,包括以下步骤:
步骤一,读取图像信息并计算待边缘检测图像的图像灰度直方图;
步骤二,根据上述基于交叉型粒子群算法的灰度阈值获取方法获取最优灰 度阈值;
步骤三,根据最优灰度阈值进行图像边缘检测。
作为优选,步骤三中的图像边缘检测基于灰度梯度算子的边缘检测技术。
本发明具有以下有益效果:
本发明采用的交叉型粒子群算法不仅不依赖先验知识,而且具有较强的 自适应性、自主学习能力,能很好地避免陷入局部最优解。在应用上述算法求 解图像边缘的灰度阈值时,算法将利用迭代过程中得到的反馈信息自行调节并 发搜索过程。该算法具有较强的并发性,本发明图像边缘检测方法不仅能够获 得较优的边缘检测效果,而且具有较高的效率。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步 的描述,但本发明并不限于这些实施例。
现有灰度阈值的获得是根据先验知识获得的,是基于以往的经验总结出 来,并不能很好地适应不同的情况,因此图像边缘检测的自适应性和稳定性不 尽人意。在基本粒子群算法中,首先随机初始化一群粒子,而每个粒子则代表 一个候选解,并通过适应度函数来评价各个候选解的优劣;在每次的搜寻过程 中,各个粒子通过跟随两个“榜样”在整个候选解空间中进行搜索:一个是粒 子自身到目前为止所搜寻到的最优值,即局部最优解;另一个是整个种群到目 前为止所搜寻到的最优值,即全局最优解。由于每次搜寻都是在之前搜寻的最 优结果的基础上进行的进一步搜索,所以随着迭代次数的不断增加,整个群体搜寻的结果质量也会不断提升。然而,在实际的搜寻过程中,如果某个粒子得 到了到目前为止种群所发现的最优值,那么其他粒子也将快速向该粒子靠拢, 但该粒子所发现的最优值往往是局部最优解,所以这将很有可能导致整个算法 陷入局部最优解的现象。随着迭代次数的增加,整个种群的多样性会急剧降低, 从而导致整个群体的进化动力大大减小,致使最终获得的解的质量降不尽人 意。
鉴于以上分析,为了尽可能保持种群的多样性,阻止算法陷入局部最优 解,提高算法搜寻的质量和速度,本发明将交叉操作引入基本粒子群算法之中, 形成交叉型粒子群算法,并将该算法用于图像边缘检测中。
如图1,本发明基于交叉型粒子群算法的灰度阈值获取方法,包括以下步 骤:
步骤S01,根据图像灰度值进行种群初始化。
步骤S02,计算种群内个体的适应度值;
步骤S03,计算个体的交叉概率,根据交叉概率进行交叉操作;
步骤S04,更新种群内个体的位置;
步骤S05,判断是否满足终止条件,若满足则获取最优解并得到最优灰度 阈值;否则执行步骤S02进入下一代种群。
步骤S01中,获取图像的最小灰度值和最大灰度值,作为初始化种群的 阈值上下限。若图像为黑白图像,粒子群的上下界设置为[0,255]。初始第一 代种群时,在最小灰度值和最大灰度值之间分别随机产生一个整数来初始化种 群的个体,如在黑白图像的第一代种群在[0,255]之间产生随机数的形式初始 化。
种群初始化包括初始化个体速度、个体位置矢量、初始代种群个体最优 位置和全局最优位置。粒子群个体的位置以矢量方式表示Xi=(xi1,xi2,…,xid) T∈Ω,其中xi1,xi2,…,xid分别为每个粒子的个体位置向量,Ω为位置空间。粒子 群个体的速度以矢量方式表示Vi=(vi1,vi2,...,viD)T,其中vi1,vi2,...,viD分别为每个 粒子的个体速度向量。
具体来说,随机初始化第一代种群的粒子初始位置,设第i个粒子的初 始化位置是Xid(0),并初始化各个粒子的个体最优位置为Pid(0)=Xid(0)。 全局最优位置为:Pgd=min{X1d(0),X2d(0),...,Xid(0)}。
上述个体最优位置,全局最优位置可根据经验设定,或根据运算确定, 如上述基于随机初始值确定。
步骤SO2种群内个体的适应度值利用最大类间方差法计算,适应度函数 如下:
f(t)=w1(t)*w2(t)*(u1(t)-u2(t))2 (1)
其中,f(t)表示个体适应度值,t表示种群初始化后的图像灰度值并作 为处理图像的阈值,w1(t)表示图像中灰度值小于阈值t的像素的个数,w2 (t)表示图像中灰度值大于阈值t的像素的个数,u1(t)表示图像中的灰度 值小于阈值t的像素的平均灰度值,u2(t)表示图像中灰度值大于阈值t的 像素的平均灰度值。
将种群个体带入到适应度函数计算出种群个体的适应度函数值。
步骤S03的交叉概率按如下公式(2)进行调节:
其中,PCmax、PCmin分别是最大交叉率和最小交叉率,PCmax一般取0.08,PCmin一般取0.05,nmax为最大的迭代次数;n为当前的迭代次数。
按照交叉概率由大到小依次选择若干对个体进行交叉,将交叉后的个体 代替交叉前的个体。交叉操作采用的是自适应变化的交叉算子。交叉算子将两 个被选中的个体的基因串的某一部分进行交叉和互换操作,从而得到两个新的 个体。其中,交叉的位置时随机进行选择的。交叉操作可以进行单点交叉,即 两个待交叉个体基因串中选择一个交叉点,将该点后部分的基因串相互交换组 成两个新的个体。交叉操作可参照实数交叉法进行计算。该交叉操作还可以进 行多点交叉,即在两个待交叉个体基因中选择两个交叉点,然后进行部分基因 串互换。另外,还可进行多点交叉。
步骤S04中更新种群内个体的位置,按如下公式(3)、(4)计算:
其中,r1和r2是[0,1]区间的随机数;为第k代第搜寻到的最优位 置;为第k代整个粒子群所搜寻到的最优位置;为第k代第 i个粒子的个体速度;为第k代第i个粒子的位置,c1,c2为加速 系数,一般取2。
粒子群按照公式(3)的速度移动位置,在更新粒子速度后,按公式(4) 确定位置。
步骤S04还包括更新种群内个体最优位置和全局最优位置,通过挑选种 群个体中适应度最大的个体得到个体最优,再挑选个体最优中适应度最大的个 体得到全局最优,来计算种群内个体最优位置和全局最优位置。
计算种群的个体最优位置按如下公式(5)计算:
其中,为第k代的第i个粒子个体的适应度值;为第k 代的个体最优位置,为第k代第i个粒子的位置;
计算种群的全局最优位置按如下公式(6)计算:
其中,为第k代整个粒子群的全局最优位置。
步骤S05,判断是否满足终止条件,若满足则获取最优解并得到最优灰度 阈值;否则执行步骤S02进入下一代种群。
上述终止条件可设置为迭代次数,在未到达迭代次数,重复执行步骤 S02-S04,直至迭代完成后,获得最优解,继而获得相对应的最优灰度阈值。该 终止条件还可以设置为适应值达到某个水平时终止迭代。
为了防止溢出,还要设置溢出约束限制:设置最大个体速度,当个 体速度大于最大个体速度时,将其更新为最大个体速度。
边缘检测在图象处理中具有重要的意义,它是模式识别和图像理解系统 的前处理阶段,是影响整个系统性能的一个关键因素.经典的边缘检测方法 大多基于原始图像像素附近的数值导数,如梯度算子、拉普拉斯算子及拉普拉 斯-高斯算子等等.这些算子虽然非常简单方便,但是它们只适用于检测有限 类型的边缘,并且对噪声很敏感,容易产生断裂的边缘。找到与图像中目标的 实际边界线相对应的真实边缘,一直是图象处理领域里的一个难题,人们在 这方面做了大量的研究,不断提出新的方法和算子。
本发明图像边缘检测方法依据上述基于交叉型粒子群算法的灰度阈值获 取方法获取的灰度阈值实现,该方法明显提高检测精度和抗噪声能力。
本发明图像边缘检测方法包括以下步骤:
步骤一,读取图像信息并计算待边缘检测图像的图像灰度直方图。
读取的图像信息为感兴趣区域,针对该区域内计算待边缘检测图像的图 像灰度直方图。
步骤二,根据上述基于交叉型粒子群算法的灰度阈值获取方法获取最优 灰度阈值。
步骤三,根据最优灰度阈值对图像进行图像边缘检测。
图2具体示出了本发明图像边缘检测方法的流程图,包括如下步骤:
步骤S10,读取图像信息并计算待边缘检测图像的图像灰度直方图;
步骤S20,根据图像灰度值进行种群初始化;
边缘的种类可以分为两种::①阶跃性边缘,它两边的像素的灰度值有显 著的不同;②屋顶状边缘,它位于灰度值由增到减的变化转折点。初始化种群 包括若干图像边缘点
步骤S30,计算种群内个体的适应度值;
对初始种群中的各个图像边缘点进行运算,得到各个图像边缘点的适应 度值。
步骤S40,计算个体的交叉概率,根据交叉概率进行交叉操作;
利用交叉概率的自适应调整型,对每代个体进行交叉操作。
步骤S50,更新种群内个体的位置;
利用更新算子更新个体粒子速度,进而更新个体位置。进一步,更新每 代个体最优的位置,以及全局最优位置。
步骤S60,判断是否满足终止条件,若满足则获取最优解并得到最优灰度 阈值;否则执行步骤S30进入下一代种群;
步骤S70,根据最优灰度阈值对图像进行边缘检测。
如果一个像素落在图像中某一个物体的边界上,那么它的领域将成为一 个灰度级的变化带。对这种变化最有用的两个特征是灰度的变化率和方向,它 们分别以梯度向量的幅度和方向来表示。边缘检测算子检查每个像素的邻域并 对灰度变化率进行量化,也包括其梯度方向的确定,大多数使用基于方向导数 掩模求卷积的方法。本发明边缘检测优先基于灰度梯度算子的边缘检测技术。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只 作为举例而并不限制本发明。本发明的目的已经完整有效地实现。本发明的功 能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实 施方式可以有任何变形或修改。