2
第 25卷第 2期
2010年 4月
平顶山学院学报
Journal of Pingdingshan University
Vol. 25 No. 2
Ap r. 2010
基于 Fisher的手写体数字识别研究与实现
马 飞 1 ,武 楠 2 ,程荣花 1
(1. 平顶山学院 , 河南 平顶山 467000;
2. 曲阜师范大学 计算机科学学院 ,山东 曲阜 272300)
摘 要 :在手写体字符识别研究中 ,由于书写风格的不同造成了字体变化大 ,导致识别难度很大 ,采用
面积滤波对数字图像预处理消除离散点 ,使用 Fisher分类器对样本进行分类识别 ,进行了手写体数字识别研究
与实现 ,分类器识别正确率为 96%.
关 键 词 :手写体数字识别 ; Fisher分类器 ;面积滤波
中图分类号 : TP391. 4 文献标识码 : A 文章编号 : 1673 - 1670 (2010) 02 - 0100 - 03
1 引言
手写体数字识别在过去的几十年里一直是模
式识别领域的研究热点 ,在手写较多的领域如邮政
编码 、统计报表 、财务报表 、支票的数字识别等方面
有广泛应用. 专家 、学者提出了很多识别算法 ,但是
很多只是停留在实验室中 ,由于书写风格的不同造
成了各种字符变形 ,研究高性能的手写数字识别算
法是一个有相当挑战性的课题. 提取字符特征大体
分两类 :一是统计特征 ,通常包括点矩 、特征区域
等 ;二是结构特征 ,通常包括圈 、端点 、拐角点 、笔
画 、轮廓等 [ 1
3 ]. 现有的识别方法很多 ,例如基于模
板匹配或结构特征的方法 、使用模糊推理的方法 、
基于矩和变换的方法 、基于神经网络的方法等.
2 预处理及特征提取
为防止手写时 (粘带等操作 )出现离散的孤立
点 ,笔者采用面积滤波法去除离散点. 滤波算法描
述如下 :
[ step1 ]循环 : 扫描整个书写区 ;
[ step2 ]计算 :根据 8 邻域像素点计算各连通
区域的像素点数目 ,作为面积值 s;
[ step3 ]判断 :若面积值 s≤Threshold (指定阈
值 ) ,则使用背景色重绘当前离散点区 ;
[ step4 ]继续 :跳转到 step2;
[ step5 ]输出 :滤波处理完成后 ,得到相对连通
的数字图像.
对输入的手写图像进行上述处理后 ,得到了相
对较为规整的数字图像 ,减少了干扰点源 ,为后续
的特征提取工作做了较好的预处理. 如图 1为书写
时获得的输入图像含噪声点的情况 ,通过面积滤波
后得到噪声点较少的图像如图 2.
图 1 含噪声点的图像 图 2 滤波后 图 3 区域定位 图 4 特征分割
滤波处理完成后 ,进入边界判断处理. 为得到
数字的边界进行归一化 ,由于书写数字大部分情况
都不能充满数字区 ,所以笔者采用从数字区的 4个
边界向中心紧缩的方法寻找数字边界. 区域定位结
收稿日期 : 2010 - 02 - 20
基金项目 :河南省教育厅自然科学基金 (2009C520006) ;平顶山学院高层次人才科研启动经费 (2008016)
作者简介 :马 飞 (1980 - ) ,男 ,山东省鱼台人 ,平顶山学院软件学院讲师 ,硕士 ,主要研究方向 :模式识别、计算机图形图像.
3
第 2期 马 飞 ,武 楠 ,程荣花 :基于 Fisher的手写体数字识别研究与实现
·101·
果如图 3. 此种定位方法好处就是能够动态地获得
各小区域的比值 ,实现了一种弹性的归一化 ,不必
用专门放大或缩小的方法作归一化 ,为后续识别工
作带来方便.
定位完成后 ,对数字进行特征提取. 特征提取
有很多方法 ,笔者采用 5 ×5的模板 [ 4 ] :
水平方向上的间距为 dh = ( h2 - h1 ) /5
(1)
垂直方向上的间距为 dv = ( v2 - v1 ) /5
(2)
由于整个数字区域的水平距离 、垂直距离很多
时候不是 5的倍数 ,会造成最后一列和最后一行的
数据不能完全包括在内 ,所以在实际操作中 ,笔者
将前 4 ×4小区域间距分别采用所求得的 dh , dv ,水
平方向余下的全部作为最后一行的范围 ,其宽度为
dh ≤w < 2·dh ;垂直方向余下的全部作为最后一列
的范围 ,其高度为 dv ≤h < 2·dv. 所以有时会看到
分割后最后一列和最后一行的大小与前 4 ×4小区
域不一致. 如上操作将得到 5 ×5 = 25维特征值 ,特
征值的选取为每一个小区域中数字像素数与整个
小区域面积之比 ,若大于给定的阈值 Th = 0. 05,便
将此维特征记为 1,否则为 0.
3 Fisher算法
在解决模式识别问题时 , Fisher判别是一种有
效的模式分类算法 [ 5 - 6 ]. 它求出一个最佳分类向
量 ,将原来高维的模式样本特征投影到最佳分类向
量空间以达到减少特征维数的目的 ,这是 Fisher算
法要解决的基本问题.
Fisher算法的主要思想 : 为得到最佳分类向
量 ,需要计算各类别样品均值 、样品类内离散度矩
阵 、总类间离散度矩阵 、样品类间离散度矩阵. 根据
Fisher准则找到最佳分类向量 ,将训练样品集进行
投影到待求的直线方向上 ,然后求出边界点 ,最后
将待测样品特征向已求出的直线方向投影 ,计算与
训练样品投影点的边界距离关系 ,便可对应地识别
结果.
最初 Fisher算法主要是进行两类问题的分类 ,
而问题中要解决 0~9中的 10 个数字的分类识别
问题 ,所以需要构建 10 ×( 10 - 1) /2 = 45次分类.
Fisher算法描述如下 :
[ step1 ]均值 : 计算各类的样品均值 :
其中 N i 是对应 ωi 类中的样品个数 , X 为样品
特征向量.
[ step2 ]离散度矩阵 :对样品计算类内离散度
矩阵 S i
S i = Σ
X∈ωi
( X - m i ) ( X - m i ) T i = 0, 1
( 4)
各样品的总类内离散度矩阵 Sω :
Sω =ΣS i i = 0, 1
计算样品类间离散度矩阵 Sd
Sd = (m 0 - m 1 ) (m 0 - m 1 ) T
( 6)
[ step3 ]投影向量 : Fisher判别的目的是找一个
最佳分类向量 W , 使得映射后的类间离散度矩阵
和类内离散度矩阵的比值最大.
( 5)
Fisher准则函数 : JF (W ) = arg max
W T SdW
W T SwW
( 7)
根据上述准则 ,一般使 JF (W )取最大值时 ,可
计算得到最佳分类向量 W :
- 1 (m 0 - m 1 )
( 8)
W = Sω
可计算对应类的所有样品在这个最佳分类向
量上的投影 y:
) T X
(9)
y = (W
[ step4 ]均值 :在上一步得到的最佳分类向量
上的投影 y空间中计算两类样品的均值 ,
m i =
1
N i
Σ
y∈ωi
y i = 0, 1
(10)
这里阈值 y0 选用较常见的一种计算方法 :
y0 =
m 0N 0 +m 1 N 1
N 0 +N 1
(11)
[ step5 ]分类 :对于待测样品特征值 X, 计算它
在最佳分类向量上的投影点 yx :
yx =W T X
分类结果 :ωx =
ω0
yx ≥y0
ω1 其他
(12)
(13)
上述算法描述中 ,采用了两类 Fisher分类法 ,
对于 10个数字的识别 ,在实际编程时需要两两分
类处理 ,最后在计算结果对应最大值者位置为对应
的类别序号 ,即为识别结果.
4 试验
m i =
1
N i
Σ
X ∈ωi
X i = 0, 1
( 3)
实验期间组织 10个学生 ( 5 名女生 ) ,每人书
写 0~9,每个数字写 6 次 ,共得到 600 个样本. 使
2
·201·
平顶山学院学报 2010年
用其中的 500个手写体数字图像作为训练样本 ,余
下的 100个样本做测试训练. 笔者采用 V isualC #
. net2005为开发平台 , PC机配置 : IntelCPU2. 1GHz,
512M 内存. 在试验中笔者将各类别样本的样品均
值 m i、类内离散度矩阵 S i 分别存放在对应的训练
集数据库中 ,为以后使用带来了方便. 笔者对每个
样品共选取 5 ×5 = 25维特征值 ,采用 Fisher分类
器识别正确率为 96%. 部分结果如图 6所示. 由试
验结果可得知 ,采用 5 ×5分割方法 ,能够弹性地提
取各维特征 ,而不必专门使用归一化处理.
图 6 识别结果
5 结论
笔者采用 Fisher分类器的方法实现了手写体
数字识别 , Fisher分类器本身具有强大的分类能
力 ,已经成功运用于人脸识别 、汉字识别等模式识
别领域 ,均取得了较好的效果. 在试验中样品的特
征选取了 5 ×5 = 25维特征 ,不会出现“维数灾难 ”
问题 ,但对识别精度也产生了不利的影响 ,下一步
的工作重点放在选取更多的特征 ,如端点 、拐角点 、
笔画 、轮廓等 ,结合 PCA等降维方法来实践.
参考文献 :
[ 1 ]张 充 ,史青宣 ,苗秀芬 ,等. 基于 BP神经网络的手写
体数字识别 [ J ]. 计算机技术与发展 , 2008, 18 ( 6) : 128
- 130, 163.
[ 2 ]芮 挺 ,沈春林 ,丁 健 ,等. 基于主分量分析的手写数
字字符识别 [ J ]. 小型微型计算机系统 , 2005, 26 ( 2) :
289 - 292.
[ 3 ]张重阳 ,娄 震 ,杨静宇. 基于轮廓和统计特征的手写
体数字识别 [ J ]. 计算机工程与应用 , 2004, 40 (9) : 83 -
84, 89.
[ 4 ]杨淑莹. 模式识别与智能计算 : Matlab技术实现 [M ].
北京 :电子工业出版社 , 2008: 40 - 41.
[ 5 ]夏文彬. 基于特征脸及 Fisher脸的人脸识别方法 [D ].
南京 :南京邮电大学 , 2008: 16, 19 - 20.
[ 6 ]杜世强. 基于核 Fisher判别的人脸识别方法研究 [D ].
西安 :陕西师范大学 , 2007: 15 - 19.
The Research of Handwr itten D ig ita l Recogn ition Ba sed - on F isher
MA Fei1 ,WU Nan2 , CHENG Rong - hua1
(1. Pingdingshan University, Pingdingshan, Henan 467000, China;
2. Qufu Normal University, Qufu, Shandong 272300, China)
Abstract: In the field of Handwritten D igital Recognition,
the recognition is difficult due to the digital varied
style. This paper uses the area filter to filter the isolated p ixels, and uses the Fisher classifier to classify the sam
p les. The experiment shows that the method is effective and the correct recognization app roaches 96%.
Key words: Handwritten D igital Recognition; Fisher classifier; area filter