题目:遗传算法在图像处理中的应用研究课程: 计算智能姓名:学号:专业:模式识别与智能系统遗传算法在图像处理中的应用摘要遗传算法是一种基于生物自然选择与遗传机理的随机搜索与优化方法。
近年来,由于遗传算法求解复杂优化问题的巨大潜力,广泛应用在生物信息学、系统发生学、计算科学、工程学、经济学、化学、制造、数学、物理、药物测量学和其他领域之中,这种算法受到了国内外学者的广泛关注,尤其是在计算机科学人工智能领域中。
本文介绍了遗传算法基本理论,描述了它的主要特点和基本性质;重点综述遗传算法在图像处理中的主要应用,特别是在图像分割、图像压缩、图像增强等方面的作用;深入研究目前遗传算法在图像处理领域中存在的问题,并结合自己的研究方向,对这些问题提出了一些深刻的见解,展望了今后遗传算法在图像处理应用的发展方向。
关键词:遗传算法,数字图像处理1.背景介绍遗传算法(Genetic Algorithm,GA)是一种自适应启发式群体型概率性迭代式的全局收敛搜索算法,其基本思想来源于生物进化论和群体遗传学,体现了适者生存、优胜劣汰的进化原则。
使用遗传算法求解科学研究工作和工程技术中各种组合搜索和优化计算问题这一基本思想早在20世纪60年代初期就由美国Michigan大学的Holland教授提出,其数学框架也于20世纪60年代中期形成。
由于GA的整体搜索策略和优化计算不依赖于梯度信息,所以它的应用范围非常广泛,尤其适合于处理传统方法难以解决的高度复杂的非线性问题。
它在自适应控制、组合优化、模式识别、机器学习、规划策略、信息处理和人工生命等领域的应用中越来越展示出优越性。
图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。
又称影像处理。
图像处理一般指数字图像处理。
数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。
图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。
常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。
图像处理一般指数字图像处理。
图像处理是计算机视觉中德一个重要研究领域,然而,在图像处理过程中,如扫描、特征提取、图像分割等不可避免地会存在一些误差,从而影响图像的效果。
于是,研究者就开始探索怎么样才能使这些误差最小从而使计算机视觉达到实用化的重要要求,最终,遗传算法凭借其在这些图像处理中的优化计算方面独特的优势成为各种算法的佼佼者,得到了广泛的应用。
2.遗传算法的原理和基本步骤遗传算法是一个不断迭代过程的搜索算法,它的基本处理流程如下图所示。
由上图可知,遗传算法模拟了自然选择和遗传进化中发生的繁殖、交配和突变现象,从任意一个初始种群出发,通过随机选择、交叉和变异操作,产生新的更适应环境的个体,使群体进化到搜索空间中越来越好的区域。
这样一代一代不断繁殖、进化,最后收敛到一群最适应环境的个体上,求得问题的最优解。
遗传算法对于复杂的优化问题无需建模和复杂运算,只要利用遗传算法的三种算子就能得到最优解。
GA 结构较为简单,算法也不复杂,但是又具有良好的选择效果,具有自适应性、子组织性和自学习性等特点,具有许多其它算法没有的优点,主要有:(1)GA 是对参数编码进行操作, 而非对参数本身, 减少约束条件的限制, 如连续性、可导性、单峰性等。
(2)GA 是多点搜索, 减少了陷于局部优解的风险。
(3)GA 仅用适应度函数来指导搜索, 不需要其他推导和附加信息, 对问题依赖性小。
(4) GA 的寻优规则是概率性的而非确定性的。
研究者们在应用GA 过程中也不断研究改进GA 的性能,使GA 更能满足时代的需要,比如在选择策略中提出了精英选择、稳态选择和竞争选择等新的机制; 在变异环节提出了两点、多点和一致变异作为传统一点变异的改进和补充; 在编码环节中应用格雷码和动态编码等克服传统二进制编码和定点十进制整数编码所就带来的问题; 此外, 还提出自适应技术动态改变GA 控制参数, 克服采取传统的静态控制参数策略引起的多样性和收敛性不均衡问题, 以及用梯度方法、单纯型法或模拟退火方法精细调整的混合GA, 以提高算法的收敛速度; 用均匀分布的初始群体代替随机产生的初始种群; 研究了分布式GA 、迁徙GA 和并行GA 等, 进一步推动了GA 的发展。
3.遗传算法在图像处理中的应用3.1基于遗传算法的图像增强图像增强技术是将不清晰的图像经过优化处理变成一张比之前更加清楚,或者变成一张使得特点更加鲜明的照片,以便于对图像再进行后期的加工。
目前图像增强方法主要包括将图像进行某种变换的频域法和对直接对原始图像进行处理的空域法两种。
而基于遗传算法的图像增强技术的实现则是利用遗传的选择方法找到一个最优或者局部最优的方法。
具体的操作方法是,首先将每一个目标值设置一个基位,用实数进行编码,这样问题就转化成求解这个目标基位组合的题目。
然后,对适应度进行设计,适应度设计为个体进化提供动力,在设置适应度的时候既要考虑图像的整体和局部的质量问题,也要将结构和细节考虑进去。
再后,对遗传算子进行设计,先根据前面设置的适应度值将个体从大到小进行排列,从中选择优秀的个体进入下一个程序当中;为了防止遗传算法在计算的过程中过早收敛,对种群的多样性进行保护,在计算过程中采用交叉操作的方法产生新的个体;对进化方向进行微调,采用变异操作的方法,对一个被选中的变异操作来说,就是采用“1”→“0”和“1”→“0”的方式进行变异。
最后,设置算法的结束条件,一般算法的结束条件就是迭代次数达到了最大进化代数或者最大适应度的值变化不明显。
例如,对于一幅数字图像f(.),f(x,y)是图像在x 行y 列的像素值。
f ’(x,y)为增强后的图像在对应点的像素值。
则有:()()()()()'(,)g m x,y k f x,y m x,y f x y =+-其中g(.)是一个对比度扩展函数。
m(x,y)为x 行y 列处像素值占在它的某个邻域内的局部均值。
K>0是一个控制参数,其大小直接影响到图像的处理质量。
因此,数字图像的增强过程可以转化为寻找求最优参数k 的过程。
进而,可用遗传算法按照上述过程进行寻优。
3.2基于遗传算法的图像恢复图像恢复就是把一个退化(或劣化)图像尽量恢复到它的原始面目, 是数字图像处理中的一个重要分支。
目前已提出许多有效的图像恢复方法, 如逆滤波法、维纳滤波法、奇异值分解伪逆法、最大熵恢复法等 。
由于引起图像退化的原因未知或不能用函数表达, 使得上述方法面临较多的约束问题或是计算量过大问题, 由于难以确定退化函数h, 限制了其实际应用的效果。
GA 用于灰度图像的恢复, 一般将染色体编码成以各像素的灰度值为元素的2维矩阵, 即一个染色体就代表一幅图像, 每个基因对应一个像素, 采用自然数编码。
每个个体的适应度函数中f i 为个体i 代表的推测恢复图像, g 为观测到的退化图像, h 为退化过程, 函数值越大表示个体越好。
在交叉操作时一般采用窗口交叉, 即在父代染色体矩阵中选择相同大小的窗口, 进行交换。
变异操作采用临近小范围内的平均值替换需要变异的某一基因值。
此外,GA 也用于彩色图像的恢复,并且取得了很好的效果。
基于GA 的图像恢复方式, 突破了原有的理论,而且其开放的结构易于与其他方式融合, 如与模糊逻辑相结合的模糊GA 等。
利用GA 恢复图像不仅较好的克服了噪声的影响, 而且使图像更平滑, 边缘没有条纹效应, 视觉效果好。
强大的全局搜索能力是遗传算法图像恢复方法行之有效的主要原因。
3.3 基于遗传算法的图像分割图像分割是自动目标识别的关键和首要步骤,其目的是将目标和背景分离,为计算机视觉的后续处理提供依据。
目前图像分割的方法很多,常用的包括阈值法、边缘检测法和区域跟踪法。
其中域值法是图像分割的最常用方法。
当前常用的域值分割方法如最小误差阈值法、最大类别方差法(Otsu 法)以及最佳直方图熵法。
下面我们以Kapur 等人提出的最佳熵法(KSW 熵法)为例讨论遗传算法在图像分割中的应用。
KSW 熵法是一种不需要先验知识,而且对于非理想双峰直方图的图像也可以较好分割的方法。
其缺点是在确定阈值时,尤其是确定多阈值时,计算量很大。
将信息论中Shannon 熵概念用于图像分割时,测量图像灰度直方图的熵,由此找出最佳阈值,其出发点是使图像中目标与背景的信息量最大。
根据shannon 熵的概念,对于灰度范围{0,1,⋯,255}的直方图,其熵测量为1T i 0H =-l i ip Lnp -=∑其中pi 为第i 个灰度出现的概率。
设阈值t 将图像划分为目标与背景两类,则令 0t t i i p p ==∑ 0ln t t i i i H p p ==-∑由阈值t 分为A,B 两类后,两类的概率分布分别为p0/pt, pt, ⋯ ,pl/pl; pt+1/(1-pt),pt-2/(1-pt), ⋯, pt-1/(1-pt), 与每个分布有关的熵分别为HA(t)和HB(t)01()ln ln t i t t A t i t t t p p H H t p p p p =-=-=+∑0123'(,)y x y b b x b y b xy =+++11()ln ln(1)111l i i T t B t i t t t tp p H H H t p p p p -=+-=-=-+---∑ 图像的总熵H(t)为HA(t)和HB(t)之和,即:()ln (1)1t T t t t t t H H H H t p p p p -=-++-当该函数取最大值时即为图像的最佳分割,因此将其作为遗传算法中的适应度函数。
(1) 编码。
我们选取有255 个灰度级的灰度图,由于图像灰度值在0-255 之间,故将各个染色体编码为8 位二进制编码,代表某个分割阈值。
初始代个体的值为随即产生,其对应的适应度值也各有高低。
(2) 群体体模型。
若个体数过多,则每一代适应度值的计算机过大,因此个体数应设置合理。
我们在此将个体数设为10, 最大繁殖代数为50.(3) 解码。
对二进制染色体数组解密为0-255 之间的值,以求其适应度值。
(4) 适应度函数。
采用H (t )式作为适应度函数。
(5) 算法的基本操作:选择:遗传算法的收敛定义指出保留最优个体(精英策略的遗传算法全局收敛。
因此本文在进行选择操作时,先进行轮盘赌选择法(蒙特卡罗法),再采用精英策略。
交叉:交叉互换的目的是产生不同于父体的子体。
交叉率越大,交叉操作的可能性也越大;如果交叉率太低,收敛速度可能降低。
单阈值分割由于只有一个参数,所以采用单点交叉,在此设交叉率为0.6。