免疫遗传算法在图像分割设计中的实现研究

2023-09-27 14:21陈熙刘皎
电子制作 2023年17期
关键词:适应度算子交叉

陈熙,刘皎

(商洛学院 电子信息与电气工程学院,陕西商洛,726000)

0 引言

随着科学技术的快速发展,图像处理成为当前的一个热门研究方向。其技术已经应用在我们生活的各个方面。例如支付宝上的人脸识别系统、摄像头上的目标检测系统、机器人的路径识别系统等等[1~2]。图像分割技术作为图像处理学科中的重要研究领域,未来必将发展成为一个热门的学术研究课题,如何更好的提升图像分割的速度和准确率已成为当前研究的热点问题。当前,常用的图像分割算法有基于图像阈值分割的最大类间方差(OTSU)法、遗传算法,边缘检测算法[3]。然而,图像分割算法也存在着众多问题和缺点,例如,常见的遗传算法在分割目标和背景差别不大的图像时,会出现分割效果不明显的情况。故引进了免疫遗传算法来进行图像分割,该算法加入了免疫算子,从而保持了种群进行交叉变异不会产生退化的现象。免疫遗传最大的特点是引入了浓度调节机制,通过适应度的大小来判断选择的种群,对于适应度高且浓度大的个体,得到的选择越大,适应度低浓度低的个体,得到选择的大小越小,通过遗传算法的交叉变异操作,使得种群的进化方向朝着适应度较高的方向进行,从而得到最优解。

1 遗传算法的基本原理

遗传算法是一种仿照自然界生物进化、演变过程的模型算法,该算法通过进行遗传操作,子代遗传父代大量信息的同时保留优良品质,不断遗传,组合产生最佳个体,从而实现寻找最优解的目的。

它是运用数学的形式,用计算机仿真运算,将求解问题的过程转变成生物进化中染色特体基因间交叉和变异的过程,因为遗传算法不能直接对图像进行处理,先需要通过编码的方式将图像的参数信息转变成遗传空间的染色体和个体。

遗传算法第一个阶段就是对目标问题和函数变量进行编码,在对图像进行编码时的实现方式一般主要可以分为两种,即一类采用二进制进行编码和一种采用多位实数进制编码。编码完成后,进行第二个阶段的操作,也就是对编码的选择阶段。选择操作其实就是按某种规则将其中的优良个体遗传给下一代的操作,这种操作可以用来确定用于交叉的个体,以及被选中的个体将会产生多少个子代个体。第三个阶段为交叉过程。交叉是交换两对编码染色体的某个编码位置,从而形成两个新的个体的过程。交叉包括单点交叉,多点交叉等。第四个阶段是变异。变异就是使用其他的染色体或者编码串中的某些基因代替染色体上所需要发生的变异而操作出来的基因,形成一个新的细胞或者个体。

在上述进行编码、选择、交叉、变异操作完成后,则要开始进行适应度的计算,适应度是基于目标函数确定后用来区分人们在群体中各种个体的好坏的一个参数。通常这个过程就是先将个体的编码字符串进行译码操作,得到具有个体特征性的字符串。再通过各种个体的表现形式进行计算得出目标函数。根据目标函数所对应的问题种类,目标函数会计算得出每一个体的适应性。而后根据适应度在进行下次迭代,直到达到最优的结果。

在遗传算法中,选择、交叉、变异三个算子的设定需要依靠经验,很难保证参数的品质。其不能应用于大规模的问题,容易过早收敛,达不到最优解。基于这些问题,对遗传算法进行了改进,将其与免疫算法相结合,形成了免疫遗传算法,该算法能够克服简单遗传算法的一些不足之处,且其在分割图像上达到了较好的分割效果。

2 免疫遗传算法的基本原理

免疫遗传算法则是在传统遗传算法的基础之上引进了生物免疫机制,并利用先验知识构造出免疫疫苗,主要借鉴免疫系统具有产生并维持多样性抗体以及自我调节的能力,在整体框架上引入免疫机制[4],形成算法。其流程图如图1所示。

图1 免疫遗传算法流程图

从图1 可以清楚地看出,免疫遗传算法主要目的就是在遗传算法为研究基础,增加了对抗体浓度概率的计算、抗体的促进和抑制、抗体的传播三个功能模块,进一步地提高了求解的方法多样性。对这三个模块给出的解释如下。

(1)抗体的浓度是指相近的个体在种群中所占的比例,将适应程度相同的个体看做相同个体。

(2)抗体的促进和抑制代表个体的选择概率增加和减少。一般而言,个体的选择包括个体对抗体的适应程度和个体抗体浓度的概率两个方面,个体在高浓度适应性和低浓度种群中被选定的机会较大。

(3)抗体的散布性是指抗体在某个种群中的分布较好。免疫遗传算法和免疫算法的基本构成也各不相同,其中包含了几个主要的基本构成元素,主要包括疫苗提取、疫苗接种、免疫检测、免疫均衡等算子。

下面将介绍一下这些算子的概念以及在免疫遗传算法中的作用。

(1)疫苗提取。在免疫算法中,疫苗指的是通过对目标问题进行先验性知识分析提取与其相关的特征信息。

(2)疫苗接种算子。疫苗是一种来自于问题的科学先验知识,其中包括的信息量和数据库准确度对该算法的特征和性能有着重大的影响。其是以样品之间的特征值之差累计和作为先验知识,构造疫苗表,再根据疫苗表修改抗体,得到更好的结果。

(3)免疫检测算子。是指抗体在接种疫苗之后,用于判断接种疫苗前后的抗体亲和度的高低高。如果接种后抗体亲和度高,就将接种后的抗体放入新的种群之中;如果接种后抗体亲和度抵,则会用接种前父代抗体来代替新抗体。

(4)免疫平衡算子。其主要用来计算每个抗体浓度的概率。通过求解抗体浓度概率,以便于在系统中适应度高但浓度的抗体的浓度不断提高,适应度低的但浓度高的抗体浓度降低。该机制保证了抗体群体更新中的抗体多样性,在一定程度上有效的避免了未成熟的收敛。

3 免疫遗传算法和遗传算法的比较

免疫遗传算法与传统遗传算法相比,具有以下几方面的特点。

在个体更新方面:免疫遗传算法引入疫苗接种算子。疫苗接种算子会随机的选出个体的某些基因位,将选出的基因位用疫苗的信息进行替代,而使得个体向最优解逼近,这样就可以加快算法的收敛速度,从而实现个体更新。

在选择算子方面:在遗传算法中个体更新之后并不去判断其是否得到了优化;但是在免疫遗传算法中,经过了交叉、变异、疫苗和接种算子的相互作用之后,会对新个体会进做免疫检验和算子操作,则可以判断其对人类身体的适应度是否优于父代个体。

在维持多样性方面:在遗传算法中适应度高的个体在一代中会被选中的概率高,其对应的浓度就高,反之一样;而在免疫遗传算法中,除了抗体的适应度还引入了免疫平衡算子。免疫平衡算子会抑制高浓度的抗体,对低浓度的抗体进行促进。

4 算法测试

为了验证免疫遗传算法在图像阈值分割中的高效性,本文重点将免疫遗传算法和传统遗传算法做了测试比较。在传统遗传算法的测试中,相关参数设定如下:分割阈值设为8位二进制编码,群体规模n 设为10,变异概率Pm 设为0.08,交叉概率Pc 设为0.7,则其适应度函数如式(1)所示:

在(1)式中,W1(M)、W2(M) 分别为目标图像和背景图像中所包含的像素,U1(M)、U2(M) 分别为目标图像和背景图像的所有像素灰度平均值。在测试实验中,分别应用传统遗传算法和免疫遗传算法来实现图像分割,群体规模、变异概率和交叉概率均采用相同的参数。又考虑到当迭代代数相同时,传统遗传算法获得的最优分割阈值精度较差,因此,在实验中将传统遗传算法和免疫遗传算法的迭代代数分别设为100 和50。待分割的原始单目标和多目标图像如图2 所示。在传统的遗传算法进行图像分割时,主要利用遗传算法寻优的特点来实现分割操作,首先,将图片转换为灰度图而后再实现分割,通过遗传操作的寻优算法,进行了单目标和多目标图片的分割,其分割的效果如图3(a)和图3(b)所示。

图2 原始图像

图3 遗传算法图像分割效果

免疫遗传算法主要是在遗传算法的基础上增加了免疫遗传算子。加入了免疫遗传算子,相当于加入了先验知识,是一种多峰值的搜索算法,能够更加精确的收敛到全局最优值,不会出现遗传算法中早熟的现象,导致过早的收敛从而变成局部最优。免疫遗传算法实现单目标和多目标的图像分割如图4(a)和图4(b)所示。

图4 免疫遗传算法图像分割效果

从分割效果来看,免疫遗传算法能够更加完善地保留图像的细节,并且可以精确地分割出目标图像;而传统的遗传算法会存在一定的过分割,其最优阈值的精确度没有免疫遗传算法的精度高。免疫遗传算法能够以较小的迭代代数获得较优的图像分割阈值,这就说明了免疫遗传算法的稳定性、收敛性都是优于相应的传统遗传算法的。

对比图3 和图4 可以看出,免疫遗传算法不管是对单目标的还是多目标的图像,都已经能够实现效果比较好的分割,使用免疫遗传算法来求取图像阈值化分割的最优阈值比相应的传统遗传算法更为有效。

5 结论

综上,使用遗传算法分割图像能够避免手动设置阈值的问题,通过搜索寻优的操作不但能快速的找到图像需要分割的区域,而且也实现了比较好的分割效果;免疫遗传算法相比于传统的遗传算法添加了一种免疫遗传算子,相当于给了遗传算法一个先验知识,通过这个先验知识来使用遗传算法,不仅能够比遗传算法更快的收敛到想要分割的区域,而且因为其先验知识,其分割效果也要比免疫遗传算法要好。

猜你喜欢
适应度算子交叉
改进的自适应复制、交叉和突变遗传算法
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
“六法”巧解分式方程
一类Markov模算子半群与相应的算子值Dirichlet型刻画
Roper-Suffridge延拓算子与Loewner链
连一连
基于空调导风板成型工艺的Kriging模型适应度研究
基于Fast-ICA的Wigner-Ville分布交叉项消除方法
双线性时频分布交叉项提取及损伤识别应用