您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 基于脉冲耦合神经网络模型的彩色图像分割方法研究
基于脉冲耦合神经网络模型的彩色图像分割方法——《模式识别与智能系统导论》考核学院:电气工程学院专业:模式识别与智能系统学生姓名:谷朝班级:研硕15级15班学号:S15081104001主讲教师:张秀玲基于脉冲耦合神经网络模型的彩色图像分割方法摘要:图像分割是数字图像处理中的关键技术之一,随着各学科许多新理论和新方法的提出,人们也提出了许多与一些特定理论、方法和工具相结合的彩色图像分割技术,其中包括了众多的利用神经网络模型来进行图像的分割,比如各种改进型的BP神经网络。而脉冲耦合神经网络(PCNN-PulseCoupledNeuralNetwork)与传统神经网络相比,有着根本的不同。PCNN有生物学的背景,它是依据猫、猴等动物的大脑皮层上的同步脉冲发放现象提出的。PCNN有着广泛的应用,可应用于图像分割,边缘检测、细化、识别等方面。关键词:彩色图像分割;脉冲耦合神经网络1引言图像分割是一种重要的图像处理技术,它是将图像中有意义的特征或者需要应用的特征提取出来,是图像识别和图像理解的基本前提,在理论研究和实际应用中都得到了人们的广泛重视,图像分割质量的好坏直接影响后续图像处理的效果。人工神经网络具有较好的泛化能力、鲁棒性和数值逼近能力,能够处理数值化信息。Gray首先发现了猫的初生视觉皮层有神经激发相关振荡现象,并将其研究结果发在了Nature杂志上。与此同时,Eckhom也根据猫的大猫皮层的同步脉冲发放现象,提出了脉冲发现的连接模式,将开拓性地提出了PCNN基本模型。Gray和Eckhom被称为PCNN的鼻祖。我国的兰州大学马义德教授在PCNN研究领域有很大建树,发表了很多相关的论文,并出版了《脉冲耦合神经网络原理及其应用》和《脉冲耦合神经网络与数字图像原理》两本专著。与BP神经网络和Kohonen神经网络相比,PCNN不需要学习或者训练,能从复杂背景下提取有效信息,具有同步脉冲发放和全局耦合等特性,其信号形式和处理机制更符合人类视觉神经系统的生理学基础。因此,结合PCNN神经网络在一定的条件下,可视为处理图像分割结果的最佳方法。2彩色图像分割图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。为了便于研究和理解,通常形式化定义如下[1]:令集合R表示原始图像,设R被分割为N个非空子集,这N个非空子集满足以下5个条件:对所有的和,有(2)对,有(3)对,有(4)对,是连通区域。(5)其中,表示所有在集合R中的元素的逻辑谓词。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等[2]。其中,阈值分割最为简单有效,在图像区域间颜色或是灰度差别较大时,体现出很好的分割效果。但它忽略了图像的空间特性,因此对噪声很敏感,实际操作中的效果往往不尽如人意[3]。区域分割利用区域相似性提取图像中相连接的区域,受噪声影响较大。边缘分割通过从图像中不同区域的边缘上提取信息差异实现对图像的分割,这种方法计算复杂且受噪声干扰明显。1998年以来,研究人员不断改进原有的图像分割方法并把其它学科的一些新理论和新方法用于图像分割,提出了不少新的分割方法。基于特定理论的方法利用某种已经相当成熟的理论,包括聚类分析、模糊理论、遗传算法、神经网络等,来实现图像分割[4]。图像分割后提取出的目标可以用于图像语义识别,图像搜索等等领域。3脉冲耦合神经网络模型基本PCNN神经网络是提出的一种有连接域的网络模型,它是由若干个神经元互连形成的反馈型神经网络,构成PCNN的神经元系统是一个复杂的非线性动态系统[5]。一个PCNN神经元由三部分组成:接受部分,调制部分,脉冲发生器,其基本模型见下图1所示:馈送输入分支树链接输入jjFL/jjFL分别以相对较小/较大的时间常数/FL对神经元j某邻域内的其他神经元的输出进行漏电容积分加权和,此外jF还接受该神经元的外部刺激jL。链接器以乘积耦合形式1jjjUFL构成神经元J的内部行为Uj。脉冲产生器由对网络输出进行漏电容积分的变阈值特性(起激活该神经元的作用)和硬限幅函数(起抑制该神经元的作用)组成,脉冲是否产生取决于内部行为大小能否超过其激发动态门限,且此门限值随着该神经元输出状态的变化发生变化。当阈值θj小于Uj时,神经元被激活(即输出Yj=1),称之为点火一次,紧接着因为输出端对阈值的反馈使得阈值θj突然变高(通常Ve取值大),神经元又被抑制(即输出Y=0),从而在神经元输出端产生一个脉冲信号,此脉冲信号经过加权又连接到相邻神经元的输入端,从而影响这些神经元的激发状态,故该网络称为脉冲耦合神经网络。该模型的数学形式可用以下五个方程来描述:,()exp()(1)(1)ijijFijFijklklijklFnFnVMYnI,()exp()(1)(1)ijijLijLijklklklLnLnVMYn()()(1())ijijijUnFnLn()exp()(1)(1)ijijijijnnVYn10ijijijijijUnnYnUnn其中、和分别为神经元Nij的外部刺激(输入)、内部行为和输出;和分别为神经元的链接域和馈送域两个输入通道;M/VF和W/VL分别是馈送域和链接域的连接权系数矩阵/放大系数;和变阈值函数输出和阈值放大系数;、、分别为链接域、馈送域和变阈值函数的时间常数,β:内部活动项的连接因子。由基本模型可以得出,根据链接系数即beta,可以将PCNN分为无耦合和有耦合两种情况,当beta=0时,可以认为各神经元是独立运行的组合。这种情况下,神经元周而复始地循环工作,并兴奋产生脉冲。在这种情况下,即不同灰度值的像素在没有受到别的神经元影响下,其独立点火频率依赖于该像素灰度值,而于其他像素的灰度值无关。同时也可以得出以下结论:即相近灰度值的神经元将在同时刻点火,这个结论也印证了PCNN同步脉冲发放现象的内在机理。这种情况属于理想情况。当beta≠0时,即有耦合存在的情况之下,神经元的点火,不仅受其自身的灰度值影响,还要受与其存在链接的神经元的影响,也就是存在着捕获点火的情况,当满足捕获范围的若干相似相邻神经元提前兴奋,实现点火。这也是在空间近似或灰度近似的神经元同步产生脉冲串的机理。由PCNN数学模型可以知道,当连接系数beta,连接域L值越大,则能够点火的范围也越大,所以在耦合状态下,PCNN能集群发放同步脉冲串序列,产生所谓的同步脉冲发现现象,即神经元的振荡[6]。由上式我们可以看出,PCNN的主要参数就是上述四个,即权值、链接系数、初始阈值和衰减系数,使用各种优化算法对PCNN的参数进行优化时,往往主要优化链接系数,初始阈值和衰减系数,在一般情况下,主要是优化初始阈值和衰减系数。PCNN用于图像的分割原理:凭借PCNN的同步脉冲发放实现图像分割。当用PCNN分割图像时,二维的图像矩阵a*b就是a*b个PCNN神经元模型,各像素的灰度值与各神经元的输入相一致,当灰度值差不多的内部连接矩阵所在的领域内存在某像素被激发了产生脉冲输出时,就将激发周围其他灰度相似的像素所对应的神经元,产生包括图像区域信息、纹理特征、边缘等信息的脉冲输出序列。继而相似的神经元就构成了一个神经元集群,同步发出脉冲。属于同一集群的神经元在同一灰度的图像区域中,属于不同集群的则在不同的区域中。由此输出的序列而构成的二值图像便是PCNN输出的分割图像。4实验结果与分析为了验证本方法的有效性,选择了一张具有代表性的rela图像为例进行了实验,得到如下图2结果。(a)原始彩色图像(b)watershed图像(c)k-means图像(d)PCNN图像图2实验效果对比图图(a)为原始彩色图像,图(b)是利用改进型的watershed(分水岭)算法得到的图像,图(c)采用图像k-means聚类(K=3)的方法得到的图像,图(d)为通过PCNN的方法得到图像。从实验效果可以看出,分水岭与k-means聚类算法对于光照与复杂背景处理图像分割会出现较大的偏差,具体细节信息丢失严重,而本方法相对于传统的图像分割算法法明显使光照和复杂背景的影响减少,简化PCNN方法处理则通过提高β的值正确分割出目标区域。能更好地保持目标的完整和清晰。主要运行代码如下:function[Edge,Numberofaera]=pcnn(X)%功能:采用PCNN算法进行边缘检测%输入:X—输入的灰度图像%输出:Edge—检测到的%Numberofaera—表明了在各次迭代时激活的块区域figure(1);imshow(X);X=double(X);%设定权值Weight=[0.070.10.07;0.100.1;0.070.10.07];WeightLI2=[-0.03-0.03-0.03;-0.030-0.03;-0.03-0.03-0.03];d=1/(1+sum(sum(WeightLI2)));%%%%%%测试权值%%%%%%WeightLI=[-0.03-0.03-0.03;-0.030.5-0.03;-0.03-0.03-0.03];d1=1/(sum(sum(WeightLI)));%%%%%%%%%%%%%%%%%%Beta=0.4;Yuzhi=245;%衰减系数Decay=0.3;[a,b]=size(X);V_T=0.2;%门限值Threshold=zeros(a,b);S=zeros(a+2,b+2);Y=zeros(a,b);%点火频率Firate=zeros(a,b);n=1;%统计循环次数count=0;Tempu1=zeros(a,b);Tempu2=zeros(a+2,b+2);%%%%%%图像增强部分%%%%%%Out=zeros(a,b);Out=uint8(Out);fori=1:aforj=1:bif(i==1|j==1|i==a|j==b)Out(i,j)=X(i,j);elseH=[X(i-1,j-1)X(i-1,j)X(i-1,j+1);X(i,j-1)X(i,j)X(i,j+1);X(i+1,j-1)X(i+1,j)X(i+1,j+1)];temp=d1*sum(sum(H.*WeightLI));Out(i,j)=temp;endendendfigure(2);imshow(Out);%%%%%%%%%%%%%%%%%%%forcount=1:30fori0=2:a+1fori1=2:b+1V=[S(i0-1,i1-1)S(i0-1,i1)S(i0-1,i1+1);S(i0,i1-1)S(i0,i1)S(i0,i1+1);S(i0+1,i1-1)S(i0+1,i1)S(i0+1,i1+1)];L=sum(sum(V.*Weight));V2=[Tempu2(i0-1,i1-1)Tempu2(i0-1,i1)Tempu2(i0-1,i1+1);Tempu2(i0,i1-1)Tempu2(i0,i1)Tempu2(i0,i1+1);Tempu2(i0+1,i1-1)Tempu2(i0+1,i1)Tempu2(i0+1,i1+1)];F=X(i0-1,i1-1)+sum(sum(V2.*WeightLI2));%保证侧抑制图像无能量损失F=d*F;U=double(F)*(1+Beta*double(L));Tempu1(i0-1,i1-1)=U;ifU=Threshold(i0-1,i1-1)|Threshold(i0-1,i1-1)60T(i0-1,i1-1)=1;Threshold(i0-1,i1-1)=Yuzhi;%点火后一直置为1Y(i0-1,i1-1)=1;elseT(i0-1,i1-1)=0;Y(i0-1,i1-1)=0;endendendThreshold=exp(-Decay)*Threshold+V_T*Y;%被激活过的像素不再参与迭代过程ifn==1S=ze
本文标题:基于脉冲耦合神经网络模型的彩色图像分割方法研究
链接地址:https://www.777doc.com/doc-2537238 .html