改进免疫遗传算法用于图像阈值分割
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
改进免疫遗传算法用于图像阈值分割
魏衍君;陈哲;郑青碧
【摘要】在图像阈值分割中,基于遗传算法的分割方法存在着运行速度慢、易形成未成熟收敛等缺点.针对这一问题对其进行了改进.改进的免疫遗传算法在免疫算子中引入疫苗接种机制,极大地提高了收敛效率,对交叉概率和变异概率进行了改进,避免了局部收敛,以保证改进算法能收敛到全局最优值.实验结果表明,改进的免疫遗传算法比传统的算法提高了运行效率,解决了全局搜索不收敛和局部搜索不到最小值的问题,并具有更好的收敛稳定性.%Among image threshold segmentations, there exist shortcomings, such as low speed and easily forming premature convergences, in segmentation method based on genetic algorithm. So a new improved immune genetic algorithm is proposed. The improved algorithm adds vaccination mechanism based on immune adjustment operator, so it greatly improves the convergence efficiency, crossover probability and mutation probability to avoid local convergence, ard to ensure the improved algorithm to converge the global optimum value. The experiment results show that the improved immune genetic algorithm can increase the operational efficiency, solve the convergence problem of the global search, local search and convergence stability.
【期刊名称】《河南科学》
【年(卷),期】2012(030)001
【总页数】4页(P81-84)
【关键词】图像阈值分割;免疫遗传算法;收敛
【作者】魏衍君;陈哲;郑青碧
【作者单位】商丘职业技术学院计算机系,河南商丘476000;商丘职业技术学院计
算机系,河南商丘476000;商丘职业技术学院计算机系,河南商丘476000
【正文语种】中文
【中图分类】TP391.4
遗传算法是模拟生物的遗传进化过程而形成的全局优化概率搜索算法,遗传算法较传统的搜索算法具有高效鲁棒性、并行性和自适应性等优点,但是在遗传算法的搜索过程中,选择、交叉和变异算子都是在一定概率条件下随机指导搜索的,因此导致了不可避免的退化现象,存在着自身无法调节的缺陷[1-2],科学家们将免疫算
法与遗传算法结合起来,提出了免疫遗传算法(Immune Genetic Algorithm,
简称IGA).免疫遗传算法是基于生物免疫机制提出的一种改进的遗传算法,是一
种新型融合算法,一种新型计算智能方法,一种具有免疫功能的遗传算法,是模拟和反映生物机体免疫系统的特点,并结合工程优化应用而提出的一种仿生优化算法.它将实际求解问题的目标函数对应为抗原,而问题的解对应为免疫系统产生的抗体,通过抗原和抗体的亲和力描述可行解与最优解的逼近程度[3-4].由于图像本身的复
杂性和运算量大等问题,基于遗传算法的分割方法存在着运行速度慢、易形成未成熟收敛等缺点.针对这一问题,将免疫遗传算法进行了改进,改进的免疫遗传算法
是在免疫算子中引入疫苗接种机制,并对疫苗接种过后的抗体群采用ICM (Iterative Conditional Mode,条件迭代法)算法的选择机制生成更优的抗体传入下一代,极大地提高了收敛效率.
生物免疫系统是分布式的自适应动态平衡系统,具有学习、记忆和识别的功能,近
年来众多学者开始模仿免疫系统的作用机制并用于优化领域的研究,在使用免疫优化算法解决问题时,一般各个步骤有其对应形式.抗原对应要解决问题的数据输入,如目标函数、约束;抗体对应问题解,如优化问题的最优解;亲和度对应解的评估、结合度的评估;记忆细胞对应保留优化解;抗体促进和抑制对应优化解促进、非优化解的删除等[5].对应内容因解决对象不同内容各异.
本文主要考虑以下几个部分:
1)抗原识别.输入目标函数和各种约束作为免疫系统的抗原.本文中的抗原是指待
分割的图像,抗原识别是指对所给图像进行预处理.
2)初始抗体的产生,即生成初始解.抗原识别单元中,若系统求解过此类问题,则从记忆细胞库中搜寻该类问题的记忆抗体,从而生成初始抗体群N,不足的抗体
由随机的方法在解空间中产生.本文的抗体是指所求的阈值串,初始抗体产生是指
生成初始的阈值串.
3)亲和度计算.亲和度指两者的关联性.在此定义两类亲和度:抗体与抗原间的亲
和度以及抗体与抗体间的亲和度,前者相当于遗传算法中个体的适应度,而后者则体现了不同抗体之间的相似程度,是构造种群抗体浓度所必需的量.本文中的亲和
度是指适应度函数,亲和度计算是指根据阈值串代入适应度函数求得适应值.
4)免疫记忆.将与抗原具有较大亲和力的一个解或多个解作为免疫记忆细胞保存,将其加入到记忆存储单元中,应预先设定记忆库规模M,因为记忆库规模M有限,所以在记忆单元中应用新加入的抗体取代与其亲和性高的原有抗体.本文的记忆库
是一组阈值串的集合.
5)抗体的抑制和促进.传统遗传算法的选择操作只以适应度为基础,适应度高的个体被选择的可能性大,但这样往往会导致种群过于单一,易陷入局部最优.而免疫
遗传算法在实现抗体的抑制与促进时,选择概率兼顾了抗体的适应度和抗体在种群中的浓度,适应度高、浓度低的抗体应该被保留,即抗体的促进;适应度不是太高
而浓度又较大的抗体数目应适当的减少被选择进入下一代的可能性,即抗体的抑制.免疫系统中抗体的促进和抑制功能可以增加种群中抗体的多样性,避免了常规遗传算法中易出现的收敛于局部最优的问题.本文中的抗体抑制和促进是指对不好的阈
值串的清除和对好的阈值串的保持.
6)遗传操作.当前种群中抗体交叉、变异生成新一代抗体,进入下一代.本文中的
遗传操作是指对阈值串进行交叉、变异生成新的阈值串保留至下一代种群中.
改进的免疫遗传算法也主要对参数编码、初始抗体、适应度函数、遗传操作和参数控制五个组成要素进行改进.因为其中的参数编码、适应度函数和参数控制与遗传
算法一样,所以本文只针对初始抗体和免疫算子进行分析.
初始状态对于是否能收敛到最终状态至关重要.如果系统的初始化状态离全局极小
值的状态比较近,那么则很可能收敛到全局极小值.初始群体规模影响到算法的最
终性能和效率,若规模太小会过早收敛到局部最优解,若规模太大,每一代的计算量大,收敛速度很慢.因此本文利用免疫机制根据入侵抗原特征判定是否为新型抗原.如果能够与记忆细胞库中已知抗原匹配,则从库中抗体集合选出群体规模的一
半加入初始抗体种群,另外一半随机生成,否则采用ICM的初始化算法生成初始
抗体种群.
其中的记忆细胞库是先提取抗原统计特征值,最大灰度、最小灰度、待分类数等作为抗原特征参数,接着设定库中抗体集合元素数量,然后在每一代抗体群体更新时,将适应度最高的抗体选入记忆抗体集合.当记忆抗体集合满额时,则替换掉集合中
适应度最差的抗体.同时尽量避免含有相同的记忆抗体,以保持记忆抗体的多样性. 根据免疫调节的自适应抑制和促进机制来确定免疫算子,可在保留遗传算法的优良特征的前提下,通过基于个体浓度的自适应调节操作,有选择有目的地利用待求问题中的一些特征信息或知识来抑制优化过程中的退化现象,使基因不断优化,从而找到最优个体,既保证了解群分布的多样性,又提高了算法的局部搜索能力[6].本
文中的选择概率根据阈值串的浓度、适应度来共同确定,既保证了新一代种群中优良的阈值串被选中的概率,又避免算法过早陷入“早熟”.计算当前抗体种群中适
应值相近的阈值串浓度时,阈值串浓度越大,被选中参加遗传操作的概率越小.浓
度高的则减小该阈值串的选择概率,即抑制,反之,则增加该阈值串的选择概率,即促进,以此保持群体中阈值串的多样性.这样既保留了适应度高的阈值串,又保
证了解群中阈值串的多样性,避免了出现“早熟”.
解群中阈值串i的浓度Ci定义为:Ci=相近适应度阈值串数目/阈值串总数.首先计算出每个阈值串的适应度,然后确定最小适应值差u,若两个阈值串的适应度差小于u,则把他们归于一类,计算出每个阈值串的浓度后,通过选择算子对阈值串进行促进和抑制调节.阈值串的选择概率P由适应度概率F和浓度概率C共同决定,定义如(1)式.
式中:a,b为0~1的参数,F(i)为第i个阈值串的适应度,Fmax为所有阈值
串的最大适应度,Ci为阈值串i的浓度.由式(1)可看出:对高浓度且适应度也较高的阈值串,其被选中的机会反而较少;若其浓度不高,则也可保证高适应度的阈值串获得较高的被选中机会,这样既可保留适应度高的阈值串,又可确保阈值串的多样性,防止早熟收敛.
本文在免疫算子中引入了接种机制,即从记忆库中取出一个最优阈值串作为疫苗,将阈值串按适应值从大到小排序,选取适应度小于该代平均适应值的阈值串进行接种.接种方式是修改被接种阈值串M选中编码位上的码值,即将M上的某个编码
位改为疫苗上对应位的码值,使M以较大概率具有更高的适应值.在免疫迭代初期,为加快算法的收敛速度,接种时,阈值串的接种位数应较大,以尽快淘汰掉较差阈值串;同时为保持群体的多样性,接种阈值串数要比较小.而在进化的中后期,为
保证收敛,阈值串的接种位数应适当减少,避免算法陷入局部最优,而待接种的阈值串数要增加,最后对接种过的阈值串通过ICM算法作为选择机制,将优良阈值
串保留到下一代抗体种群中.
改进免疫遗传算法的步骤如下:
步骤1:抗原识别,分析问题及解的特征,选择编码策略,确定用二进制编码方式对各抗体进行编码,把图像分割中的阈值转化为二进制码表示,每个阈值串c=
(t1,t2,t3)就表示一组解.
步骤2:设定种群规模为N,对应答作判断,如果是初次应答,采用ICM算法的
初始化算法生成初始抗体种群N(o),如果不是,种群规模的一半由记忆库中选取,其它的随机产生.
步骤3:定义适应值函数f(x),选取最大熵原则作为适应值函数.
步骤4:把每个抗体即阈值串解码后的阈值代入适应值函数,计算出抗体群中个体的适应值f(x),即抗体-抗原亲和度.
步骤5:计算抗体的浓度,即两个阈值串之间的相似度.
步骤6:确定遗传策略,引入接种机制,选取一个最优的阈值串,对适应值较低的阈值串进行接种,之后采用ICM算法作为选择方法,交叉方法选用单点交叉方法,变异方法采用单点变异方法,遗传参数的交叉概率Pc、变异概率Pm采用自适应
的方式.
步骤7:在计算适应度值和浓度值的基础上,按照遗传策略对抗体群N(t)进行
选择、交叉、变异,生成下一代群体 N(t+1).
步骤8:判断是否符合结束条件,如果不符合,进行下一代群体优化,转入步骤6;如果符合抗体浓度稳定或达到截止迭代的结束条件,则输出最优解.
实验选取一幅灰度级为256标准灰度头部CT图像(512×512).图1给出了使用免疫遗传算法得到的阈值分割结果,把原图分成背景、表皮、软组织和骨骼四部分,图2给出了使用改进免疫遗传算法得到的阈值分割结果.本文将无穷搜索算法、免
疫遗传算法和改进免疫遗传算法在同等实验环境下进行比较,实验选取群体规模
N=30,迭代次数G=20.表1是无穷搜索算法、免疫遗传算法和改进免疫遗传算法求得的阈值结果和计算所需时间.可以看出无穷搜索算法用了176 s得到了最终的
阈值分割结果13,60,93,免疫遗传算法用了7 s得到了最终的阈值分割结果10,62,96,改进免疫遗传算法用了6 s得到了最终的阈值分割结果12,62,93.
比较实验结果后,从表1可以看出无穷搜索算法、免疫遗传算法和改进免疫遗传
算法三种算法最终解的差异不太大,免疫遗传算法和改进免疫遗传算法的运行时间都比无穷搜索算法的时间快很多,大大缩短了寻找阈值的时间,而且得到的阈值分割结果也比较接近最优结果.
改进免疫遗传算法是在免疫遗传算法的免疫算子上引入接种机制,对疫苗接种过后的抗体群采用ICM算法的选择机制生成更优的抗体传入下一代,所以改进免疫遗
传算法比免疫遗传算法更快地收敛到最优解,因此所耗时间也比免疫遗传算法要少,而且改进免疫遗传算法的阈值结果比免疫遗传算法更接近最优结果,收敛稳定性也比免疫遗传算法要好.
该文的创新点是将免疫遗传算法与ICM算法相结合,并对其进行了改进.在改进免疫遗传算法中结合设置记忆细胞和ICM初始化算法,生成初始抗体,使得生成的
初始抗体比传统的更好;在改进免疫遗传算法的选择操作中,以适应值大小和抗体浓度指标作为选择的依据,使算法具有更好的群体多样性,同时引入接种机制,使算法具有更好的收敛性;采用自适应的方式对遗传算子进行参数控制,使得算法更具有灵活性和扩展性,并提高了收敛速度.
【相关文献】
[1]唐琳,蔡德荣,黄猛.一种基于遗传算法的图像分割算法[J].计算机与数字工程,
2008(7):12-14.
[2] Chabrier S,Rosenberger C,Emile B,et al.Optimization-based image segmentation by genetic algorithms[J].EURASIP Journal on Image and Video Processing,2008(2):23-32.
[3]李彬,田联房,毛宗源.基于人工免疫的灰度图像多阈值自动分割[J].计算机工程与设计,2007,28(1):106-108.
[4]汤凌,郑肇葆,虞欣.一种基于人工免疫的图像分割算法[J].武汉大学学报:信息科学版,2007,32(1):67-70.
[5] Wang Yi,Fan Yangyu,Niu Yilong,et al.Effective immune genetic algorithm for segmentation of 3D brain images[J].China Journal of System Simulation,2008,20(15):4136-4140.
[6]马剑英,张晓娜.基于免疫遗传算法的图像多阈值分割[J].微计算机信息,2007,23(1-3):309-310.。