基于模糊理论的图像分割算法研究(一)

(整期优先)网络出版时间:2019-06-08
/ 2

4.2.3 直方图双峰法(mode 法)
Prewitt 等人于六十年代中期提出的直方图双峰法(也称 mode 法) 是典型的全局单阈值分割方法。该方法的基本思想是:假设图像中有明显的目标和背景,则其灰度直方图呈双峰分布,如图所示:

当灰度级直方图具有双峰特性时,选取两峰之间的谷对应的灰度级作为阈值。如果背景的灰度值在整个图像中可以合理地看作为恒定,而且所有物体与背景都具有几乎相同的对比度,那么,选择一个正确的、固定的全局阈值会有较好的效果。例如图4.1所示:

108383525.gif

图4.1

原始灰度图像

108389395.gif

图4.2

灰度直方图

当选定阈值M为100时,分割效果如下:

108394457.gif

图4.3

分割后图像

通过对上示图片的比照,对于简单的,背景图像和目标图像对比鲜明的图片,我们很容易通过其灰度直方图找到分割用的阈值(M=100),从而将图像按照灰度的不同区分开来。

这种方法虽然简单易行,但是因为同一个直方图可能对应若干种不同的图像,所以使用双峰法需要有一定的图像先验知识,而且该方法不适合用于直方图中的双峰差别很大或双峰之间的谷部较宽广而平坦或者只有单峰的图像。例如,在对于下示图4.4,图4.7,图片的处理:

10839622.gif

图4.4

原始图像

108399954.gif

图4.5

灰度图像

108402853.gif

图4.6

灰度直方图


图片4.5的直方图平坦,无法找出两峰之间的峰谷。

108408347.gif

图4.7

原始图像

108408671.gif

图4.8

灰度图像

108419149.gif

图4.9

灰度直方图

图片4.8的直方图的各峰差别大,无法通过峰谷判定阈值。因此,阈值的难以确定,导致对这两幅图片采用灰度直方图法的失败:

108417740.gif

图4.10

分割结果

108418765.gif

图4.11

分割结果

由于图片4.5直方图的平坦,无法找出两峰之间的峰谷,而图片4.8的直方图各峰差别很大,导致图片4.5和图片4.8都无法获得足够的图像先验知识,从而使本方法的使用遇到困难,阈值的寻找困难直接导致在采用本方法处理图片后,分割后的图像与原图像的差别很不明显,并未达到实际的分割效果。因此,本方法的使用的局限性很大,只适于对一些简单的背景和目标图像的灰度差别很大的图像的处理,(程序源代码参见附录一),而且不便于阈值的自动选择,无法完全自动的有程序实现。

第五章 模糊理论和遗传算法理论简介
传统的信息处理方法建立在概率假设和二态假设(Probality Assumption

&Binary-State Assumption)的基础上。概率假设使传统的数学应用范围从确定性现象扩展到随机现象,二态假设对应了人类的精确思维方式。但自然界客观存在的事物除了可以精确表示之外,还存在着大量的模糊现象,如“年轻人”、“高个子”等,究竟多大年龄之间算“年轻’,,多高个子为“高个子”,这是人们观念中的模糊的概念,模糊(Fuzzy)概念由此产生。模糊性也就是生活中的不确定性。实际上客观事物的不确定性除了随机性外,模糊性也是一种不确定性。所谓模糊性是指事物的性质或类属的不分明性,其根源是事物之间存在过渡性的事物或状态,使它们之间没有明确的分界线。

在自然科学中,人们长久以来习惯于追求精确性,总希望把事物以数学方式描述出来,然而,面对模糊现象,传统的数学方法遇到了实质性的困难。但对于人的大脑而言,它具有很高的模糊划分、模糊判断和模糊推理的能力,而且人们为了表达和传递知识所采用的自然语言中已巧妙地渗透了模糊性,并能用最少的词汇表达尽可能多的信息。但是,对于计算机来说,无论它怎样发展,总无法达到人脑的境界,所以,用计算机来处理模糊信息,就需要一种能够将模糊语言形式化的工具,用数学的方式处理这种模糊性。模糊数学的一个重要特点,就是让数学反过来吸收人脑的模糊识别和判决特点,并将之运用于计算机,使部分自然语言能够作为算法语言直接进入程序,让机器通过模仿生物的思维判别模式,使人们能够以简易的程序来调动机器完成复杂的任务,从而大大提高机器的灵活性。人工智能,计算生命,遗传算法等前沿学科正是模糊数学理论发展的结果。在面对工程领域中大量的无法采用传统优化方法解决的复杂的、非线性的优化问题时,遗传算法作为模糊数学理论中重要的一支,因其具有简单、通用,鲁棒性强,且易于并行性的特点,而广泛应用于工程设计的优化,系统辨识和控制,机器学习,图像处理和智能信息处理等领域。

本文正是以遗传算法这一新的,融生命科学与工程科学于一体的全局搜索算法为主要的研究与讨论方向,重点讨论了基于遗传算法理论的图像分割问题。

5.1遗传算法的基本概念
遗传算法(GA-Genetic Algorithms)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,由Michigan大学的J. Holland教授于1975年首先提出。它将“适者生存”的进化理论引入串结构,并且在串之间进行有组织但又随机的信息交换。通过遗传操作,使优良品质被不断保留、组合,从而不断产生出更佳的个体。子代个体中包含父代个体的大量信息,并在总体上胜过父代个体,从而使种群向前进化发展,即不断接近最优解。由于遗传算法是自然遗传学和计算机科学相互结合渗透的产物,因此借用了许多自然进化的基础术语。

·种群(population)和个体(inpiduals)

遗传算法处理的是染色体,或者叫基因型个体,通常以一维串结构资料来表现。一定数量的个体组成了种群(population ),或叫集团。

·种群规模(population size )

种群中个体的数目称为种群大小,也叫种群规模。

·适应度函数(fitness function )

各个个体对环境的适应程度叫做适应度。对于优化问题,适应度函数就是目标函数。遗传算法对适应度函数并不要求可导等条件,只要求适应度函数为可加以比较的非负函数。

·编码(coding)、译码(decoding)操作

遗传算法必须包含两个必须的资料转换操作,即把搜索空间中的参数或解转换成遗传空间中的染色体或个体,称为编码操作;反之,称为译码操作。

·选择(selection )、交叉(crossover)和变异(mutation)操作

这三个操作数是遗传算法的三个主要操作操作数,即遗传操作( genetic operation,是遗传算法的特点。(详细介绍将在下节。)

5.2遗传算法 5.2.1遗传算法的基本流程
标准遗传算法(( SGA)的基本流程如图所示,算法主要步骤如下图5.1示:

1)随机产生初始种群,作为第一代。个体长度、种群规模、交叉概率、变异概率为固定值;

2)对父代种群计算适应度值;

3)判断是否满足终止条件,是,则执行步骤4:否则,进行选择、交叉、变异操作形成子代种群,并将子代种群作为下一次叠代的父代种群,转入执行步骤2;

4)输出最佳个体,退出。

SHAPE \* MERGEFORMAT 108424676.gif

5.2.2遗传算法的要素
遗传算法具有5个基本要素:编码机制,初始种群的设定,适应度函数的设定,遗传操作,控制参数的设定。具体步骤如下:

1.编码机制

编码机制是遗传算法的基础。通常遗传算法不直接处理问题空间的资料,而是将各种实际问题变换为与问题无关的串个体。对染色体串的遗传操作只与遗传算法的理论、技术有关,而与具体实际问题无关。这一特性增大了遗传算法的适用性。当实际问题变化时,可只改变适应度函数,而无需改变其它操作,加强了代码的通用性。最常用的方法是二进制串结构编码。

2.初始化种群设定

遗传算法处理流程中,编码设计之后的任务是初始种群的设定,并以此为起点一代一代的进化直到按照某种进化终止准则终止。最常用的初始方法是无指导的随机初始化。

3.适应度函数

遗传算法在搜索过程中基本不采用外部信息,仅以适应度函数为依据引导搜索。它不受连续可微的约束且定义域可为任意集合。对目标函数的唯一要求是,对输入计算出能加以比较的非负结果。这使得遗传算法的应用范围非常广泛。个体的适应度值越大,表明该个体的生存能力越大,易于遗传产生后代。