手写体数字识别系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大学生研究计划项目
论文报告
项目名称:_手写体数字识别系统的设计与实现
负责人:_________ _______________
学院/专业:_____ ______
学号:____ ________
申请经费:_____ _________________
指导教师:______ _______
项目起止时间:2011年6月-2012年3月
摘要
手写体数字识别系统依托计算机应用软件为载体,利用C++程序设计的相关知识,运用模块设计等相关技术,最终完成手写体设计系统的程序综合设计。
关键字:手写体数字处理模式识别程序设计
一、论题概述
模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人(及某些动物)对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员的注意,成为人工智能研究的一个重要方面。
字符识别是模式识别的一个传统研究领域。从50年代开始,许多的研究者就在这一研究领域开展了广泛的探索,并为模式识别的发展产生了积极的影响。
字符识别一般可以分为两类:1.联机字符识别;2.光学字符识别(Optical Chara- cter Recognition,OCR)或称离线字符识别。在联机字符识别中,计算机能够通过与计算机相连的输入设备获得输入字符笔划的顺序、笔划的方向以及字符的形状,所以相对OCR来说它更容易识别一些。但联机字符识别有一个重要的不足就是要求输入者必须在指定的设备上书写,然而人们在生活中大部分的书写情况是不满足这一要求的,比如人们填写各种表格资料,开具支票等。如果需要计算机去认识这些己经成为文字的东西,就需要OCR技术。比起联机字符识别来,OCR不要求书写者在特定输入设备上书写,它可以与平常一样书写,所以OCR 的应用更为广泛。OCR所使用的输入设备可以是任何一种图像采集设备,如CCD、扫描仪、数字相机等。通过使用这类采集设备,OCR系统将书写者已写好的文字作为图像输入到计算机中,然后由计算机去识别。由于OCR的输入只是简单的一副图像,它就不能像联机输入那样比较容易的从物理特性上获得字符笔划的顺序信息,因此OCR是一个更具挑战性的问题。
数字识别是多年来的研究热点,也是字符识别中的一个特别问题,它是本文研究的重点。数字识别在特定的环境下应用特别广泛,如邮政编码自动识别系统,税表和银行支票自动处理系统等。一般情况下,当涉及到数字识别时,人们往往要求识别器有很高的识别可靠性,特别是有关金额的数字识别时,如支票中填写
的金额部分,更是如此。因此针对这类问题的处理系统设计的关键环节之一就是设计出高可靠性和高识别率的数字识别方法。然而可以说还没有哪个数字识别器达到完美的识别效果。
在过去的数十年中,研究者们提出了许许多多的识别方法。按使用的特征不同,这些方法可以分为两类:基于结构特征的方法和基于统计特征的方法。结构特征通常包括圆、端点、交叉点、笔划、轮廓等,统计特征通常包括点密度的测量、矩、特征区域等,一般来说,两类特征各有优势。例如,使用统计特征的分类器易于训练,而且对于使用统计特征的分类器,在给定的训练集上能够得到相对较高的识别率,而结构特征的主要优点之一是能描述字符的结构,在识别过程中能有效地结合几何和结构的知识,因此能够得到可靠性较高的识别结果。
二、模式识别与BP神经网络
在观察各种事物或接受各种客观现象时,人们总是不断地进行模式识别。各种具有相似的特征又不完全相同的事物和现象组成不同的类别。在同一类别中,事物和现象不尽相同,但它们总是表现出某些方面的相近之处。例如,每个人写出来的数字“8”可能千差万别,但它们的共同之处在于,它们都属于数字,“8”这个范畴。也就是说,这些千差万别的数字“8”的共性是它们具有相同的属性特征。
人的思维可以对初次见到的事物进行分类。比如,即使人们初到一个城市,也可以轻易地辨认出“街道”、“房屋”、“汽车”这样的事物。同样,看到另外一种写法的“8”,人们仍然可以清楚地知道它的含义。正是人脑的这种推广能力,使得人们利用见到过的有限事物和现象,形成各种事物类别的概念。这些有限的、个别的事物和现象就可以称为模式,而整个类别的现象和事物则可以称为模式类,或者简称为类。人们根据所见模式的特性,将其划归为某一类的过程,实际上就是模式识别的过程。
模式识别这个词既可以是指人对事物的,一个分析、描述、判断和识别的过程,也可以是指利用计算机对某些物理对象进行分类的这门学科。模式和集合的概念是分不开的,模式可以看作是集合论中的元素,而类则可以看作是子集。
神经网络的概念、原理和设计是受生物、特别是人脑神经系统的启发提出的. 神经网络由大量简单的处理单元来模拟真实人脑神经网络的机构和功能以及若干基本特性,是一个高度复杂的非线性自适应动态处理系统.BP网络是1986年由Rinehart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多
层前馈网络,是目前应用最广泛的神经网络模型之一. BP网络能学习和存贮大量的输入- 输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程. 它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小. BP神经网络模型拓扑结构包括输入( input) 、隐层( hide layer)和输出层(output layer) ,如图1所示:
三、基于BP神经网络的手写数字识别
(一)输入向量与目标向量
首先对手写数字图像进行预处理,包括二值化、去噪、倾斜校正、归一化和特征提取,生成BP神经网络的输入向量Alphabet和目标向量Tar2get. 其中Alphabet选取40 ×10的矩阵,第1列到第10列代表0~9的数字. Target为10 ×10的单位矩阵,每个数字在其所排顺序位置输出1,其他位置输出0.
(二)BP神经网络的构建
BP算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成. 正向传播时,传播方向为输入层→隐层→输出层,每层神经元的状态只影响下一层神经元. 若在输出层得不到期望的输出,则转向误差信号的反向传播流程. 通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网络误差函数达到最小值,从而完成信息提取和记忆过程.首先考虑正向传播,设输入层有n个节点,隐层有p个节点,输出层有q个节点. 输入层与隐层之间的权值为vk i, 隐层与输出层之间的权值为w jk. 隐层的传递函数为f1 ( x) ,输出层的传递函数为f2 ( x) ,则隐层节点的输出为
输出层节点的输出为