BP神经网络与卷积神经网络研究_第1页
BP神经网络与卷积神经网络研究_第2页
BP神经网络与卷积神经网络研究_第3页
BP神经网络与卷积神经网络研究_第4页
BP神经网络与卷积神经网络研究_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BP神经网络与卷积神经网络研究ADDINCNKISM.UserStyle摘要 在日常生活中,字符随处可见。手写数字识别的研究方向是字符识别的一个重要的方向。随着时间的迁移,手写数字识别技术的理论研究与算法得到了进一步的改善,但是一个严峻的问题是如何有效地应用在实际生活中。本文研究了BP神经网络与卷积神经网络两种网络模型。因为网络识别率受特征提取方法的影响很大,所以特此研究了PCA特征、Sobel特征以及Gabor特征这三种特征提取方法。经研究不同特征提取方法与BP神经网络结合发现,识别结果最好的方法是使用Gabor特征与BP神经网络结合。本文研究了卷积神经网络,实现了通过网络本身的特征提取和识别的方法。本文分析了LeNet5模型,然后提出了两种改进模型。通过分析识别结果,发现可以获得很高的识别率。最后,本文基于MATLAB的GUI设计了手写数字识别系统,该系统有效地识别了图片上的手写数字,具有实用价值。关键词:BP神经网络;卷积神经网络;手写体数字识别;MATLABAbstractCharacterscanbeseeneverywhereindailylife.Theresearchdirectionofhandwrittennumeralrecognitionisanimportantdirectionofcharacterrecognition.Withthetransferoftime,thetheoreticalresearchandalgorithmofhandwrittennumeralrecognitiontechnologyhavebeenfurtherimproved,butaseriousproblemishowtoeffectivelyapplyitinreallife.Inthispaper,twonetworkmodelsofBPneuralnetworkandconvolutionneuralnetworkarestudied.Becausetherecognitionrateofnetworkisgreatlyaffectedbyfeatureextractionmethods,threefeatureextractionmethods,PCAfeature,SobelfeatureandGaborfeature,areherebystudied.AfterstudyingthecombinationofdifferentfeatureextractionmethodsandBPneuralnetwork,itisfoundthatthebestmethodtoidentifyresultsistouseGaborfeaturesandBPneuralnetwork.Inthispaper,convolutionneuralnetworkisstudied,andthemethodoffeatureextractionandrecognitionthroughthenetworkitselfisrealized.ThispaperanalyzesLeNet5modelandthenproposestwoimprovedmodels.Byanalyzingtherecognitionresults,itisfoundthatahighrecognitionratecanbeobtained.Finally,thispaperdesignsahandwrittennumeralrecognitionsystembasedonGUIofMATLAB,whichcaneffectivelyrecognizehandwrittennumeralsonpicturesandhaspracticalvalue.Keywords:BPneuralnetwork;CNN;handwrittennumeralrecognition;MATLAB目录TOC\o"1-2"\h\z\u31028第1章绪论 160291.1系统研究的目的和意义 1323261.2国内外研究现状 1126731.3本文主要内容 37054第2章手写数字识别技术的理论研究 5256922.1手写数字识别的研究方法 5323912.2手写数字特征提取 6301972.3BP神经网络 848092.4卷积神经网络 12297302.5本章小结 179482第3章手写数字识别技术算法研究 18241053.1BP神经网络算法研究 18120873.2卷积神经网络算法研究 22263653.3本章小结 257752第4章手写数字识别系统设计 26323204.1MATLAB的GUI介绍 26101704.2系统总体设计 27323424.3系统的功能设计 28132704.4系统仿真测试 3041114.5本章小结 3119242结论 326326参考文献 3310471致谢 35第1章绪论1.1系统研究的目的和意义随着、生活、学习中,都要处理越来越多的数据。文字能更随着光学字符识别应用和计算机技术的迅速发展,现在果的准确度也不断提高。光学字符种字是人们每天接触到的,其使用量也最大。手写数字识别技术广域,对改变人们的生活质量起到了很大的作分类器的性能进一步优着严峻的挑战。考虑到数字信息别算法的效率和快取和纹理提取三种方法为中符识别相结合。在分析了特征提取方法后,本文还研究了BP网络的分类模型和类算法。由于BP神经网络本身存在缺陷,本文对其自身的缺陷。不同网络的组合发现了提。但是,取方法的限制,因此本文重新研究了线路网络。在里,主要究了Le型,对作改进,得到别率的卷积神经络。受委员会发,分析了网判结果后,本文最后提出别率高的组合网络。使用计进写数字别工作减动识写数字信息的负担,提高关行业工的工作效率,减少了工担。这项技术不以减少人力和物力的投入,还可大改善相关从业者的境。因此,研究手写数字识别价值。1.2国内外研究现状手写字别很早就引起了众多研究者的注,对这个问题的广泛研究提多算法来解决这个问题。首用的是模配算法,后来发神经网络算法和量机算法,是迄今广泛使用的学习算法。这些算法的研究和促进了图像理和分类的快速发展。国外研究现状。外国研员提出了模板匹配算法,这极大地促进了光学符识别(Opticalcharacterrecognition,OCR)的发展。同年,OCR获得了专利。OCR识别必须基算机,因此只有算机技术进一步发展后,OCR的预防应用才能成能。20世纪60年代,美国研者分析了写数0-9)的特性结构,发现0-90种手写数字可限的基本特性组成。美究人员的这个发现对数字识术的迅速供了有的帮助。20世纪8代以后,神经络、逻辑推持向量机(SVM)等理论和算阶段引入到手中,并且取得了一定的成绩。其中SVM算法个问题中出的,与其他算比,其结果得显著的改善。综上所述,可以看出研究用手写数字课题已经经过长期的发展,形成了论和方法。在多种因素的制约下,OCR开期完成了仅识别和处理限符的功能,此后,很多研对这个主题进行了深入的研究,陆续提出了很多新的算法。(2)国内研究现状。国内这个问题的研究比国外晚一点。直到20世纪80年代,我国对这个问题的刚刚开始。中国工程院设计局信件自动识别系统[5]。之后,在这段时间里,很多国校对手写数字识别技术做了研究,在这个项目了很好的研究成果。其中琳使用的SV术和曹丹用的Hopfield神经网络大低了手写数字识别的误率。国内的研究在科研工作者的努力取速的发展,紧跟着外在该项目上展步伐。但是,识别能否满足应用仍然是目前研究者临的巨大挑战。国内的研究多科研人员的努力下取得了快展,在这个项目上紧跟海展的步伐。但是满足识别率仍然是当前研究人员的大课题。因此,这个进一步发展仍然量的努力。字符识别是古老的研任务,在长期的发展中已经了许多新方法和新理论。这些解决案通常分为预处理、特征选提取、模式分模块。字符识别流程如图1-1所示。图1-1数字识别流程图首先获像,然后要执行作是第一步的预处理。收集的会受到拍摄条件、设备性能等素的影响,因此,自然景中获取的字符通过直接输入分方法来识别。因此,预处段对整个分类过程有的影响。常用方法包括见的处理操作,如去进制、锐化平滑等。预处理图像比原始图像更能像的核心内容,有利于类和识别。选取和提征。这个阶段是整类过程中非常重要的一部分。无论分类器设么优秀,如果在程中得不到示图像信息的特征,将对分类器产生大的影响。图像心内容常的有边缘特征、角以及结构特征等。其他特征像中的不同信息。近年来,随着深化学习益完善,许多领域已经深化学习解决实中面临的题。作为图像区域的性例子-卷积神络本身不仅可以对特征进效的提取,还可以进行类。很多文献表明,使用卷积神经网得的特征比选择的特征中信息更丰富,性能更好。分类果输出。此过程主用分类器对待识象进行分类,且输出结果,以供操业分析。随着科学研究者的力,很多分类逐步提出。其中量机、神经络、随机森林有名。这种类器的广泛使模式识别领域的快速发展起定的作用。要别的样例通常经过所需的前理后,可以执行相特征提取操作。取得的图作分类作业的分类器的输入。一般来说,分类型使用很多本进行培训,以学习相标输入和输出之间的性关系。然后使用训素的分类器对未知进行分类。最终输出识别出的结果。1.3本文主要内容本文主究的是手写识别。讨论的特征提法主要包括三种特征提取方法:PCA特Sobel边缘检测、Gabor变换。由于P网络中还是具有诸多缺陷,因此本文对传神经网络做了一些这里采用了学习率自适应策略[12]。通过多种取方法和改进的BP神经网组合,得到别率高的网络结构。BP神经网要手动选择特征,网络识别能会受到特取方法的影响,所以论文还积神经网络进行了分研究。因为研网络结构、卷积核大小和卷积核数、池化方法习速度等参数,采用改进的型,获得了较高的识别结果。卷积多种因素(如层数)的影响,因此,复杂通常比简络的分类结果更高。但是网复杂,网络训困难,这篇论文究的是一种组合神经网络。通过在组合使用三种不太复杂的网构对MNIST数据集进实验验证,证明了组合以达到类似杂网络识别结果的效果。最后,本文应用经过训练的组合计了手写字符识别系统,并使用自集的数据集验证了整个系统的有效性,取得了良好的效果。本文主要结构安排:第1章是论文的绪分简要总结了该课题国内外研究现研究课题的意义,有助于读该课题有明确的理解。第2章为了相论的基础,通过研究分析分类结果的两个因素。这篇论盖了对手写数字进究时的PCA特征、Sobel边缘、Gabor特征等。把神经为本文中使用的分类器。本要介绍了BP神经卷积神经网络相关的理论知识,为以后络建设和实现提供了理论依据。第3章谈论个实验。分析和实同的特征提取方BP神经网络进行了研究,结果发现Gabor特征提取算法得高的识别结果,算法理论比较简单,容易理解。通过对进行深入分析,本文设计了两种比性能更高的的CNN模型。在数据集上进验,得出了数据集通过CNN可以获高的识别结更好的分类结论。但是随着层次的加深,网络训练和参数设置都很困难,因此本文只研究7层网络的结构。第4章对MATLAB的GUI,系统的总体流程,系统功能的设计依次介绍,最好在BP和CNN下得仿真法有效性。第2章手写数字识别技术的关键技术本章写识别的研究方法出发,研究和学习识别过程中所需的特征提取方法和必要的神络。在特征提取中,习两种模型:PCA特征、Sobel特征和Gabor特征、神经网络中神经网络和CNN两个模型。2.1手写数字识别的研究方法这项长期的研究写识别相关的理论和方法法主要倾向于研究手写数征提取和分类方法。因此,决手写数字识别问题时,提出了很多特取算法和分类模型,解题。常用的分类模型包括:模板匹配方法。模配是一种图像全局分析算法,它建立了与图像的每个类别相对应准表单。此标准格式被视的模板,因此可以根据图像的不同类别提供不同的模板类型。如果板,则可以根据拥有的模板分标识图像中的手写数字将要图片与每个标准模板相匹配,并通过对模板匹配的错误最小的模板进行分类识别。通过对算法的简要说明,表明模板匹配算法的算法理论相对解,在识别过程中没有进行很多计算,速度比较快。但是,当需要识别的图像很多时,必须将每个图像与每个模板一一匹配,因此务很多,需要很长时间。因此,这种识别算法仍然需要很大的改进。统计决策方法。该算法长期的发展,建立了较为成熟的理论基础。主要用作概率论和数理统计的数学知识。得像特征后,可以使用决策函数执行相关识。该算法具有更明显的噪效果,但缺点也更明显,即无法获得图像细微特征。结构特征方法。此算图像结构的分析。在获得像的结构信息之后,将该结构信息由手写数字的基元组成的结构空间里,最后完成手写的识别。与模板匹配算样,该算法不需要大量的数学计算,因此算法的原理简单易懂。神经网络方法。该算法于人类识别图方法,它是通过构建人工神经元以模拟人类知过程。神经网络需要创建多层网络结构,每层都有多个权重和性。网络通过学习训,逐步提高网络各层神经元之间的权重和阈值,最了非线性映射关系。如果有要识别的新图像,则可以根据获得的输入和输出之间的非线性映系获得最终分类结果。支持向量机方法。SVM算法实据低纬度到高纬度映射,将低纬度中不可分割的数据转换为可从高维度划分的数据,并便于数据处理。SVM可以有效地解决很多问题,对各种领域都大帮助。该算法得到了广泛应用,因为其识别结果比其他识别算法更准确。卷积神经网络方法。CNN放弃了络所需要的人工特征提取过程。虽然CNN也需要提取特此操作不再是人工提取而是在网络本身中执行。这样可以避免由于特征提取方法之异而导致最终结果中出现差异的情况,并提高能。根提取的间的差异,人工提取特征可算法的最终标识结果产生重响,但是可以通过CNN很好地问题。CNN还比传统方法更好地表示了图像,从而获得了比其他算法结果。但是,CNN的结构太复杂,需要进行卷积很长的训练时间。由于很多参数,导致网络难。这些是研究者急需解决的问题。以上概述了6个不同器。分类器选择对分类工作的最终效果起着重要作用。即使为同一分类操作选择不同的分类器,获得的效果不同。因此,要根据分类任务的具体内容,选择适当的分类器,得到较好的结果。综上所述本文选取方法1和6分离器为主要研究对象。此外,对于字符识别操作来讲,分类器不仅影响结果,图像的特征提取也对最终结果有重要影响。2.2手写数字特征提取本文以PCA特征、Sobel边缘算子和Gabor滤波算法为中心,研究特征提取算法,以获得更好的特性。2.2.1主成分分析主成分分析是一以大大提高非监督习速度的数据降维算法。字符识别实际上就是识别了像素间相关的图像本身,因此数据是重复的。由于图像中像素之间的依存关系,PCA算法可缩输入数据,只留下分布较大的维。PCA算法可以保动较大的元素,减少网络的计算量,同时PCA算法产生的误差是非常小的。在PCA算法中,主成分数对网络的最果有很大影响。如果主成分的数量太大,数据维仍高,则无法达到缩小数据维的。相反,太小的话,数据的近差太大。通常情况下,设是协阵的特征值,并且与特征向量对应的是。(2-1)式中保留了前个成分,也就是保留了前个特征值。对于图像处理,通常主成分数是选择满足公式(2-2)最小值。一个惯常的经验法则是选择以保留99%的方差,也就选取满足下式的最小值:(2-2)公式(2-2)中的0.99是选择个成分用来保留99%的方差。2.2.2Sobel特征提取提取图像特征的一法是提取图像边息,并将图像边缘信息用作输入接收分类器。通常,图像在水平和垂直方向都执行边缘检测,但也可以在其他方向检测。由于Sobel算法使用加权处理方法,而不是将位置计算为简单总计,因此生成的图像中的边模糊不太严重,并且效果相对好。本文在检测图像边缘时,通过Sobel算法获得了四个梯度图像,分别是水平方向、垂直方向和两个对角方向。然后,将这4个梯像拉伸为四个列矢量,并将它们连接在一起形成一个列矢量。连接的列向含3136维,直接输入网络会增加网络使用率。因此,选择PCA降维以联的列矢量,从而减少输入数据的维。2.2.3Gabor特征提取将Gabor小波应用于取,可以更好地获取边息,具有更好的方向和尺特性。Gabor小波不受图像中光照变影响,可以很好地适应各种照明条件,获得更好的信息。Gabor小波具有这点,在很多与视觉相关的领中被广泛使用。在实际应用中,常是二维Gabor变换,因为其变换系数地表现出视觉特征,所以广泛用于视觉处理方向。Gabor无论是在生物学分析方是现代应用研究方面,都比其他任何特征更有独特点。Gabor转换具有研号不同位置的局部特性的功能,在空域和频域中表现出良好的局部性,因特征提取、图像识别领域得到了广泛应用。不受旋转、缩放和平移的影响是Gabor过滤器要的优点。在空间中,二维Gabor函数G(x,y)是一个被弦函数调制的高斯函数,其数学表达式如下:(2-3)参数表征了Gabor滤波器的滤波方向。是正弦曲线的频率,是相位偏移量。决定了Gabor滤波器核函数的窗口大小。表示的是椭圆率,此值的大小表示滤波区域所表示的形状的差异。2.3BP神经网络人工神经网络具有相对复杂的结构,根据自身设定的复杂结构,不断调整和优化神经元之间的权重,使其设置成为可能的功能。BP网络可以学习输入和输出之间的关系,因此不需要预置输入和输出之间的数学方程,从而有助于解决很多非线性问题。现实中的很多问题是性的,不能用数学方程来解释输入和输出之间系,因此,BP网络具有广泛的应案。输入数据进入网入层时,数据通过输入层移动到隐藏层,随后程将继续。隐藏图层的层以根据实际问题进,假如只有一个隐藏图层,则隐层后面的数据将直接导入到输层中。误差通过反向传播逐层递,通过调整传播过程中经过的的权重,可以提高网络的性能。在网络的训段,就是不断地进行正向向的传播过程,通过每一次代过程更新每个层次之间的权重,直到指定的数值或误差值达到指定的值。2.3.1BP神经网络优缺点优点主要体现在:(1)BP网络可以输入和输出之间的非线性映射,有效地学习各种复线性数据,从而提高性能。(2)BP网络具大的学习能力,能够以自络权重的方式存储在学习练过程中所学的知识,在引数据后,可以使用网络权重来识些知识,并达到分类目的。(3)BP网络可以很抑制噪声,并且模型的广义特性很好。主要性能劣现在:(1)训练停止条件是由研员亲自设定,所以存在很大差模型的学习率没有提供明确理特定值,因此其他值会严重影型。学习算法的收敛速度慢。(2)在过程中模型容易陷入局部极,结果得到局部极小值而不是最优值,最终识别结果降低。(3)由于在构建模构过程中没有有效的方法,模型中包含很多未知参数,不利于构建模型。2.3.2BP神经网络的结构一般来说只有当模足足够大时,BP网络才能完近的任务。但对于实题,很难建立出任意大的网络,所以针对所需要解决的问题,要建当大小的网络模型来解决问题。在有样本上完成模型的训练后并型具备较好的泛化能力是对网络型的基本要求。而对于BP网络来多因素影响其泛化能力模型结构(如隐层数、隐层节点数所使用的样本自身的。网络的泛化能力是设计最重要的因素,是设计者首要考性质。一般来说,网络结构都是根据问题的需求来确定的。为了设能够解决问题的网络结要设计者具有较深厚的理论知识作为设计者需要了型中每一部分的参数对最终的网络结果生怎样的影响,根据其中参数对网络的影响而最终确定出该问题所网络的具体结构。在结构设计中,主要需要考虑的就是每层经元的个数,网络的误数的选择以及停止训练所条件。通常,不能对不同的问题单个模型,要更好地解决问题,基于问题创建相应的模型。创建网络模型时,必须根据实际问题设计模型的参数。通常,仅当模型满足足是,在实际问题上,构建任意大网络题,建立适当大小的网络模型来解决问题。在有限示例中完成模型的培训,并更好地概括模型,是网络模型的基本要求。对于BP网路,许多因素会影响一般化,包括模型结构(例如隐藏的层级数、隐藏的层级节点数等)和使用的范例本身的性质。网络的泛化能力是设计模型最重要的因素,是设计者最优先考虑的特性。通常,网络结构可解决问题的网络结构需要设计者以更深的理论知识为基础。设计师必须了解模型各部分的参数如何影响最终网络结果,并根据其中每个参数对网络的影响确定该问题所需网络的特定模型结构。在结构设计中,主要需要考虑的是每层神经元的数量、网络的错误功能选择和停止教育的必要条件。图2-1BP神经网络结构图输入层神经元个数输入层神经元个数入数据的维度相当。但是如果输据中含有过多的冗余数据,这些数在将会加多经元的个数,导致网络节点过多,造成网络训练时间变于输入节点增加,输入间存在大量的冗余,会降低最终的识别结果。因此对于输点数目的确定应以数处理后的结果作为设置该参数据,由处理后维度来确定输入层节点数目。在本文中,由于对原始图像进行了特取,因此当采用不法时,网络的输入数数是不相同。若没有行任何处理,则输入层于28*28=784维。隐层神经元数隐层节点数目[27]对模型具有很重要影响,主的学习效率以及模型的泛化特性。如果设置的数身不能够的信息来表达待解决的问题,便不能很好的完成识别;如果设置的数目过大,模型对给定的训练样本可以进行很好的但是对于测试样本却未得与训练样本一致的识别效果,这是容易出现过饱和问题确的确定隐层节点的个数是一个很重要的问题,同时由于没有完论依据,使得这一问题变得很复杂。想要获准的结果是相当困难的。但是研究人员并没有因此而放弃研多年的研究,给出了以下几种方法来完成隐层节点个数的确定。(1)单隐层神经网络能够实现输出间的非线性映射关系,并根据研究发现了隐层节点的确法。隐层的节点数目为2N+1,其中N为输入的节点数。同年,研究人员又发现如何获得多隐层网络点的办法,进一步推广了隐层节点数目办法。结论是,第二隐层的节点数应为Nx2,其中N为输入的节点数;(2)当输入的维度较多时,在双隐层网络层网络节点的最好比例为3:1;(3)对于隐层节点的法可以采用将一个输入5个节点相对应起来是识别问题,节点数目的减少;如果输入的是高多,选择输0%即可。除此之外,还可以参考下面的这些经验公式(2-4)

(2-5)

(2-6)式中,是输入层节点数,是输出层节点数,是节点数。为1-10之间的常数。但是在实验中发现,根据公式(2-4)、(2-5)、(2-6)确定的隐层节点数目并不能使网络获优的结果,因此本文在隐层数目的确定上是根据大量实验来确定的。2.3.3误差准则函数(2-7)公式(2-7)为单个神经元的输出式中是周期为n时输出节点k计算出来的数值,表示关于节点k所设置望相应。当获得了单个节点的输出误差数值后,便可根据误差式进行计算,计算出相应的误差能量瞬时值。进而能够获得整个网络点的误差能量瞬时值,对应的计算公式参考公式(2-8)。(2-8)式中,集合C含有模出层需要计算的所用节点。本文所采用的误差准则函数即为均方差函数,其函数形式如公式(2-8)所示。2.3.4训练的停止条件训练出能够很好题的网络模型是研究人员最关问题之一。为了获得能够很好解决模型,需程度的训练。对网行训练并不是越多越好,有时候较少的训练所获得效果要优于长时间训练的模型。但是对于究竟需要设计者根据型。通常情况下,停止条忍的作为停件。本文在寻找模型终止训练所需佳的迭代期,在每个迭代期,网络都会一个识别结果,根据网络输出果,寻找出最佳的识别结果。并以得的条件。2.4卷积神经网络1980年,文献提出新认首念,成为首个深度学习模型。2003年,文献对CNN进。在图2-2中,C1和卷积够获得图像的特征并且随着结构的深度逐长,其获取的特征也越来越抽象,越来现图像特性。而下采样层对图像尺寸进行缩小,通过减小像间的相关性来防止训练过网络出现过拟合。卷积层和下采样层可多层,一般层为卷积层和下。

图2-2CNN的结构图CNN出色的识工作的不断推进,改进模型也计者额外图像输入到整个网络。网络间的具,避免了人工。2.4.1局部连接与权值分享对于CNN,不在采用层间局部。

图2-3CNN局部连接方式示意图相比于全连接的方式,采用局部连接降低模型中的参数的数量级,解决模型训练时间来说也有一定的帮关操作后,可以组合成比对图像的描述。由于自然基础特征抽取器同对整幅图像卷积核都应用相同能够使其特性得到较大提升。2.4.2卷积层与下采样层卷用一个固定尺寸的窗口(称为卷积核),将该窗遍历整张图片,便完成了卷积在卷积操作中存在受野。卷积操野。将获得的输会得到网络的输出值。公式(2-9)式:(2-9)其中:为层数;为在层层的第个特征图;为输入层的感受野;为卷积核;为偏置;为神经元的激活函数。复杂的图像通常是由很多简单的合而成,因此在做特征提取时,并不是一定要提取图像的全征。通得到的局部特征进行一征。因此,全局特征用卷积核对图像的感受野进行卷像的局部信息,能够减少网络参数,便于对模型进行训练。在CNN模型中,针对不用感受的模用相同卷积核进行相应积操作,达到了权值共享的作用,这使CNN性能有整体的学习能力。通常情况下把CNN的下采也称为池化层。池化操作实际上是对输入图像进行了降维处理,通过使用不同尺寸的池化域对输入图行池化,也获得不同的输出图像。如果池化域定义的过大,则经后的图像的维度相比于输入图像降低的很大,如果定义的池化域则经过池化后的图像的维度相入图像降低的相对较小。具体使用多池化域,需要在分析确定,不同的问题通常需要不同的域。对图像进行池化操其实质可认为是对图像进行了模糊滤波,这样做能够获得鲁棒性特征。并且对图像进行池化处理的维度与分辨率都得到的方法有平均池化和最大池化等。通常在研究中被用到的池化方法分为平均算法与最大池化算法。平均池化即将池化域里全部数值的均值设采样后图像相应的数值,就是用这些替这些数据。设输入特征图矩阵F,子池化域为c×c的矩阵P,偏置为b2,得到的子采样特征图为S,设池化过程移动步长为c。平均池化大池化的算法表达式分别为(2-10)(2-11)本文池化方法采用的是平均池化。图2-4所显示的池化过程表原始特征图像从8×8,下采样到2×2,使用了4×4的下采样模将原始特征图中每4×4的一个区域作为一个大区域,并且在下采样后该区域只输出一个数据。若为池化,则下采样后的结果为4×4区域内所有数值的均值为最大池化,则下采样后的结果为4×4区域内所有数值的最大值。图2-4池化过程图2.4.3前向传播算法在前面的章节中对CNN进行了介绍,主要介绍面的两个重要操作方式——卷积采样。由于CNN也是一馈网络,因此当给网络输入数据后,数据一层一层的传递,直到网后传到输出层以结束整个前向传播的过程。CNN在前向传播种方式通常情况下是数据先经过卷积层在经用在于:将输入图少噪声干扰;(2)积可以完成网络权值的共享,并且核在网络中充当着局部感受野色;(3)由于模型本事可以实现对像的特征提取与识别,不再需要额外的人工处理。2.4.4反向传播算法输入数据经过一系列的的前向传播过程主要是应数来计算模型残差。(2-12)CNN特性,(1)输出层误差输出层误差的计算公式如下:(2-13)(2)隐层误差子采样层到卷积层传递[36]。该过程输入的误差数据来自子采样层,而根据CNN的结构特知道当前层为卷积层。由于在子采样层采用的算法不同,因此在这处理方法也不相同。本文在这里主要就均采样算法给出了简单的分析。具体的计算表达式如下:(2-14)式中,表示的是对图像进行上采样的过程。卷据不再来自于子采样层,而是来自于卷数据。同样根据CNN自身结构特性便可知道当前处在子采样层这一阶段。前向传播过用的是反卷积的方法。这个并没有就此进行深入探讨,其简要来将卷积核进行180度旋转,在进行左右、上下翻转,可以参考公式(2-15):(2-15)式中,conv2(...)函数的功能是将卷积核K旋转180度。2.5本章小结本章主要是为下一章的供理论基础。通过分析可知取方法间的差异对最后的个重点。本章主要介绍了三种特征,分别特征、Sobel特征以及Gabor特征。三种特征各自具的特点。同时本章也对接下来要用到的分类器的原理进行了分析,主要针对的是BP神经网络与CNN这两种模型。第3章手写数字识别技术算法研究本文对算法的要使用的是公认的MNIST数据集,数据含了70000个数的图像如图3-1所示。初始化参数设置成值,范围[-1,1]。训练过程中应用小批量下降法,利用动量的反Matlab2014b上进行。图3-1部分训练数据图3.1BP神经网络算法研究3.1.1BP神经网络的改进策略通常情况下,BP网络泛的应用,但是仍然不能证明该网络结构就是完美的。与法一样,BP神经网络本身依旧具有缺陷成了其算法性能具有局虽然BP神经网络本身存在很多但是最主要的缺陷主要有两个,一个是度问题,另一个是目标函数容易陷入局部极加入动量项。在BP大,会统稳定性造成比较严重的影响;学习率设置假如网络相对来讲稳定,但是网所需时间变长。为了解决这一矛盾,引入“动量项”,即(3-1)式中为动量项,通常为正数。将上式写成t为变量序列,t由0到n,则上式可以看成是的一阶差分方程:(3-2)因为,,则上式可改写为(3-3)由上述推导可知是动量常数,其围在(-1,1)之间。当取值为0时,说明没有加入动量项。在取值时可以为有正别,但是在研究中普遍使用的都是正值。当本次的与前一次同符,其加权求和值增大,使较大,从而在稳定调节快了的调节速度[41]。与前次符反时,指数加权求和结果使减小,起到了稳定作用。动量项的引入,不但能够对神目标函数陷入局部最小的问题进行改善。对网络进行训练时,尽量采收敛到最优解。这与批处理方式相更好的训练效果。2.选用奇函数作为激励函数。常见的激励函数:(1)Sigmoid函数(3-4)优点:采用sigmoid函数作间,这一特性使其得到了广泛的应用。缺点:当神一特性对网络训练的影响是很严重的。图3-2sigmoid函数(2)Softmax激活函数(3-5)(3-6)(3-7)网络的Softmax层的输此可以将输出结果看作是一个概率。(3)tanh激活函数(3-8)优点:与sigmoid相比,tanh是0均值的。Tanh(-z)=-tanh(z)。缺点:当神经元饱和时,将会失现象,这一特性对网的影响是很严重的。激活函数的选择对于网络是很重要的,不同的激活函数对网络的结果将会造成很大的差异。想要在网络用合理的激活函数,就需计者要了解各种激活函数的作用以及其的场景,然后针对计出效率更好的网络模型。4.调整学习率。学习率存在差异,将导识别结果存在差异。如果学习率过大,学习过程很可能产生振荡,将会使网络训练不收敛。反之,算法过很长的时间才能收敛,降低了算法的速此,需要为BP算法选择一个“最佳”学习率。如果想要获得这个“最佳”的学习率,需要保证学习率在程中能够实现自动调整。公式(3-9)给出的学习应调整算法[43],可以减少网络的训练时间,使网络的学习算法更加可靠。 (3-9)学习率的设置一直都是有很多参数,并且这些参数如何初始化是没有具体的以依据,这样就会导致如果学习率设置的适,网络经过长时间的训练会收敛。为此必须要选择恰当的学习率或在训略。3.1.2BP网络的搭建根据第二章的理论知结合3.1.1节的改进策略,综合考个因素的影响,建立了如图3-3所示的层。其层设置为10个输出,学习率的项。图3-3BP神经网络的结构图3.1.3特征提取这里使用的特征为Gabor特征。若一幅图像用f(x,y)表示,那么卷积定义如下:(3-10)实验所用的mnist图像小为28*28像素,使用40个滤波器,特征向量的维数是28*28*40=31360,由于图像中相邻像素之间通常相关的,因此我们可以通过对Gabor滤波器产征图像进行下采样来减少余。本文借鉴了文献[44],对征图像进行了4次下采样,得到的特征有1960的大小。为了能够取得较果,本文对不同尺的Gabor特征提取进行了比较,得到的数据如表3-1。表3-1不同尺度下网络的识别率表Gabor滤波器的尺度识别率3尺度8方向99.18%5尺度8方向99.28%7尺度8方向99.36%10尺度8方向98.81%通过分析表3-1中的数据,可以发现:并非越多越好,10尺度8方向下的Gabor特征提取的识别比7尺度8方向下的Gabor特征提取别结果差0.45%。因此为了获好的网络识别结果,应当选择56个滤(即7个尺度8个方向),但是由于Gabor特征提对原图像进行卷积操作,因此计算很耗时,综合考虑,选择5尺度8共计40个滤波器最为合适。除了Gabor特征外,本文还研究了图像的PCA特征和Sobel与PCA的组合特征。在PCA特征提取中,选择了299个主成分以保99%的方差;在Sobel与PCA的组合特征,对图像进行Sobel边缘检测,这采用的不是MATLAB里自带的Sobel边测算法,而是根据不度下的Sobel算子的模板直接用对图行边缘检测(使用的角度包含了0度、45度、90度和135度),会得到图像的4个梯度图像。为了能够更好的利四个梯度图像的特征,减小图像间相素的影响,本文将4个梯度图形了4个列向量并将4个列向量起来,得到一个3136维的列向量。最后用算法对串联后的3136维列向量进行作,得到网络最终的输入向量,维度为819维。3.2卷积神经网络算法研究通过前面对CNN的这一小节中主要研究了两种CNN的模型。一种典型的CNN模LeNet5,如图3-4所示。图3-4LeNet5的网络结构图通过上图可以发现在里面,网络将变成8层。输入层获像的像素为32*32。C1层一共包含6个特征图,并且把特征图的置成28*28。C1中的参数和连接个数计算如下:由于采用的是5*5的偏置值。连接的个数则为(5*5+1)*6*28*28=122304。S2层也是包含了6个特征图。S2层的C1层的输出,这个S2层采用2*2的模型对C1层的输出行降维,所以S2层输出的结果是14*14。LeNet5中卷积和下采样的详细过程如图3-5所示。图3-5卷积和下采样过程图C3层也是卷积层。C3层的输入数行卷积操作获得的,因此C3层获得图尺寸大小是10*10,这一操作与C1层相似。因为S进行下采样时的。因此是16个。为了更好的对这里进行理解,(1)S中的特征图可以采用不看成是把相互间存在差异的低级特征采用不同方式结合起来成更高级的特征。这一现象与生物系统相一致,就像人在分辨事物外形关注事物的基础并且好分辨的轮廓来观测更加高级的特征便能分辨出是什么物体了。(2)通常S2层的每个特样在更高级的特征中将包含更多的有用信息,对后期的能够起到一定的促进作用。S4层又是一个下采样层,图[46]。S4层采用了2*2模板来对C3层结果进行下采样处得了尺寸大小是5*5的特征图,这一操作与S2层相似。5*5的5*5,因此在进行卷积计算后,C5层的特征图尺成了1*1。C5层的连接个数是48120。F6层里含有84个节F6和C5层采用了全的方式,这种方式是将前一层节点与本层节点进行一一对络的计算方法与BP网络应用全连式连接时的计算方法相同。LeNet5最后的输出层包含了10个节点,每个节点就是单独的类别。由于手写数字总共包含了10个数字,也就。通过对LeNet5进行集上对所提出的网络模进行了验证。一种CNN结数由表3-2给出。由于CNN的层数如果设置的过多,将会增加算法的复杂程度,训练周期就会进一的实验时,参考了LeNet5模型,将网数最终定为5层。表3-2CNN结构参数表层数类型输出特征维度滤波器尺寸0输入层28×281卷积层10×24×245×52下采样层10×12×122×23卷积层20×8×85×54下采样层20×4×42×2网络激活函数选择sigmoid函数,下采样10个输出结果。由于学习率对网络最终的识果又很重要的影响,因此,本文采用了学习率自调整算法。通过使用据集进行试验,得到了99.23%的识别率。为了进一步调高识别过分析CNN的各个参数,在表2的CNN结构基础上给出了具有结构如表3-3的CNN结上又添加了一个卷与池化层将使网络的训练时间加长,但是却也可以提高网络的识别率。表3-3CNN结构参数表层数类型输出特征维度滤波器尺寸0输入层28×281卷积层10×24×245×52下采样层10×12×122×23卷积层20×8×85×54下采样层20×4×42×25卷积层40×2×23×36下采样层40×1×12×2网络的学习率改为了1.5,其他没有改变。通过在MNIST数据集上进行试验,得到的正确率为99.43%。通过对比两种不同的结构,可以看出,层数的增加在程度上能够对识别结果有促进作用的,但是相付出的是网络的训练使很大的难度,但是网络过浅,网络的识别率会受到很大的限制。为了能够使用较浅的网实现较高识别率,本文中提出了一种组合网络模型。3.3本章小结本章主要讲述了二个实够获得较高的识别率过对不同特征提取方法进行研究,发现Gabor特征与BP网络相结合确率。通过对卷积神经网络的研究发现,不络结构对网络的识别结果大的影响,随着网络层数的加深,网络的识别率给出各个参数的合值,因此本文提出了组合神经网络。通过组合BP神经网络与卷积神经够使组合网络在网络层数不深的情况下获得与络差不多的识别率。

第4章手写数字识别系统设计在第3章已经完成了对神经训练,可知能获得了一个具有较高识别率的神经网络。但是,训是在实际中获得的手写数字通常如图4-1所示。如果直接对图4-1中的手写数字进行识别,网络的识别结写数字识别系统。图4-1手写数字样本图4.1MATLAB的GUI介绍图形用户界面(GraphUserInterface,GUI)是包含象(如图形窗口、菜单、控件、文本)的用户界面。MATLAB不光在数值计算方面具有较大的优势,能够快速的进行计算,并且GUI开发方面也大的优势。应用MATLAB的GUI平台[52],能够使用户开发出便捷、友好的图形界面,对后期的研究与应用有很大的辅助作用,特别是在系统仿真与图像处理这域。该平台具有很多控件作为制作图形界面的工具,应用这些控件能够设计出用户需要的操作界面。图4-2所示。从图4-2中可以看出,MATLAB的GUI平台给便用户开发自己喜欢的图形界面。图4-2展示了MATLAB的GUI平台给出的具体控件用控件,如果想要做出好的界面,需要对解。将不界面。图4-2图形界面的设计工具控件组图相关控件的功能需要用户自己来完函数的编写,将其具体实现的功能写在MATLAB可以运行的M文件中.Fig文件:能够位置、数量以及属性等。.M文件:里代码,也就是包含了各个控件的回调函数。4.2系统总体设计本过程示。图4-3系统流程图4.3系统的功能设计4.3.1图像的获取与显示图像的显示主要应用MATLAB得GUI中的axes控件。本文主要讲述如何在axes上用点击按钮来实现相关功能的,因此本文在此主要介绍如何通按钮在axes控件上显示图像。4.3.2识别结果的保存为了方便,这里将保存结果要对图像名称进行提取,以及记事本文件的扩展名的添加。主要用到的代码如下:num1=get(handles.edit15,'string');num2='.txt';l=length(num1);name=[num1(1:l-4)num2];通过以上程序,就可以获得与输入图要用到了两个函数,即fopen和fprintf。fopen是数据按照指定格式式写入到文本文件函数[54]。通过使用这两个函数,实现了识别结果的保存。为了让保存结果更加清其目的是在已建立本文档中写入一个换行符。4.3.3图像的预处理对于图像识别问题,前期的预处程是至关重要的,如果处理的不好,将会使最终的识别率很低。如果图络识别率低下;如果图会提高网络的识别率。因此图图4-4图像预处理的框图图像二值化方法:图像预处理对识别结果强、均衡化以及归一化进行波,滤波器的模板大小可以由化和自适应均衡化。对图像进行归一化处噪声的影响;增强和均衡化可理阶段完成的是图像的二来。主要的方法包括:全局阈法[55]。确定好了全局阈值像中的像素值比所设置值大,则算法会把图像中对象的像素值设置成白色,如果比所设置的阈设置成黑色。局部阈值法主要应用在不别的图像上,通过使用该方法能够对存在干扰的图像进行较好的二值化处像的每个局部区域进行阈的阈值,这样就使图像进时程序运行速度变得比较缓慢,识别过程更加漫长。通过对各种算法进行研到的二值图像中前景与背景对清晰。该方法将灰度或彩色图像作为输入,输出的图像中只包含黑白两种像适应阈值算法要对图像里每个像素值都计算出其阈值,并根据算出的阈值如果低于图像阈值,设像素为背景,高于图像阈值,设置图像像素为前景。手写数字定位:二值化后的图像中,黑存在着很大的无用区域,在值化后的图像进行数字区位。图像分割:由于需要从原图上分像进行分割。该分割主要色为黑色,字符颜色为白色,。4.3.4建立数据集为了提高本文的识别系能,需要建立自己得手写体数字的数据集,数据量越大准确率越高。4.4仿真测试MNIST数据集分为训练测试图像。训练图像60000张,测试图像10000张,每一个图片代表0-9中的一个数字,且图片大小均为28*28的矩阵。(1)对BP神经网络训练结果如下:图4-5BP训练后得识别率走势图(2)对CNN神经网络训练结果如下:图4-6CNN训

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论