当前位置:
文档之家› 遗传算法在数字图像处理中的应用
遗传算法在数字图像处理中的应用
新的个体加入下一代群体。即适应于生存环境的优良个体将有更多繁殖后代的机会,从而使 优良特性得以遗传。选择是遗传算法的关键,它体现了自然界中适者生存的思想。
5) 杂交(交叉):对于选中的用于繁殖的每一对个体,随机地选择同一整数 n,将双
亲的基因码链在此位置相互交换。交叉体现了自然界中信息交换的思想。
6) 变异:按一定的概率从群体中选择若干个个体。对于选中的个体,随机选择某一
3.2 遗传算法用于图像匹配
图像匹配是图像处理中一个重要的课题,在计算机视觉、运动目标跟踪与识别、序列图 像压缩中运动补偿、医学图像处理等领域有广阔的应用前景.在对图像的理解中,匹配技术起 着重要的作用,是实现图像理解的基础。
图像匹配包括模板匹配、目标匹配和动态模式匹配,其中模板(子图像或窗)匹配是最常 见的匹配方法。提高图像匹配的精度和计算速度一直是研究的热点。传统的序贯相似性检测 算法(SSDA)[7]是将模板在图上逐像素平移并计算相关值,相关值最大处即为匹配最好处.该 方法匹配精度高,算法稳定,但计算量大,难以用于实时性要求高的场合。近年来改进的 SSDA 算法、幅度排序相关算法和分层搜索的序贯判决算法等,在快速性方面效果并不明显。一些 学者还提出了快速傅立叶变换(FFT)的相关算法,即通过快速傅立叶分析,将相关运算变换 到频域中进行,但相关系数的计算在频域内难以实现。下面介绍一种基于遗传算法的图像校 准函数辨识方法[8]。
将信息论中 Shannon 熵概念用于图像分割时,测量图像灰度直方图的熵,由此找出最佳 阈值,其出发点是使图像中目标与背景的信息量最大。本文作者曾将最大熵原则用于 PCNN 神经网络进行图像分割,亦取得了很好的效果[5]。
根据 shannon 熵的概念,对于灰度范围{0,1,…,l-1}的直方图,其熵测量为
5
提出的图像参数模型[7],对于一幅数字图像 f(●),f(x, y)是图像在 x 行 y 列的象素值。 f’(x, y)为增强后的图像在对应点的象素值。则有:
f '(x, y) = g(m(x, y)) + k( f (x, y) − m(x, y)) (8)
其中 g(●)是一个对比度扩展函数。 m(x, y)为 x 行 y 列处象素占在它的某个领域内的局部均值。 K > 0 是一个控制参数,其大小直接影响到图像的处理质量。
因此,数字图像的增强过程可以转化为寻找求最优参数 k 的过程。可用遗传算法进行寻优。
4. 遗传算法的主要问题及改进
4.1 控制参数选择
位进行取反操作。变异模拟了生物进化过程中的偶然基因突变现象。对产生的新一代群体进 行重新评价、选择、杂交和变异。如此循环往复,使群体中最优个体的适应度和平均适应度 不断提高,直至最优个体的适应度达到某一界限或最优个体的适应度和平均适应度值不再提 高,则迭代过程收敛,算法结束。GA 的搜索能力主要是由选择和杂交赋予的,变异算子则 保证了算法能搜索到问题解空间的每一点,从而使算法达到全局最优。
变异:变异是子代基因按小概率扰动产生的变化。本文选取变异概率为 0.1。 终止准则:规定算法执行到最大代数(50 代)或经过某些代进化,群体的最高适应度不 再发生变化(稳定条件),算法停止,具有最高适应度值的个体即为分割阈值。 以上人口模型、交叉概率、变异概率和稳定代数等参数均根据多次实验结果总结设计[6]。
4) 适应度函数 采用(5)式作为适应度函数。
5) 算法的基本操作: 选择:遗传算法的收敛定义指出保留最优个体(精英策略的遗传算法全局收敛。因此本
文在进行选择操作时,先进行轮盘赌选择法(蒙特卡罗法),再采用精英策略。 交叉:交叉互换的目的是产生不同于父体的子体。交叉率越大,交叉操作的可能性也越
大;如果交叉率太低,收敛速度可能降低。单阈值分割由于只有一个参数,所以采用单点交 叉,在此设交叉率为 0.6。
遗传算法在数字图像处理中的应用
马义德,杜鸿飞,齐春亮
(兰州大信息科学与工程学院 甘肃 兰州 730000)
email: duhf04@
摘要:遗传算法是借鉴生物选择和进化机制发展起来的一种高度并行、随机、自适应搜索算 法。特别适合于处理传统搜索算法解决不好的复杂的和非线性问题。本文将在系统介绍遗传 算法的基本理论基础上,介绍其在数字图像处理领域的应用。 关键词:遗传算法, 数字图像处理, 图像分割, 模式匹配, 图像增强
3. 遗传算法在数字图像处理领域的应用
3.1 遗传算法用于图像分割
图像分割是自动目标识别的关键和首要步骤,其目的是将目标和背景分离,为计算机视
2
觉的后续处理提供依据。目前图像分割的方法很多,常用的包括阈值法、边缘检测法和区域 跟踪法。其中域值法是图像分割的最常用方法。
体编码为 8 位二进制编码,代表某个分割阈值。初始代个体的值为随即产生,其对应的
适应度值也各有高低。
3
2) 群体体模型 若个体数过多,则每一代适应度值的计算机过大,因此个体数应设置合理。我们在此将 个体数设为 10, 最大繁殖代数为 50.
3) 解码 对二进制染色体数组解密为 0-255 之间的值,以求其适应度值。
∑ ∑ ( A'(x', y') − B(x', y'))2
x' y'
(7)
由于未考虑歪斜图像灰度的变化(除局部的变化外),在对于歪斜之外的变化很大的场合, 用这种方法进行图像校准是不合适的。
3.3 遗传算法用于图像增强
目前,遗传算法在图像处理领域的研究主要还集中在图像分割[6]、图像分类、图像重建 [8]、模式识别等方面。对于图像增强,曾经有一些学者将遗传规划(GP)用于彩色图像的增 强处理[9] ,采取专家目视解释的方法评价图像质量,还不算很成功。一般来说,对于图像 增强技术而言,进化算法有一下缺点: (1)利用全局观点进行图像的增强处理,通常忽略了图像的局部信息,造成增强效果欠佳。 (2)需要人工干预,不能自动完成图像增强任务。
l −1
∑ H T = − pi Lnp i
i=0
(1)
其中 pi 为第 i 个灰度出现的概率。设阈值 t 将图像划分为目标与背景两类,则令 Pt =
∑ pt =
p t
i=0 i
∑ Ht = −
t i=0
pi
ln
pi
(2)
由阈值 t 分为 A,B 两类后,两类的概率分布分别为 p0/pt, pt, … ,pl/pl; pt+1/(1-pt),
1) 参数编码:遗传算法一般不直接处理问题空间的参数而是将待优化的参数集进行
编码,一般总是用二进制将参数集编码成由 0 或 1 组成的有限长度的字符串。
2) 初始种群的生成:随机地产生 n 个个体组成一个群体,该群体代表一些可能解的
1
集合。GA 的任务是从这些群体出发,模拟进化过程进行择优汰劣,最后得出优秀的群体和 个体,满足优化的要求。
2.遗传算法的基本原理
遗传算法是建立在自然选择和群体遗传学机理基础上的随机迭代和进化,具有广泛适用 性的搜索方法,具有很强的全局优化搜索能力。它模拟了自然选择和自然遗传过程中发生的 繁殖、交配和变异现象,根据适者生存、优胜劣汰的自然法则,利用遗传算子(选择、交叉 和变异)逐代产生优选个体(即候选解),最终搜索到较优的个体[3]。经典遗传算法的计算流 程如图 1 所示。从图中可以看出,遗传算法是一种种群型操作,该操作以种群中的所有个体 为对象。具体求解步骤如下:
假设灰度图像 A 上一点(x,y)的灰度为 A(x,y)。如图 2 所示,定义下面的非线性变 换:
x’(x, y) = a0+a1x + a2y + a3xy
4
y’(x,y) = b0 + b1x + b2)
经过以上变换,得到图像 A’。现在要考虑的是确定系数 a0,a1,a2,a3,和 b0,b1, b2,b3,使图像 A’与歪斜图像 B 之间的误差最小,则我们根据获得的变换图像推断歪斜图 像 B 中 发 生 了 变 化 的 部 分 。 将 遗 传 算 法 应 用 于 变 换 函 数 的 辨 识 [3] , 考 虑 对 系 数 (a0,a1,a2,a3,b0,b1,b2,b3)进行个体染色体编码,个体的适应度可根据其系数计算变换后 图像 A’与歪斜图像 B 之间的误差进行评价,误差值可按式(7)计算。个体的误差值越小, 则其适应度越大。
pt-2/(1-pt), …, pt-1/(1-pt), 与每个分布有关的熵分别为 HA(t)和 HB(t)
∑ H A (t) =
t
−
i=0
pi Pt
ln
Pt − Pt
1
=
ln
Pt
+
Ht Pt
(3)
∑ H
B
(t)
=
l −1
− 1 i =t +1
pi − Pt
ln pi 1 − Pt
=
ln(1 −
Pt
)
+
HT − Ht 1 − Pt
(4)
图像的总熵 H(t)为 HA(t)和 HB(t)之和,即:
H (t) = ln Pt
(1 − Pt ) +
Ht Pt
+
HT − Ht 1 − Pt
(5)
当该函数取最大值时即为图像的最佳分割,因此将其作为遗传算法中的适应度函数。
1) 编码
我们选取有 255 个灰度级的灰度图,由于图像灰度值在 0-255 之间,故将各个染色
3) 适应度函数的设计:遗传算法在运行中基本上不需要外部信息,只需依据适应
度函数来控制种群的更新。根据适应度函数对群体中的每个个体计算其适应度,为群体进化 的选择提供依据。设计适应度函数的主要方法是把问题的目标函数转换成合适的适应度函 数。
4) 选择(复制):按一定概率从群体中选择 M 对个体,作为双亲用于繁殖后代,产生