手写体数字的识别

手写体数字的识别
手写体数字的识别

手写体数字识别

第一章绪论 (4)

1.1课题研究的意义 (4)

1.2国内外究动态目前水平 (4)

1.3手写体数字识别简介 (5)

1.4识别的技术难点 (5)

1.5主要研究工作 (6)

第二章手写体数字识别基本过程: (6)

2.1手写体数字识别系统结构 (6)

2.2分类器设计 (7)

2.2.1 特征空间优化设计问题 (7)

2.2.2分类器设计准则 (8)

2.2.3分类器设计基本方法 (9)

3.4 判别函数 (9)

3.5训练与学习 (10)

第三章贝叶斯方法应用于手写体数字识别 (11)

3.1贝叶斯由来 (11)

3.2贝叶斯公式 (11)

3.3贝叶斯公式Bayes决策理论: (12)

3.4贝叶斯应用于的手写体数字理论部分: (16)

3.4.1.特征描述: (16)

3.4.2最小错误分类器进行判别分类 (17)

第四章手写体数字识别的设计流程及功能的具体实现 (18)

4.1 手写体数字识别的流程图 (18)

4.2具体功能实现方法如下: (19)

结束语 (25)

致谢词 (25)

参考文献 (26)

附录 (27)

摘要

数字识别就是通过计算机用数学技术方法来研究模式的自动处理和识别。随着计算机技术的发展,人类对模式识别技术提出了更高的要求。特别是对于大量己有的印刷资料和手稿,计算机自动识别输入己成为必须研究的课题,所以数字识别在文献检索、办公自动化、邮政系统、银行票据处理等方面有着广阔的应用前景。

对手写数字进行识别,首先将汉字图像进行处理,抽取主要表达特征并将特征与数字的代码存储在计算机中,这一过程叫做“训练”。识别过程就是将输入的数字图像经处理后与计算机中的所有字进行比较,找出最相近的字就是识别结果。

本文主要介绍了数字识别的基本原理和手写的10个数字字符的识别系统的设计实现过程。第一章介绍了数字识别学科的发展状况。第二章手写体数字识别基本过程。第三章贝叶斯方法应用于手写体数字识别。第四章手写体数字识别的设计流程及功能的具体实现,并对实验结果做出简单的分析。

关键词:手写体数字识别分类器贝叶斯vc++6.0

错误!未找到引用源。

ABSTRACT

The digital recognition researches how to treat with and recognize pattern automatically through computer with math arithmetic. Along with the development of computer technology, human need more advanced digital recognition technology. Especially for large numbers of printed data and manuscript, the automatic recognition and input of Chinese characters becomes a stringent task, therefore the digital recognition will have a broad application prospect on literature retrieval, office automation, postal service system, bank bill processing.

In order to recognize digital characters, the first task we have to do is feature extraction of a map, after that we have to store the feature in the computer. This process is called "the training". This process compares the hand-written digital’s feature and the stored features in the computer.

This paper mainly introduces the basic principles of hand-written digital recognition and the design、realization process of ten hand-written digital recognition system. The first chapter mainly introduces the concepts related to the digital recognition and this discipline’s development condition. The second chapter introduces the digital recognition’s p rocess. The third chapter mainly introduces digital recognition with Bayes. The fourth chapter introduces design process and functions carried out, the experimental result and the simple analysis.

Kewords: Hand-Written Digital Rocognition Classification Bayes vc++6.0

第一章绪论

1.1课题研究的意义

手写体数字识别的研究有很大的实用价值,例如在邮政编码、税务报表、统计报表财务报表、银行票据、海关等需要处理大量字符信息录入的场合,在很大程度上要依赖数据信息的输入。随着人们生活水平的提高,经济活动的发展,通信联系的需求使信函的互换量大幅度增加,我国函件业务量也在不断增长,预计到2010年,一些大城市的中心邮局每天处理量将高达几百万件,业务量的急剧上升使得邮件的分拣自动化成为大势所趋。在邮件的自动分拣中,手写数字识别(OCR)往往与光学条码识别(OBR---Optical Bar Reading),人工辅助识别等手段相结合,完成邮政编码的阅读。目前使用量最大的OVCS分拣机的性能指标:OCR 拒分率30%,OCR分拣差错率1.1%。如果能通过手写数字识别技术实现信息的自动录入,将会促进这一事业的进展。

手写体数字识别的研究不仅有很大的应用价值,而且有重要的理论价值,由于数字别的类别较小,有助于作深入分析及验证一些新的理论。例如人工神经网络,相当一部分的ANN模型和算法都以手写数字识别作为具体的实验平台。可以说,手写体数字识别的研究将有助于模式识别、机器理解、机器人技术的发展,对今后研究如何更好地进行人机交互,使计算机具有和人一样的能力有很大的理论价值。

1.2国内外究动态目前水平

手写体字符的识别在很早以前就开始了。国外从20世纪70年代初研制成“光学字符别机(OCR)”,能够自动识别印刷体的英文文字及阿拉伯数字。20世纪70年代中期出现了能识别手写数字的OCR。在20世纪70年代末和80年代初又出现了能识别手写英文母的OCR。日本于20世纪80年代初研制了印刷体汉字识别样机,这是最早的汉字OCR。我国从20世纪70年代就开始进行了字符(英文字母和数字)识别的研究,20世纪80年代己进入实用阶段,主要用于邮政信函自动分检,人口普查和生产统计报表。手写体数字识别是手写字符识别的一个重要分支,它又分为在线手写体识别和离线写体识别。在线手写体识别通过记录文字图像抬笔、落笔、笔迹上各像素的空间位,以及各笔段之间的时间关系等信息,对这些信息进行处理,在处理过程中,系统以定的规则提取信息特征,再由识别模块将信息特征与识别库的特征进行比较、加以识别,最后转化为计算机所使用的文字代码。在线手写体识别的一个重要的不足就是要求写入者必须在指定的设备上书写。而离线手写体识别则是通过使用任何一种图像采集设备,如CCD、扫描仪、数码相机等将手写者已写好的文字作为图像输入到计算机中,然后由计算机去识别。在过去的数十年中,研究者们提出了许许多多的识别方法。按使用的特征不同,这方法主要可以分为三类:基于结构特征的方法、基于统计特征的方法和人工神经网结构特征通常包括圆、端点、交叉点、笔划、轮廓等,对于一

个复杂的模式,采用分解的方法将其划分为若干较简单的子模式乃至基元,通过对基元和子模式识别的综合建立在统计数学,特别是贝叶斯决策理论基础上,通过模式紧密性、距离和相似性度量等感念和假定,形成了统计决策方法的一系列结论。人工神经网络具有学习和联想功能,在字符识别中主要采用基于BP算法的多层感知机及多层卷积神经网络;基于正规化方法构建的径向基函数网络;以及具有“拓扑保持”特性的自组织特征映射(包括学习矢量量化LvQ)等。一般来说,各类特征各有优势。例如,使用统计特征的分类器易于训练,而且对于使用统计特征的分类器,在给定训练集上能够得到相对较高识别率;而结构特征的主要优点之一是能描述字符的结构,在识别过程中能有效的结合几何和结构的知识,因此能够得到可靠性较高的识别结果。神经网络具有自学习、容错性、分类能力强和并行处理等特点。

手写体识别目前的研究方向是:特征提取问题,这个方面一是在现有基础上进行组合,另一个是引入新的特征技术;分类器研究,一是多分类器继集成,另一个方向是研究新的分类器。、

1.3手写体数字识别简介

手写体数字识别是指利用电子计算机自动辨认手写体阿拉伯数字的一种技术,它属于光学字符识别(OCR)的范畴·手写体数字识别又分为联机识别(on-line)和脱机识别(off-line)两种。其中,最为困难的就是脱机手写字符的识别。主要是因为脱机手写体识别过程无法获得字符书写时的一些动态信息。然而,手写体数字识别技术的研究是非常有价值的,它具有广阔的应用前景。

手写体数字识别系统性能的评价方法

作为一个识别系统,我们最终要用某些参数来评价其性能的高低,手写数字识别也不例外。评价的指标除了借用一般文字识别里的通常做法外,还要根据数字识别的特点进行修改和补充。

对一个手写数字识别系统,可以用两方面的指标表征系统的性能:

识别率 A 正确识别样本数/全部样本数*100%

误识率 S 误识样本/全部样本数 *100%

两者的关系 A+S=100%

数字识别的应用中,人们往往很关心的一个指标是“识别精度”,即在所有识

别的字符中,正确识别的比例,表示如下::

识别精度:P=A/(A+S)*100%

一个理想的系统应是S尽量小,然而A尽可能大。

1.4识别的技术难点

手写体数字识别的研究是一项具有相当难度的工作,此项工作的难点主要在于以下几方面:

1.阿拉伯数字的字形信息量很小,不同数字写法字形相差不大,使得准确区分某些数字相当困难。

2.要识别的数字虽然只有十种,而且笔划简单,但同一数字写法千差万别,不同的人写法也不尽相同,很难完全做到兼顾各种写法的极高识别率的通用性数字识别系统。

3.在实际应用中,对数字的单字识别正确率的要求要比文字要苛刻得多。这

是因为文字有上下文关系,但数字没有上下文关系,每个单字的识别都至关重要, 而且数字识别经常涉及的财会、金融领域,其严格性更是不言而喻的。因此, 用户的要求不是单纯的高正确率,更重要的是极低的误识率。

4.大批量数据处理对系统速度又有相当的要求,许多理论上很完美但速度过低的方法也是行不通的。综上所述,研究高性能的手写数字识别算法是一个有相当的挑战性的课题,同样的把高效的手写体数字识别算法应用于实际工作之中也是具有重要意义的。

1.5主要研究工作

本论文主要介绍了手写体数字识别的一些基本知识和发展概况,然后介绍了贝叶斯理论分类器原理,及贝叶斯分类器应用关于手写体数字识别的设计原理,最后本文叙述了利用贝叶斯原理识别数字的开发过程。

第二章 手写体数字识别基本过程:

2.1手写体数字识别系统结构

一个典型的手写体数字识别系统如图2-1所示,由数据获取、预处理、特征提取、分类决策及分类器设计五部分组成,一般分为上下两部分。上半部分完成未知类别模式的分类;下半部分属于设计分类器的训练过程,利用样品进行训练,确定分类器的具体参数,完成分类器的设计。而分类决策在识别过程中起作用,对待识别的样品进行分类决策。

图2-1 手写体数字识别系统结构 数字识别组成单元功能介绍如下。

1.数据获取。用计算机可以运算的符号来表示所研究的对象,一般获取的数据类型有以下几种。

二维图像:文字、指纹、脸谱照片等。

未知类别模式的分类

获取数据

预处理

特征提取

分类决策

分类结果

训练样本预处理 特征选择 确定判别函数

改进判别函数 误差检验

分类器设计

一维波形:脑电图、心电图、季节震动波形等。

物理参量和逻辑值:体温、化验数据、参量正确与否的描述。 2.预处理。对输入测量仪器或其他因素所造成的退化现象进行复原、去噪声、提取有用信息。

3.特征提取。对原始数据进行变换,得到最能反映分类本质的特征。将维数较高的测量空间转变为维数较低的特征空间。

4.分类决策。在特征空间中用模式识别方法把被识别的对象归为某一类。

5.分类器设计。基本做法是收集样品训练集,在此基础上确定判别函数,改进判别函数和误差检验。

2.2分类器设计

2.2.1 特征空间优化设计问题

确定合适的特征空间是设计模式识别系统一个十分重要,甚至最为关键的问题。如果所选用的特征空间能使同类物体分布具有紧致性,不同类别物体彼此分开,即各类样品能分布在该特征空间中彼此分割开的区域内,这就为分类器设计提供良好的基础。反之,如果不同类别的样品在该特征空间中混杂在一起,再好的设计方法也无法提高分类器的准确性。

特征空间的设计往往是一个逐步优化的过程,设计的初期阶段,选择的特征空间维数较高,需要对它进行改造,改造的目的在于提高某方面的性能,因此又称为特征的优化问题。一般说要对初始的特征空间进行优化就是为了降维,即将初始的高维特征向量改成一个维数较低的空间。优化后的特征空间应该更有利于后续的分类计算。对特征空间进行优化有两种基本方法,一是特征选择,另一种是特征的优化组合。

1、特征选择

在模式识别中特征提取是首先要解决的问题。为了对样品进行准确的识别,需要进行特征选择或特征压缩。特征选择指对原始数据进行抽取,抽取那些对区别不同类别最为重要的特征,而舍去那些对分类并无多大贡献的特征,能得到反映分类本质的特征。如果区别不同类别的特征都能从输入数据中找到,这时自动模式识别问题就简化为匹配和查表,模式识别就不困难了。

2、特征提取

假设已有D 维特征向量空间, 1

2

{,,}...n

Y y y y =,特征的组合优化问题涉

及特征选择和特征提取两部分。特征选择是指从原有的D 维特征空间中删去一些特征描述量,从而得到精简后的特征空间。在这个特征空间中,样品由d 维空间的特征向量描述:12{,,...}n X x x x =, d <D 。由于X 只是Y 的一个子集,因此每个分量x i 必然能在原特征集中找到其对应的描述量x i =y j 。

特征提取则是找到一个映射关系:

A :Y X (3.1)

使新样品特征描述维数比原维数低。其中每个分量xi 是原特征向量各分量的函数,即

x i =x i (y 1,y 2,…,y D ) (3.2)

因此这两种降维的基本方法是不同的。在实际应用中可将两者结合起来使

用,比如先进行特征选择,即从原有的D维特征空间,删去一些特征描述量,从而得到精简后的特征空间,然后再进一步特征提取,或反过来。

总之,特征选择与特征提取的任务是求出一组对分类最有效的特征,有效是在特征维数减少到同等水平时,其分类性能最佳。

2.2.2分类器设计准则

模式识别分类问题是指根据待识别对象所呈现的观察值,将其分到某个类别中去。具体步骤如下:

第一步:建立特征空间中的训练集,已知训练集里每个点所属类别。

第二步:从这些条件出发,寻求某种判别函数或判别准则,设计判决函数模型。

第三步:根据训练集中的样品确定模型中的参数。

第四步:将这一模型用于判决,利用判决函数或判别准则去判别每个未知类别的点应该属于哪一类。

模式识别的基本框架——制定准则函数,实现准则函数极值化。常用的准则有以下几种。

1、最小错分率准则

完全以减少分类错误为原则,这是一个通用原则,它使错分类的样品数量最小。

2、最小风险准则

当接触到实际问题时,可以发现使错误率最小不一定是一个普遍适用的最佳选择。有的分类系统对错误率大小并不看重,而是要考虑错分类的不同后果,为使总的损失最小,有时宁肯将错分率加大。因此引入风险、损失这些概念,以便在决策时兼顾不同后果的影响。在实际中计算损失与风险是复杂的,在使用数学公式计算时,往往用赋予不同权值来表示。在做出决策时,要考虑所承担的风险。基于最小风险的贝叶斯决策规则是为了体现这一点而产生的。

3、近邻准则

近邻准则是分段线形判别函数的一种典型方法。这种方法主要依据同类物体在特征空间具有聚类特性的原理。同类物体由于其性质相近,它们在特征空间中应具有聚类的现象,因此可以利用这种性质产生分类决策的规则。例如有两类样品,可以求出某一类的平均值,对于任何一个未知样品,先求出它到各个类的平均值距离,判断距离哪个类近就属于哪个类。

4、Fisher准则

根据两类样品一般类内密集,类间分离的特点,寻找线性分类器最佳的法线向量,使两类样品在该方向上的投影满足类内尽可能密集,类间尽可能分开。相反如果把它们投影到任意一根直线上,有可能不同类别的样品就混在一起了,无法区分。如果把投影直线旋转一定的角度,就有可能找到一个方向,样品投影到这个方向直线上,各类样品就能很好的分开。如何找到一个最好方向及如何实现向最好方向投影的变换,这正是Fisher算法要解决的基本问题。

5、感知准则

感知准则函数以使错分类样品到分界面距离之和最小为原则。采用错误提供信息实现迭代修正的学习原理。用错分类提供的信息修正错误,这种思想对机器学习的发展以及人工神经元网络的发生发展产生深远影响。其优点是通过错分类

样品提供的信息对分类器函数进行修正,这种准则是人工神经元网络多层感知器的基础。

2.2.3分类器设计基本方法

在d 维特征空间已经确定的前提下,讨论的分类器设计问题是一个选择什么准则,使用什么方法,将已确定的 d 维特征空间划分为决策域的问题。分类器设计有两种基本方法:模板匹配法和判别函数法。

1、模板匹配法

将待分类样品与标准模板进行比较,看与哪个模板匹配程度更相似,从而确定待测试样品的分类。而近邻准则在原理上属于模板匹配。它将训练样品集中的每个样品都作为模板,用测试样品与每个模板做比较,看与哪个模板最相似(即为近邻),就按最近似的模板的类别作为自己的类别。

2、判别函数法

设计基于判别函数法的分类方法有两种:基于概率统计的分类法和几何分类法。

①直接使用Bayes 决策需要首先得到有关样品总体分布的知识,包括各类先验概率P (w 1)及类条件概率密度函数,计算出样品的后验概率P (w 1|X ),并以此作为产生判别函数的必要数据,设计出相应的判别函数与决策面。当各类样品近似于正态分布时,可以算出使错误率最小或风险最小的分界面及相应的分界面方程。因此如果训练样品处于近似的正态分布,可以用Bayes 决策方法对分类器进行设计。

②几何分类法

由于一个模式通过某种变换映射为一个特征向量后,该特征向量可以理解为特征空间的一个点,在特征空间中,属于一个类的点集,总是在某种程度上与属于另一个类的点集相分离,各个类之间是确定可分的。因此如果能够找到一个分离函数(线性或非性形函数),把不同类的点集分开,则分类任务就解决了。几何分类器不依赖于条件概率密度的知识,可以理解为通过几何的方法,把特征空间分解为相应与不同类别的子空间。而且呈线形的分离函数,将使计算简化。分离函数又分为线性判别函数和非线性判别函数。 3.4 判别函数

无论是设计一个基于概率统计的分类器,还是设计一个几何分类器,最终都转化为判别函数的形式。

1、二类情况

对于只有简单的两类情况,判别函数形式如图2-1所示,根据计算结果的符号将X 分类。

图2-1 两类分类器形式

d

X 1 X 2 Xn

+1W 1

-1W 2 决策

判别计算

阀值单元

假定判别函数d (X )是X 的线性函数,d (X )=W T X+W 0,用矢量 X=

)12,,...,n x x x T

来表示模式,一般的线性判别函数形式为:

1122()d X x x x ωωωω=++n n n+1…++

(3.3)

式中W 0=()12,,T

ωωωn …,称为权矢量或参数矢量。

2、多类情况

对于多类别问题,假如有M 类模式12ωωωm ,,…,,它们对应于M 类图像。对于M 个类别,就要给出M 个判别函数:12(),(),d X d X d X M …,(),各个判别函数构成分类器,基本形式如图3-1所示:

图3-2 判别函数构成的多类分类器

对于线性情况,判别函数形式为

1122101()T

T

n n n n d X x x x W X W X

ωωωωω++=++++=+=… (3.4)

其中12(,,,,1)T n X x x x =…,121(,,,)T n W ωωω+=…。

3.5训练与学习

所谓模式识别的学习与训练是从训练样品提供的数据中找出某种数学式子的最优解,这个最优解使分类器得到一组参数,按这组参数设计的分类器使人们设计的某种准则达到极值。确定分类决策的具体数学公式是通过分类器设计这个过程确定的。这个过程称为训练与学习的过程。

训练与学习的过程中的训练集是指一个已知的样品集,在监督学习方法中用它来开发模式分类器。在本系统中,自己手写的50个汉字字符,从这50个字符中提取信息组成特征库,这50个字符就是训练集。

训练与学习的过程中的测试集就是识别时随机用手写的汉字。

d 1

d 2 dM

MAX/MIN

X 1

X 2 Xn

最值选择器

决策

第三章贝叶斯方法应用于手写体数字识别3.1贝叶斯由来

贝叶斯(R.T.Bayes,1702—1761)学派奠基性的工作,是英国学者贝叶斯的一篇具有哲学性的论文——《关于几率性问题求解的讨论》。著名数学家拉普拉斯利用贝叶斯的方法导出了重要的“相继律”,从而引起人们对贝叶斯的方法和理论的重视。尽管利用贝叶斯方法可以推导出很多有意义的结果,但是,由于理论上和实际应用中存在很多问题,在19世纪,贝叶斯理论并未被普遍接受。进入20世纪,意大利的菲纳特、英国的杰弗莱、古特、萨凡奇、林德莱对贝叶斯学派的形成做出了重要贡献,1958年英国历史最长的统计杂志Biometrika重新全文刊载了贝叶斯的论文。20世纪50年代,罗宾斯(H.Robbins)将经典统计学派的方法和贝叶斯学派的方法进行融合,提出了经验贝叶斯方法(EB方法)。如今,贝叶斯学派的思想方法已渗透到了许多学科。

贝叶斯理论在人工智能、机器学习、数据挖掘等方面也有广泛应用。20世纪80年代,贝叶斯网络被用于专家系统的知识表示,90年代可学习的贝叶斯网络被用于数据挖掘和机器学习。涉及因果推理、不确定性知识表达、聚类分析等方面的贝叶斯方法的文章大量涌现。并且出现了专门研究贝叶斯理论的组织和学术刊物ISBA。

贝叶斯分类是一种统计学分类方法,可以预测类成员关系的可能性,如给定样本属于一个特定类的概率。目前,贝叶斯分类方法已在文本分类、字母识别、经济预测等领域获得了成功的应用。贝叶斯方法正在以其独特的不确定性知识表达形式、丰富的概率表达能力、综合先验知识的增量学习等特性成为众多数据挖掘方法中最引人注目的焦点之一。

3.2贝叶斯公式

贝叶斯公式建立起先验概率和后验概率的联系。先验概率是指根据历史资料或主观判断确定的各事件发生的概率,由于没能经过实验证实,属于检验前的概率,所以称为先验概率。先验概率一般分为两类,一是客观先验概率,指利用历史资料计算得到的概率;二是主观先验概率,指在没有历史资料或历史资料不全的情况下,仅仅凭借主观经验判断得到的概率。

后验概率是指利用贝叶斯公式,结合调查等方式获取了新的附加信息,对先验概率进行修正后得到的更符合实际的概率。

1. 先验概率)

P

(w i

先验概率)

P针对M个事件出现的可能性而言,不考虑其他任何条件。

(w i

例如,由统计资料表明总药品数为N,其中正常的药品数位N

,异常药品数位

1

N2,则:

N

P N

P N

w N

w 2

21

1)()(=

=

我们称)(1

w P 及)(2w P 为先验概率。显然在一般情况下正常药品占比例大,

)()(21w w P P >。

仅按先验概率来决策,就会吧所有药品都划归为正常药品,并没有达到将正常药品与异常药品分开的目的。这表明由先验概率所提供的信息

太少。

2.贝叶斯公式也称为后验概率公式或逆概率公式,有几种不同的形式。通常采用事件形式或随机变量形式表示。 2.1.事件形式

设A 1, A 2,…, A n 互不相容,并且有1n

i i A ==Ω

(必然事件),则对于任一事件B ,有

()()()()

()()

()()

∑==

=

n

j j

i

i i i i i A B P A P A B P A P B P A B P A P B A P 1

(i =1, 2,…, n ) (8.14)

2.2随机变量形式

设x 和θ为两个随机变量,x 是观测向量,θ是未知参数向量,其联合分布密度是p (x ,θ),p (x |θ)是x 对θ的条件密度,π (θ)是θ的先验分布密度,于是θ对x 的条件密度p (θ|x )为

()()()

()()?=

θ

θθπθθπθd x p x p x p (8.15)

贝叶斯假设指出,在没有任何关于θ的信息时,可以认为θ的先验分布是均匀分布。当然,确定先验分布的准则还包括杰弗莱准则、最大熵准则、共轭分布族等。总之,贝叶斯方法的重点在于研究如何合理地使用先验信息。

3.3贝叶斯公式Bayes 决策理论:

在分类的时候难免出现错分类的情况,如何做出合理的判决就是Bayes 决策理论所要讨论的问题,其中具有代表性的是最小错误概率的Bayes 决策[3] 基于最小错误率的贝叶斯决策:

假定得到一个待识别量的特征X 后,每个样品X 有n 个特征,即

),...,(21x x x n X T

=

,通过样品库,计算先验概率)(w i P 及类别条件概率密度函

数)|(w i X P ,得到呈现状态X 时,该样品分属各类别的概率,显然这个概率值

可以作为识别对象判属的依据,从后验概率分布图4—4可见。在X 值小时,药品被判为正常比较合理的,判断错误的可能性小。基于最小错误概率的贝叶斯决策就是按后验概率的大小判别的。这个判别又可以根据类别数目,写成不同的集中等价形式。

1.两类问题

若两类样品属于w w 21,类中的一类,已知两类的先验概率分别为)(1

w P ,

)(2w P 。两类的类条件概率密度为)|(1w X P ,)|(2w X P .则任给一X 。判别X 的

类别。由贝叶斯公式可知:

)(/)()|()|(X P P X P X P w w w j j j = 由全概率公式可知

)()|()(1

w w

j M

j j

p X P X P ∑==

其中M 为类别。 对于两类问题

)()|()()|()(2211w w w w P X P P X P X P += 所以用后验概率来判别为

w w w w w X X X p X p X P 12221)|()

|()|(∈∈?

??

???><

判别函数还有另外两种形式。

(1)似然比形式

w w w w w w X X P P X p X p X l 2

11221)()

()|()|()(∈∈???

??

?<>=

其中上面公式中的)(X l 在统计学中称为似然比,而)

()(12w w p p 称为似然比阀值。

(2)对数形式

w w w w w w w w X X p P p P X X P 21221221)

()(ln )

()(ln )|ln()|(ln ∈∈?

?????-<->-

上面三种判别函数是一致的,也可以用后验概率来表示判别函数。

2.多类问题

现在讨论多类问题的情况。判别函数的一般形式如下图:

若样本分为M 类w w w M ,...,,21,各类的先验概率分别为

)(1

w P ,)(2

w P ,...)(w M

P ,各类的类条件概率密度分别为)|(1w X P ,

)|(2w X P ,

...)|(w M X P ,就有M 个判别函数。在取得一个观察特征X 之后,在特征X 的条件下,看哪个类的概率最大,就应该把X 归于概率最大的那

个类。因此对于任一模式X,可以通过比较各个判别函数来确定X 的类别。

d 1

d 2 dM

MAX/MIN

X 1 X 2 Xn

最值选择器

决策

}{w w w w w i i

i

M

j i i X X P P X P P ∈?

=

≤≤)|()()|()(m a x 1 M i ,...2,1=

就是把X 代入M 个判别函数中,看哪个判别函数最大,就把X 归于这一类。 判别函数的对数形式为:

w w w w w i i i M

j i i X X P P X P P ∈?+=

+≤≤)}|(ln )({ln )|(ln )(ln max

1

M i ,...2,1= 由于先验概率通常是很容易求出来的,贝叶斯分类器的核心问题就是求出类条件概率密度)|(w i X P 如果求出了条件概率,则后验概率就可以求出了,判别问题就可以解决了。在大多数情况下,类条件密度可以采用多维变量的正态密度函数来模拟。 在工程上的许多问题中,统计数据往往满足正态分布规律,多维变量的正态密度函数为: )]()

(2

1exp[|

|)

2(1)(1

2

/12

/μμπ---

=-X X s X P S

T

N

其中:

时:

所以当样品呈整台分布

的行列式是的逆矩阵

是维协方差矩阵

为维特征向量

为S S S S X X E S X T

N

X

X

X ||N ])(),[(N ),...

,

(12

1---==μμ

所以此时的正态分布的贝叶斯分类器判别函数为:

)()|()(w w h

i i i

p X P X =

|}

|ln 2

12ln 2)()

(2

1{|

|ln 2

12ln 2)()

(2

1)

()]()

(2

1exp[|

|1

)

(1)(1)

(1)()

(1)(2

/12

/max

2S S

S S

w S

s I I

T

N

I i i

T

i i

T

i n n w X X w X X n w X X w X X p w X X w X X I I i i i i -----

=

-----

=---

=

-≤≤--πππ

3.4贝叶斯应用于的手写体数字理论部分:

3.4.1.特征描述:

在模式识别技术中,被观测的每个对象称为样品,例如本文中的每个手写数字可以作为一个样品,共写了10个数字,所以就有10个样品(X 1,X 2,X 3,X 4,X 5,X 6,X 7,X 8,X 9,X 10),一共有10个不同的类别。对于一个样品来说,必须确定一些与识别有关的因素作为研究的根据,每一个因素称为一个特征。模式就是样品所具有的特征描述。模式的特征集由处于同一个特征空间的特征向量表示,特征向量的每个元素称为特征,该向量也因此称为特征向量。一般用小写字母x, y, z 来表示特征。如果一个样品X 有n 个特征,则可把X 看成一个n 维列向量,该向量称为特征向量X ,记作:

X=12...n

x x x ?? ? ? ?

? ? ? ? ???

=()12,,...,n x x x T

(1.1)

抽取图像特征的目的是为了进行分类,识别图像。也就是把图像变成n 维空间的一个向量,实际上就是看成n 维空间中的一个点,这样有利于从几何上考虑问题,计算上比较方便。

如果一个对象的特征观察值为{x 1,x 2,…,x n },它可构成一个n 维的特征向量值X ,即X={x 1,x 2,…,x n }T ,式中x 1,x 2,…,x n 为特征向量X 的各个分量。在模式识别的过程中,要对许多具体对象进行测量,以获得许多观测值,其中有均值、方差、协方差与协方差矩阵。

1.均值

N 个样品的均值可表示为:

()

___

121

1,,N

T

j n

j X X x x x N

==

=∑

…, (1.2)

其中i x 是第i 个特征的平均值,

1

1N

i ij

j x x

N

==

∑ (1.3)

2.方差

方差用来描述一批数的分散程度,第i 个特征的N 个数的方差公式是:

()

2

2

1

1

1

N

i ij

i

j s x x N ==

--∑ (1.4)

3.协方差与协方差矩阵:

在N 个样品中,第i 个特征和第j 个特征之间的协方差定义为:

()()

1

11

N

ij ik

i

jk

j k s x x x

x N

==

---∑ (1.5)

对于同一批样品来说,很明显有:

i j ji s s =

如果一批样品有n 个特征x 1,x 2,…,x n 。求出没两个特征的协方差,总共得

到n 2个值,将这n 2个值排列成以下的n 维方阵,称为协方差矩阵:

111

1n n n n s s

S s

a ?? ?

= ? ???

,协方差矩阵是对称矩阵,而且主对角线元素s ij 就是特征x i 的方差s i 2,i=1,2,3,…,n 。

3.4.2最小错误分类器进行判别分类

写体数字,提取特征后,应用Bayes 分类器进行判别分类。

在手写体数字的识别属于多类情况,可以认为每类样品呈正态分布。 1)求出每一类手写体数字样品的均值:

T n

x i x x x N

w w w w X w X i i i i

i ),...,,(1)(

)

(2)(1)

(==

9,...2,1,0=i 公式中,N i 代表w i 类的样品个数;n 代表特征数目。 2)求每一类的协方差矩阵:

)

)(

(11

)()(

1

x

x

x

x N

s

w w N i i i

k

lk

j

l lj i

i jk

-

--=

∑= n k j ,...2,1,=

公式中,l 代表样品在w i 类中的序号,其中N i l ,...2,1,0=;

特征值;个样品,第类的第

代表

j l w x

i

lj

个特征的平均值;个样品第类的代表

j w N

w x

i

i

j

i )(

特征值;个样品,第类的第

代表

k l w x

i

lk

类的协方差矩阵就是

w i

??????

????????=s s

s s

s s s s

s S

i nn i n i n i

n i i i

n i i i

...

.........

(2)

1

222

2111211

3)计算出每一类的协方差矩阵的逆矩阵S i 1

-以及协方差矩阵的行列式||S i 4)求出每一类的先验概率 N

P N w i

i ≈)( 9,...2,1,0=i

其中:

为样品总数。

的样品数;为数字的先验概率;

为类别为数字N

i i P N

w i

i )(

5)将各个数值代入判别函数:

)()|()(w w h

i i i

p X P X =

|}

|ln 2

12ln 2)()

(2

1{|

|ln 2

12ln 2)()

(2

1)

()]()

(2

1exp[|

|1

)

(1)(1)

(1)()

(1)(2

/12

/max

2S S

S S

w S

s I I

T

N

I i i

T

i i

T

i n n w X X w X X n w X X w X X p w X X w X X I I i i i i -----

=

-----

=---

=

-≤≤--πππ

6)判别函数最大值所对应类别就是手写体数字的类别

第四章手写体数字识别的设计流程及功能的具体实现

4.1 手写体数字识别的流程图

系统设计的第一部分为读取库信息,这一部分是有监督的训练学习过程;第二部分为用户手写输入一个汉字及识别功能。设计流程如图4-1设计流程图所示:

数字样品库

数字样品库存储

文件

手写体数

字输入

特征的提

贝叶斯方

法识别

识别结果图4-1设计流程图

4.2具体功能实现方法如下:

开发环境:vc++6.0

1.数字样品库信息:

1)这些0,到9的数据样品信息是在因特网上下载的,它是对每一个数字提取25个特征。

2)将数字区域平均分为5*5的小区域。

3)计算5*5的每一个小区域中黑像素所占比例,第一行的5个比例值保存到特征的前5个,第二行的对应特征的6~10个,依次类推。

4)读取数据信息库:程序首先打开template.dat文件,然后定义了一个CArchive类的对象,把数据信息读取出来存取在下面的结构中

struct pattern//pattern结构体,保存某个数字类别(0~9)的所有样品特征

{

int number;//该手写数字样品个数

double feature[200][25];//各样品特征,每类手写数字最多有200个样品,每个样品有25个特征

};

5)用户单击“数据库信息” “打开数据库信息”可以看到每个数字的样品个数:然后然后在“数字”和“第几个”中输入数字和第几个样品,单击“显示”就可以查看对应的数字特征(每个区域中黑像素所占的比例)

2.手写体数字输入:

系统中CPen画笔的直径设置为8个像素,画图的区域被限制在视图客户区CRect(0,0),(240,240)矩形内,画笔的位置和图像的数据指针相关联,设鼠标焦点的坐标为Point(x,y),m_pData 为位图的数据指针,则数据指针应变换为:m_pData+240 *y+x,鼠标的被按下(响应消息LButtonDown时)以鼠标焦点为中心,4像素为半径的区域内的像素值都赋值为0,同时刷新视图。

重要的几个函数:

CPen pen(PS_DASH, 8, RGB(255, 0, 0));//画笔函数

dc.MoveTo(m_ptOrigin);//画线函数

dc.LineTo(point);

基于知识库的手写体数字识别

HUNAN UNIVERSITY 课程模式识别 题目基于知识库的手写体数字识别学生姓名 学生学号

专业班级 学院名称 2016 年6 月25 日

基于知识库的手写体数字识别 1案例背景: 手写体数字识别是图像识别学科下的一个分支,是图像处理和模式识别研究领域的重要应用之一,并且具有很强的通用性。由于手写数字的随意性很大,如笔画粗细、字体大小、倾斜角度等因素都有可能直接影响到字符的识别准确率,所以手写体数字识别是一个很有挑战性的课题。在过去的数十年中,研究者们提出了许多识别方法,并取得了一定的成果。在大规模数据统计如例行年检、人口普查、财务、税务、邮件分拣等应用领域都有广阔的应用前景。 本案例实现了手写阿拉伯数字的识别过程,并对手写数字识别的基于统计的方法进行了简要介绍和分析。本文实现的手写字体识别程序具有手写数字图像读取、特征提取、数字模板特征库以及识别功能。 2 理论基础: 2-1手写字体识别方法: 手写体数字识别是一个跨学科的复杂问题,综合了图像处理、模式识别、机器学习等多个领域的知识,其识别过程一般包含图像预处理、特征提取、分类器的设定及其后处理等组成。处理流程如图2-1所示。

图2-1 手写体数子识别流程图 2-2 图像预处理 手写体数字识别的首要工作是图像预处理。在图像预处理过程中需要解决的主要问题有:定位、图像二值化、平滑化(去噪)H J、字符切分、规范化等。图像二值化是指将整个图像呈现出明显的黑白效果。待识别的手写体数字图像在扫描过程中,常会带来一些噪声,用不同的扫描分辨率得到的数字图像,其质量也各不相同,故而要先将这些干扰因素排除掉。另外,还需要正确分割整幅文档图像中的手写体数字,而分割后的数字大小、字体常各不相同,故还需进行归一化处理。 2-3 特征提取 特征提取的目的是从经过预处理后的数字图像中,提取出用以区分与其它数字类别的本质属性并数值化,形成特征矢量的过程。常见的手写体数字特征有:模板特征、统计特征、结构特征和变换特征。 2-4 分类器 不同的分类方式对应不同的分类器,可选的分类器有神经网络、支持向量机

毕业论文计算机手写数字识别技术完整版

毕业论文计算机手写数 字识别技术 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

合肥学院 2007届毕业设计(论文) 基于模板匹配算法的字符识别系 设计(论文)题 目 统研究与实现 院系名称计算机科学与技术系 专业(班级)计算机科学与技术 2003级1班 姓名(学号)宋飞(0) 指导教师赵大政 系负责人袁暋 二O O七年五月二十三日 摘要 自从计算机问世以来,让机器具有模式识别能力一直是计算机科学家们的努力方向。研究表明,对视觉和听觉信息的处理过程,不仅仅是一个感知过程,也是一个认知过程。因此,研究模式识别,是理解人类智能的本质的重要途径。字符识别是一个传统和典型的模式识别问题,脱机手写数字识别是一个典型的大类别的模式识别问题。手写体数字具有不同字符字型相差不大、相同字符有多种不同写法、数字没有上下文关系等等特点,使得脱机手写体数字识别成为识别领域最大的难题和最终的目标。在这种大类别识别的研究中,传统上大多采用模板匹配的方法来解决问题。而在模板匹配算法中,得计算其特征值。图像需要经过二值化,细化等预处理。 关键字模板匹配;特征值;细化;二值化 ABSTRACT Since computer appeared, it has been an effort direction for scientist to let the computer has the ability of pattern recognition. Researching indicates that the procedure to deal with seeing and hearing not only a procedure of perception but also cognition. Therefore, studying pattern recognition is an important way in understanding the mankind’s intelligence

(完整版)手写体数字识别系统设计毕业设计

石河子大学 信息科学与技术学院毕业论文 课题名称:手写体数字识别系统设计 学生姓名: 学号: 学院:信息科学与技术学院

专业年级:电子信息工程2007级指导教师: 职称: 完成日期:二○一一年六月十一日

手写体数字识别系统设计 学生: 指导教师: [摘要] 随着科学技术的迅速发展,在邮政编码、统计报表、财务报表、银行票据等处理大量字符信息录入的场合,手写数字识别系统的应用需求越来越强烈,如何将数字方便、快速地输入到计算机中已成为关系到计算机技术普及的关键问题。本文设计实现了一个基于Matlab软件的手写体数字识别系统,采用模块化设计方法,编写了摄像头输入、直接读取图片、写字板输入三个模块,利用摄像头等工具,将以文本形式存在的手写体数字输入进计算机,完成对手写体数字图片的采集,并设计了一种手写数字识别方法,对手写体数字图像进行预处理、结构特征提取、分类识别,最终以文本形式输出数字,从而实现手写体数字的识别。 [关键词] 预处理,结构特征提取,分类识别,手写体数字识别

Handwritten Digit Recognition System Students: Teacher:

Abstract:With the rapid development of science and technology, in zip code, statistics, reports, financial statements, Bank bills dealing with a large number of characters, such as information recorded occasions, handwritten digit recognition system of requirement has become stronger and stronger, how easily and quickly the number entered in the computer has become a key issue relates to the popularization of computer technology. This article design implementation has a based on Matlab software of handwriting body digital recognition system, used module of design method, write has camera entered, and directly read pictures, and write Board entered three a module, using camera, tools, will to text form exists of handwriting body digital entered into computer, completed on handwriting body digital pictures of collection, and design has a handwriting digital recognition method, on handwriting body digital image for pretreatment, and structure features extraction, and classification recognition, eventually to text form output digital, to implementation handwriting body digital of recognition. Key words: Pretreatment, structure feature extraction, classification and recognition, handwritten digit recognition.

手写数字识别系统的设计与实现

] 手写数字识别系统的设计与实现 摘要本手写数字识别系统是一个以VISUAL STUDIO C++ 为编译环境,使用MFC进行图形图像界面开发的系统。主要功能是通过在点击手写数字识别菜单下的绘制数字标签弹出的绘制数字窗口中完成数字的手写,在此窗口中可以进行数字的保存及清屏,然后通过文件菜单中的打开标签打开所绘制的数字,从而进行数字的预处理,其中包括灰度化及二值化处理,然后进行特征提取,最后实现数字的识别。本系统的界面设计友好,流程正确,功能也较为完善。实验结果表明,本系统具有较高的识别率。 关键词:绘制数字;预处理;特征提取;特征库;数字识别 / ;

目录 前言 (1) 概述 (2) 1 需求分析 (4) 功能需求分析 (4) , 性能需求分析 (4) 数据需求分析 (5) 相关软件介绍 (5) 2 手写数字识别系统的设计与基本原理 (6) 系统整体功能模块设计 (6) 手写数字识别系统的基本原理 (6) 数字图像的绘制 (6) 图像的预处理 (6) ) 图像的特征提取 (7) 特征库的建立 (8) 图像数字的识别 (8) 3 手写数字识别系统程序设计 (8) 数字图像的绘制 (8) 数字的特征提取 (15) 模板特征库的建立 (18) 数字的识别 (20) (

总结 (23) 致谢 (24) 参考文献 (25)

前言 自上世纪六十年代以来,计算机视觉与图像处理越来越受到人们的关注,并逐渐成为一门重要的学科领域。而作为它们的研究对象的数字图像,也因为它含有研究目标的丰富信息而成为越来越重要的研究对象。图像识别的目标是用计算机自动完成某些信息的处理,用来替代人工去处理图像分类及识别的任务。 手写数字识别是图像识别学科下的一个分支,是图像处理和模式识别领域研究的课题之一,由于其具有很强的实用性一直是多年来的研究热点。由于手写体数字的随意性很大,例如,笔画的粗细,字体的大小,倾斜等等都直接影响到字符的正确识别,所以手写体数字识别是一个很有挑战性的课题。在过去的数十年中,研究者们提出了许多的识别方法,取得了较大的成果。手写体数字识别实用性很强,在大规模数据统计(如例行年检,人口普查),财务,税务,邮件分拣等等应用领域中都有广阔的应用前景。本课题拟研究手写体数字识别的理论和方法,开发一个小型的手写体数字识别系统。 在研究手写体数字识别理论和方法的基础上,开发这样一个小型的手写体数字识别系统需要完成以下主要方面的研究与设计工作:手写数字绘制的问题、数字的预处理问题、特征提取问题、特征库的建立问题、数字识别问题。

手写体数字的识别

手写体数字识别 第一章绪论 (4) 1.1课题研究的意义 (4) 1.2国内外究动态目前水平 (4) 1.3手写体数字识别简介 (5) 1.4识别的技术难点 (5) 1.5主要研究工作 (6) 第二章手写体数字识别基本过程: (6) 2.1手写体数字识别系统结构 (6) 2.2分类器设计 (7) 2.2.1 特征空间优化设计问题 (7) 2.2.2分类器设计准则 (8) 2.2.3分类器设计基本方法 (9) 3.4 判别函数 (9) 3.5训练与学习 (10) 第三章贝叶斯方法应用于手写体数字识别 (11) 3.1贝叶斯由来 (11) 3.2贝叶斯公式 (11) 3.3贝叶斯公式Bayes决策理论: (12) 3.4贝叶斯应用于的手写体数字理论部分: (16) 3.4.1.特征描述: (16) 3.4.2最小错误分类器进行判别分类 (17) 第四章手写体数字识别的设计流程及功能的具体实现 (18) 4.1 手写体数字识别的流程图 (18) 4.2具体功能实现方法如下: (19) 结束语 (25) 致谢词 (25) 参考文献 (26) 附录 (27)

摘要 数字识别就是通过计算机用数学技术方法来研究模式的自动处理和识别。随着计算机技术的发展,人类对模式识别技术提出了更高的要求。特别是对于大量己有的印刷资料和手稿,计算机自动识别输入己成为必须研究的课题,所以数字识别在文献检索、办公自动化、邮政系统、银行票据处理等方面有着广阔的应用前景。 对手写数字进行识别,首先将汉字图像进行处理,抽取主要表达特征并将特征与数字的代码存储在计算机中,这一过程叫做“训练”。识别过程就是将输入的数字图像经处理后与计算机中的所有字进行比较,找出最相近的字就是识别结果。 本文主要介绍了数字识别的基本原理和手写的10个数字字符的识别系统的设计实现过程。第一章介绍了数字识别学科的发展状况。第二章手写体数字识别基本过程。第三章贝叶斯方法应用于手写体数字识别。第四章手写体数字识别的设计流程及功能的具体实现,并对实验结果做出简单的分析。 关键词:手写体数字识别分类器贝叶斯vc++6.0 错误!未找到引用源。

手写体数字识别系统的设计与实现

大学生研究计划项目 论文报告 项目名称:_手写体数字识别系统的设计与实现 负责人:_________ _______________ 学院/专业:_____ ______ 学号:____ ________ 申请经费:_____ _________________ 指导教师:______ _______ 项目起止时间:2011年6月-2012年3月

摘要 手写体数字识别系统依托计算机应用软件为载体,利用C++程序设计的相关知识,运用模块设计等相关技术,最终完成手写体设计系统的程序综合设计。 关键字:手写体数字处理模式识别程序设计 一、论题概述 模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人(及某些动物)对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员的注意,成为人工智能研究的一个重要方面。 字符识别是模式识别的一个传统研究领域。从50年代开始,许多的研究者就在这一研究领域开展了广泛的探索,并为模式识别的发展产生了积极的影响。 字符识别一般可以分为两类:1.联机字符识别;2.光学字符识别(Optical Chara- cter Recognition,OCR)或称离线字符识别。在联机字符识别中,计算机能够通过与计算机相连的输入设备获得输入字符笔划的顺序、笔划的方向以及字符的形状,所以相对OCR来说它更容易识别一些。但联机字符识别有一个重要的不足就是要求输入者必须在指定的设备上书写,然而人们在生活中大部分的书写情况是不满足这一要求的,比如人们填写各种表格资料,开具支票等。如果需要计算机去认识这些己经成为文字的东西,就需要OCR技术。比起联机字符识别来,OCR不要求书写者在特定输入设备上书写,它可以与平常一样书写,所以OCR 的应用更为广泛。OCR所使用的输入设备可以是任何一种图像采集设备,如CCD、扫描仪、数字相机等。通过使用这类采集设备,OCR系统将书写者已写好的文字作为图像输入到计算机中,然后由计算机去识别。由于OCR的输入只是简单的一副图像,它就不能像联机输入那样比较容易的从物理特性上获得字符笔划的顺序信息,因此OCR是一个更具挑战性的问题。 数字识别是多年来的研究热点,也是字符识别中的一个特别问题,它是本文研究的重点。数字识别在特定的环境下应用特别广泛,如邮政编码自动识别系统,税表和银行支票自动处理系统等。一般情况下,当涉及到数字识别时,人们往往要求识别器有很高的识别可靠性,特别是有关金额的数字识别时,如支票中填写

手写数字识别实践指导手册

手写数字系统实践指导手册 1 问题描述 设计一个简单的手写数字识别系统,能够识别手写输入的数字1-9并且能够识别选中的文本文件中的数字,应具有简单方便的操作界面,输入输出等。 1.1功能需求分析 通过分析,以及从用户的角度考虑,系统应该具有以下功能: (1)数字的手写输入。作为一个手写数字识别系统,首先应该能够让用户过绘制窗口进行数字绘制,系统得到用户的手写输入进行处理。 (2)直接选择文件。用户还可以选择系统中的文本文件进行处理。 (3)数据预处理。包括计算数据大小、二值化、格式化处理等。 (4)数字提取。将经过二值化后的图像中的个数字区域进行提取,只有能够将数字进行准确的提取,才能将其一一识别。 (5)基准库的选择与建立。选择一个可供系统训练和测试的样本库非常重要,本系统的训练集和测试集选择的是《机器学习实战》中所给的数据。 (6)识别数字。经过训练集进行训练后,使用knn算法对需要识别的数字识别。 2 数据集获取 ●任务要求: 从网上爬取或者下载适合进行手写数字识别系统的训练集和测试集 ●实践指导: 方式一:自己从网上找适合的数据下载 方式二:推荐数据集:“手写数字数据集的光学识别”一文中的数据集合,该文登载与2010年10月3日的UCI机器学习资料库中https://www.360docs.net/doc/2e1161998.html,/ml

3 功能设计与实现 3.1手写数字识别系统结构图: 图一:系统结构图 3.2识别用户选择手选文件功能设计与实现 ●任务要求: 用户可以自己从电脑中选择文本文件进行识别。 ●实践指导: KNN分类器的构造思路及原理如下: 1)选择训练集和测试集。系统所采用的数据集选用的是“手写数字数据集的光学识别”一文中的数据集合。0-9每个数字大约有200个训练数据20个测试数据。数字的文本格式如图所示。

基于知识库的手写体数字识别

HUNAN UNIVERSITY 2016 年6 月 25 日 课程 模式识别 题 目 基于知识库的手写体数字识别 学生姓名 学生学号 专业班级 学 院 名 称

基于知识库的手写体数字识别 1案例背景: 手写体数字识别是图像识别学科下的一个分支,是图像处理和模式识别研究领域的重要应用之一,并且具有很强的通用性。由于手写数字的随意性很大,如笔画粗细、字体大小、倾斜角度等因素都有可能直接影响到字符的识别准确率,所以手写体数字识别是一个很有挑战性的课题。在过去的数十年中,研究者们提出了许多识别方法,并取得了一定的成果。在大规模数据统计如例行年检、人口普查、财务、税务、邮件分拣等应用领域都有广阔的应用前景。 本案例实现了手写阿拉伯数字的识别过程,并对手写数字识别的基于统计的方法进行了简要介绍和分析。本文实现的手写字体识别程序具有手写数字图像读取、特征提取、数字模板特征库以及识别功能。 2 理论基础: 2-1手写字体识别方法: 手写体数字识别是一个跨学科的复杂问题,综合了图像处理、模式识别、机器学习等多个领域的知识,其识别过程一般包含图像预处理、特征提取、分类器的设定及其后处理等组成。处理流程如图2-1所示。 图2-1 手写体数子识别流程图 2-2 图像预处理 手写体数字识别的首要工作是图像预处理。在图像预处理过程中需要解决的主要问题有:定位、图像二值化、平滑化(去噪)H J、字符切分、规范化等。图像二值化是指将整个图像呈现出明显的黑白效果。待识别的手写体数字图像在扫描过程中,常会带来一些噪声,用不同的扫描分辨率得到的数字图像,其质量也各不相同,故而要先将这些干扰因素排除掉。另外,还需要正确分割整幅文档图像中的手写体数字,而分割后的数字大小、字体常各不相同,故还需进行归一化处理。 2-3 特征提取 特征提取的目的是从经过预处理后的数字图像中,提取出用以区分与其它数字类别的本质属性并数值化,形成特征矢量的过程。常见的手写体数字特征有:模板特征、统计特征、结构特征和变换特征。

手写数字识别的原理及应用

手写数字识别的原理及应用 林晓帆丁晓青吴佑寿 一、引言 手写数字识别(Handwritten Numeral Recognition)是光学字符识别技术(Optical Character Recognition,简称OCR)的一个分支,它研究的对象是:如何利用电子计算机自动辨认人手写在纸张上的阿拉伯数字。 在整个OCR领域中,最为困难的就是脱机手写字符的识别。到目前为止,尽管人们在脱机手写英文、汉字识别的研究中已取得很多可喜成就,但距实用还有一定距离。而在手写数字识别这个方向上,经过多年研究,研究工作者已经开始把它向各种实际应用推广,为手写数据的高速自动输入提供了一种解决方案。 二、研究的实际背景 字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多应用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。这几年来我国开始大力推广的“三金”工程在很大程度上要依赖数据信息的输入,如果能通过手写数字识别技术实现信息的自动录入,无疑会促进这一事业的进展。因此,手写数字的识别研究有着重大的现实意义,一旦研究成功并投入应用,将产生巨大的社会和经济效益。 三、研究的理论意义 手写数字识别作为模式识别领域的一个重要问题,也有着重要的理论价值: 1.阿拉伯数字是唯一的被世界各国通用的符号,对手写数字识别的研究基本上与文化背景无关,这样就为各国,各地区的研究工作者提供了一个施展才智的大舞台。在这一领域大家可以探讨,比较各种研究方法。 2.由于数字识别的类别数较小,有助于做深入分析及验证一些新的理论。这方面最明显的例子就是人工神经网络(ANN)------相当一部分的ANN模型和算法都以手写数字识别作为具体的实验平台,验证理论的有效性,评价各种方法的优缺点。 3.尽管人们对手写数字的识别已从事了很长时间的研究,并已取得了很多成果,但到目前为止机器的识别本领还无法与人的认知能力相比,这仍是一个有难度的开放问题(Open problem)。

手写数字识别的实现

燕山大学 课程设计说明书 题目:手写数字识别的实现 学院(系): 年级专业: 学号: 学生姓名: 指导教师: 教师职称: 2012年 6 月 29 日

燕山大学课程设计(论文)任务书 院(系):电气工程学院基层教学单位:自动化仪表系 2012年 6 月 29 日

燕山大学课程设计评审意见表

数字图像中手写数字识别的实现 摘要: 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像中手写阿拉伯数字的识别和其他模式的识别所采用的方法是多种多样的。本文论述了图像中手写阿拉伯数字的识别过程,并对手写数字识别的三种方法(基于规则的方法、基于统计的方法和基于神经网络的方法)进行了简要介绍和分析,并通过实例重点对基于规则的方法进行了描述。最后是对这些方法的简要评价。 关键字: 二值化欧拉数矩阵matlab 目录

一、手写数字图像识别简介 (3) 二、正文:手写数字图像识别的主要流程 (3) 第一步................ .. (3) 第二步 (4) 第三步 (4) 第四步 (4) 三、程序 (4) 四、总结体会 (7) 五、参考文献.........................................................................................................,8 (如有不懂加QQ453543115) 一、手写数字图像识别简介 手写阿拉伯数字识别是图像内容识别中较为简单的一个应用领域,原因有被识别的模式数较少(只有0到9,10个阿拉伯数字)、阿拉伯数字笔画少并且简单等。手写阿拉伯数字的识别采用的方法相对于人脸识别、汉字识别等应用领域来说可以采用更为灵活的方法,例如基于规则的方法、基于有限状态自动机的方法、基于统计的方法和基

cnn实现手写数字识别

import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data In [ ]: mnist = input_data.read_data_sets('MNIST_data',one_hot =Tr ue) batch_size =100 n_batch = mnist.train.num_examples // batch_size def weight_variable(shape): initial = tf.truncated_normal(shape,stddev =0.1) return tf.Variable(initial) def bias_variable(shape): initial = tf.constant(0.1,shape=shape) return tf.Variable(initial) def conv2d(x,W): return tf.nn.conv2d(x,W,strides=[1,1,1,1],padding='SAME') #strides[0] = strides[3] = 1: def max_pool_2x2(x): return tf.nn.max_pool(x,ksize=[1,2,2,1],strides=[1,2,2,1], padding='SAME') #ksize #ksize: A list of ints that has length >= 4. The size of th e window for each dimension o f the input tensor. #In general for images, your input is of shape [batch_size, 64, 64, 3] for an RGB image of 64x64 pixels. #The kernel size ksize will typically be [1, 2, 2, 1] if yo u have a 2x2 window over which you take the maximum. # On the batch size dimension and the channels dimension, k size is 1 because we don't want to take the maximum over mu ltiple examples, # or over multiples channels. #strides # The first 1 is the batch: You don't usually want to skip over examples in your batch, or you shouldn't have included them in the first place. :) # The last 1 is the depth of the convolution: You don't usu ally want to skip inputs, for the same reason. x = tf.placeholder(tf.float32,[None,784])#none为任意维度 y = tf.placeholder(tf.float32,[None,10])

手写数字识别(mxnet官网例子)

手写数字识别 简介:通过MNIST数据集建立一个手写数字分类器。(MNIST对于手写数据分类任务是一个广泛使用的数据集)。 1.前提:mxnet 0.10及以上、python、jupyter notebook(有时间可以jupyter notebook的用法,如:PPT的制作) pip install requests jupyter ——python下jupyter notebook 的安装 2.加载数据集: import mxnet as mx mnist = mx.test_utils.get_mnist() 此时MXNET数据集已完全加载到内存中(注:此法对于大型数据集不适用) 考虑要素:快速高效地从源直接流数据+输入样本的顺序 图像通常用4维数组来表示:(batch_size,num_channels,width,height) 对于MNIST数据集,因为是28*28灰度图像,所以只有1个颜色通道,width=28,height=28,本例中batch=100(批处理100),即输入形状是(batch_size,1,28,28) 数据迭代器通过随机的调整输入来解决连续feed相同样本的问题。测试数据的顺序无关紧要。 batch_size = 100 train_iter=,mnist['train_label'], batch_size, shuffle=True) val_iter = , mnist['test_label'], batch_size) ——初始化MNIST数据集的数据迭代器(2个:训练数据+测试数据)

3.训练+预测:(2种方法)(CNN优于MLP) 1)传统深度神经网络结构——MLP(多层神经网络) MLP——MXNET的符号接口 为输入的数据创建一个占位符变量 data = data = ——将数据从4维变成2维(batch_size,num_channel*width*height) fc1 = , num_hidden=128) act1 = , act_type="relu") ——第一个全连接层及相应的激活函数 fc2 = , num_hidden = 64) act2 = , act_type="relu") ——第二个全连接层及相应的激活函数 (声明2个全连接层,每层有128个和64个神经元) fc3 = , num_hidden=10) ——声明大小10的最终完全连接层 mlp = , name='softmax') ——softmax的交叉熵损失 MNIST的MLP网络结构 以上,已完成了数据迭代器和神经网络的申明,下面可以进行训练。超参数:处理大小、学习速率 import logging

自由手写体数字识别系统的设计与实现

自由手写体数字识别系统的设计与实现 戴建辉 信息科学与工程学院,电子信息工程系 指导老师:吴谨 摘要:本文论述并设计实现了一个脱机自由手写体数字识别系统。文中首先对待识别数字的预处理进行了介绍,包括二值化、平滑滤波、规范化、细化等图像处理方法;其次,探讨了如何提取数字字符的结构特征和笔划特征,并详细地描述了知识库的构造方法;最后采用了以知识库为基础的模板匹配识别方法,并以MATLAB作为编程工具实现了具有友好的图形用户界面的自由手写体数字识别系统。实验结果表明,本方法具有较高的识别率,并具有较好的抗噪性能。 关键词:手写体数字;预处理;模式识别;特征提取 Abstrct: This paper describes and designs a free handwritten number recognition system. Firstly, the pretreatment of the character to be recognized is introduced, including binarization, smoothing, normalization and thinning. Next, how to extract the structural features of the numbers is discussed, and we describe the constructing method of repository. Finally, we use the method of template matching, based on repository, to recognize the digital number. Matlab is used as a program tool to realize this free handwritten digital recognition system with friendly graphical user interface. The experimental results show that the rate of the recognition system is high, and the proposed method is robust to noise. Keywords: handwritten number; pretreatment;pattern recognition; feature extraction 1 引言 OCR(Optical Character Recognition)即光学字符识别技术,是通过扫描仪把印刷体或手写体文稿扫描成图像,然后识别成相应的计算机可直接处理的字符。OCR是模式识别的一个分支,按字体分类主要分为印刷体识别和手写体识别两大类。对于印刷体识别又可以分成单一字体单一字号和多种字体多种字号几类。而手写体识别又可分为受限手写体和不受限手写体两类;按识别方式可分为在线识别和脱机识别两类。 字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多应用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类

手写体数字识别方法的研究与实现

手写体数字识别方法的研究与实现 摘要 1引言 手写体数字识别是文字识别中的一个研究课题,是多年来的研究热点,也是模式识别领域中最成功的应用之一。由于识别类型较少,在实际生活中有深远的应用需求,一直得到广泛的重视。近年来随着计算机技术和数字图像处理技术的飞速发展,数字识别在电子商务、机器自动输入等场合已经获得成功的实际应用。尽管人们对手写数字的研究己从事了很长时间的研究,并己取得了很多成果,但到目前为止,机器的识别本领还无法与人的认知能力相比,这仍是一个有难度的开放问题,所以对手写数字识别的进一步研究,寻求如何更高效更准确更节能地实现手写数字的自动录入和识别的解决方案对提高经济效益、推动社会发展都有深远的意义。 近年来, 人工神经网技术发展十分迅速, 它具有模拟人类部分形象思维的能力, 为模式识别开辟了新的途径, 成了模拟人工智能的一种重要方法,特别是它的信息并行分布式处理能力和自学习功能等显著优点, 更是激起了人们对它的极大的兴趣。BP(Back Propagation)网络是神经网络中一种,是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,可以很好地解决非线性问题,在函数逼近、模式识别和数据压缩等方面都有很广泛的应用。我们在认真地研究了神经网络的基本原理和机制的基础上, 结合手写体数字识别这一具体课题, 提出了用BP神经网络方法来实现手写体数字 识别的方案。 2手写体数字识别概述 2.1手写数字识别简述 模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人及某些动物对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员的注意,成为人工智能研究的一个重要方面。 字符识别是模式识别的一个传统研究领域。从50年代开始,许多的研究者就在这一研究领域开展了广泛的探索,并为模式识别的发展产生了积极的影响。 手写体数字识别是多年来的研究热点也是字符识别中的一个特别问题。手写体数字识别在特定的环境下,如邮政编码自动识别系统,税表和银行支票自动处理系统等一般情况。当涉及到数字识别时,人们往往要求识别器有很高的识别可靠性,特别是有关金额的数字识别时,如支票中填写的金额部分,更是如此。因此针对这类问题的处理系统设计的关键环节之一就是设计出高可靠性和高识别率的手写体数字识别方法。这个领域取得了飞速的发展,部分是由于更好的学习算法,部分是由于更优良的训练集。美国国家科学学会(NIST)建立了

手写数字识别系统的设计与实现

手写数字识别系统的设计与实现 摘要本手写数字识别系统是一个以VISUAL STUDIO C++ 6.0为编译环境,使用MFC进行图形图像界面开发的系统。主要功能是通过在点击手写数字识别菜单下的绘制数字标签弹出的绘制数字窗口中完成数字的手写,在此窗口中可以进行数字的保存及清屏,然后通过文件菜单中的打开标签打开所绘制的数字,从而进行数字的预处理,其中包括灰度化及二值化处理,然后进行特征提取,最后实现数字的识别。本系统的界面设计友好,流程正确,功能也较为完善。实验结果表明,本系统具有较高的识别率。 关键词:绘制数字;预处理;特征提取;特征库;数字识别

目录 前言 (1) 概述 (2) 1 需求分析 (4) 1.1 功能需求分析 (4) 1.2 性能需求分析 (4) 1.3 数据需求分析 (5) 1.4 相关软件介绍 (5) 2 手写数字识别系统的设计与基本原理 (6) 2.1 系统整体功能模块设计 (6) 2.2 手写数字识别系统的基本原理 (6) 2.2.1 数字图像的绘制 (6) 2.2.2 图像的预处理 (6) 2.2.3 图像的特征提取 (7) 2.2.4 特征库的建立 (8) 2.2.5 图像数字的识别 (8) 3 手写数字识别系统程序设计 (8) 3.1 数字图像的绘制 (8) 3.2数字的特征提取 (15) 3.3 模板特征库的建立 (18) 3.4 数字的识别 (20) 总结 (23)

致谢.................................... 错误!未定义书签。参考文献 (23)

前言 自上世纪六十年代以来,计算机视觉与图像处理越来越受到人们的关注,并逐渐成为一门重要的学科领域。而作为它们的研究对象的数字图像,也因为它含有研究目标的丰富信息而成为越来越重要的研究对象。图像识别的目标是用计算机自动完成某些信息的处理,用来替代人工去处理图像分类及识别的任务。 手写数字识别是图像识别学科下的一个分支,是图像处理和模式识别领域研究的课题之一,由于其具有很强的实用性一直是多年来的研究热点。由于手写体数字的随意性很大,例如,笔画的粗细,字体的大小,倾斜等等都直接影响到字符的正确识别,所以手写体数字识别是一个很有挑战性的课题。在过去的数十年中,研究者们提出了许多的识别方法,取得了较大的成果。手写体数字识别实用性很强,在大规模数据统计(如例行年检,人口普查),财务,税务,邮件分拣等等应用领域中都有广阔的应用前景。本课题拟研究手写体数字识别的理论和方法,开发一个小型的手写体数字识别系统。 在研究手写体数字识别理论和方法的基础上,开发这样一个小型的手写体数字识别系统需要完成以下主要方面的研究与设计工作:手写数字绘制的问题、数字的预处理问题、特征提取问题、特征库的建立问题、数字识别问题。

手写数字识别代码解释

一. 进行数据预处理 1导入相关库 from keras.datasets import mnist 从keras的datasets中导入mnist数据集 from keras.utils import np_utils 从keras导入将整型标签转换方法utils import numpy as np 导入Python扩充程序库numPy,作为np调用。numPy支持大量的维度数组与矩阵运算,也针对数组运算提供大量的数学函数库。 np.random.seed(10) 设置随机数种子为10 。将随机数发生器初始化为恒定值,以获得可重复结果。 2.读取MNIST数据 (X_train, y_train), (X_test, y_test) = mnist.load_data() 返回手写图片的两个tuple,第一个tuple存储已经人工分类好的图片及标签,标签指出该图片表示的数字(0—9),供训练使用;第二个tuple存储未分类的图片,在用第一个tuple 训练完后,可以对第二个tuple利用神经网络进行分类,根据实验结果的真实值与预测值对比得到相应的损失值,再利用反向传播进行参数更新,再进行分类,然后重复前述步骤直至损失值最小。 元组不能修改 reshape to be [samples][pixels][width][height] X_train = X_train.reshape(X_train.shape[0], 28, 28, 1).astype('float32') X_test = X_test.reshape(X_test.shape[0], 1, 28, 28).astype('float32') 将fetures(数字图像特征值)转换(reshape)为6000 x 28 x 28 x 1的四维矩阵 CNN的输入是4维的张量(可看做多维向量),第一维是样本规模(图像数量),第四维是像素通道(这里为1通道,单色),第二维和第三维是长度和宽度。并将数值归一化和类别标签向量化。 二. 建立模型 1.导入所需模块

手写数字识别的实现

手写数字识别的实现 摘要: 手写数字识别是模式识别的应用之一。文中介绍了手写数字的一些主要特征,具体识别方法是通过主成分分析(PCA)和最近邻方法应用matlab等计算机软件来实现。 关键词:手写数字、主成分分析(PCA)、最近邻方法 1. 手写数字的特征分析 数字类别不但少,而且笔划简单,尤其是手写数字个个差异大。数字识别的关键在于能否找到有效的特征,[2] 就给出了数字的多个特征,选取的特征应具有可分辨能力并尽可能的少,分辨能力在应用中而言就是特征能够使得不同类别的个体在特征值上相差大,同类别特征值相差小。特征值小一方面是为了减少计算量,另一方面也减少了信息冗余。目前研究的手写数字特征主要有笔画密度特征、粗网格特征、重心以及重心距特征、首个黑点位置特征、投影特征以及空间域变换特征等,除了以上特征,也不断的有新的特征[1]被提出。 1.1 数字的特征 1.1.1 单个数字的特征 单个数字特征是指特定数字普遍具有的特征。例如如果数字竖直长度比上横向宽度大于某个值比如 4 ,那么很有可能是数字 1 ,如果数字内有两个封闭的区域则很可能是字8 ,如果只有一个封闭的区域,且封闭区域的重心偏上则很可能是数字9 (同理可判断数字 6 ),以上都是这些数字普遍具有的特征,但因为数字手写的原因,也包含了大量不规则的例子,如图 1 ,则需要进一步 借助其他特征进行识别。 单个数字特征可以辨别出那些具有典型数字特征的手写数字,但计算复杂并且在手写数字识别中误差大,但是作为正式识别过程前的预识别可减少运算量和时间。 1.1.2 笔画密度特征 笔画密度特征是指不同数字在水平方向、竖直方向以及其他角度方向上笔画密度特征。如图 2 数字 1 在竖直方向上笔画密度大,而在水平方向上笔画密度小,而数字8 在倾斜方向上笔画密度大。找到这样的特征我们可以间隔一定行

相关文档
最新文档