当前位置:文档之家› 基于神经网络的图像分割

基于神经网络的图像分割

基于遗传神经网络的图像分割摘要针对图像分割的复杂性,利用遗传算法对BP神经网络的权值和阈值进行优化,设计出误差最小的神经网络,然后再对图像的像素进行分类识别,实现并提高了图像分割性能。

仿真实验表明,与传统的图像分割方法相比,取得了比传统方法更好的图像分割效果。

关键词:图像分割;神经网络;遗传算法;遗传优化A Study of Genetic Neural Network Used in Image SegmentationABSTRACTBecause of the complexity of image segmentation, the optimization of the weights and thresholds of BP neural network are realized by genetic algorithm, and a BP neural network with minimum error is designed. It classify the image pixels, implement and improve the performance of image segmentation. The results of simulation show that the algorithm neuralnetwork can better achieve the image segmentation, compared with the traditional method.Key word :Image segmentation;Neural Network;Genetic algorithm;Genetic optimization一、遗传算法1.1基本概念遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。

它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。

遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。

它是现代有关智能计算中的关键技术。

对于一个求函数最大值的优化问题(求函数最小值也类同),一般可以描述为下列数学规划模型:遗传算法式中为决策变量,为目标函数式,式2-2、2-3为约束条件,U是基本空间,R是U的子集。

满足约束条件的解X称为可行解,集合R表示所有满足约束条件的解所组成的集合,称为可行解集合。

1.2遗传算法的基本运算过程如下:a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。

b)个体评价:计算群体P(t)中各个个体的适应度。

c)选择运算:将选择算子作用于群体。

选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。

选择操作是建立在群体中个体的适应度评估基础上的。

d)交叉运算;将交叉算子作用于群体。

所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。

遗传算法中起核心作用的就是交叉算子。

e)变异运算:将变异算子作用于群体。

即是对群体中的个体串的某些基因座上的基因值作变动。

群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t 1)。

f)终止条件判断:若tT,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。

1.3遗传算法特点遗传算法是解决搜索问题的一种通用算法,对于各种通用问题都可以使用。

搜索算法的共同特征为:①首先组成一组候选解;②依据某些适应性条件测算这些候选解的适应度;③根据适应度保留某些候选解,放弃其他候选解;④对保留的候选解进行某些操作,生成新的候选解。

以下是遗传算法流程图:遗传算法在遗传算法中,上述几个特征以一种特殊的方式组合在一起:基于染色体群的并行搜索,带有猜测性质的选择操作、交换操作和突变操作。

这种特殊的组合方式将遗传算法与其它搜索算法区别开来。

遗传算法还具有以下几方面的特点:(1)遗传算法从问题解的串集开始嫂索,而不是从单个解开始。

这是遗传算法与传统优化算法的极大区别。

传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。

遗传算法从串集开始搜索,覆盖面大,利于全局择优。

(2)许多传统搜索算法都是单点搜索算法,容易陷入局部的最优解。

遗传算法同时处理群体中的多个个体,即对搜索空间中的多个解进行评估,减少了陷入局部最优解的风险,同时算法本身易于实现并行化。

(3)遗传算法基本上不用搜索空间的知识或其它辅助信息,而仅用适应度函数值来评估个体,在此基础上进行遗传操作。

适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。

这一特点使得遗传算法的应用范围大大扩展。

(4)遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导他的搜索方向。

(5)具有自组织、自适应和自学习性。

遗传算法利用进化过程获得的信息自行组织搜索时,硬度大的个体具有较高的生存概率,并获得更适应环境的基因结构。

二、人工神经网络人工神经网络(Artificial Neural Networks, ANN),一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。

这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

人工神经网络具有自学习和自适应的能力,可以通过预先提供的一批相互对应的输入-输出数据,分析掌握两者之间潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果,这种学习分析的过程被称为“训练”。

(引自《环球科学》2007年第一期《神经语言:老鼠胡须下的秘密》)它是由大量处理单元互联组成的非线性、自适应信息处理系统。

它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。

2.1基本特征人工神经网络具有四个基本特征:(1)非线性非线性关系是自然界的普遍特性。

大脑的智慧就是一种非线性现象。

人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系。

具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。

(2)非局限性一个神经网络通常由多个神经元广泛连接而成。

一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。

通过单元之间的大量连接模拟大脑的非局限性。

联想记忆是非局限性的典型例子。

(3)非常定性人工神经网络具有自适应、自组织、自学习能力。

神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。

经常采用迭代过程描写动力系统的演化过程。

(4)非凸性一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。

例如能量函数,它的极值相应于系统比较稳定的状态。

非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。

2.2神经元处理单元人工神经网络中,神经元处理单元可表示不同的对象,例如特征、字母、概念,或者一些有意义的抽象模式。

网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。

输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。

神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。

人工神经网络是一种非程序化、适应性、大脑风格的信息处理,其本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑神经系统的信息处理功能。

它是涉及神经科学、思维科学、人工智能、计算机科学等多个领域的交叉学科。

2.3并行分布式系统人工神经网络是并行分布式系统,采用了与传统人工智能和信息处理技术完全不同的机理,克服了传统的基于逻辑符号的人工智能在处理直觉、非结构化信息方面的缺陷,具有自适应、自组织和实时学习的特点。

三、遗传神经网络神经网络的应用正向大规模、复杂的形势发展,目前设计网络的方法已远远不能满足需要,ANN需要高效的自动设计方法。

近几年,出现了一些优化网络结构和权值的方法,如optimal brain surgeon(OBS)[1], magnitude based pruning (MBP)[2],和unit-OBS[3](对OBS的改进算法)等,它们共同的思路是通过删减网络的神经元或连接来降低网络复杂度并改善网络的性能,但这些方法的效率不高且很难找到最优的网络结构和权值的组合。

遗传算法的发展使神经网络结构和权值的优化有了一个崭新的面貌,它的搜索能够遍及整个解空间,容易得到全局最优解[4]。

用遗传算法优化神经网络,可以使神经网络具有自进化、自适应能力,从而构造出进化的神经网络[5],本文将提出一种基于遗传算法的多层前馈神经网络结构和权值同时进化的方法(geneticmu ltilayer neural network, GMNN),此方法给出了前馈神经网络个体的编码方式,在适值函数的设计中考虑了网络的结构、训练误差及网络的泛化能力等因素,方法中还采用了自适应变异率,小生境技术等来改善算法的性能。

3.1对遗传算法的改进与BP算法相比,遗传算法显示出很强的鲁棒性以及解空间的并行性等优点,从而能较快地找到问题的一个较优解。

然而对于较复杂的问题,由于遗传算法随机搜索的特征,其局部爬山能力较差。

所以,我们对交叉、变异算子做了改进,使其具备了一定的判断能力,具体的改进方法如下。

1)用轮转法选择父代中的两个个体进行遗传操作,若这两个个体进行了交叉操作,则对这两个父代个体再进行n次交叉操作,即对这两个父代个体分别进行了n+1次交叉,得到了n+1种交叉结果,每次交叉产生的两个子代的适应值分别记为li1,li2(i=1,…,n+1)。

然后选出max(li1,li2)值最大的一组结果(记为L),与父代的两个个体比较,如果父代两个体的较高适应值大于L的较高适应值,则选择父代的两个体作为新一代的两个个体,否则将L中的两个体作为新一代的两个个体。

这样做的目的是针对父代中的两个个体为其选择较好的交叉方式以产生更好的后代,如果交叉没有产生更好的后代,则将父代个体复制到下一代。

为了避免个别高适应值个体的多次复制到下一代以使种群多样性退化,要为每一个体设一标志位,以保证该个体只复制一次到下一代。

2)变异操作的改进类似交叉操作的改进,以选出较好的变异结果。

四、图像分割4.1基于遗传神经网络的图像分割遗传神经网络在特征分类方面,有着非常广泛的应用。

相关主题