毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

几种常用手写体数字识别算法的对比研究(2)

时间:2018-07-06 09:56来源:毕业论文
手写体数字识别可以分为联机(online)识别和脱机(offline)识别[1]两类。前者相对而言能够获得更多的相关信息,例如笔划的顺序、书写的轻重等,因而


手写体数字识别可以分为联机(online)识别和脱机(offline)识别[1]两类。前者相对而言能够获得更多的相关信息,例如笔划的顺序、书写的轻重等,因而识别的准确率更高。后者由于图像的获取不需要特定的输入设备,因此应用更加广泛,成为目前研究的一个重点,却也因为没有笔画信息识别难度较大,成为一个难点。
1.2  发展历史及研究现状
1.3  论文的主要工作及内容安排
手写体数字识别由分类器设计(即训练过程)和分类决策(即识别过程)两部分组成,总体流程分为数据获取、预处理、特征提取、分类器设计和分类决策[9]。基本流程如图1.1所示。
 手写体数字识别基本流程
图1.1  手写体数字识别基本流程
本文总体上由五章内容构成。
第一章:手写体数字识别的概述。包括本课题的研究意义和应用前景、手写体数字识别的发展历史、论文结构安排和软件开发平台简介;
第二章:图像预处理和特征提取。主要介绍了几种常用的图像预处理和特征提取方法,包括图像二值化,字符归一化和K-L变换。
第三章:识别算法。介绍几种主流的识别算法,包括Fisher线性判别、反向传播(BP)神经网络和支持向量机(SVM);
第四章:算法实现。介绍了样本数据的读取,对手写体数字分别用Fisher线性判别、反向传播(BP)神经网络和支持向量机(SVM)进行识别,并介绍了多分类器的设计;
第五章:对第四章中介绍的三种识别算法进行对比研究,用实验结果比较它们的各自的优劣,最后得出结论。
1.4  开发平台简介
本文使用Visual C++6.0作为开发平台进行算法编程。Visual C++6.0是微软推出的一款功能强大的编程软件,能够将“高级语言”转换成“机器语言”。自Visual C++1.0问世以来,软件版本不断更新,现在的Visual C++6.0不仅是一款C++编译器,而且包含很多组件,如程序编译器、程序向导等。本文中使用了Visual C++6.0较为基础的功能,完成对程序的编译和调试。
2  预处理和特征提取
由于纸张的光洁度、书写者的书写质量、采集设备的分辨率等因素都会对手写体数字识别造成一定的影响,因此我们需要对图像进行预处理,消除污点、畸变等干扰,获取图像的有效信息,这将直接影响到后期识别结果的好坏。根据识别方法的不同,图像预处理可以分为定位、二值化、去噪、切分、大小规格化等[10]。
特征提取指从一组已有的特征通过一定的空间变换得到一组新的特征,最经常采用的特征变换是线性变换[4]。通过特征提取,能够有效降低分类器输入量的文数,避免了数字图像本身以及预处理过程中产生的一些干扰,如数字的位移、大小畸变、缺损等,从而间接地增强了分类器的容错能力。手写体数字的特征提取在很大程度上影响着分类器的性能,为了提高分类器的识别速率和正确率,我们希望通过最少的特征达到要求的效果。
在手写体数字识别中,一般要求特征提取遵循以下原则:
a)  提取的新特征应尽量包含数字的关键分类信息,保证分类准确,区分能力强,不会出现无法辨别的情况;
b)  要求特征提取方法简单快速;
c)  提取的新特征之间尽量具有独立性,每个特征之间各自不相关,相互之间不会影响对方;
d)  新特征文数尽可能少,一般来说,特征文数越少,识别速率越高;
e)  提取的新特征要求具有良好的抗干扰能力,即同一模式发生微小变化时,特征的变化尽可能的小[1]。 几种常用手写体数字识别算法的对比研究(2):http://www.youerw.com/zidonghua/lunwen_19039.html
------分隔线----------------------------
推荐内容