中 南 大 学
本科生毕业论文设计题 目 基于神经网络的手写数字
识别系统的设计与实现
目录
摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Ⅰ
ABSTRACT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Ⅱ
第一章绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1. 1手写体数字识别研究的发展及研究现状. . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.2神经网络在手写体数字识别中的应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.3论文结构简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
第二章手写体数字识别. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2. 1手写体数字识别的一般方法及难点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.2图像预处理概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.3图像预处理的处理步骤. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.3. 1图像的平滑去噪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.3.2二值话处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3.3归一化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.3.4细化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2.4小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
第三章特征提取. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
3. 1特征提取的概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
3.2统计特征. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
3.3结构特征. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.3. 1结构特征提取. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.3.2笔划特征的提取. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.3.3数字的特征向量说明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3.3知识库的建立. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
第四章神经网络在数字识别中的应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
4. 1神经网络简介及其工作原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
4. 1. 1神经网络概述[14]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
4. 1.2神经网络的工作原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
4.2神经网络的学习与训练[15]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
4.3 BP神经网络. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
4.3. 1 BP算法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
4.3.2 BP网络的一般学习算法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
4.3.3 BP网络的设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
4.4 BP学习算法的局限性与对策. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
4.5对BP算法的改进. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
第五章系统的实现与结果分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
5. 1软件开发平台. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
5. 1. 1 MATLAB简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
5. 1.2 MATLAB的特点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
5. 1.3使用MATLAB的优势. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
5.2系统设计思路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
5.3系统流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
5.4 MATLAB程序设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
5.5实验数据及结果分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
附录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
摘要
手写体数字识别是模式识别中一个非常重要和活跃的研究领域数字识别也不是一项孤立的技术它所涉及的问题是模式识别的其他领域都无法回避的应用上作为一种信息处理手段字符识别有广阔的应用背景和巨大的市场需求。因此对数字识别的研究具有理论和应用的双重意义。
人工神经网络识别方法是近年该研究领域的一种新方法该方法具有一些传统技术所没有的优点 良好的容错能力、分类能力强、并行处理和自学习能力并且是离线训练和在线识别的。这些优点使它在手写体字符的识别中能对大量数据进行快速实时处理并达到良好的识别效果。
由于手写体数字识别难于建立精确的数学模型,所以本文采用BP神经网络对这一问题进行处理。神经网络模式识别的一个关键步骤是预处理和特征提取对于手写体数字识别本文采用了一种基于结构特征和统计特征的提取方法并用程序实现了这一特征提取过程。
通过测试本识别系统对于较规范的手写体数字的识别达到了很好的识别效果。关键词 手写体数字识别特征提取人工神经网络 MATLAB
I
AB STRACT
Handwritten character recognition is a very important and active research in patternrecognition.Theoretically, it is not an isolated technique. It concerns with the problem thatall the other areas of pattern recognition must confronted; practically, being a kind ofinformation processing measured, character recognition has a very broad applicationbackground and vast need of market. Thus, it is of both theoretical and practicals ignificance.
Artificial neural network recognition method is a new method of the research field inrecent years,and this method has some merit that traditional technique do not have;goodtolerance for error, strong sorting ability, strong parallel handling ability and strongself-learning ab ility as well as its o ff-line training and on-line reco gnizing.All these meritscontribute its perfect performance in handling vast data set and handling in timely manner.
It’s difficult to make accurate mathematics model for handwritten numeralrecognition, so BP neural networks is used here.The key steps of neural networks patternrecognition are preprocessing and feature subset selection. In this paper, algorithm offeature subset selection basing on structural characteristics and statistical characteristicshas been adopted in handwritten numeral recognition, and the process of feature subsetselection had been realized in program.
Recognition system in this paper has achieved a good rate of recognition in randomhandwritten numeral b y te st.
Keywo rd: handwritten numeral reco gnition, feature extraction, artificial neural network,MATLAB
I I
基于神经网络的手写数字识别系统的设计与实现 第一章绪论
第一章绪论
1.1手写体数字识别研究的发展及研究现状
模式识别[2]是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人(及某些动物)对事物的学习、识别和判断能力因而受到了很多科技领域研究人员的注意成为人工智能研究的一个重要方面。一个模式识别系统的基本职能是对系统所要处理的模式归属于哪一类做出判别从该系统的模式输入到系统做出判别之间主要包括信息检测、预处理、特征提取和分类几大环节。
字符识别是模式识别领域中的一个非常活跃的分支。一方面是由于问题本身的难度使之成为一个极具挑战性的课题另一方面是因为字符识别不是一项孤立的应用技术其中包含的模式识别领域中其他分支都会遇到的一些基本和共性的问题。从50年代开始许多的研究者就在这一研究领域开展了广泛的探索并为模式识别的发展产生了积极的影响。
字符识别从采用的输入设备来分可分为脱机识别又称为光学字符识别Optical Character Recognition,OCR和联机识别脱机字符又分为印刷体和手写字符识别从对书写者要求来分手写字符又分为限制性和非限制性的手写字符识别。在联机手写字符识别中计算机能够通过与计算机相连的手写输入设备获得输入字符笔划的顺序、笔划的方向以及字符的形状所以相对OCR来说它更容易识别一些。但联机字符识别有一个重要的不足就是要求输入者必须在指定的设备上书写然而人们在生活中大部分的书写情况是不满足这一要求的比如人们填写各种表格资料开具支票等。如果需要计算机去认识这些已经成为文字的东西就需要OCR技术。比起联机字符识别来 OCR不要求书写者在特定输入设备上书写它可以与平常一样书写所以OCR的应用更为广泛。OCR所使用的输入设备可以是任何一种图像采集设备如扫描仪、数字相机等。通过使用这类采集设备 OCR系统将书写者已经写好的文字作为图像输入到计算机中然后由计算机去识别。 由于OCR的输入只是简单的一副图像 它就不能像联机输入那样比较容易的从物理上获得字符笔划的顺序信息 因此OCR是一个更具挑战性的问题。
脱机字符识别OCR分为印刷体OCR和手写OCR。印刷体字符比手写体字符少了随机性它的识别相对容易些难点已经不在识别环节而在于字符的分割上。印刷体识别的错误绝大多数都是错误的分割引起的[3] 。对于手写体OCR无论是联机还是脱机识别手写体的识别都要经历由限制性手写体识别到非限制性手写体识别两个阶段。本文将以手写体数字为代表讨论非限制性手写体字符的识别。脱机字符识别的研究最早始于上个世纪六十年代是为了应付汉英翻译的需要。八十年代后的研究重心转移到脱机手写字符的识别上。对于小类别数的字符集如数字、
1
基于神经网络的手写数字识别系统的设计与实现 第一章绪论
字母的识别 已经可以做到对书写不加任何的限制。非限制性手写OCR的研究始终以阿拉伯数字为主导。这事因为第一十个阿拉伯数字是全世界的一套通用字符。第二在数字的许多应用场合如报表、账单、支票等手写体还难以被印刷体所替代而且对识别的可靠性要求极高。三 由于类别数少所以模式识别中的许多方法研究均可以以数字识别作为实验背景。对脱机手写体字符的研究人们由简单集成笔画密度、笔画方向和背景特征方法过渡到特征匹配方法进而过渡到结合神经网络方法随着对识别可靠性要求的提高九十年代以后多分类器集成方法成为了一个研究重点。
1.2神经网络在手写体数字识别中的应用
目前随着计算机的迅速发展性能价格比的不断提高模式识别技术已经从理论探讨为主发展到大量的实际应用人们将更多的注意力开始转向那些用于语音、图像、机器人以及人工智能等的模式识别实际问题。解决这些问题的关键是需要进行复杂而庞大的实时数据处理而现有计算机的存贮容量及计算复杂性的局限使得真正实时化的应用受阻。这种面向实时应用的模式识别问题促使人们开始将并行处理的神经网络[4]应用到模式识别而神经网络模式识别技术又将模式识别实时应用推进了一大步手写体数字识别就是这种应用的一个很重要的领域。
手写体数字识别是一项极具研究价值的课题随着神经网络[1]和模糊逻辑技术的发展人们对这一问题的研究又采用了许多新的方法和手段也使得这一古老的课题焕发出新的生命力[5]。 目前国际上有相当多的学者在研究这一课题它包括了模式识别领域中所有典型的问题:数据的采集、处理及选择、输入样本表达的选择、模式识别分类器的选择以及用样本集对识别器的有指导的训练。人工神经网络为手写体数字识别提供了新的手段。正是神经网络所具有的这种自组织自学习能力、推广能力、非线性和运算高度并行的能力使得模式识别成为目前神经网络最为成功的应用领域。
二十多年来人们在数字识别领域做了大量的研究工作所提出的各种方法在印刷体和手写印刷体数字识别方面已经取得了较好的成绩识别率稳定在96%左右。但是自由手写体数字的识别工作目前并不成熟仍旧是文字识别中最有挑战性的课题之一。
字符识别长期以来都是采用传统的识别方法对印刷体字符的识别率一般只是稳定在96左右不能进一步提高而对手写体字符的识别其研究还处于探索阶段其识别率还相当低 因此为了提高识别率就必须寻求新的方法和途径。
进入九十年代以来人工神经网络ANN技术发展十分迅速它具有模拟人类部分形象思维的能力是一种模仿人脑学习、记忆、推理等认知功能的新方法。
2
基于神经网络的手写数字识别系统的设计与实现 第一章绪论
特别是它的信息并行分布式处理能力和自学习功能等显著优点更是激起了人们对它的极大的兴趣。人工神经网络是由一些类似人脑神经元的简单处理单元相互连接而成的复杂网络。 已涌现出许多不同类型的ANN及相应的学习算法其中BP 或EBP-Error Back Propagation网络及学习算法得到了广泛关注和研究并在数字识别方面取得了许多有意义的应用成果。
1.3论文结构简介
本毕业设计主要解决以图像形式存在的手写体数字识别的问题。整体分为三个部分第一部分是图像预处理第二部分是对手写体数字的结构特征的提取第三部分是设计神经网络并对前面得到的样本数据进行学习和训练。
本文通过图像预处理和数字特征提取以后基于神经网络的判别方法然后结合使用了MATLAB工具箱中提供的人工神经网络函数设计了一种手写数字识别的新方法。实验表明该方法可以获得较好的识别率。
3
基于神经网络的手写数字系统的设计与实现 第二章手写数字识别
第二章手写体数字识别
2.1手写体数字识别的一般方法及难点
字符识别问题的研究已有几十年的历史了但时至今日字符识别的研究成果远未达到人们所期望的这其中有理论研究和技术实现等多方面因素.在理论方面我们对人类的视觉认知机理的研究还只是初步的远未达到深入和透彻的水平。在技术方面我们使用的计算机的运算水平和存储能力 比起人脑的信息存储和处理能力有很大差距. 因此 目前的文字识别只能建立在现有的理论基础上使用现有的技术来研究和解决问题。手写体数字识别是字符识别的一个分支 问题虽然简单但却有较大的实用价值。
数字的类别虽然只有十种笔划又简单其识别问题表面上是一个较简单的分类问题。但实际上虽然各种新的识别算法不断的推出。其识别率和误识率仍距实用有相当距离。手写阿拉伯数字具有变形多差异大的特点字形与书写人的职业、文化程度、书写习惯以及所使用笔墨纸张所处环境等都有关所以手写体数字变形多、规律复杂。具体地说有两个一是09十个数字中其中的一些数字字形相差不大使得准确区分某些数字相当困难;二是数字虽然只有十种但同一数字写法千差万别。不同的人写出的同一个数字都有差别 即使同一个人在不同的时候也会有不同的写法。笔划的书写顺序经常发生变化 因此极大地增加了匹配的难度。一般人写字时都不会一笔一划的书写为了节省时间连笔字是自然而然的事情对于结构识别而言连笔一方面使笔划种类大大增加甚至达到难以归纳的程度另一方面连笔又使得笔段抽取难度大增 因为连笔会增加一些冗余笔段连笔造成的畸变又会使笔段方向严重离散。总之连笔不论对于基于哪种基元的结构识别都是严峻的挑战。这是造成手写数字识别过程复杂、达到较高识别率困难的根本原因。
如图2. 1各种各样的手写体数字。
图2. 1各种各样的手写体数字
4
ucloud6.18推出全球大促活动,针对新老用户(个人/企业)提供云服务器促销产品,其中最低配快杰云服务器月付5元起,中国香港快杰型云服务器月付13元起,最高可购3年,有AMD/Intel系列。当然这都是针对新用户的优惠。注意,UCloud全球有31个数据中心,29条专线,覆盖五大洲,基本上你想要的都能找到。注意:以上ucloud 618优惠都是新用户专享,老用户就随便看看!点击进入:uclou...
青果云香港CN2_GIA主机测评青果云香港多线BGP网络,接入电信CN2 GIA等优质链路,测试IP:45.251.136.1青果网络QG.NET是一家高效多云管理服务商,拥有工信部颁发的全网云计算/CDN/IDC/ISP/IP-VPN等多项资质,是CNNIC/APNIC联盟的成员之一。青果云香港CN2_GIA主机性能分享下面和大家分享下。官方网站:点击进入CPU内存系统盘数据盘宽带ip价格购买地...
适逢中国农历新年,RAKsmart也发布了2月促销活动,裸机云、云服务器、VPS主机全场7折优惠,新用户注册送10美元,独立服务器每天限量秒杀最低30.62美元/月起,美国洛杉矶/圣何塞、日本、香港站群服务器大量补货,1-10Gbps大带宽、高IO等特色服务器抄底价格,机器可选大陆优化、国际BGP、精品网及CN2等线路,感兴趣的朋友可以持续关注下。裸机云新品7折,秒杀产品5台/天优惠码:Bare-...