1、目 录摘 要IABSTRACTII第1章 绪 论11.1 本课题的研究意义和背景11.2 国内外研究现状11.3 本文主要研究内容2第2章 边缘检测的原理和方法42.1 边缘检测的原理42.2 常见的边缘检测方法52.2.1 Roberts算子52.2.2 Sobel边缘算子62.2.3 Canny边缘算子72.3 本章小结7第3章 细胞神经网络和遗传算法83.1 细胞神经网络83.1.1 细胞神经网络简述83.1.2 细胞神经网络发展与现状93.1.3 细胞神经网络的结构93.1.4 细胞神经网络的状态方程123.1.5 细胞神经网络状态方程差分化133.2 遗传算法143.2.1 遗传算法
2、简述143.2.2 遗传算法原理143.3 本章小结17第4章 基于自适应遗传算法的细胞神经网络模板设计184.1 细胞神经网络模板参数设计原理184.1.1 细胞神经网络的动态特性194.1.2 细胞神经网络的稳定性分析204.2 细胞神经网络模板的特点214.3 基于自适应遗传算法的CNN模板设计224.3.1 控制参数的选择234.3.2 编码方式244.3.3 适应度函数的选择254.3.4 选择操作264.3.5 交叉和变异264.4 本章小结27第5章 基于细胞神经网络检测图像边缘与效果评价285.1 图像预处理285.2 边缘检测的算法实现295.3 自适应遗传算法模板实现与性能
3、比较315.3 本章小结37第6章 总结与展望386.1 总结386.2 展望38致 谢39参考文献402012届计算机科学与技术专业毕业设计(论文)摘 要在数字图像处理领域,边缘检测是一项基本而又重要的研究内容。数字图像的边缘检测是图像分割、区域形状提取等图像分析领域的重要基础,也是图像识别中进行图像预处理的重要环节。近年来,边缘检测这个课题已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。细胞神经网络(CNN)是一种并行处理器,在数字图像处理领域有很大的发展空间,本文首先详细描述了基于CNN的图像边缘提取过程以及其原理,给出了对灰度图像进行检测的算法流程;然后介绍了基
4、于自适应遗传算法的CNN模板参数寻优的算法流程;最后介绍了VC+环境下边缘检测算法的实现。本文通过CNN与其他经典算法的效果对比,证明了基于CNN的边缘检测具有良好的效果。关键词:边缘提取,细胞神经网络(CNN),自适应遗传算法,VC+ABSTRACTIn the field of digital image processing, edge detection is a basic and important research. Edge detection of digital images is very important base of image analysis field su
5、ch as image segmentation, regional shape extraction, and also an important part of image pre-processing in image recognition. In recent years, this subject has become one of the most active topics in the field of machine vision research and plays a very important role in engineering applications.Cel
6、lular neural network (CNN) is a parallel processor, and there is much room for development in the field of digital image processing. In this paper we firstly gave the detailed description of the process as well as principle of CNN-based image edge extraction. We also gave the algorithm process of gr
7、ay-scale images detection and described the process of optimization for CNN template parameters based on adaptive genetic algorithm. Finally, we described the implementation of edge detection algorithm under the VC + + environment. This paper proves that the edge detection based on CNN works quite w
8、ell compared with other classic algorithms.KEY WORDS:edge extraction,CNN,Adaptive genetic algorithm,VC+I2012届计算机科学与技术专业毕业设计(论文)第1章 绪 论1.1 本课题的研究意义和背景统计表明,视觉系统帮助人类从外界获得75%以上的信息,而这些信息正是人类感知的世界的大部分信息。图像处理就是对从外界所获得的信息进行加工处理,以满足人的视觉心理和实际应用的要求,理解图像、识别图像中的目标是计算机视觉图像处理的中心任务。边缘检测技术对于数字图像处理非常重要,提取出边缘才能将目标和背景区
9、分开。边缘像素实质上是指局部图像范围内灰度有急剧变化的点(奇异点),图像边缘就是二维图像中奇异点的集合。物体形状、物体边界、位置遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中均有边缘产生。图像边缘是图像中最基本的特征,是分析理解图像的基础。边缘检测是数字图像分析处理的前提,检测结果的优劣影响着对图像的下一步操作。比如图像压缩、图像分割、图像分类、计算机视觉、模式识别的应用,所以对它的研究具有现实意义和理论意义。1.2 国内外研究现状由于在图像处理中的应用十分广泛,边缘检测的研究多年来一直受到人们的高度重视,到现在已提出的各种类型的边缘检测算法有成百上千种。到目前为止,国内外关于边缘检测的研究主
10、要以两种方式为主:1)算法的理论研究,即提出新的算法或改进已有算法。一方面,由于人们对于传统的边缘检测技术的掌握已经十分成熟,另一方面,随着科学的发展,传统的方法越来越难以满足某些情况下不断增加或更加严格的要求,如性能指标,运行速度等方面。针对这种情况,人们在基于传统的方法提出了许多新的边缘检测方法。这些新的方法大致可以分为两大类:一类是结合特定理论工具的检测技术,如基于数学形态学的检测技术、借助统计学方法的检测技术、利用神经神经网络(细胞神经网络、BP神经网络等)的检测技术、利用模糊理论的检测技术、基于小波分析和变换的检测技术、利用信息论的检测技术、利用遗传算法的检测技术等。另一类是针对特殊
11、的图像而提出的边缘检测方法。如将二维的空域算子扩展为三维算子可以对三维图像进行边缘检测、对彩色图像的边缘检测、合成孔径雷达图像的边缘检测、对运动图像进行边缘检测来实现对运动图像的分割等。2)算法的应用研究,即将现有的算法应用于工程实际中。如车牌识别、虹膜识别、人脸检测、医学或商标图像检索等。尽管人们很早就提出了边缘检测的概念,而且今年来研究成果越来越多,但由于边缘本身检测本身所具有的难度,使研究没有多大的突破性的进展。仍然存在的问题主要有两个:其一是没有一种普遍使用的检测算法;其二没有一个好的通用的检测评价标准。从边缘检测研究的历史来看,人们对边缘检测的研究有几个明显的趋势:1)对原有算法的不
12、断改进;2)新方法、新概念的引入和多种方法的有效综合利用。人们逐渐认识到现有的任何一种单独的边缘检测算法都难以从一般图像中检测到令人满意的边缘图像,因而很多人在把新方法和新概念不断的引入边缘检测领域的同时也更加重视把各种方法总和起来运用。在新出现的边缘检测算法中,基于改进的自适应遗传算法的细胞神经网络边缘检测是一种很好的方法;3)交互式检测研究的深入。由于很多场合需要对目标图像进行边缘检测分析,例如对医学图像的分析以及桥梁病害的检测等,因此需要进行交互式检测研究。事实证明,交互式检测技术有着广泛的应用;4)对特殊图像边缘检测的研究越来越得到重视。目前有很多针对立体图像、彩色图像、多光谱图像以及
13、多视场图像分割的研究,也有对运动图像及视频图像中目标分割的研究,还有对深度图像、纹理(Texture)图像、计算机断层扫描(CT)、磁共振图、共聚焦激光扫描显微镜图像、合成孔径雷达图像等特殊图像的边缘检测技术的研究;5)对图像边缘检测评价的研究和对评价系数的研究越来越得到关注。相信随着研究的不断深入,存在的问题会很快得到圆满的解决。1.3 本文主要研究内容本文主要从细胞神经网络的模型研究开始,将细胞神经网络的模型以及其算法研究与图像的处理结合起来,特别是在图像边缘检测中的应用。本论文的主要研究工作如下:1)介绍了图像边缘检测的基本原理;2)介绍了几种经典的边缘检测算法;3)介绍了细胞神经网络和
14、遗传算法的基本原理,为细胞神经网络检测图像边缘提供了理论依据;4)详细阐述了如何利用CNN技术来对图像进行边缘检测的方法;5)详细说明了设计CNN模板的几种方法,并利用自适应遗传算法求出最优模板;6)与其他几种边缘检测算法做比较,验证了细胞神经网络在特定图像边缘检测中的优越性。第2章 边缘检测的原理和方法2.1 边缘检测的原理图像的大部分信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,即图像中灰度变化比较剧烈的地方。因此,我们把边缘定义为图像中灰度发生急剧变化的区域边界。根据灰度变化的剧烈程度,通常将边缘划分为阶跃形、屋顶形和凸缘形三种类型。其中阶跃边缘两边的灰度值变化明显,而屋顶
15、边缘位于灰度值增加与减少的交界处。这些变化分别对应着现实世界中不同景物的不同物理状态,例如,阶跃型变化常常对应目标的深度或者反射界面,而后两种则常常反映表现法线方向的不连续性。分别如下图所示:剖面图:一阶导数:二阶导数:(c)凸缘型(b)屋顶型(a)阶跃型图2-1 灰度图像变化情况图(a)中,对灰度值剖面的一阶导数在图像由暗变明的位置有一个向上的阶跃,而在其他位置都为零,这表明可用一阶导数的幅度值来检测边缘的存在,幅度的峰值一般对应图像边缘的位置。对灰度值剖面的二阶导数在一阶导数的阶跃上升区有一个向上的脉冲,而在一阶导数的阶跃下降区有一个向下的脉冲。在这两个阶跃之间有一个过零点,他的位置正对应
16、图像中的边缘位置。所以可用二阶导数来检测边缘位置的所在,确定图像明暗变化的转折点。接下来的图(b)与图(c)都可以按照类似的方法进行一阶二阶导数,得到相同的结论。由于图像采样等原因,实际的图像当中的边缘往往是有坡度的,所以一般需要用5个参数来描述:1)位置:边缘最大灰度不连续处;2)朝向:跨越灰度最大不连续的方向;3)幅度:灰度不连续方向上的灰度差;4)均值:属于边缘的像素的灰度均值;5)斜率:边缘在其朝向上的倾斜程度;在对图像的边缘检测当中常常借助于上述5点进行,所谓的边缘检测也常常指通过计算获得了边缘的5个参数中的若干个。2.2 常见的边缘检测方法经典的边缘提取是以原始图象为基础,对图象的
17、每个象素考察它的某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律检测边缘。传统的边缘提取算子有Robert算子、Sobel算子、Laplacia。算子、Kirsh算子、Prewitt算子等等1。这些算子的方法比较简单,处理效果也比较明显,对条件要求不是太高的环境,具有一定的实用价值。但其致命的缺点是,抗干扰能力差,边缘检出的准确度低。进入八十年代以后,由于PC计算机的迅猛发展,许多生产和应用领域对边缘提取方法提出了更高的要求,从而大大推动了边缘提取方法的研究和发展。近年来,又发展了多种基于神经网络理论2、基于模糊理论3、基于小波理论的边缘检测方法4等。应该指出这些方法都有各自的应用
18、范围,在边缘提取领域,至今没有一种通用的、有效的方法,也没有建立起很好的评价方法和理论。这里介绍设计中用到的部分边缘提取算子。2.2.1 Roberts算子边缘的锐利程度由图像灰度的梯度决定。梯度是一个向量,f指出灰度变化最快的方向和变化量(式2.1): (2.1)梯度大小由(式2.2)确定: (2.2)而梯度方向则由(2.3)确定: (2.3)由上式得出最简单的边缘检测算子是用图像的垂直和水平差分来逼近梯度算子: (2.4)因此当我们寻找边缘的时候,最简单的方法是对每一个像素计算出(2.4)的向量,然后求出它的绝对值。利用这种思想就得到了Roberts算子: (2.5)其中f(x,y)是具有
19、整数像素坐标的输入图像。2.2.2 Sobel边缘算子 Roberts算子是直观的也是简单的,但是对噪声多的情况显然效果不好。实践中人们做了大量的实践,总结出了一些经验。Sobel边缘检测算子使用两个有向算子(一个水平的,一个是垂直的,一般称为模板),每一个逼近一个偏导数: 如果我们用Sobel算子检测图像 M 的边缘的话,我们可以先分别用水平算子和垂直算子对图像进行卷积,得到的是两个矩阵,在不考虑边界的情形下也是和原图像同样大小的 M1,M2,他们分别表示图像M中相同位置处的两个偏导数。然后把M1,M2 对应位置的两个数平方后相加得到一个新的矩阵G,G表示M中各个像素的灰度的梯度值(一个逼近
20、)。然后就可以通过阀值处理得到边缘图像。假设图像的灰度满足下面这个关系: (2.6)其中(,)表示梯度,显然,当前像素 33 邻域内像素值为: (2.7)定义垂直算子和水平算子形如: (2.8)利用这两个模板对当前像素进行卷积,得到的方向导数为 : (2.9)因此当前像素处的梯度的大小为 : (2.10)显然要有: 2(2a+b)=1 (2.11)当取a=1/8,b=1/4则得到的就是1/8乘Sobel算子。2.2.3 Canny边缘算子检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点。图像边缘检测必须满足两个条件:一是能有效地抑制噪声,二是必须尽量精确确定边缘的位置,既要提高
21、边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感。1)Canny算法基本原理Canny算法既能滤去噪声又能保持边缘特性的边缘特性的最有滤波器,其采用一阶微分滤波器。采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度额局部最大值,以此来确定图像的边缘;最后根据对信噪比与定位乘积进行测度,得到最优的逼近算子。2)Canny基本步骤Step 1:用高斯滤波器平滑图像;Step 2:用一阶偏导的有限差分来计算梯度的幅值和方向;Step 3:对梯度幅值进行非极大值抑制;Step 4:用双阈值算法检测和连接边缘。2.3 本章小结本章主要介绍了
22、边缘检测的原理,以及几种进行边缘检测的方法,为后面的细胞神经网络进行边缘检测做好铺垫。在这几种算法中除了Roberts算子外都使用了图像模板,模板运算时图像的一种处理手段邻域处理,有许多图像增强效果都可以采用模板运算得到实现,如平滑效果,中值滤波,油画效果,图像的凹凸效果等等。在模板运算中,首先定义一个模板,模板大小多以3*3为主,也有更大的尺寸。运算时,把模板中心对应到图像的每一个像素位置,然后按照模板对应的公式对中心像素和它周围的像素进行数学运算,算出的结果作为输出图像对应的像素点的值。第3章 细胞神经网络和遗传算法3.1 细胞神经网络3.1.1 细胞神经网络简述细胞神经网络(Cellul
23、ar Neural Network,简称CNN)是由美国加州伯克莱大学的L. 0. Chua和L. Yang在1988年提出的5。像细胞自动机一样,它由大量胞元组成,且只允许最邻近的细胞之间直接通信。每个胞元仅由一线性电容器、一非线性电压控制电流源和少量的电阻性线性电路元件组成。在一个CNN网络中,各细胞之间的连接是局部的、输出信号函数是分段线性的并且信号处理连续实时,这些特点使CNN的每一个模块的连接线少,便于实现大规模集成电路(VLSI),能提高并行处理以及运算的速度,具有双值输出等优点。因此CNN的应用非常广泛,现已出现了各种各样的具有不同用途的一般化细胞神经网络,并且其新的应用领域在不
24、断被发现。目前为大家公认的细胞神经网络的定义如下:细胞神经网络是一个由大体相同动力学性质的细胞组成的2维或3维或n维阵列,一个细胞神经网络应当满足如下两个特征。1)每一个细胞与其他细胞的互连局限在有限域r范围内,且连接关系满足一定的规则,这就是细胞神经网络的局域连接性和复制性;2)所有状态变量值是连续的,这体现了细胞神经网络是一种有别于现在数字逻辑电路的网络。对于定义中的第二个条件,应当理解为输入的电信号是连续的,但是时间值不必是连续的,这种离散时间输入的细胞神经网络实际上对应着一大类离散时间细胞神经网络(Discrete Time Cellular Neural Network, DTCNN
25、) 。而第一个条件实际上保证了细胞神经网络的可实现性6。细胞神经网络最显著的特征有:1)它的连续时间特征允许在数字域内实现实时信号处理;2)它的局域连接特征特别适合于神经网络模型的VLSI实现。它所具有的模拟逻辑计算结构、局域通信和可编程性为新的神经网络模型的建立提供了新的思路,从而使细胞神经网络成为一适合于多类算法的可编程网络,这些算法已经实现了含有非线性和延时运算等暂态功能的空间卷积。同时,它与传统的神经网络不同,具有如下一些特点7:1)其动态范围可预先设置;2)可检验其全局稳定性;3)可估计网络的收敛性范围。3.1.2 细胞神经网络发展与现状近些年来,细胞神经网络研究取得了很大发展,并在
26、图像处理和模式识别等方面取得了较好结果。1990年,在匈牙利布达佩斯召开了CNN国际专题研讨会,发表了近百篇论文。2002年在德国法兰克福召开第七届细胞神经网络专题研讨会。目前,细胞神经网络已经广泛应用于图像处理水平线检测、垂直线检测、噪声移去、边缘提取、空洞填充、运动检测、特征检测和字符识别等诸多领域。还有的研究领域包括:图像处理中的二维滤波器、图像编码、机器人视觉、水印加密、目标跟踪等。此外,CNN可作用混沌发生器和CNN振荡器,还可应用于复杂的力学、化学、电磁学、地理地形学研究,生物现象的建模,应力分析,腐蚀模式的研究,以及制造工艺中复杂图像的检测、热图像的分析,因此CNN具有广阔的应用
27、前景。可以预见,CNN在移动通信、VLSI的布局布线、生物遗传工程,以及建立新的密码系统等,将会产生一系列奇特的效果。3.1.3 细胞神经网络的结构细胞神经网络的基本电路单元称作一个细胞(cell),它由线性与非线性电路元件组成9。一个规模为MN的细胞神经网络共有MN个细胞排列成M行N列。以C(i,j)表示第i行第j列的细胞。每一个细胞仅和它邻域的细胞相连,不直接相连的细胞通过连续动态的传播效应而互相影响。从理论上讲,可以定义任意维数的细胞神经网络,但对图像处理和模式识别等应用领域,则只需研究二维情况。必要时,二维情况的结果可以推广到多维情况。图3-1 二维细胞神经网络(44规模)定义3.1在
28、二维的细胞神经网络中,C(i,j)的r(r为正整数)邻域(或称影响域)定义为:(3.1)其中,符号表示半径为r的邻域,r表示C(i,j)的邻域半径,通常r=1的邻域又称33的邻域,r=2的邻域称55的邻域,r=3的邻域即为77的邻域。C(k,l)表示细胞领域为r内的所有细胞。如果邻域半径不同,那么邻域内的细胞数量也不相同。图2-2给出了同一细胞(阴影标记)的三种邻域。图3-2 细胞的r=1,2,3邻域根据定义3.1,不难看出,定义内所给出的邻域系统内的细胞具有对称性,即,即如果,那么同时也有。在邻域内具有个邻域细胞的细胞称为内部细胞(inner cells)所有其它的细胞称为边界细胞(boun
29、dary cells)。图(3-3)给出的是细胞神经网络中一个细胞的等效电路,每个细胞包含一个独立电压源、一个独立电流源I、一个线性电容C、两个线性电阻二与、至多2m个线性压控电流源以及一个非线性压控电流源。图3-3 CNN等效电路图其中下标u,x,y分别对应表示细胞的输入、状态、输出,表示的输入电压,且假定它是小于或者等于1的常值,用独立电源表示;称为细胞的状态电压,且假使初始条件的幅度为小于等于1。由电容C上的电压决定,与邻近神经元的关系由至多2m个压控电流源与来决定,m等于邻域细胞的个数(对于内部细胞,m = :对于边界细胞,m 0,Rx0 (3.9)其中,:表示:细胞吼的初始状态;:表
30、示一个独立的电压源;C为线性电容;Rx为线性电阻;:表示邻域细胞的输出与细胞之间的连接权,称为反馈模板;:表示邻域细胞的输入与细胞之间的连接权,称为控制模板。关于模板A和B符号表示的说明:(或)表示细胞的自反馈权重(或自控制权重),为反馈模板A(或控制模板B)的中心元素;(或)表示细胞的邻域内的细胞的反馈权重(或控制权重),为A(或B)中除中心元 素以外的其它元素,k和l的取值遵循邻域的定义。以33近邻为例,A, B表示如下: (3.10)其中(i-1,j-1).(i+1,j+1)为(i,j)的邻域,通称为(k,l)。CNN阵列中的每一个细胞都是具有输入、输出和按照动力学规则演化的状态而构成的
31、动态系统。图(3-3)为CNN的动态系统框图,其中A和B的值决定了CNN的瞬态特性。CNN具有空间不变性,即模板A和B与细胞所在位置i和J无关,利用模板可以确定CNN的动态规则。3.1.5 细胞神经网络状态方程差分化由于数字图像在空间域与时间域都是离散的,为了将CNN用于图像处理,可以用差分方程来近似CNN的状态方程式(3.4),将式中的时间t离散化为t=nh,其中h为恒定的时间步长,并且将的导数用其相应的差分形式来表示。为简单起见,令步长h=1,则与式(3.4)等效的一阶差分方程410为: (3.11)式(3.4)可以理解为图像处理中的二维滤波器,这个滤波器是非线性的,并且该滤波器对图像处理
32、具有空间不变性,滤波器的性质由式(3.4)中的模板参数A,B,I确定,CNN在t时刻的图像取决于细胞的初始状态与CNN的动力学规则。因此,利用CNN可以在任意时刻得到一个初始图像的动态变换。综上所述,CNN的功能主要决定于模板参数的设计,如何设计确定反馈模板A,控制模板B以及阈值I对基于CNN体系结构的算法而言至关重要。3.2 遗传算法3.2.1 遗传算法简述遗传算法(Genetic Algorithm,简称GAS)作为一种新发展起来的优化方法,是基于达尔文的适者生存理论和基因遗传学原理的搜索算法,特点以简单、鲁棒性和并行运算著称,近年来在边缘检测中得到了广泛运用。遗传算法的思想由来已久,早在
33、20世纪50年代,一些生物学家就着手于计算机模拟生物的遗传系统。1957年,美国芝加哥大学的Holland. J.H.教授在研究适应系统时,进一步设计进化演算的思考,并于1968年提出模式理论。自从1975年John H. Holland教授出版关于GA的经典之作以来,GA己获得广泛应用。从遗传算法的整个发展来看,20世纪70年代是兴起阶段,20世纪80年代是发展阶段,20世纪90年代是高潮阶段。从1985年在美国卡耐基。梅隆大学召开的第一届国际遗传算法会议(lnternatinnal Conference anGenetic Algarithjns: ICGA 85),到1997年5月的IE
34、EE的(Transactions on Evolutionary camputatian)创刊,遗传算法作为具有系统优化、自适应和学习的高性能计算和建模方法的研究日趋成熟。国内1996年也出版了第一本遗传算法专著遗传算法及其应用,至此,遗传算法的理论及应用在国内也全面展开。遗传算法作为一种实用、高效、鲁棒性强的优化技术,发展极为迅速,已引起国内外学者的高度重视。其基本概念引于生物进化中的自然遗传、杂交和突变,进化过程通过染色体来进行,染色体是由决定生物结构的基因编码构成的生物体系。理论研究中,Holland的模式理论奠定了遗传算法的数学基础。由于遗传算法的鲁棒性和内在并行性,遗传算法得到了广泛
35、的应用。在许多情况下,遗传算法明显优于传统的优化方法。但是,对遗传算法应用的成败依赖于对遗传算法和所解决问题的深刻理解,因而其应用研究的内容比理论研究更丰富。函数优化是遗传算法应用的典型例子, R. Hoffman and A.K. lain 采用遗传算法训练神经网络,Xiaofang Sun 把遗传算法用于纹理基元的分割。边缘检测也是遗传算法的一个新的应用领域。3.2.2 遗传算法原理遗传算法是一类随机的优化算法,它的特点在于通过对染色体的评价和遗传操作,有效地利用己有的信息指导搜索有希望改善优化质量的状态。遗传算法的编码和遗传操作比较简单,优化不受限制性条件的约束,并且具有隐含并行性和全局
36、解空间搜索的两大优点。下面对遗传算法进行简单介绍。1)选择操作选择操作是指从旧群体中以一定概率选择个体到新的群体当中,个体被选中的概率跟适应度的值有关,个体适应度值越大越好,假设某个体的适应度值很大,即意味着该个体被选中的概率越大。选择的方式主要有:轮盘赌选择、随机遍历抽样、锦标赛、繁殖池以及排序选择法。2)交叉操作交叉操作是指从个体中选择两个个体,通过两个染色体的交换组合,来产生新的优秀的个体。交叉过程为从群体中任选两个染色体,交叉的方式分为实质重组,二进制交叉,二进制交叉又可以分为:单点、两点、多点、均匀交叉等,本文中选用单点交叉,交叉操作如图3-5所示。A:1100 01011111 交
37、叉A:1100 01010000B:1111 01010000B:1111 01011111图3-5 交叉操作3)变异操作变异操作是指从群体中任选一个个体,选择染色体中的一点进行变异以产生更优秀的个体,变异操作如图3-6所示。A:1100 01011111 变异A:1100 01011101图3-6 变异操作适应值是对个体进行评价的一种指标,它与个体目标值存在一种对应关系,也可以用目标值作为适应值。标准遗传算法的流程图、算法描述如下(k表示进化代数,N表示种群规模):图3-7 遗传算法流程图步骤1:令k=0,随机产生N个个体构成的初始种群P(k)。步骤2:评价P(k)中各个体的适应值。步骤3:
38、判断算法收敛准则是否满足。若满足则输出搜索结果;否则执行以下步骤。步骤4:令m=0。步骤5:根据适应值大小以一定的方式执行复制操作来从P(k)中选取两个个体。步骤6:按交叉概率八对选中个体执行交叉操作来产生两个临时个体;否则将所选中父代个体作为临时个体。步骤7:按变异概率pm,对临时个体执行变异操作产生两个新个体放入P(k+1),并令m=m+2。步骤8:若mN,则返回步骤5;否则令k=k+1,并返回步骤2。3.3 本章小结本章主要介绍了细胞神经网络和遗传算法的理论、参数设置和工作流程,以及各自在优化过程中的优缺点。最后比较遗传算法和细胞神经网络在优化的各个环节的异同点,将遗传算法和细胞神经网络
39、结合应用到图像的边缘检测。第4章 基于自适应遗传算法的细胞神经网络模板设计4.1 细胞神经网络模板参数设计原理细胞神经网络的应用主要取决于模板的设计,它决定网络的动态性能。一些模板设计来自于数字图像处理算法,另外一些从大量的仿真实验中得到。Chua和Thiran研究了如何通过分析的方法设计简单的CNN,Nossek总结了几种设计或训练得到CNN模板的方法,zou等提出了用松弛法来设计CNN模板的方法,Monnin等用布尔数学体系函数设计CNN模板11。从式(3.4)可以看出,CNN的动态机制包括输出反馈和输入控制两种,其中,因为输出反馈的效果取决于模板A,而输入控制的效果取决于模板B,所以CN
40、N进行图像处理的关键是如何找到合适的模板,一些成功的模板来自于著名的数字图像处理算法。由于图像的边缘具有较高的空间频率,因此可以采用高通滤波的方法让高频分量通过,而抑制低频分量,从而使图像的边缘变得清晰,以实现图像的锐化。这一思想反映在空间域处理中,就是让图像和高通滤波模板H进行卷积。下面就是一个高通滤波模板:(4.1)令模板B=H,它是一个33的矩阵,而这里所选取的领域范围也是33的;表示由每个细胞的领域的外界输入值所绍成的33的矩阵,它记为11:(4.2)其中,当前处理的像素点与对应,我们可以根据它的邻域来判断该像素点是否为边缘点:(1)当=-1或者时,C(i,j)为边缘点,当它达到稳态时
41、有成立;(2)=1,且中的任意一个或者多个不等于1时,则C(i,j)为非边缘点,当它达到稳态时有成立。通过上面两点关系,再加上前面令B=H可以求得阈值I=-0.5。另外根据神经网络的定义,当a(i,j;i,j)1,为了使其起到正回馈作用,在本文中取a(i,j;i,j)=2,即使得与图像边缘点对应的细胞状态值越来越大,状态收敛之后的输出为1;同时使得与图像非边缘点对应的细胞状态值越来越小,状态收敛之后的输出为-1。经过如上的处理最终可以得到下面的一组模板参数: (4.3)4.1.1 细胞神经网络的动态特性在实际应用CNN处理时,为了保证所有的细胞都满足方程式(3.4)式(3.9),我们有必要了解
42、CNN的动态范围,这是后面CNN模板设计的基础,为保证CNN的收敛,需要分析收敛条件和限制12。定义4.1 CNN状态的有界性11: (4.4)式(4.4)给出了CNN中细胞的节点状态电压的最大估计值,为模板的设计提供了参考数据。CNN的一个主要的应用方面是图象处理,也就是将一个输入图象映射或变换到一个对应的输出图象。输出图象被限制为具有-1和1象素值的二值图象,然而,由式(3.8)所给定电压提供的输入图象具有多级灰度,这意味着,处理图象的CNN在经过相应的暂态过程(由给定的输入图象初始化或/并由输入图象激励)之后,必须收敛到一个常稳态。为了保证CNN的收敛性,为CNN定义一个Lyapunov
43、的能量函数分析动态非线性电路的收敛性:(4.5)函数E(t)反映了图3-3的能量关系,它与、有关,虽然它不反映状态变量 ,但在、中包含了的信息。用式(4.5)的能量函数来分析CNN网络,若要求网络收敛到一个稳定点,即能量最小点,其条件是模板A矩阵对称=。按照能量函数的定义,如果E有界,并目随着时间t增加E单调下降,则CNN系统是稳定的。定义4.2 能量函数的有界性:(4.6)其中:(4.7)定义4.3 能量函数E(t)为单调递减函数,即(4.8)由定义4.2和定义4.3可以得出,对于任意的输入和初始状态,有如下方程成立:常数 (4.9)CNN经过暂态过程后,总可以得到恒定的直流输出,即常数 (4.10)4.1.2 细胞神经网络的稳定性分析如果电路参数满足(4.11)则CNN的每个细胞状态在经过衰减到零的暂态过程之后,一定落在一个平衡点上,且所有稳定在平衡点的幅值都大于1即:(4.12)式(4.10)是为了满足每个细胞稳态输出是+1或-1而必须限定最小的正反馈量,并且保证了CNN具有二值输出,这对CNN解决分类问题有非常重要的意义13。它保证了CNN电路不会发生振荡或是变为混沌