基于BP神经网络手写识别技术的研究.doc_第1页
基于BP神经网络手写识别技术的研究.doc_第2页
基于BP神经网络手写识别技术的研究.doc_第3页
基于BP神经网络手写识别技术的研究.doc_第4页
基于BP神经网络手写识别技术的研究.doc_第5页
免费预览已结束,剩余20页可下载查看

下载本文档

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

文档简介

摘要手写数字识别技术是当今社会研究的热点问题,介于手写数字识别近几年来广泛应用社会的各个领域,越来越多的学者对手写数字识别进行了研究。神经网络由于其具有高度的并行结构和并行处理能力,以及固有的非线性特性和自学习、自组织、自适应能力等,被广泛应用到人工智能、模式识别等领域。本文将BP 神经网络应用到手写数字识别中,并利用Visual C+6.0 进行编程对手写数字识别技术进行了实现,实验结果表明该方法具有较好的效果。手写数字识别在很多领域具有广泛的应用前景,国内外学者对此做了大量的研究工作,提出了很多预处理和模式识别的算法,大大提高了手写数字的识别精度。但到目前为止,手写数字识别的识别精度还有待提高,核函数核参数选择等问题尚有待解决。本文基于BP神经网络理论,对手写体字符(包括l0个阿拉伯数字和大小写52个英文字母)识别工作进行了深入的研究。使用BP神经网络方法实现模式识别,可处理一些环境信息十分复杂、背景知识不清楚、推理规则不明确的问题,允许样品有较大的缺损、畸变。目前用于文字识别的人工神经网络模型还有: Hopfield神经网络、ART网络、自组织特征映射网络、认知器模型等等。目前,人们还在研究将神经网络方法和传统的识别方法结合起来使用,互相取长补短。关键词:BP神经网络;数字识别;模式识别;函数;手写数字识别;编程AbstractHandwritten numeral recognition technology is a hot issue in society today, ranging widely in recent years should be handwritten numeral recognition with all areas of society, and more and more scholars handwritten numeral recognition has been studied. Neural network because of its high parallel structures and parallel processing capabilities, and the inherent nonlinear characteristics and self-learning, self-organizing, adaptive ability, are widely used in artificial intelligence, pattern recognition and other fields. This article BP neural network applied to handwritten numeral recognition, and benefit.Using Visual C+6.0 programming in handwritten digits recognition technology to achieve the experimental results show that the method has good effect.Handwritten digit recognition has wide applicative foreground in many domains, and scholars inside and outside have done much research work on it. They have reported many preprocessing algorithms and pattern recognition algorithms, which improves the accuracy of handwritten digit recognition in great measure. But up to now, the recognition accuracy still need to be improved and the problem of selecting kernel functions and kernel parameters still need to be solved.In this paper, on the basis of the theory of Artificial Neural Network,the recognition for hand-written characters which include ten Arabic numerals and fifty-two English letter, capital and small, is discussed thoroughly. Achieved using the artificial neural network pattern recognition, can deal with the complexity of environmental information, background knowledge is not clear, the question is not clear inference rules, allowing a larger sample defects, distortion. Currently used for character recognition of the artificial neural network model are: Hopfield neural networks, ART networks, self-organizing feature map, cognitive device model and so on. At present, people are still studying the neural network method and the traditional identification methods used in combination to complement each other.Keywords: BP neural network; digital identification; pattern recognition; function; handwritten numeral recognition; Program目录第一章 模式识别技术的概论51.1什么是模式识别51.2模式识别方法61.2.1决策理论方法61.2.2句法方法71.2.3模糊模式识别71.2.4神经网络法81.3模式识别的应用81.3.1 文字识别81.3.2语音识别81.3.3遥感91.3.4医学诊断91.4模式识别研究方向91.5统计模式识别91.6模式识别技术的近乎无限的发展潜力101.6.1语音识别技术101.6.2生物认证技术101.6.3数字水印技术11第二章 手写体识别的意义122.1手写数字识别技术的含义122.1.1手写数字识别技术的理论价值122.1.2 手写数字识别技术的难点132.2手写数字识别的一般方法132.2.1 识别流程132.2.2识别方法14第三章 BP神经网络论述163.1引言163.2 BP神经网络算法简介163.3 基于BP神经网络数字识别的设计173.3.1 输入层的设计173.3.2隐含层和输出层的设计19第四章 实验结果分析204.1特征提取代码204.2仿真实验224.3结论及展望23致谢24参考文献25第一章 模式识别技术的概论1.1什么是模式识别模式识别(Pattern Recognition)是人类的一项基本智能,在日常生活中,人们经常在进行“模式识别”。随着20世纪40年代计算机的出现以及50年代人工智能的兴起,人们当然也希望能用计算机来代替或扩展人类的部分脑力劳动。(计算机)模式识别在20世纪60年代初迅速发展并成为一门新学科。什么是模式和模式识别?广义地说,存在于时间和空间中可观察的事物,如果可以区别它们是否相同或相似,都可以称之为模式;狭义地说,模式是通过对具体的个别事物进行观测所得到的具有时间和空间分布的信息;把模式所属的类别或同一类中模式的总体称为模式类(或简称为类)。而“模式识别”则是在某些一定量度或观测基础上把待识模式划分到各自的模式类中去。一个计算机模式识别系统基本上是由三个相互关联而又有明显区别的过程组成的,即数据生成、模式分析和模式分类。数据生成是将输入模式的原始信息转换为向量,成为计算机易于处理的形式。模式分析是对数据进行加工,包括特征选择、特征提取、数据维数压缩和决定可能存在的类别等。模式分类则是利用模式分析所获得的信息,对计算机进行训练,从而制定判别标准,以期对待识别模式进行分类。模式识别的研究主要集中在两方面,即研究生物体(包括人)是如何感知对象的,以及在给定的任务下,如何用计算机实现模式识别的理论和方法。前者是生理学家、心理学家、生物学家、神经生理学家的研究内容,属于认知科学的范畴;后者通过数学家、信息学专家和计算机科学工作者近几十年来的努力,已经取得了系统的研究成果。模式识别是一种从大量信息和数据出发,在专家经验和已有认识的基础上,利用计算机和数学推理的方法对形状、模式、曲线、数字、字符格式和图形自动完成识别的过程。模式识别包括相互关联的两个阶段,即学习阶段和实现阶段,前者是对样本进行特征选择,寻找分类的规律,后者是根据分类规律对未知样本集进行分类和识别。广义的模式识别属计算机科学中智能模拟的研究范畴,内容非常广泛,包括声音和语言识别、文字识别、指纹识别、声纳信号和地震信号分析、照片图片分析、化学模式识别等等。计算机模式识别实现了部分脑力劳动自动化。模式识别是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。模式还可分成抽象的和具体的两种形式。前者如意识、思想、议论等,属于概念识别研究的范畴,是人工智能的另一研究分支。我们所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、照片、文字、符号、生物的传感器等对象进行测量的具体模式进行分类和辨识。应用计算机对一组事件或过程进行鉴别和分类。所识别的事件或过程可以是文字、声音、图像等具体对象,也可以是状态、程度等抽象对象。这些对象与数字形式的信息相区别,称为模式信息。模式识别所分类的类别数目由特定的识别问题决定。有时,开始时无法得知实际的类别数,需要识别系统反复观测被识别对象以后确定。模式识别与统计学、心理学、语言学、计算机科学、生物学、控制论等都有关系。它与人工智能、图像处理的研究有交叉关系。例如自适应或自组织的模式识别系统包含了人工智能的学习机制;人工智能研究的景物理解、自然语言理解也包含模式识别问题。又如模式识别中的预处理和特征抽取环节应用图像处理的技术;图像处理中的图像分析也应用模式识别的技术。1.2模式识别方法模式识别有两种基本的模式识别方法,即统计模式识别方法和结构(句法)模式识别方法。统计模式识别是对模式的统计分类方法,即结合统计概率论的贝叶斯决策系统进行模式识别的技术,又称为决策理论识别方法。利用模式与子模式分层结构的树状信息所完成的模式识别工作,就是结构模式识别或句法模式识别。1.2.1决策理论方法决策理论又称统计方法,是发展较早也比较成熟的一种方法。被识别对象首先数字化,变换为适于计算机处理的数字信息。一个模式常常要用很大的信息量来表示。许多模式识别系统在数字化环节之后还进行预处理,用于除去混入的干扰信息并减少某些变形和失真。随后是进行特征抽取,即从数字化后或预处理后的输入模式中抽取一组特征。所谓特征是选定的一种度量,它对于一般的变形和失真保持不变或几乎不变,并且只含尽可能少的冗余信息。特征抽取过程将输入模式从对象空间映射到特征空间。这时,模式可用特征空间中的一个点或一个特征矢量表示。这种映射不仅压缩了信息量,而且易于分类。在决策理论方法中,特征抽取占有重要的地位,但尚无通用的理论指导,只能通过分析具体识别对象决定选取何种特征。特征抽取后可进行分类,即从特征空间再映射到决策空间。为此而引入鉴别函数,由特征矢量计算出相应于各类别的鉴别函数值,通过鉴别函数值的比较实行分类。 1.2.2句法方法句法方法又称结构方法或语言学方法。其基本思想是把一个模式描述为较简单的子模式的组合,子模式又可描述为更简单的子模式的组合,最终得到一个树形的结构描述,在底层的最简单的子模式称为模式基元。在句法方法中选取基元的问题相当于在决策理论方法中选取特征的问题。通常要求所选的基元能对模式提供一个紧凑的反映其结构关系的描述,又要易于用非句法方法加以抽取。显然,基元本身不应该含有重要的结构信息。模式以一组基元和它们的组合关系来描述,称为模式描述语句,这相当于在语言中,句子和短语用词组合,词用字符组合一样。基元组合成模式的规则,由所谓语法来指定。一旦基元被鉴别,识别过程可通过句法分析进行,即分析给定的模式语句是否符合指定的语法,满足某类语法的即被分入该类。模式识别方法的选择取决于问题的性质。如果被识别的对象极为复杂,而且包含丰富的结构信息,一般采用句法方法;被识别对象不很复杂或不含明显的结构信息,一般采用决策理论方法。这两种方法不能截然分开,在句法方法中,基元本身就是用决策理论方法抽取的。在应用中,将这两种方法结合起来分别施加于不同的层次,常能收到较好的效果。1.2.3模糊模式识别模糊模式识别技术运用模糊数学的理论和方法解决模式识别问题,因此适用于分类识别对象本身或要求的识别结果具有模糊性的场合。模糊模式识别通过模糊集合来描述模式,用隶属度将模糊集合划分为若干个子集,有多少类就有多少个子集,然后根据一定的原则分类。隶属度反映输入对象与模式的相似程度。此类方法的有效性主要在于建立的隶属函数是否良好。1.2.4神经网络法人工神经网络是由大量简单的基本单元神经元相互联接而成的非线性动态系统,每个神经元的结构和功能比较简单,而由其组成的系统却很复杂,具有人脑的某些特性,能用于联想、识别和决策。神经网络通过对样本的学习建立起记忆。然后将待识别对象的模式判决为其最接近的记忆。1.3模式识别的应用模式识别可用于文字和语音识别、遥感和医学诊断等方面。1.3.1 文字识别汉字已有数千年的历史,也是世界上使用人数最多的文字,对于中华民族灿烂文化的形成和发展有着不可磨灭的功勋。所以在信息技术及计算机技术日益普及的今天,如何将文字方便、快速地输入到计算机中已成为影响人机接口效率的一个重要瓶颈,也关系到计算机能否真正在我过得到普及的应用。目前,汉字输入主要分为人工键盘输入和机器自动识别输入两种。其中人工键入速度慢而且劳动强度大;自动输入又分为汉字识别输入及语音识别输入。从识别技术的难度来说,手写体识别的难度高于印刷体识别,而在手写体识别中,脱机手写体的难度又远远超过了连机手写体识别。到目前为止,除了脱机手写体数字的识别已有实际应用外,汉字等文字的脱机手写体识别还处在实验室阶段。1.3.2语音识别语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。近年来,在生物识别技术领域中,声纹识别技术以其独特的方便性、经济性和准确性等优势受到世人瞩目,并日益成为人们日常生活和工作中重要且普及的安验证方式。而且利用基因算法训练连续马尔柯夫模型的语音识别方法现已成为语音识别的主流技术,该方法在语音识别时识别速度较快,也有较高的识别率。1.3.3遥感遥感图像识别已广泛用于农作物估产、资源勘察、气象预报和军事侦察等。1.3.4医学诊断在癌细胞检测、X射线照片分析、血液化验、染色体分析、心电图诊断和脑电图诊断等方面,模式识别已取得了成效。1.4模式识别研究方向模式识别研究主要集中在两方面,即研究生物体(包括人)是如何感知对象的,属于认知科学的范畴,以及在给定的任务下,如何用计算机实现模式识别的理论和方法。前者是生理学家、心理学家、生物学家和神经生理学家的研究内容,后者通过数学家、信息学专家和计算机科学工作着近几十年来的努力,已经取得了系统的研究成果。一个计算机模式识别系统基本上事有三部分组成的,即数据采集、数据处理和分类决策或模型匹配。任何一种模式识别方法都首先要通过各种传感器把被研究对象的各种物理变量转换为计算机可以接受的数值或符号(串)集合。习惯上,称这种数值或符号(串)所组成的空间为模式空间。为了从这些数字或符号(串)中抽取出对识别有效的信息,必须对它进行处理,其中包括消除噪声,排除不相干的信号以及与对象的性质和采用的识别方法密切相关的特征的计算(如表征物体的形状、周长、面积等等)以及必要的变换(如为得到信号功率谱所进行的快速傅里叶变换)等。然后通过特征选择和提取或基元选择形成模式的特征空间。以后的模式分类或模型匹配就在特征空间的基础上进行。系统的输出或者是对象所属的类型或者是模型数据库中与对象最相似的模型编号。针对不同应用目的,这三部分的内容可以有很大的差别,特别是在数据处理和识别这两部分,为了提高识别结果的可靠性往往需要加入知识库(规则)以对可能产生的错误进行修正,或通过引入限制条件大大缩小待识别模式在模型库中的搜索空间,以减少匹配计算量。在某些具体应用中,如机器视觉,除了要给出被识别对象是什么物体外,还要求出该物体所处的位置和姿态以引导机器人的工作。1.5统计模式识别统计模式识别的基本原理是:有相似性的样本在模式空间中互相接近,并形成“集团”,即“物以类聚”。统计模式识别的主要方法有:判别函数法,k近邻分类法,非线性映射法,特征分析法,主因子分析法等。在统计模式识别中,贝叶斯决策规则从理论上解决了最优分类器的设计问题,但其实施却必须首先解决更困难的概率密度估计问题。BP神经网络直接从观测数据(训练样本)学习,是更简便有效的方法,因而获得了广泛的应用,但它是一种启发式技术,缺乏指定工程实践的坚实理论基础。统计推断理论研究所取得的突破性成果导致现代统计学习理论VC理论的建立,该理论不仅在严格的数学基础上圆满地回答了人工神经网络中出现的理论问题,而且导出了一种新的学习方法支撑向量机。1.6模式识别技术的近乎无限的发展潜力模式识别技术是人工智能的基础技术,21世纪是智能化、信息化、计算化、网络化的世纪,在这个以数字计算为特征的世纪里,作为人工智能技术基础学科的模式识别技术,必将获得巨大的发展空间。在国际上,各大权威研究机构,各大公司都纷纷开始将模式识别技术作为公司的战略研发重点加以重视。1.6.1语音识别技术语音识别技术正逐步成为信息技术中人机接口的关键技术,语音技术的应用已经成为一个具有竞争性的新兴高技术产业。中国互联网中心的市场预测:未来5年,中文语音技术领域将会有超过400亿人民币的市场容量,然后每年以超过30%的速度增长。1.6.2生物认证技术生物认证技术本世纪最受关注的安全认证技术,它的发展是大势所趋。人们愿意忘掉所有的密码、扔掉所有的磁卡,凭借自身的唯一性来标识身份与保密。国际数据集团(IDC)预测:作为未来的必然发展方向的移动电子商务基础核心技术的生物识别技术在未来10年的时间里将达到100美元的市场规模。1.6.3数字水印技术90年代以来才在国际上开始发展起来的数字水印技术是最具发展潜力与优势的数字媒体版权保护技术。IDC预测,数字水印技术在未来的5年内全球市场容量超过80亿美元。模式识别从20世纪20年代发展至今,人们的一种普遍看法是不存在对所有模式识别问题都适用的单一模型和解决识别问题的单一技术,我们现在拥有的只是一个工具袋,所要做的是结合具体问题把统计的和句法的识别结合起来,把统计模式识别或句法模式识别与人工智能中的启发式搜索结合起来,把统计模式识别或句法模式识别与支持向量机的机器学习结合起来,把人工神经元网络与各种已有技术以及人工智能中的专家系统、不确定推理方法结合起来,深入掌握各种工具的效能和应有的可能性,互相取长补短,开创模式识别应用的新局面。第二章 手写体识别的意义2.1手写数字识别技术的含义手写数字识别(Handwritten Digit Recognition)是光学字符识别技术的一个分支,是模式识别学科的一个传统研究领域。主要研究如何利用电子计算机自动辨认手写在纸张上的阿拉伯数字。手写数字识别分为脱机手写数字识别和联机手写数字识别。本文主要讨论脱机手写数字的识别。随着信息化的发展,手写数字识别的应用日益广泛,研究高识别率、零误识率和低拒识率的高速识别算法具有重要意义。2.1.1手写数字识别技术的理论价值由于手写数字识别本身的特点,对它的研究有重要的理论价值:(l)阿拉伯数字是唯一被世界各国通用的符号,对手写体数字识别的研究基本上与文化背景无关,各地的研究工作者基于同一平台开展工作,有利于研究的比较和探讨。(2)手写数字识别应用广泛,如邮政编码自动识别,税表系统和银行支票自动处理等。这些工作以前需要大量的手工录入,投入的人力物力较多,劳动强度较大。手写数字识别的研究适应了无纸化办公的需要,能大大提高工作效率。(3)由于数字类别只有10个,较其他字符识别率较高,可用于验证新的理论和做深入的分析研究。许多机器学习和模式识别领域的新理论和算法都是先用手写数字识别进行检验,验证理论的有效性,然后才应用到更复杂的领域当中。这方面的典型例子就是人工神经网络和支持向量机(Support Vector Machine)。(4)手写数字的识别方法很容易推广到其它一些相关问题,如对英文之类拼音文字的识别。事实上,很多学者就是把数字和英文字母的识别放在一起研究的。2.1.2 手写数字识别技术的难点数字的类别只有10种,笔划简单,其识别问题似乎不是很困难。但事实上,一些测试结果表明,数字的正确识别率并不如印刷体汉字识别率高,甚至也不如联机手写体汉字识别率高,而只仅仅优于脱机手写体汉字识别。这其中的主要原因是:(l)数字笔划简单,其笔划差别相对较小,字形相差不大,使得准确区分某些数字相当困难;(2)数字虽然只有10 种,且笔划简单,但同一数字写法千差万别,全世界各个国家各个地区的人都在用,其书写上带有明显的区域特性,很难做出可以兼顾世界各种写法的、识别率极高的通用性数字识别系统。虽然目前国内外对脱机手写数字识别的研究己经取得了很大的成就,但是仍然存在两大难点:一是识别精度需要达到更高的水平。手写数字识别没有上下文,数据中的每一个数据都至关重要。而数字识别经常涉及金融、财会领域,其严格性更是不言而喻。因此,国内外众多的学者都在为提高手写数字的识别率,降低误识率而努力。二是识别的速度要达到很高的水平。数字识别的输入通常是很大量的数据,而高精度与高速度是相互矛盾的,因此对识别算法提出了更高的要求。2.2手写数字识别的一般方法2.2.1 识别流程手写数字识别在学科上属于模式识别和人工智能的范畴。己有的研究针对手写数字识别流程中的预处理,特征提取和分类器三个方面展开: (l)预处理是为了得到更高的分类精度而事先对手写数字进行的处理,它包括图像增强,二值化,细化和归一化等步骤;(2)原始数据的数量一般很大,样本处在一个高维空间中,通过映射或变换的方法可用低维空间来表示,这个过程即为特征提取;(3)分类器主要用于字符的识别,如基于距离的分类器,神经网络分类器等。2.2.2识别方法在过去的40 年中,学者们提出了许多手写数字识别技术。除本文将主要讨论的支持向量机方法,简要介绍以下几种。传统的识别方法1、统计模式识别方法建立在统计数学,特别是贝叶斯决策理论基础上,通过模式紧致性、距离和相似性度量等概念和假定,形成了统计决策方法的一系列结论。该方法是以同类模式具有相同属性为基础的识别方法,对字符整体的分析。用来描述事物属性的参量是特征,它可以通过对模式的多个样本的测量值进行统计分析后按一定准则来提取。例如:在手写数字识别系统中,我们可以把每个数字的图形分为若干小方块,然后统计每一小方块中的黑像素,构成一个多维特征矢量,作为该数字的特征。必须注意的是:在选择特征时,用于代表各类模式的特征应该把同类模式的各个样本聚集在一起,而使不同类模式的样本尽量分开,以保证识别系统能具有足够高的识别率。统计特征通常包括点密度的测量、矩、特征区域等。2 、结构模式识别方法对于一个复杂的模式,常常采用分解的方法将其划分成为若干较简单的子模式乃至基元,通过对基元和子模式识别的综合集成来完成复杂模式的整体识别。结构模式识别方法是以同类模式具有相似结构为基础的识别方法,从字符的轮廓或骨架上提取字符形状的基本特征。结构是指组成一个模式的基本单元(简称基元)之间的关系。例如,拼音文字的基元是字母,若干个字母按一定规律组成一个单字,在识别某一个单字时,如果能判别组成这个字的各个字母以及它们的(结构)关系,就可以识别这个字。基于这种原理,拼音文字的识别系统中的“字典”应包括字母,以及由字母组成单字的规律。在对某一个单字进行识别时,则应先提取构成这个单字的字母并分析它的结构,然后将它跟字典中所有己知单字的基元及其结构关系逐个加以比较,就可以确定待识单字和哪一个已知单字属于同类别。与前面提到的统计特征对应,结构特征通常包括圆、端点、交叉点、笔划、轮廓等。3 、传统识别方式的优劣统计法的优点是易于训练,抗干扰性能较好,而且使用统计特征的分类器,在给定的训练集上能够得到相对较高的识别率;缺点是没有充分利用模式的结构特性。结构法比较直观,能反映模式的结构特征,对图像畸变的抗干扰能力较强,在识别过程中,能有效地结合几何和结构的知识,因此能够得到可靠性较高的识别结果;缺点是基元的提取很不容易,各基元的关系也比较复杂,当存在干扰及噪声时抗干扰性能较差。较新型的识别方法1 、逻辑特征法特征的选择对一类模式识别问题来说是独一无二的,即在一类问题中只有1个模式具有1 种(或某1组合的)逻辑特征,此方法建立了关于知识表示及组织,目标搜索及匹配的完整体系;对需通过众多规则的推理达到识别目标的问题有很好的效果,但当样品有缺损,背景不清晰,规则不明确甚至有歧义时,效果不好。2 、模糊模式识别方法在模式识别的过程中引入了模糊集的概念,由于隶属度函数作为样品与模板相似程度的量度,故能反映整体的、主要的特性,模糊模式有相当程度的抗干扰与畸变,从而允许样品有相当程度的干扰与畸变,但准确合理的隶属度函数往往难以建立。目前有学者在研究,并将其引入神经网络方法形成模糊神经网络识别系统。3、人工神经网络方法人工神经网络方法就是使用人工神经网络方法实现模式识别。可处理一些环境信息十分复杂,背景知识不清楚,推理规则不明确的问题,允许样品有较大的缺损、畸变。人工神经网络具有学习和联想功能,在字符识别中主要采用基于BP 算法的多层感知器及多层卷积神经网络;基于正规化方法构建的径向基网络;以及具有“拓扑保持”特性的自组织特征映射(包括学习矢量量化LVQ )等。神经网络方法的缺点是其模型在不断丰富完善中,目前能识别的模式类还不够多,神经网络方法允许样品有较大的缺损和畸变,其运行速度快,自适应性能好,具有较高的分辨率。 第三章 BP神经网络论述3.1引言 字符作为信息沟通与交流的重要载体,在人们的日常工作和生活中起着重要作用,因此字符识别技术成为人机交互界面研究的主要内容之一。手写数字识别就是利用计算机对输入的手写数字进行分类识别,已经成为图像处理和模式识别领域研究的热点,被广泛应用于邮件自动分拣系统、财务报表、银行票据等方面。目前,用于数字识别的方法有很多,如神经网络、模糊集和多分类器集成等。神经网络模式识别方法是近几年兴起的模式识别领域的一个新的研究方向。由于神经网络的高速并行处理、分布存贮信息等特性符合人类视觉系统的基本工作原则, 具有很强自学性、自组织性、容错性、高度非线性、高度鲁棒性、联想记忆功能和推理意识功能等, 能够实现目前基于计算理论层次上的模式识别理论所无法完成的模式信息处理工作,所以, 采用神经网络进行模式识别, 突破了传统模式识别技术的束缚, 开辟了模式识别发展的新途径。同时神经网络识别也成为神经网络最成功和最有前途的应用领域之一。3.2 BP神经网络算法简介BP 网络是多层前馈网络,神经元的变换函数采用S 型函数,因此其输出是0 到1 之间的任意值,可以实现输入到输出的任意非线形映射关系。一个具有r 个输入和一个隐含层的神经网络模型结构如图3-1所示:图3-1 神经网络模型结构图图中,p 是r 维输入向量,W1 是s1r 的权矩阵,B1 是s1 维阀值向量,F1 是S 型函数,W2 是s2s1 权矩阵,B2 是s2 维阀值向量,F2 是线性函数,q 是实验数据组数。神经元的网络输入:neti=x1w1i+x2w2i+xnwni (3-1) 神经元的网络输出: (3-2) 分析:应该将net的值尽量控制在收敛比较快的范围内,可以用其他的函数作为激活函数,只要该函数是处处可导。输入向量、输出向量的维数、网络隐藏层的层数和各个隐藏神经元的个数的决定。增加隐藏层的层次和隐藏神经元个数不一定总能够提高网络精度和表达能力。BP网一般选用二级网络。I、样本集:S=(X1,Y1),(X2,Y2),(Xs,Ys) (3-3) II、基本思想:逐一地根据样本集中的样本(Xk,Yk)计算出实际输出Ok和误差测度E1,对W(1) ,W(2) ,W(L)各做一次调整,重复这个循环,直到Ep。用输出层的误差调整输出层权矩阵,并用此误差估计输出层的直接前导层的误差,再用输出层前导层误差估计更前一层的误差。如此获得所有其它各层的误差估计,并用这些估计实现对权矩阵的修改。形成将输出端表现出的误差沿着与输入信号相反的方向逐级向输入端传递的过程。 BP神经算法流程图如3-2所示:3.3 基于BP神经网络数字识别的设计3.3.1 输入层的设计神经网络的输入层起到缓冲存贮器的作用,它负责把数据源加到神经网络上。输入层的节点数取决于数据源的维数,即输入层节点数应等于输入向量的分量的数目。这些分量可以是连续的实数,也可以是离散值或二进制数,要求输入节点能够代表每个数据源。因此,确定输入层节点数的关键设计判据是弄清楚正确的数据源。如果数据源中有大量的未经处理的或虚假的信息数据,那就会妨碍对网络的正确训练,所以应剔除那种无效的数据,确定数据源的合适数目及维数。确定数据源的合适数目分为4 步:1、确定与应用有关的所有数据;2、剔除那种边沿的或不可靠的数据源;3、应尽量选择能够有效代表实际应用的数据源;4、删除那些在技术上和经济上不实际的数据源;图3-2 BP神经算法流程图数据源的维数是根据需要求解的具体问题和数据的表示方式而定。在本系统中,数据源的维数是字符样本所提取的特征向量的维数。本系统提取的是提一种混合字符特征,它结合了字符网格特征和投影特征。对于规一化为3264 点阵大小的字符,我们用44 的网格对它进行划分,就可以得到128 的网格特征向量,再加上32+64 维的投影特征向量,一共是224维的混合特征向量,这样也就需要224 个输入层神经元。3.3.2隐含层和输出层的设计对于三层BP 神经网络算法来说,隐含层的确定没有明确的公式,一般都是通过多次实验,将实验的结果进行比较,然后找出最优的隐含层数目。隐含层的数目同时与输入层输出层存在一定的关系,但并不能由输入层输出层的数量直接确定隐含层神经元数,本文采用经验公式选取隐含层的数目n1:1 n = m + n + (3-4) 其中m为输入神经元的个数,n为输出神经元的个数,表示110之间的整数。输出层神经元为1个,即为要输出的数字。第四章 实验结果分析4.1特征提取代码/从输入的序列钟提取特征void CPatternView:GetTeZheng()int p,q;int i=0;/从第一个点到最后一个点for(int j=0;jlenth1+;if(i=13)AfxMessageBox(内存溢出,呵呵,NULL,NULL);return;/判断两个相邻点的距离p=(mypointj+1.x-mypointj.x)*(mypointj+1.x-mypointj.x);q=(mypointj+1.y-mypointj.y)*(mypointj+1.y-mypointj.y);/如果不是8连接,则为断裂点或者是写的太快if(p1)|(q1)mytezheng-decon=1;j+;i+;if(j+1mytime-1)AfxMessageBox(您可能写得太快了,呵呵,NULL,NULL);return;if(mypointj+1.xmypointj.x)mytezheng-VHDerectioni=1;else if(mypointj+1.ymypointj.y)mytezheng-VHDerectioni=2;else if(mypointj+1.xVHDerectioni=3;elsemytezheng-VHDerectioni=4;mytezheng-lenth=1;/尽量保持目前的方向elseif(j=0)if(mypoint1.xmypoint0.x)mytezheng-VHDerection0=1;else if(mypoint1.ymypoint0.y)mytezheng-VHDerection0=2;else if(mypoint1.xVHDerection0=3;elsemytezheng-VHDerection0=4;mytezheng-lenth=1;/end ifelseswitch(mytezheng-VHDerectioni)4.2仿真实验利用仿真软件进行实验,在正确输入7之后软件能正确显示处输入字符是7。如图4-1所示:图4-1 仿真实验图4.3结论及展望本文提出了一种基于BP神经网络的手写数字识别方法,并通过VC+进行编程实现了手写数字识别,实验的结果表明该方法具有较好的效果,但在实验中我们发现,在手写数字的时候部分数字无法识别,分析原因可知,一是由于书写的数字不够工整,导致BP神经网络在训练时候无法识别

温馨提示

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

评论

0/150

提交评论