《手写体数字识别地软件设计(毕业设计汇总论文及说明.).doc》由会员分享,可在线阅读,更多相关《手写体数字识别地软件设计(毕业设计汇总论文及说明.).doc(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计说明书手写体数字识别的软件设计学生姓名: 学号: 学 院: 专 业: 指导教师: 2009 年 6 月电子与计算机科学技术学院计算机科学与技术专业手写体数字识别的软件设计手写体数字识别的软件设计摘摘 要要手写体数字识别是利用机器或计算机自动辨认手写体阿拉伯数字的一种技术,是光学字符识别技术的一个分支。由于阿拉伯数字的世界通用性,并且数字的识别和处理也常常是一些自动化系统的核心和关键,所以对手写体数字识别研究通用性强,且意义重大。本文主要的研究的工作集中在图像预处理和选择合适的特征向量,并实现一个完整手写体数字识别系统。本文中对几种常见的二值化算法进行比较,并最终选择基于梯度的二值化算法
2、;在本文中,提出了一种方法来解决结构点检测的传统方法的缺陷。另外本文还提出将一般用来直接识别字符的凸凹特征作为字符的特征向量之一。通过对 NIST 的数据进行测试,实验数据表明本文设计的数字识别系统对手写体数字识别具有较高的识别率。关键词:手写体数字识别,特征向量,二值化算法,凸凹特征The Software Design of Handwritten Numeral Recognition AbstractThe handwritten numeral recognition is a technology, which auto recognizes the handwriting Ara
3、bian numeral via machines or computers, and a special field in the Optical Character Recognition technology. Then handwritten numeral recognition research is greatly general-purpose and significative, because of the universal Arabic numerals. On the same score, the handwritten numeral, recognition t
4、echnologies are playing an important role in a number of automatization systems.In this paper, the main study focused on image pre-processing and selection of appropriate feature vectors, and to realize a complete system of handwritten numeral recognition. There are several common comparisons of bin
5、arization algorithm in this article, and choose the gradient-based binarization algorithm finally; and objecting to the defection of traditional methods of structural point detection, a solution to the problem was put up in this article. In addition, this paper also raises the convex-concave feature
6、 as one of the character feature vectors.Through the NIST test data, experimental data shows that the digital identification system designed for handwritten numeral recognition has a high recognition rate.Keywords: Handwritten numeral recognition, Character feature vectors, Binarization algorithm, C
7、onvex-concave feature目目 录录1 绪论 .11.1 字符识别概述 .11.2 手写数字识别的意义和应用前景 .21.3 字符识别的研究与发展 .31.4 手写数字识别的难点 .31.5 国内外研究现状 .41.6 手写体数字识别系统概述 .51.7 本文内容安排 .62 手写体数字识别中预处理技术 .82.1 平滑去噪 .82.2 二值化 .102.3 归一化 .162.4 倾斜校正 .202.5 细化 .223 手写体数字识别中串切分技术 .253.1 切分方法概述 .253.2 手写数字串常用方法简介 .253.2.1 投影法的直线切分 .253.2.2 滴水算法 .
8、263.2.3 动态规划算法 .263.2.4 滑动窗口法 .263.2.5 多模具切分法 .263.3 本文手写数字串切分方法介绍 .274 手写体数字识别中特征值提取技术 .294.1 特征提取概述 .294.2 手写体字符特征提取方法概述 .304.3 手写体数字识别中的结构特征提取 .324.3.1 结构点特征 .324.3.2 穿越密度特征 .344.3.3 投影特征 .354.4 手写体数字识别中的统计特征提取 .364.4.1 重心矩特征 .364.4.2 粗网格特征 .364.4.3 水平、垂直投影特征 .374.4.4 环凸凹特征 .384.4.5 全局 Kirsh 边缘方向
9、特征 .395 人工神经网络分类器 .415.1 人工神经网络概述 .415.2 BP 神经网络概述 .425.3 本文的神经网络结构设计 .446 系统实现与结果分析 .476.1 系统实现 .476.1.1 系统实现环境 .476.1.2 系统处理过程图 .476.2 结果分析 .487 结束语 .50附录:NIST 样本库的文件结构 .51参 考 文 献 .52致 谢 .541 1 绪论绪论1.11.1 字符识别概述字符识别概述光学字符识别(Optical Character Recognition,简称 OCR)是 20 世纪 20 年逐步发展起来的一门自动化技术,是图像处理与模式识别
10、领域的一个重要分支1。其目的就是通过扫描、摄像等光学输入方式将汉字报刊、书籍、文稿及其它印刷品的文字转化为图像信息,将图形、表格的图像进行保存,再利用文字识别技术将图像内的文字或表格中的资料一律变成计算机能识别的文字,以便于计算机的管理维护。它能够减少存储容量、通讯交流的信息、循环利用已识别出的文字以及节省因键盘输入而浪费的人力、物力、财力和时间。手写数字识别(Handwritten Numeral Recognition,简称 HNR)是 OCR 的一个分支,它的任务是把手写阿拉伯数字(如 0,1,2,9)通过非键盘方式输入到计算机中,以便作进一步的处理和应用,给计算机建立视觉系统,自动辨识
11、人用笔写在纸(介质)上的数字。它属于模式识别、人工智能的一个重要分支,涉及到模式识别和图像处理、人工智能、统计决策理论、模糊数学、组合数学、信息论、计算机等学科;同时也涉及心理学等,是介于基础研究与应用研究之间的一门综合性的技术2,在办公室、机器翻译等方面具有重大实用意义。手写体数字的识别是人们研究较为深入的一个领域。文字识别作为计算机技术的一个领域在许多的环境当中都有着非常广泛的应用。文字识别是新一代智能计算机接口的重要组成部分。近二十年来,国内外对各种字符进行了广泛深入的研究,研究出了许多非常有效的识别算法,与此同时用于各种字符识别的应用软件也越来越丰富。 字符识别可以分为两个大类,文字识
12、别和数字识别。数字识别又可以分为手写体数字识别和印刷体数字识别,而对于手写体数字识别可分为联机手写体数字和脱机手写体数字的识别。当今手写体数字识别是人们研究的一个热点,而且手写体数字识别的技术相对于以前已经有了较大的提高。国内专门做识别技术成果比较好的是汉王公司,该公司的识别软件对各种字符识别率已经很不错。相对于联机手写体数字识别技术,脱机手写体数字识别技术识别率相对要低,而且在生活实际应用得到很多应用(例如:手机手写输入,手写板等都是基于联机识别) 。由于联机识别相对于脱机识别能够获取更多的信息,其除了获取了图片信息外,计算机还可以通过与计算机相连的手写输入设备获得输入字符笔划的顺序、笔划的
13、方向以及字符的形状。因此一般的联机识别要比脱机识别的识别率要高。所以联机识别的已经投入使用,但是对于脱机识别由于其技术限制,以至其到现在还没有大范围的应用。虽然脱机手写体数字识别难度较大,识别率较低,但是比起联机手写体数字识别来说,脱机手写体数字识别不要求书写者在特定的输入设备上书写,它可以与平常一样书写,所以脱机手写体数字识别的应用更为广泛,如邮政编码、统计报表、财务报表、银行票据、学生成绩、车牌号码等。一旦脱机手写体数字的研究取得成功,满足实用需求,并投入应用,将产生巨大的社会效益。1.21.2 手写数字识别的意义和应用前景手写数字识别的意义和应用前景对手写体数字的识别研究不仅有着重大的现
14、实意义而且还有十分广阔的应用前景。当今经济的发展,金融市场化进程的日益加快,票据业务发展很快,票据数量也与日俱增。其中个人凭证,支票,发票,进账单等等票据均需要处理大量的信息。而目前,票据录入仍然依赖人工处理方式,因而使得票据管理工作也相对落后。如果通过手写体字符识别技术来实现信息的自动录入,无疑将会有效解决传统人工处理方式中存在的工作量大、成本高、效率低、时效性差等问题。此外,手写数字识别应用领域还有:1) 手写数字识别被应用在大规模数据统计中。例如:人口普查、成绩单录入、行业年检、财务报表录入等应用中。2) 手写数字识别被应用在财务、税务、金融领域应用。随着我国经济的快速发展,每天会有大量
15、的财务、税务、支票等需要处理。3) 手写数字识别被应用到邮件分拣系统中3。由上可见,对手写体数字识别有着很高的实用价值,除此之外,手写体数字识别作为模式识别领域的一个重要问题,也有着重要的理论价值:1) 阿拉伯数字是唯一的被世界各国通用的符号,对于手写体数字识别的研究基本上与文化背景无关,这样就为世界各国研究者提供了一个供大家共同探讨技术的平台,研究并比较各种算法的优缺点。2) 由于手写体数字识别的类别少,有助于作深入分析与验证一些新的理论。这方面最明显的例子是人工神经网络(ANN) 。很多 ANN 模型和算法都是以手写体数字识别作为实验测试平台,验证其理论的有效性,评价各种方法各自的优缺点。
16、3) 尽管人们对手写体数字识别已经从事了很长时间的研究,并取得了一定的成果,但是到目前为止,机器识别本领与人的认知能力相比,还是有很大的差距。4) 手写体数字识别的方法很容易被推广到其它相关问题上,比如英文字母识别、汉字识别等等。1.31.3 字符识别的研究与发展字符识别的研究与发展字符识别的最早能追溯到 1890 年一项帮助盲人阅读装置的发明专利。1929年,有德国人 Tausheck 首先正式提出 OCR 概念,并取得了 OCR 专利权,四年后美国人 Handel 也取得了同样的专利权4。但真正 OCR 是在本世纪 50 年代随着计算机的出现而到来的。在字符识别大发展时期(1990 年后)
17、 ,许多研究者对字符识别进行了探索与研究,当时提出许多新的有效识别工具,其中人工神经网络(Artificial Neural Network ,ANN)5,支持向量机(Support Vector Machine)6,7,隐马尔科夫模型(Hidden Markov Model,HMM)8等,而这些识别工具至今仍然是研究的热点。1) 在人工神经网络识别方法中,模式类的描述方法一般还是特征向量,只是在分类时,利用了神经网络的自动学习和记忆功能,通过对样本的训练建立起记忆,然后将未知样本作为输入让神经网络“回忆”出该样本所属的类别。2) 支持向量机是 Vapnik 等人根据统计学理论提出的一种新型机
18、器学习方法。由于其出色的学习性能,该技术已成为机器学习界的研究热点,并在很多领域都得到了成功的应用,如人脸识别、手写体数字识别、文本自动分类等。3) 隐马尔科夫模型是一类基于马尔科夫随机过程的统计模型9。隐马尔科夫模型对于随机信号具有很强的学习和建模能力,因此在语音识别中取得了很大的成功。从上世纪 90 年代开始,一些研究者已经将隐马尔科夫模型引入到了图像处理、识别和分析中来。1.41.4 手写数字识别的难点手写数字识别的难点虽然,人们对字符识别的研究有百余年,并在字符识别取得了可喜的成绩(其汉字识别也越来越多的应用到实际应用中) ,然而字符识别的一个分支数字识别的研究却离实际应用还有一定差距
19、。这是因为,在一般情况下,当涉及到数字识别时,人们往往要求识别系统有很高的识别精度(又称可靠性)10,特别是有关金融的数字识别时,如支票中填写的金额部分,更是如此。因此针对这类问题,就要求手写数字识别系统具有高可靠性和高识别率。总结数字识别的难点主要在于以下几方面:1) 阿拉伯数字的字型信息量很小,不同数字写法字形相差又不大,使得准确区分某些数字相当困难11。2) 数字虽然只用 10 种,而且笔画简单,但书写上带有明显的地域特性,同一数字写法千差万别,不同地域的人写法也不相同,所以很难做到兼顾各种写法的极高识别率的通用型数字识别系统12。3) 在实际应用中,对数字的单字识别正确率的要求要比文字
20、要苛刻得多。这是因为,文字组合一般都存在上下文关系,但数字组合存在极少的或没有上下文关系,所以每个孤立数字的识别都至关重要13。而且数字识别经常涉及到财务、金融领域,其严格性更是不言而喻的。因此,对手写数字识别系统的要求不仅仅是单纯的高正确率,更重要的是极低的误识率。4) 由于脱机手写数字的输入只是简单的一幅图像,它不像联机输入那样可以从物理输入设备上获得字符笔画的顺序信息14,因此脱机手写数字识别是一个更有挑战性的问题。1.51.5 国内外研究现状国内外研究现状手写体数字识别在学科上属于模式识别和人工智能的范畴。在过去的数十年中,研究者提出了许多识别方法,目前手写体数字识别方法可以分为两类:
21、基于结构特征的方法和基于统计特征的方法15。通过几十年来各国研究学者得对数字识别的研究,国内外在手写识别上也取得了一定的成就。在我国邮电部第三研究所,以信函分拣为目的,识别书写在信封上的邮政编码。其它用传统方法进行识别研究的有中国科学院自动化研究所,该所对手写体数字识别的研究历史几乎有20 年了,在他们新近的报告中,利用以有限状态自动机为主的识别途径识别 1100个手写体数字,识别率达 95.2%,拒识 4%,误识 0.2%,上海交通大学基于压缩字结构特征的手写体数字识别算法选取了 12600 个样本组成训练集,6000 个样本组成测试集,用 BP 网络进行分类,识别正确率为 97.58%,误
22、识率为 1.04%,拒识率为 1.38%。 德国 E9 的 Friedhelm Schwenker 采用 SV-RBF40 对手写体数字进行识别,测试样本 10000 个,识别正确率为 98.56%。清华大学采用 SVM 对金融票据中的手写体数字进行识别,测试样本 20000 个,识别率约为 92%。然而以上提到的系统,要么对书写的正规程度有要求,要么其测试样本和训练样本出于同一批人之手。总之,一般的系统对书写人员限制较多,或者对书写的正规程度有要求,或者对书写位置有要求,或者对所用笔、纸有要求,例如对税务报表的识别就要求用规定的字型书写数字,并且对书写的位置有要求,而真正的无限制手写体数字的
23、识别的研究还有待进一步提高。1.61.6 手写体数字识别系统概述手写体数字识别系统概述不同的识别系统,在具体处理一幅待识别图像时,处理的步骤可能并不完全相同。但是就一般情况看,一个完整的 OCR 识别系统可分为:原始图像获取,预处理,特征抽取,分类识别和判别处理等模块。 (见图 1.1) 。 1) 预处理阶段在获取原始数字图像过程中,由于光照、背景纹理、镜头分辨率、拍摄角度等原因,难免会造成图像失真并带有噪声。由于这些噪声的影响,如果对获取得到的数字图像进行直接处理的话通常不能得到满意的结果,因此在获取原始数字图像后,需要对图像进行预处理。对于字符识别的预处理过程一般包括:滤波去噪、二值化、字
24、符切分、图像校正、归一化处理。经过预处理后的图片不仅能够有效滤除噪声,并且能够将不同的大小、倾斜角度的字符进行归一化到一个固定原始图像获取预处理特征提取分类识别判别处理识别结果图 1.1 常见数字识别系统 框架大小,对大量数据进行压缩处理。预处理阶段在该系统中是一个很重要的阶段。预处理效果的好坏会直接影响到整个系统的性能。具体方法可以详见第二章。2) 特征提取阶段由于原始数字图像数据量大,冗余信息较多,一般不进行直接识别,而是进行提取有效特征数据、压缩数据,然后再进行识别。换句话说特征提取是为了去除图像信息中对分类没有帮助的部分,将图像信息集中到几个有代表性的特征上来的过程。特征值的提取一般包
25、括:笔画、拓扑点、结构突变点、投影形状、点(端点、连点、三叉点、四叉点、垂直交点,水平交点等) 、弧、连通区域、凸凹形状、环、字符整体轮廓、检查必要的基元是否存在、不可有的基元是否出现等特征。3) 分类识别阶段分类识别是数字识别的关键步骤之一,它是指分类器依据特征提取阶段抽取的特征,就送入分类器中做最后的字符分类识别。该环节现在普遍采用的是基于神经网络和模板匹配两种模式。考虑到神经网络能够很好的容忍字符的形状变换、噪声的影响。因此,在分类其中,我们将提取到的特征值输入到已经训练好的神经网络中进行分类识别。4) 判别处理阶段当分类完成后,为了保持系统的识别性能,通常需要对识别结果作一次判别处理,
26、认为该结果是否被接收还是拒绝。这个阶段可以根据具体的应用来设计不同的判别决策。例如,在金融数字的识别中,要求错误识别率相当高,那么在判别处理时严格限制接收条件就可以降低识别的错误率。1.71.7 本文内容安排本文内容安排我们主要目标是对有噪声、一定约束书写条件下的脱机手写体数字串的切割和识别算法进行一些探讨性研究,以期提高其准确性,获得更高的可靠性。我们将对原始获取的数字图像(以及模拟一个简单的写字板)进行识别。本文内容上总体安排为七章。第一章主要是对 OCR 和手写体数字识别作简单的介绍。介绍内容有:OCR及手写体数字识别的历史及现状;手写体数字识别的意义和难点;数字串识别系统的整体描述以及
27、本文的研究内容。第二章:主要是研究手写体数字识别中的预处理技术。本文采用预处理有滤波去噪,阈值分割,归一化,细化等技术,该章节对其进行详细分析。同时本章针对几种阈值分割进行比较,分析其各自的优缺点。第三章:主要研究的是手写体数字识别中的切分技术。本章将对当前无约束手写体数字串的切分技术进行概述,最后详细介绍本文采用的手写体数字串的切分方法。第四章:主要研究的是手写体数字识别中的特征值提取技术。在特征值提取模块中,需要根据特征表达方式或者特征提取技术的不同,选用不同的预处理技术。比如对于关键点特征的提取,则需要使用字符的外轮廓、骨架信息。由于单一的特征对数字的描述有一定的局限性,因此本文将采用多
28、特征组合的特征向量作为字符的描述特征值来识别数字。本章将详细介绍这些相关的特征值的提取步骤。另外本章中对传统的细化算法提出了一种的改进方法。第五章:主要简单介绍神经网络分类识别器实现原理。初步介绍本文采用的BP 神经网络,并给出本文采用的学习算法和训练算法。第六章:介绍了本文实现的系统的开发和运行环境,以及系统的处理过程图,并通过对 NIST 的图像数据库进行测试,给出相关实验数据。第七章:对整个论文的研究和工作进行了总结并指出了进一步的研究方向。2 2 手写体数字识别中预处理技术手写体数字识别中预处理技术预处理对于一个良好的识别系统不仅是一个必不可少的环节,而且是至关重要的。如果预处理处理得
29、不够理想,会从很大程度上降低整个系统的识别率。一般手写体数字识别而言,预处理包括很多部分,如平滑、去噪、二值化、归一化、细化、形状校正、去各种类印章、背景底纹等等。由于本文主要不是针对类似于票据识别中的这种具有各种背景底色或者印章之类的数字识别,本文主要研究的是在纸(无底纹、印章等)上写的手写体数字进行识别。因此本文就省去了去除类印章、背景底纹等的这些操作。2.12.1 平滑去噪平滑去噪数字图像的噪声主要来源于图像的获取(数字化过程) 。图像传感器的工作情况受各种因素的影响,如图像获取中的环境条件和传感元器件自身的质量。例如,使用 CCD 摄像机获取的图像,光照强度和传感器温度是造成图像中产生
30、大量噪声的主要因素。除此之外对于有些传感元器件的自身质量,如手机自带的照相设备一般分辨率较低,在获取数字图像时会产生斑点噪声。噪声对于图像的预处理非常重要,它会影响图像处理的输入、采集、处理各个环节和识别结果的全过程。特别是图像的输入、采集的噪声是十分关键的问题。如果输入不良伴有较大的噪声,滤波去噪后不能达到理想效果,将必然的严重影响处理的全过程以至最后的识别结果。噪声去除已经成为图像处理极其重要的步骤,然而现在还没有一个通用的滤波去噪方法对所有的图片适用,一般的图像预处理必须根据实际情况选择不同滤波去噪方法进行比较,最后得出最佳的滤波去噪方法。滤波去噪的方法可以简单分为两类:频域滤波和空间域
31、滤波。频域滤波一般采用的方法是将空间图像采用快速傅里叶变换转换成频域信息,然后再采用信号处理的滤波方法进行滤波(一般采用的有阻滤波器、带通滤波器、陷波滤波器、最佳陷波滤波器等) ,滤波处理后再通过傅里叶逆变换进行逆变换成空间图像信息,从而达到滤波效果。但是由于频域滤波需要频域转换后再采用滤波器滤波,其实现起来较为复杂,效率也相对较低,而空间域滤波方法速度较快、实现简单、效果很好,因此现在很多研究者中都采用空间域滤波方法对数字图像进行滤波。对于空间域滤波算法中最常用的是平滑滤波去噪法,其主要思想为在图像空间中借助模板对图像进行领域操作,用平均运算方法去除突然变化的点从而滤掉一定的噪声。输出图像的每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。常见的平滑去噪方法有:nn 中值滤波器,高斯滤波器等等。中值滤波是较为经典的一个空间域滤波算法,该算法是将一个 nn 大小的模板从上到下从左到右在图像上进行移动,在对所移到的各个像素上,使用模板中所有的像素灰度值的中间值取代当前像素的灰度值:(式 ( , )( , )|( , )| s tSxyf x ymedian g s t 2.1)中值滤波器常见的有 33 和 55 大小的模板。