人工神经网络在图像处理与识别中的应用.docx
《人工神经网络在图像处理与识别中的应用.docx》由会员分享,可在线阅读,更多相关《人工神经网络在图像处理与识别中的应用.docx(28页珍藏版)》请在冰豆网上搜索。
人工神经网络在图像处理与识别中的应用
毕业论文
人工神经网络应用于图像识别与处理中的应用
摘要
有几种方法可用于图像识别。
在这些方法中,软计算模型在数字图像中应用已被认为是一种获得更好结果的方法。
本工作的主要目的是为图像识别提供一种新方法——人工神经网络。
最初的原始灰度图像已经被转型。
将输入图像加进椒盐噪声,然后将带有噪声的图像经过一个自适应中值滤波器,滤除噪声,输出图像就可以视为过滤图像。
参考存储在原始数据矩阵中的值,计算出估计误差和平均误差的值存储在过滤图像矩阵中,以便检查进行适当噪声滤除的效果。
现在将每个像素数据从十进制数转化成八位二进制数,四个一组的像素已经在一起形成一个新的32位二进制数并转换成一个十进制数,这个过程将用新的不同组值持续产生新的数据矩阵。
这个数据矩阵将被作为原始数据矩阵存储在数据银行。
现在用来识别,一个新的测试图像已采取和插入椒盐噪声相同的步骤,正如前面提到的,采用自适应中值滤波去除噪声,从而得到一个新的测试矩阵。
现在,相对于原始图像,第二个图像的平均误差是基于这两个生成矩阵计算出来的。
如果这个平均误差大于45%,我们就可以得出结论,图像是不同的,无法匹配。
但如果平均误差值已发现是小于或等于45%,我们做出尝试,相对于原始数据矩阵,将人工神经网络应用于测试数据矩阵,从而产生第二个图像(测试图像)的一个新矩阵。
对测试数据矩阵应用人工神经网络之后产生生成数据矩阵,通过这个生成数据矩阵,可以计算出总的平均误差,从而检查是否可以作出正确的识别。
已观察得到,平均误差的值小于没有应用人工神经网络的测试图像的值。
此外,还观察到,测试图像相对于原始图像是可以被识别和匹配的。
关键词:
数字图像处理人工神经网络前馈BP神经网络灰度图像椒盐噪声自适应中值滤波器
第1章引言
图像处理的主要目的是改变视觉的影响,这样信息量大大提高,使得所述图像比原始图像更清晰。
这种技术有助于我们获得图像中我们感兴趣的部分或特征的更好的清晰度,并且抑制图像中其他部分或特征的信息。
图像识别一直致力于,从一组身份已知的标签中寻找图像中被观察目标的身份。
可用的识别技术有许多种,但是对于选择何种技术最合适主要取决于给定的手头任务和一些其它的相关参数。
软计算是建立在模糊逻辑,人工神经网络,进化计算,机器学习等一些最新技术之上的一种新兴领域。
每种软计算技术都可以应用于,产生因太复杂或嘈杂而无法用常规方法处理的任何问题的解决方法。
本文将利于人工神经网络,提供一种图像处理与识别的新方法。
人工神经网络已成为灵感来自于生物神经网络的一个最新发展工具。
这个新的强大工具的主要优势是,它具有靠传统计算方法不太容易解决问题的能力。
传统的计算机采用逐步解决问题的方法,且每一步都需要很好定义并且必须保证是可计算的。
如果其中计算机需要遵循的任何一步是未知的,计算机将无法解决问题。
所以利用计算机解决问题需要事先掌握如何解决这个问题的所有知识。
而人工神经网络是一种新技术,它采用的是一种与传统计算方法不同的解决问题的方式。
或许人工神经网络之所以被认为更强大,是因为它可以解决一些还不能准确知道如何去解决的问题。
人工神经网络的应用已经扩展到广泛的领域,如图像识别,指纹识别等。
人工神经网络有能力适应,学习,推广和组织数据。
一些已知的人工神经网络结构有感知器网络,线性神经网络,Madaline网络,Kohonen网络,反向传播网络。
第2章相关工作
数字计算机[1]的出现和现代学习与神经处理理论的发展都发生在大约同一时期,即二十世纪40年代后期。
在计算机上进行人工神经系统[2]的研究(ANS)仍然是生物医学研究的一个活跃领域。
自那时以来,数字计算机已作为一种工具被用来建立单个神经元以及神经元簇的模型,这就是所谓的神经网络。
源自统计模式识别的传统技术一直很流行,直到20世纪90年代初期。
在新的时代,2000,RobertP.W.Duin和毛建昌[3]给了我们作了一个全面的总结并对模式识别中一些众所周知的方法进行了比较。
给出的评论主要针对统计方法。
人工神经网络(ANN)在这只作为一部分被讨论。
由于发现,对于进行特征识别,统计方法或多或少存在着一般数学方法的不可用性。
一个新的基于轮廓特征值计算的特征提取方法被提出,并发现利用前馈神经网络可以得到令人满意的结果[4]。
人工神经网络已经越来越多地被用来作为一种传统模式分类器及聚类技术的替代。
在医学图像处理领域,KenjiSuzuki[5]比较了基于像素和非基于像素的人工神经网络方法,结果证明,当涉及到分割和特征计算,前者效果更好。
本文还认为,进行大量的人工神经网络训练可用于图像增强。
1993,在一个关于图像分割的评论文章中,Pal就预言,神经网络将被广泛的应用于图像处理中。
基于神经网络的分割技术,被发现显示出了强大功能。
在医学图像处理领域的另一个相关工作证实了这种基于神经网络的分割技术。
该方法结合了实时应用的方法。
从而一种混合神经网络被提了出来[8]。
与特征脸方法相比,这种混合神经网络的方法显示发现的错误率产生了令人满意的结果。
在人工神经网络前进方向上,一个更为实时的方法已经显示出,如何完成对一个处在杂乱海滩场景[9]里的人的检测和量化,这显示出了基于神经的分类系统。
一种用平行的Hopfield神经网络[10]完成对暗淡面部图像识别的方法,在识别率上显示出了令人鼓舞的结果。
2007年,一项基于Hopfield神经网络的研究发表,在这项研究中,关于这个概念宽泛的理论综述被提了出来。
目标识别包括在一副图像中定位目标实例的相应位置及可能的方向和尺度,这样做的目的大概也是为了给检测到的目标指定一个分类标签。
一些其他类型的人工神经网络,如前馈人工神经网络方法也可以被用于目标识别。
前馈网络通常由三到四层按逻辑排列的神经元组成。
第一层和最后一层分别是输入层和输出层,在其它层之间通常有一个或多个隐藏层。
在这里信息只允许单向传输,这就这意味着,一个层的输出成了下一层的输入,如此类推。
这种传输有序发生,每层都完全连接到下一层并且每个神经元通过加权后连接到下一层的神经元。
本文的目的是利用人工神经网络为目标识别提供一个替代解决方案。
最初的原始灰度图像已经被作为了一个参考,并被存储为原始数据银行。
对转化方法的处理已经应用与原始图像,最初的一副原始灰度图像已经采取转换,输入图像已加入盐和辣椒噪声,自适应中值滤波器已被应用在处理嘈杂了噪声的图像,因此噪声可以被滤除,输出图像可视为过滤图像。
参考存储在原始数据矩阵中的值将计算出估计误差和平局误差的值并存储在过滤图像矩阵中,目的是检查适当滤波的效果。
现在每个像素数据的值已经从十进制数被转换到8位二进制数。
那四个像素合在一起组成一组形成一个新的32位二进制数。
此后,这些二进制数再被转换成一个十进制数,这个过程像这样一直持续到完成图像所有行,最终产生了由一系列不同值组成的新数据矩阵。
。
这个数据矩阵被作为原始数据矩阵,并保存在数据银行以供参考。
现在用来识别,一个新的测试图像已经采取了和前面所提到的相同的步骤,插入椒盐噪声,采用中值滤波器滤除噪声,从而得到一个新的测试矩阵。
现在基于两个生成矩阵,相对于原始图像,第二张图像的平均误差被计算出来。
如果误差的百分比大于45%,我们可以得出结论:
图像是不同的,是不可匹配和识别。
相反,如果得出的误差百分比小于或等于45%,我们将尝试相比与原始数据矩阵,将人工神经网络应用到测试数据矩阵,从而产生第二个图像的新矩阵。
对测试数据矩阵应用人工神经网络后产生对应生成数据矩阵,我们便可以通过生成数据矩阵计算出平均误差。
已观察到,如果平均误差小于之前得到的值,那么我们就可以得出结论:
图像是匹配的,从而也是可以被识别的。
利用人工神经网络进行图像处理和识别的流程图如图1:
图1流程图
第3章实现
A.原始图像的处理
步骤一:
我们选取最初的最佳的图像如图2,我们把它作为原始图像。
为简单起见,取原始图像的第一个10x10矩阵元素如下:
表1输入数据矩阵
步骤二:
输入图像加入椒盐噪声,计算出加入椒盐噪声后的平均误差是25.67%。
为简单起见,加入噪声的原始图像的第一个10x10矩阵元素如下:
表2带有噪声的输入数据矩阵
B.含噪声图像的处理
步骤三:
将自适应中值滤波器应用于含噪声的图像,从而将噪声滤除,输出的图像将被视为过滤图像。
步骤四:
参考原始数据矩阵的值,估计误差和平均误差的值被计算出来存储在过滤图像矩阵中。
平均误差的值为5.397%。
这显示出了噪声滤除的结果。
步骤五:
去除噪声得到原始图像被转化成包含像素值的数据矩阵,如表3所示。
为简单起见,取第一个10x10矩阵元素值如下:
表3噪声滤除后的输入数据矩阵
步骤六:
为简化计算,四个像素被合在一起,并明智的逐行取出,并转化成单个二进制数。
步骤七:
四个像素的二进制值并排在一起,已经结合形成32位二进制数。
步骤八:
现在将这32位二进制数转换成一个十进制数。
步骤九:
在步骤五中生成的十进制数,被放进了原始数据矩阵,把这个矩阵命名为ORMAT[][],如表4所示:
表4原始数据矩阵ORMAT[][]
步骤十:
本说明书所提供的步骤六到步骤九,重复操作直到完成滤除噪声后的原始图像的如表3所示的全部像素值,因此,产生了一个矩阵,数据存储在命名的ORMAT[][]数据矩阵中,如表4所示。
需要注意的是,取第一个10x10矩阵元素显示在表4中更容易介绍。
C.测试图像的处理
一张新的图像被取出,作为测试图像,现在最重要的是检查所取的图像是否可以被识别出来。
测试图像如图5所示,为简单起见,测试图像的第一个10x10矩阵元素(测试数据矩阵)的值如下表5所示:
表5测试数据矩阵
步骤十一:
正如上述步骤二的说明,现将其在测试图像上执行,产生一个含噪声的测试数据矩阵,如表6所示:
表6含噪声的测试数据矩阵
步骤十二:
如上述在步骤三和步骤四中的说明,先将其在含噪声的测试图像上执行,将生成一个滤除噪声的测试数据矩阵,如表7所示:
表7滤除噪声的测试数据矩阵
步骤十三:
如上述步骤五到步骤九的程序,将其在滤去噪声的测试图像上执行,将产生的十进制数放置在测试数据矩阵TESTMAT[][]中,如表8所示:
表8矩阵TESTMAT[][]
D.基于原始数据矩阵计算测试数据矩阵平均误差
步骤十四:
基于表4存储的原始数据矩阵,我们可以计算出存储在二进制矩阵中的估计误差和平均误差,如表9所示。
其中平均误差为31%。
估计误差如下所示:
表9估计误差数据
步骤十五:
由于平均误差小于45%,为了进行识别,我们采取必要的步骤,利用人工神经网络的技术对测试图像进行处理。
E.利用人工神经网络对识别的图像进行处理
步骤十六:
相对于原始图像的数据矩阵,前馈反向传播神经网络被用在测试图像的测试数据矩阵进行训练与测试。
结果就产生了一个新的数据矩阵,我们把它命名为NEWMAT[][],如表10所示。
需要注意的是,矩阵ORMAT[][],TESTMAT[][],NEWMAT[][]的列的数目只占了原始图像或测试图像数据总列数的四分之一,因此利用人工神经网络完成训练和测试所需的时间大大减少。
表10应用ANN后的数据矩阵NEWMAT[][]
步骤十七:
数据矩NEWMAT[ ] [ ]的每个值被转换成32为二进制数。
步骤十八:
现在32位二进制数被分为四组8位二进制数。
步骤十九:
每组8位二进制数被转化为十进制数,每个十进制数被作为每行连续四个像素的像素值。
步骤二十:
重复上述步骤十七到步骤十九的说明,直到完成数据矩阵MEWMAT[][]中所有的值。
结果产生了一个新的被修改了的数据矩阵,我们把它命名为MODMAT[][],如表11所示。
需要注意的是,为了便于陈述,我们取第一个10x10像素存储在表11。
表11修改后的数据矩阵MODMAT[][]
F.估计误差和平均误差的计算
步骤二十一:
参考存储在表3中的值,我们可以计算出估计误差和平均误差的值,并存储在表11。
且计算出的平均误差为14.39%。
基于存储在表11中的值,可以形成图像,如图8所示。
步骤二十二:
其它的测试图像如图9,被用来进行处理和识别。
第4章结果
一些原始图像和测试图像被取出来进行处理,结果显示如表12所示。
表12结果
SrlNo
原始图像
含噪声的原始图像
相对于原始图像的平局误差
滤除噪声的原始图像
滤除噪声后相对于原始图像的平均误差
(1)
(2)
(3)
(4)
(5)
(6)
1
图2
图3
25.67%
图4
5.39%
2
图2
图3
26.42%
图4
2.93%
测试图像
含噪声的测试图像
相对于测试图像含噪声图像的平均误差
滤除噪声后的测试图像
相对于测试图像的平均误差
(7)
(8)
(9)
(10)
(11)
图5
图6
25.75%
图7
5.56%
图9
图10
27.39%
图11
7.8%
滤除噪声后相对于原始图像的平均误差
通过ANN训练后的测试图像
相对于原始图像的平均误差
结论
(12)
(13)
(14)
(15)
31%
图8
14.39
可识别
64%
---------
--------
不可识别
图2输入原始图像图3含噪声的原始图像
图4滤除噪声的原始图像图5测试图像
图6含噪声的测试图像图7噪声滤除后的测试图像
图8利用ANN训练后的图像图9测试图像
图10含噪声的测试图像图11噪声滤除后的测试图像
第5章总结
已经观察到,如果平均误差小于45%,人工神经网络可以用于训练检测从而进行识别。
因此,测试图像和原始图像是可识别和成功匹配的。
同时也被察到,如果平均误差大于45%,那么图像被识别为不同的图像。
在本文中,插入椒盐噪声主要是因为所有用来识别的图像都可能含有某种噪声,这就需要去滤除噪声,从而进行正确的识别。
本文还观察到,由于用来训练的矩阵行数只有原始图像列数的四分之一,用人工神经网络进行训练和测试需要更少的时间。
参考文献
[1]M.Egmont-Petersena,D.deRidderb,Handelsc,L.Beaurepaire,
K.Chehdi;B.Vozel“Imageprocessingwithneuralnetworks—a
review",PatternRecognition35(2002),2002,PP-2280–2288
[2]BerendJanvanderZwaag,KeesSlump,andLambertSpaanenburg"ExtractingKnowledgefromNeuralNetworksinImageProcessing"PP-143-145
[3]AnilK.Jain,Fellow,IEEE,RobertP.W.Duin,andJianchangMao,SeniorMember,IEEE“StatisticalPatternRecognition:
AReview”,IEEETRANSACTIONSONPATTERNANALYSISANDMACHINEINTELLIGENCEVOL.22,NO.1,JANUARY2000
[4]AndrzejDziech,AliAmuri,“CONTOURRECOGNITIONUSINGNEURALNETWORKAPPLICATION”,CommunicationsDept.,AGHCracowUniversity,Cracow,POLAND,ElectronicsandCommunicationDept.,KielceUniversityofTechnology,Kielce,POLAND.
[5]KenjiSuzuki,“Pixel-BasedArtificialNeuralNetworksinComputer-AidedDiagnosis”,DepartmentofRadiology,DivisionofBiologicalSciences,theUniversityofChicagoUSA
[6]N.R.Pal,S.K.Pal,"Areviewonimagesegmentationtechniques",PatternRecognition26(9)(1993)1277–1284.
[7]S.K.Pal,A.Ghosh,"Neuro-fuzzycomputingforimageprocessingandpatternrecognition",Int.J.SystemsSci.27(12)(1996)1182–1193
[8]MostafaJabaroutiMoghaddam,HamidSoltanian-Zadeh,“MedicalImageSegmentationUsingArtificialNeuralNetworks“.
[9]AdilsonGonzaga,ArmandoMarin,EvandroA.Silva,FabianaC.BertoniKeltonA.P.Costa,LucianaA.L.Albuquerque“Neutral
FacialImageRecognitionUsingParallelHopfieldNeuralNetworks”,UniversidadedeSãoPaulo
[10]Y.J.Zhang,"Asurveyonevaluationmethodsforimage
segmentation",PatternRecognition29(8)(1996)1335–1340
[11]HumayunKarimSulehria,YeZhang,“HopfieldNeuralNetworks—ASurvey”,Proceedingsofthe6thWSEASInt.Conf.onArtificialIntelligence,KnowledgeEngineeringandDataBases,CorfuIsland,Greece,February16-19,2007.
[12]RafaelC.Gonzalez,RichardE.Woods,"DigitalImageProcessing",SecondEdition,PrenticeHallUpperSaddleRiver,NewJersey07458,TA1632.G662001,698-740
原理
1.提出问题
数字计算机的出现和现代学习与神经处理理论的发展都发生在大约同一时期,即二十世纪40年代后期。
在计算机上进行人工神经系统的研究(ANS)仍然是生物医学研究的一个活跃领域。
自那时以来,数字计算机已作为一种工具被用来建立单个神经元以及神经元簇的模型,这就是所谓的神经网络。
源自统计模式识别的传统技术一直很流行,直到20世纪90年代初期。
在新的时代,2000,RobertP.W.Duin和毛建昌给了我们作了一个全面的总结并对模式识别中一些众所周知的方法进行了比较。
给出的评论主要针对统计方法。
人工神经网络(ANN)在这只作为一部分被讨论。
由于发现,对于进行特征识别,统计方法或多或少存在着一般数学方法的不可用性。
一个新的基于轮廓特征值计算的特征提取方法被提出,并发现利用前馈神经网络可以得到令人满意的结果。
图像处理的主要目的是改变视觉的影响,这样信息量大大提高,使得所述图像比原始图像更清晰。
这种技术有助于我们获得图像中我们感兴趣的部分或特征的更好的清晰度,并且抑制图像中其他部分或特征的信息。
图像识别一直致力于,从一组身份已知的标签中寻找图像中被观察目标的身份。
可用的识别技术有许多种,但是对于选择何种技术最合适主要取决于给定的手头任务和一些其它的相关参数。
软计算是建立在模糊逻辑,人工神经网络,进化计算,机器学习等一些最新技术之上的一种新兴领域。
每种软计算技术都可以应用于,产生因太复杂或嘈杂而无法用常规方法处理的任何问题的解决方法。
传统的计算机采用逐步解决问题的方法,且每一步都需要很好定义并且必须保证是可计算的。
如果其中计算机需要遵循的任何一步是未知的,计算机将无法解决问题。
所以利用计算机解决问题需要事先掌握如何解决这个问题的所有知识。
而人工神经网络是一种新技术,它采用的是一种与传统计算方法不同的解决问题的方式。
或许人工神经网络之所以被认为更强大,是因为它可以解决一些还不能准确知道如何去解决的问题。
本文将利于人工神经网络,提供一种图像处理与识别的新方法。
人工神经网络已成为灵感来自于生物神经网络的一个最新发展工具。
这个新的强大工具的主要优势是,它具有靠传统计算方法不太容易解决问题的能力。
2.分析问题
论文设计流程
1.选取最佳原始图像目的,是为了进行识别提供标准的原始数据,以减小相对误差,提高识别正确率。
2.加入椒盐噪声的目的,因为因为所有用来识别的图像都可能含有某种噪声,这就需要去滤除噪声,从而进行正确的识别。
3.选用自适应中值滤波器原因:
滤波器被广泛地用于图象的预处理,抑制图象噪声,增强对比度,以及强化图象的边沿特征.运用较为广泛的线性滤波器如平均值滤波器,能较好地抑制图象中的加性噪声.但是,线性滤波器会引起图象的钝化或模糊,使得图象中物体边界产生位移.特别是,在图象受到乘性噪声或脉冲噪声的干扰,如超声波及雷达成像中普遍存在的斑点噪声,线性滤波器就不能取得预期的效果.中值滤波器,就像其名字一样,是用该像素的相邻像素的灰度中值来代替该像素的值,是一种非线性滤波器.例如滤波窗口由3×3个象素组成,则其中5个象素的灰度值会小于等于该滤波器的输出灰度值,同时5个象素的灰度值会大于等于滤波器的输出.由此可见,对于离散的脉冲噪声,当其出现的次数小于窗口尺寸的一半时,将被抑制掉同时也能较好地保证图象的边沿特征,而且易于实现.因此它被广泛地应用于图象处理,尤其是医学图象处理,如超声波图象.但由于其使用的滤窗大小是固定不变的,当窗中噪声像素数超过有用像素之半时(噪声密度较大时),中值滤波滤波作用大大降低。
多次试验验证:
在脉冲噪声强度大于0.2时,中值滤波效果就显得不是令人满意。
而自适应中值滤波器会根据一定的设定条件改变滤窗的大小,即当噪声面积较大时,通过增加滤窗的大小将噪声予以去除,同时当判断滤窗中心的像素不是噪声时,不改变其当前像素值,即不用中值代替。
这样,自适应中值滤波器可以处理噪声概率更大的脉冲噪声,同时在平滑非脉冲噪声图像时能够更好地保持图像细节,这是传统中值滤波器做不到的。
所以选用自适应中值滤波有利于保留图像细节,有利于正确进行图像识别。
4.采用将一副图像分割成几部分的方法,只取其中10X10矩阵的元素,一是方便进行误差计算,二是只进行图像某部分进行识别,提高了识别速度,三是采用矩阵形式方便进行将数据输入至ANN网络进行图像处理。
5.采用图像压缩的方法,将像素