手写体数字识别的软件设计毕业设计论文资料全.docx
《手写体数字识别的软件设计毕业设计论文资料全.docx》由会员分享,可在线阅读,更多相关《手写体数字识别的软件设计毕业设计论文资料全.docx(63页珍藏版)》请在冰豆网上搜索。
![手写体数字识别的软件设计毕业设计论文资料全.docx](https://file1.bdocx.com/fileroot1/2023-2/22/961057f3-2aed-49b1-bd45-192bf73f003a/961057f3-2aed-49b1-bd45-192bf73f003a1.gif)
手写体数字识别的软件设计毕业设计论文资料全
毕业设计说明书
手写体数字识别的软件设计
电子与计算机科学技术学院
学生:
学号:
计算机科学与技术专业
学院:
专业:
指导教师:
2009年6月
手写体数字识别的软件设计
摘要
手写体数字识别是利用机器或计算机自动辨认手写体阿拉伯数字的一种技术,是光学字符识别技术的一个分支。
由于阿拉伯数字的世界通用性,并且数字的识别和处理也常常是一些自动化系统的核心和关键,所以对手写体数字识别研究通用性强,且意义重大。
本文主要的研究的工作集中在图像预处理和选择合适的特征向量,并实现一个完整手写体数字识别系统。
本文中对几种常见的二值化算法进行比较,并最终选择基于梯度的二值化算法;在本文中,提出了一种方法来解决结构点检测的传统方法的缺陷。
另外本文还提出将一般用来直接识别字符的凸凹特征作为字符的特征向量之一。
通过对NIST的数据进行测试,实验数据表明本文设计的数字识别系统对手写体数字识别具有较高的识别率。
关键词:
手写体数字识别,特征向量,二值化算法,凸凹特征
TheSoftwareDesignofHandwrittenNumeralRecognition
Abstract
Thehandwrittennumeralrecognitionisatechnology,whichautorecognizesthehandwritingArabiannumeralviamachinesorcomputers,andaspecialfieldintheOpticalCharacterRecognitiontechnology.Thenhandwrittennumeralrecognitionresearchisgreatlygeneral-purposeandsignificative,becauseoftheuniversalArabicnumerals.Onthesamescore,thehandwrittennumeral,recognitiontechnologiesareplayinganimportantroleinanumberofautomatizationsystems.
Inthispaper,themainstudyfocusedonimagepre-processingandselectionofappropriatefeaturevectors,andtorealizeacompletesystemofhandwrittennumeralrecognition.Thereareseveralcommoncomparisonsofbinarizationalgorithminthisarticle,andchoosethegradient-basedbinarizationalgorithmfinally;andobjectingtothedefectionoftraditionalmethodsofstructuralpointdetection,asolutiontotheproblemwasputupinthisarticle.Inaddition,thispaperalsoraisestheconvex-concavefeatureasoneofthecharacterfeaturevectors.
ThroughtheNISTtestdata,experimentaldatashowsthatthedigitalidentificationsystemdesignedforhandwrittennumeralrecognitionhasahighrecognitionrate.
Keywords:
Handwrittennumeralrecognition,Characterfeaturevectors,Binarizationalgorithm,Convex-concavefeature
1绪论
1.1字符识别概述
光学字符识别(OpticalCharacterRecognition,简称OCR)是20世纪20年逐步发展起来的一门自动化技术,是图像处理与模式识别领域的一个重要分支[1]。
其目的就是通过扫描、摄像等光学输入方式将汉字报刊、书籍、文稿及其它印刷品的文字转化为图像信息,将图形、表格的图像进行保存,再利用文字识别技术将图像的文字或表格中的资料一律变成计算机能识别的文字,以便于计算机的管理维护。
它能够减少存储容量、通讯交流的信息、循环利用已识别出的文字以及节省因键盘输入而浪费的人力、物力、财力和时间。
手写数字识别(HandwrittenNumeralRecognition,简称HNR)是OCR的一个分支,它的任务是把手写阿拉伯数字(如0,1,2,……,9)通过非键盘方式输入到计算机中,以便作进一步的处理和应用,给计算机建立视觉系统,自动辨识人用笔写在纸(介质)上的数字。
它属于模式识别、人工智能的一个重要分支,涉及到模式识别和图像处理、人工智能、统计决策理论、模糊数学、组合数学、信息论、计算机等学科;同时也涉及心理学等,是介于基础研究与应用研究之间的一门综合性的技术[2],在办公室、机器翻译等方面具有重大实用意义。
手写体数字的识别是人们研究较为深入的一个领域。
文字识别作为计算机技术的一个领域在许多的环境当中都有着非常广泛的应用。
文字识别是新一代智能计算机接口的重要组成部分。
近二十年来,国外对各种字符进行了广泛深入的研究,研究出了许多非常有效的识别算法,与此同时用于各种字符识别的应用软件也越来越丰富。
字符识别可以分为两个大类,文字识别和数字识别。
数字识别又可以分为手写体数字识别和印刷体数字识别,而对于手写体数字识别可分为联机手写体数字和脱机手写体数字的识别。
当今手写体数字识别是人们研究的一个热点,而且手写体数字识别的技术相对于以前已经有了较大的提高。
国专门做识别技术成果比较好的是汉王公司,该公司的识别软件对各种字符识别率已经很不错。
相对于联机手写体数字识别技术,脱机手写体数字识别技术识别率相对要低,而且在生活实际应用得到很多应用(例如:
手机手写输入,手写板等都是基于联机识别)。
由于联机识别相对于脱机识别能够获取更多的信息,其除了获取了图片信息外,计算机还可以通过与计算机相连的手写输入设备获得输入字符笔划的顺序、笔划的方向以及字符的形状。
因此一般的联机识别要比脱机识别的识别率要高。
所以联机识别的已经投入使用,但是对于脱机识别由于其技术限制,以至其到现在还没有大围的应用。
虽然脱机手写体数字识别难度较大,识别率较低,但是比起联机手写体数字识别来说,脱机手写体数字识别不要求书写者在特定的输入设备上书写,它可以与平常一样书写,所以脱机手写体数字识别的应用更为广泛,如邮政编码、统计报表、财务报表、银行票据、学生成绩、车牌等。
一旦脱机手写体数字的研究取得成功,满足实用需求,并投入应用,将产生巨大的社会效益。
1.2手写数字识别的意义和应用前景
对手写体数字的识别研究不仅有着重大的现实意义而且还有十分广阔的应用前景。
当今经济的发展,金融市场化进程的日益加快,票据业务发展很快,票据数量也与日俱增。
其中个人凭证,支票,发票,进账单等等票据均需要处理大量的信息。
而目前,票据录入仍然依赖人工处理方式,因而使得票据管理工作也相对落后。
如果通过手写体字符识别技术来实现信息的自动录入,无疑将会有效解决传统人工处理方式中存在的工作量大、成本高、效率低、时效性差等问题。
此外,手写数字识别应用领域还有:
1)手写数字识别被应用在大规模数据统计中。
例如:
人口普查、成绩单录入、行业年检、财务报表录入等应用中。
2)手写数字识别被应用在财务、税务、金融领域应用。
随着我国经济的快速发展,每天会有大量的财务、税务、支票等需要处理。
3)手写数字识别被应用到分拣系统中[3]。
由上可见,对手写体数字识别有着很高的实用价值,除此之外,手写体数字识别作为模式识别领域的一个重要问题,也有着重要的理论价值:
1)阿拉伯数字是唯一的被世界各国通用的符号,对于手写体数字识别的研究基本上与文化背景无关,这样就为世界各国研究者提供了一个供大家共同探讨技术的平台,研究并比较各种算法的优缺点。
2)由于手写体数字识别的类别少,有助于作深入分析与验证一些新的理论。
这方面最明显的例子是人工神经网络(ANN)。
很多ANN模型和算法都是以手写体数字识别作为实验测试平台,验证其理论的有效性,评价各种方法各自的优缺点。
3)尽管人们对手写体数字识别已经从事了很长时间的研究,并取得了一定的成果,但是到目前为止,机器识别本领与人的认知能力相比,还是有很大的差距。
4)手写体数字识别的方法很容易被推广到其它相关问题上,比如英文字母识别、汉字识别等等。
1.3字符识别的研究与发展
字符识别的最早能追溯到1890年一项帮助盲人阅读装置的发明专利。
1929年,有德国人Tausheck首先正式提出OCR概念,并取得了OCR专利权,四年后美国人Handel也取得了同样的专利权[4]。
但真正OCR是在本世纪50年代随着计算机的出现而到来的。
在字符识别大发展时期(1990年后),许多研究者对字符识别进行了探索与研究,当时提出许多新的有效识别工具,其中人工神经网络(ArtificialNeuralNetwork,ANN)[5],支持向量机(SupportVectorMachine)[6,7],隐马尔科夫模型(HiddenMarkovModel,HMM)[8]等,而这些识别工具至今仍然是研究的热点。
1)在人工神经网络识别方法中,模式类的描述方法一般还是特征向量,只是在分类时,利用了神经网络的自动学习和记忆功能,通过对样本的训练建立起记忆,然后将未知样本作为输入让神经网络“回忆”出该样本所属的类别。
2)支持向量机是Vapnik等人根据统计学理论提出的一种新型机器学习方法。
由于其出色的学习性能,该技术已成为机器学习界的研究热点,并在很多领域都得到了成功的应用,如人脸识别、手写体数字识别、文本自动分类等。
3)隐马尔科夫模型是一类基于马尔科夫随机过程的统计模型[9]。
隐马尔科夫模型对于随机信号具有很强的学习和建模能力,因此在语音识别中取得了很大的成功。
从上世纪90年代开始,一些研究者已经将隐马尔科夫模型引入到了图像处理、识别和分析中来。
1.4手写数字识别的难点
虽然,人们对字符识别的研究有百余年,并在字符识别取得了可喜的成绩(其汉字识别也越来越多的应用到实际应用中),然而字符识别的一个分支——数字识别的研究却离实际应用还有一定差距。
这是因为,在一般情况下,当涉及到数字识别时,人们往往要求识别系统有很高的识别精度(又称可靠性)[10],特别是有关金融的数字识别时,如支票中填写的金额部分,更是如此。
因此针对这类问题,就要求手写数字识别系统具有高可靠性和高识别率。
总结数字识别的难点主要在于以下几方面:
1)阿拉伯数字的字型信息量很小,不同数字写法字形相差又不大,使得准确区分某些数字相当困难[11]。
2)数字虽然只用10种,而且笔画简单,但书写上带有明显的地域特性,同一数字写法千差万别,不同地域的人写法也不相同,所以很难做到兼顾各种写法的极高识别率的通用型数字识别系统[12]。
3)在实际应用中,对数字的单字识别正确率的要求要比文字要苛刻得多。
这是因为,文字组合一般都存在上下文关系,但数字组合存在极少的或没有上下文关系,所以每个孤立数字的识别都至关重要[13]。
而且数字识别经常涉及到财务、金融领域,其严格性更是不言而喻的。
因此,对手写数字识别系统的要求不仅仅是单纯的高正确率,更重要的是极低的误识率。
4)由于脱机手写数字的输入只是简单的一幅图像,它不像联机输入那样可以从物理输入设备上获得字符笔画的顺序信息[14],因此脱机手写数字识别是一个更有挑战性的问题。
1.5国外研究现状
手写体数字识别在学科上属于模式识别和人工智能的畴。
在过去的数十年中,研究者提出了许多识别方法,目前手写体数字识别方法可以分为两类:
基于结构特征的方法和基于统计特征的方法[15]。
通过几十年来各国研究学者得对数字识别的研究,国外在手写识别上也取得了一定的成就。
在我国邮电部第三研究所,以信函分拣为目的,识别书写在信封上的邮政编码。
其它用传统方法进行识别研究的有中国科学院自动化研究所,该所对手写体数字识别的研究历史几乎有20年了,在他们新近的报告中,利用以有限状态自动机为主的识别途径识别1100个手写体数字,识别率达95.2%,拒识4%,误识0.2%,交通大学基于压缩字结构特征的手写体数字识别算法选取了12600个样本组成训练集,6000个样本组成测试集,用BP网络进行分类,识别正确率为97.58%,误识率为1.04%,拒识率为1.38%。
德国E9的FriedhelmSchwenker采用SV-RBF40对手写体数字进行识别,测试样本10000个,识别正确率为98.56%。
清华大学采用SVM对金融票据中的手写体数字进行识别,测试样本20000个,识别率约为92%。
然而以上提到的系统,要么对书写的正规程度有要求,要么其测试样本和训练样本出于同一批人之手。
总之,一般的系统对书写人员限制较多,或者对书写的正规程度有要求,或者对书写位置有要求,或者对所用笔、纸有要求,例如对税务报表的识别就要求用规定的字型书写数字,并且对书写的位置有要求,而真正的无限制手写体数字的识别的研究还有待进一步提高。
1.6手写体数字识别系统概述
不同的识别系统,在具体处理一幅待识别图像时,处理的步骤可能并不完全相同。
但是就一般情况看,一个完整的OCR识别系统可分为:
原始图像获取,预处理,特征抽取,分类识别和判别处理等模块。
(见图1.1)。
1)预处理阶段
在获取原始数字图像过程中,由于光照、背景纹理、镜头分辨率、拍摄角度等原因,难免会造成图像失真并带有噪声。
由于这些噪声的影响,如果对获取得到的数字图像进行直接处理的话通常不能得到满意的结果,因此在获取原始数字图像后,需要对图像进行预处理。
对于字符识别的预处理过程一般包括:
滤波去噪、二值化、字符切分、图像校正、归一化处理。
经过预处理后的图片不仅能够有效滤除噪声,并且能够将不同的大小、倾斜角度的字符进行归一化到一个固定大小,对大量数据进行压缩处理。
预处理阶段在该系统中是一个很重要的阶段。
预处理效果的好坏会直接影响到整个系统的性能。
具体方法可以详见第二章。
2)特征提取阶段
由于原始数字图像数据量大,冗余信息较多,一般不进行直接识别,而是进行提取有效特征数据、压缩数据,然后再进行识别。
换句话说特征提取是为了去除图像信息中对分类没有帮助的部分,将图像信息集中到几个有代表性的特征上来的过程。
特征值的提取一般包括:
笔画、拓扑点、结构突变点、投影形状、点(端点、连点、三叉点、四叉点、垂直交点,水平交点等)、弧、连通区域、凸凹形状、环、字符整体轮廓、检查必要的基元是否存在、不可有的基元是否出现等特征。
3)分类识别阶段
分类识别是数字识别的关键步骤之一,它是指分类器依据特征提取阶段抽取的特征,就送入分类器中做最后的字符分类识别。
该环节现在普遍采用的是基于神经网络和模板匹配两种模式。
考虑到神经网络能够很好的容忍字符的形状变换、噪声的影响。
因此,在分类其中,我们将提取到的特征值输入到已经训练好的神经网络中进行分类识别。
4)判别处理阶段
当分类完成后,为了保持系统的识别性能,通常需要对识别结果作一次判别处理,认为该结果是否被接收还是拒绝。
这个阶段可以根据具体的应用来设计不同的判别决策。
例如,在金融数字的识别中,要求错误识别率相当高,那么在判别处理时严格限制接收条件就可以降低识别的错误率。
1.7本文容安排
我们主要目标是对有噪声、一定约束书写条件下的脱机手写体数字串的切割和识别算法进行一些探讨性研究,以期提高其准确性,获得更高的可靠性。
我们将对原始获取的数字图像(以及模拟一个简单的写字板)进行识别。
本文容上总体安排为七章。
第一章主要是对OCR和手写体数字识别作简单的介绍。
介绍容有:
OCR及手写体数字识别的历史及现状;手写体数字识别的意义和难点;数字串识别系统的整体描述以及本文的研究容。
第二章:
主要是研究手写体数字识别中的预处理技术。
本文采用预处理有滤波去噪,阈值分割,归一化,细化等技术,该章节对其进行详细分析。
同时本章针对几种阈值分割进行比较,分析其各自的优缺点。
第三章:
主要研究的是手写体数字识别中的切分技术。
本章将对当前无约束手写体数字串的切分技术进行概述,最后详细介绍本文采用的手写体数字串的切分方法。
第四章:
主要研究的是手写体数字识别中的特征值提取技术。
在特征值提取模块中,需要根据特征表达方式或者特征提取技术的不同,选用不同的预处理技术。
比如对于关键点特征的提取,则需要使用字符的外轮廓、骨架信息。
由于单一的特征对数字的描述有一定的局限性,因此本文将采用多特征组合的特征向量作为字符的描述特征值来识别数字。
本章将详细介绍这些相关的特征值的提取步骤。
另外本章中对传统的细化算法提出了一种的改进方法。
第五章:
主要简单介绍神经网络分类识别器实现原理。
初步介绍本文采用的BP神经网络,并给出本文采用的学习算法和训练算法。
第六章:
介绍了本文实现的系统的开发和运行环境,以及系统的处理过程图,并通过对NIST的图像数据库进行测试,给出相关实验数据。
第七章:
对整个论文的研究和工作进行了总结并指出了进一步的研究方向。
2手写体数字识别中预处理技术
预处理对于一个良好的识别系统不仅是一个必不可少的环节,而且是至关重要的。
如果预处理处理得不够理想,会从很大程度上降低整个系统的识别率。
一般手写体数字识别而言,预处理包括很多部分,如平滑、去噪、二值化、归一化、细化、形状校正、去各种类印章、背景底纹等等。
由于本文主要不是针对类似于票据识别中的这种具有各种背景底色或者印章之类的数字识别,本文主要研究的是在纸(无底纹、印章等)上写的手写体数字进行识别。
因此本文就省去了去除类印章、背景底纹等的这些操作。
2.1平滑去噪
数字图像的噪声主要来源于图像的获取(数字化过程)。
图像传感器的工作情况受各种因素的影响,如图像获取中的环境条件和传感元器件自身的质量。
例如,使用CCD摄像机获取的图像,光照强度和传感器温度是造成图像中产生大量噪声的主要因素。
除此之外对于有些传感元器件的自身质量,如手机自带的照相设备一般分辨率较低,在获取数字图像时会产生斑点噪声。
噪声对于图像的预处理非常重要,它会影响图像处理的输入、采集、处理各个环节和识别结果的全过程。
特别是图像的输入、采集的噪声是十分关键的问题。
如果输入不良伴有较大的噪声,滤波去噪后不能达到理想效果,将必然的严重影响处理的全过程以至最后的识别结果。
噪声去除已经成为图像处理极其重要的步骤,然而现在还没有一个通用的滤波去噪方法对所有的图片适用,一般的图像预处理必须根据实际情况选择不同滤波去噪方法进行比较,最后得出最佳的滤波去噪方法。
滤波去噪的方法可以简单分为两类:
频域滤波和空间域滤波。
频域滤波一般采用的方法是将空间图像采用快速傅里叶变换转换成频域信息,然后再采用信号处理的滤波方法进行滤波(一般采用的有阻滤波器、带通滤波器、陷波滤波器、最佳陷波滤波器等),滤波处理后再通过傅里叶逆变换进行逆变换成空间图像信息,从而达到滤波效果。
但是由于频域滤波需要频域转换后再采用滤波器滤波,其实现起来较为复杂,效率也相对较低,而空间域滤波方法速度较快、实现简单、效果很好,因此现在很多研究者中都采用空间域滤波方法对数字图像进行滤波。
对于空间域滤波算法中最常用的是平滑滤波去噪法,其主要思想为在图像空间中借助模板对图像进行领域操作,用平均运算方法去除突然变化的点从而滤掉一定的噪声。
输出图像的每一个像素的取值都是根据模板对输入像素相应领域的像素值进行计算得到的。
常见的平滑去噪方法有:
n×n中值滤波器,高斯滤波器等等。
中值滤波是较为经典的一个空间域滤波算法,该算法是将一个n×n大小的模板从上到下从左到右在图像上进行移动,在对所移到的各个像素上,使用模板中所有的像素灰度值的中间值取代当前像素的灰度值:
(式2.1)
中值滤波器常见的有3×3和5×5大小的模板。
图2.1是3×3的中值滤波器。
图中M点像素的灰度等于其领域9个(A0~A7,M)像素灰度值的中间值。
A3
A2
A1
A4
M
A0
A5
A6
A7
图2.13×3的中值滤波器模板示意图
图2.2是采用3×3的中值滤波器对带有噪声的图片进行滤波后的效果。
中值滤波对于很多种随机噪声,它都有良好的去噪能力,且在相同尺寸下比起线性平滑滤波器引起的模糊较少。
中值滤波器尤其对单级或双极脉冲噪声非常有效。
但是本文在对图片进行二值化处理中,后期将采用基于梯度的二值化处理,在梯度二值化处理中需要采用拉普拉斯变换提取边缘特征,而拉普拉斯变换对噪声特别敏感,因此我将会采用高斯滤波器对图像进行滤波,然后再采用高斯拉普拉斯提取边缘信息。
因此,需要简单介绍一下空间域的高斯平滑滤波器。
图像的高斯平滑滤波器,其滤波器的模板设计是根据高斯函数的最佳逼近的二项式展开的系数来决定。
根据高斯函数的可分离性可以得到,二维高斯滤波器能用2个一维高斯滤波器逐次卷积来实现,一个沿水平方向,一个沿垂直方向。
因此高斯平滑滤波器与图像简单平滑不同的是,它在对领域像素灰度进行平均时,给与了不同位置的像素不同的权值。
常见的高斯模板(3×3)如图2.3所示,模板上越靠近领域中心的位置,其权值越高,如此安排权值的意义在于用此模板进行图像平滑时,在对图像细节进行模糊的同时,可以更多的保留图像总体的灰度分布特征。
1
2
1
2
4
2
1
2
1
图2.33×3高斯模板
高斯滤波器相对简单平滑滤波器的效率较低(需要额外乘法运算),在离散型杂点的消除方面,高斯平滑的效果并不理想。
然而在保留图像的总体特征上,高斯滤波器表现了很好的性能。
2.2二值化
二值图像是指整幅图像页面仅有黑(像素值为0),白(像素值为1)的二值图像。
一般的文字识别的文字图像、进行指纹识别的指纹图像,大多数都需要将灰度图像转化成二值图像。
在数字图像处理中,二值化占有非常重要的地位。
这是因为,一方面类似于字符、指纹、工程图等图像本身就是二值的。
另一方面,在某些情况下即使图像本身是有灰度的,也将其转换成二值图像再处理。
这样在图像处理系统中,可以减少图像信息并提高处理速度。
图像的二值化有几种类型,其中主要的有基于灰度分布的二值化,也有基于梯度信息的二值化。
基于灰度分布的二值化处理一般是通过设定阈值,把它变为仅用二值表示前景和背景颜色的图像。
图像的二值化可以根据下面的阈值来处理:
假设一幅原始图像的像素值p(i,j)的取值围为[0,m],那么设有其阈值为T=t,0(式2.2)
对于基于灰度分布的二值化就是一个带阈值T的二值映射过程,其分割效果的关键在于阈值T的选取。
有的应用可以由计算机自动选取,有的则需要人工干预,所以阈值T的选取视应用围而有所不同。
对于字符识别来说,只需要保留文字特征的二值信息即可。
目前,众多学者对此已经进行了比较详细的研究,并提出了许多阈值选取的算法,这些算法大体上可以划分为三类:
整