联机手写数字识别实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

联机手写数字识别设计

一、设计论述

模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人(及某些动物)对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员的注意,成为人工智能研究的一个重要方面。

字符识别是模式识别的一个传统研究领域。从50年代开始,许多的研究者就在这一研究领域开展了广泛的探索,并为模式识别的发展产生了积极的影响。

字符识别一般可以分为两类:1.联机字符识别;2.光学字符识别(Optical Chara- cter Recognition,OCR)或称离线字符识别。在联机字符识别中,计算机能够通过与计算机相连的输入设备获得输入字符笔划的顺序、笔划的方向以及字符的形状,所以相对离线字符识别来说它更容易识别一些。

参照联机字符识别的原理,我们对手写数字的特征进行了深入的研究,同时作为一个初学者,我们本次考虑设计联机手写数字0——9识别,以达到加深对《模式识别》课程理论的了解和掌握的目的。

二、设计内容

本次设计,我们使用Visual C++ 6.0软件,在《模式识别》课程理论基础上,运用VC++语言设计联机手写数字识别系统。

三、设计原理

1、基于笔划及笔划特征分类的联机识别

联机手写汉字识别的方法可以分为两类:基于整字识别方法和基于笔划识别的方法。大多数联机识别都是采取笔划识别的方法,这是因为在联机识别过程中,汉字笔划是以点坐标形式一笔一划地输入到计算机的,同样,数字在联机输入过程中也是按照一笔一划输入的。

笔划的分类有很多,基于便于识别的原理,我们在这里仅介绍一种笔划的分类。我们把汉字看成是由把构成所有汉字的笔划分为两大类:即单向笔划和变向笔划。单向笔划表示笔划的走向保持在某一方向上,即人们通常所说的基本笔划,包括有横(笔划代码1)、竖(笔划代码2)、撇(笔划代码3)、捺(笔划代码4)。变向笔划的一种分类,规定变向笔划由三种笔划组成:(1)顺笔划(笔划代码5):笔划的变向是按照顺时针规律变化的;(2)逆笔划(笔划代码6):笔划的变向是按照逆时针规律变化的;(3)混合笔划(笔划代码7):笔划的变向既有顺时

针又有逆时针规律变化。同样,这样的汉字分类也适用于对数字0——9的笔划特征分类,这样的分类有助于我们对数字0——9的特征提取,在本次设计中,我们就参照汉字的这一分类。

2、联机数字识别的原理框图

四、设计过程 1、前处理

1)手写数字输入

在设计数字输入时,我们设计了一个画板做手写屏,运行程序时,我们在该画板上用鼠标输入0——9的数字。 2)笔划识别前的噪声处理

由于在原始笔划点坐标数据中,有大量的冗余和噪声,必须对这些输入数据进行预处理以消除这些冗余和噪声。处理的方法有很多,这里根据汉字的特点,把笔划走笔方向进行8方向编码,如下图所示,将坐标平面的360度分为8个区,按顺序编号为1、2、3、4、5、6、7、8。原始数据的滤波处理分为两步:

第一步是对原始点坐标的滤波;

第二步是对由这些点坐标所计算出的方向码的滤波。

原始坐标数据的滤波

(1)平滑滤波处理

由于同一笔划中的相相邻点具有一定相关关系,不可能出现距离较大的相邻点,这里可以采用一种有限的平滑处理方法。

X X

X

t pt

pt

)1(αα

-+= L L max min <∆<

手写数字输入

前处理

模式表达

(特征抽取)

判别

后处理

识别结果输出

Y Y Y

t pt pt

)1(αα-+=

L L

max min

<∆<

)

)()1(()1(2

2

Y Y X X t p t t p t -+-=

∆--

噪声点为:L max >∆;冗余点为:L m in <∆。

其中,(Y X t t ,)是笔划在t 时刻的坐标,下标p 表示经过平滑后的数据,

α是平滑系数,10≤≤α,α越大,平滑后两点相关性越大,反正α为0,不进

行平滑处理。

L

min

和L max 是判别冗余点和噪声点的距离阈值。

(2)笔划方向码的确定

根据输入点坐标,由下式产生笔划方向码: )/()()()(X X Y Y m t p pt m t p pt k ----=

其中,k 是两点间的变化斜率,根据斜率来确定出相应的方向码;m 是在计算t 时刻的方向码时,所取的前第m 点坐标。在实际中m 的选取,带有很大的技巧和直感,通常选取m=,即只在两相邻点上计算方向码,显然这不能克服抖动所带来的噪声,m 取得太大,容易造成方向的错判。这里的m 值需要根据实际所用手写板的采样频率等确定。 方向码的滤波处理

由于在实际书写过程中,输入的笔划并不标准,在方向码序列中,还含有大量的噪声和人为的错笔,这就需要对方向码进行滤波。 (1)笔划起始处和终止处的噪声

人们的书写习惯容易在落笔和抬笔是引入噪声,一般消除同一笔划的前两个方向码和后两个方向码,能克服这种噪声。 (2)笔划平直处的噪声

笔尖的抖动容易造成在一串相同的方向码中混有一个或两个不同的方向码,删除这个方向码,即可克服这种噪声。 (3)笔划变向处的噪声

在笔划变相=向处容易引入噪声,出现一个或两个方向码与前后方向码不相同,删除它们来克服这种噪声。 (4)带笔噪声

这基本上是人为的噪声,通过下面将介绍的笔划合并方法来消除这种噪声。 参照以上对笔划的噪声处理,在该程序中,数字是通过模拟手写板输入的,为了后面特征提取的方便,以及减少数据量,先做了一下下面的去除直角处理。

相关文档
最新文档