手写字符识别系统设计Word格式文档下载.docx

上传人:b****5 文档编号:17310477 上传时间:2022-12-01 格式:DOCX 页数:7 大小:337.76KB
下载 相关 举报
手写字符识别系统设计Word格式文档下载.docx_第1页
第1页 / 共7页
手写字符识别系统设计Word格式文档下载.docx_第2页
第2页 / 共7页
手写字符识别系统设计Word格式文档下载.docx_第3页
第3页 / 共7页
手写字符识别系统设计Word格式文档下载.docx_第4页
第4页 / 共7页
手写字符识别系统设计Word格式文档下载.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

手写字符识别系统设计Word格式文档下载.docx

《手写字符识别系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《手写字符识别系统设计Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。

手写字符识别系统设计Word格式文档下载.docx

1.2阅读对象

本说明书的阅读对象有:

●数字媒体类相关专业学生

●相关客户人员,体验用户等

2项目概述

2.1项目简介

本项目旨在基于机器学习算法实现手写字符(包括数字和大小写字母)的识别。

该系统通过读入一张图片或通过鼠标绘制字符的方式,实现识别对象的输入,通过BP神经网络、支持向量机、朴素贝叶斯或K近邻分类方法实现手写字符的识别,并输出识别的结果。

2.2项目任务

项目名称:

手写字符识别系统的设计

项目内容:

1)手写字符的输入;

2)图片预处理与特征提取;

3)机器学习与字符分类;

项目周期:

1个月(2014年8月25日——2014年9月20日)

参与人数:

2~4人。

2.3实验环境介绍

A)VisualStudio2010

VisualStudio2010是继VC6.0后微软推出的一款新的高级语言编译器,可支持C#、C++、Basic以及Asp等编程语言的开发,具有强大的代码调试功能,是一个功能强大的可视化软件集成开发工具。

本项目将使用VisualStudio2010进行代码的编辑、编译与调试。

B)VisualAssist

为了提高代码编写的效率,可安装VisualAssistX插件。

VisualAssistX插件是WholeTomato公司针对VisualStudio开发环境开发的一款代码编写辅助工具,能够实现变量名、函数名的自动提示与补全,以及函数定义与声明之间的快速切换,从而达到提高开发效率的目的。

C)OpenCV

OpenCV(OpenComputerVision)是一个开源的跨平台计算机视觉库,可以运行于Linux、Windows和MacOS操作系统上。

它轻量级而且高效,实现了图像处理和计算机视觉方面的很多通用算法。

本项目可利用OpenCV实现图像的读取、显示以及一些基本的预处理算法。

网址:

3任务描述

3.1背景资料概述

机器学习:

利用计算机模拟或实现人类的学习行为,以获取新的知识或技能。

因此,机器学习算法通常包括两个阶段:

训练和分类。

训练阶段,即利用一些已知的训练样本训练得到机器学习算法模型的相应参数。

该阶段类似于小孩认字时的学习阶段,老师告诉小孩各种字具有什么样的特征。

分类阶段,即对于训练好的算法模型,给定输入数据,计算机自动给出数据的分类。

该阶段类似于小孩在进行了学习后可以自主的识字。

目前常用的机器学习算法包括:

支持向量机(SVM,SupportVectorModel)、BP神经网络、决策树

3.2系统组成

基于机器学习的手写字符识别系统通常包括四个部分:

图像预处理、特征提取、字符训练与字符识别四个阶段,如图1所示。

图1字符识别系统的功能框架

图像预处理:

主要包括图像的去噪(中值滤波、高斯滤波),图像的二值化(将彩色图像或灰度图像转化为二值图像),形态学处理(利用闭操作,即先膨胀再腐蚀,将断裂的笔画进行修复)。

特征提取:

字符图像由一系列二进制的0和1组成,虽然这些数据包含了字符的全部信息,但是这些数据也包含了大量冗余的信息,并不一定适合于机器进行识别。

正如我们人类在识别各种物体的时候,也是抓住了物体的某些本质特征。

因此,在进行字符识别前,从字符图像中提取尽可能好的特征对于提高识别的正确率具有重要的意义。

常用的特征提取的方法包括:

(1)直接将字符图像看成是一个一维特征向量,无需其他处理。

该方法简单,在有些时候也行之有效,但由于特征维数较高,往往需要大量的训练样本学习算法才能收敛。

(2)主成分分析法(PCA,PrincipalComponentAnalysis),该方法在人脸识别中应用较多。

(3)基于不变矩的方法

字符训练:

给定训练样本,每个样本包括字符图像和对应的字符信息,利用相应的机器学习算法进行学习,得到算法模型的各种参数。

本项目中用到的机器学习算法包括:

支持向量机、BP神经网络和决策树方法。

为了便于程序的调试,字符训练功能通常作为一个独立的应用程序,无需GUI界面。

训练样本可按如下方式组织,相同字符的图像放在相同的文件夹下,文件夹的名称表明了图像的字符类别。

字符训练程序读取所有文件夹下的训练样本进行训练。

字符识别:

字符训练完成后,对于用户输入的一幅图像,利用训练得到的模型识别出对应的字符。

该过程需要实现的功能如图2所示,用户载入一幅字符图像或利用鼠标绘图,通过选择响应的机器学习算法,利用字符训练阶段中获得的模型,识别得到相应的结果。

图2字符识别功能

3.3系统评估

系统完成后,需评估系统的字符识别正确率,并比较不同算法的性能好坏。

评估过程中,需先建立测试集,测试集应包括两部分,一部分即为训练集的子集,另一部分应与训练集不同;

而后统计测试集中每个字符图像的识别正确与否情况,并给出各个算法的分析与对比。

4机器学习算法介绍

4.1支持向量机

我们可以从二维的情况进行理解。

如图3所示,如果我们想把图中的二维特征向量(即二维点)分成两类,可以有许多条分割线将这些点分成两类。

但什么样的分割线才是最好的呢?

通常我们希望每一类中的点到该分界线的最近距离最大,如图3中的红线所示,这样这两类特征点具有更大的区分度,在输入新的特征点时,误判的概率越小。

支持向量机算法采用的就是这样的思想,对于二维特征向量而言,即为寻找具有最大区分度的分割线wx+b=0,其中w和b是未知的模型参数,对于高维特征向量而言,分割线变成高维的分割平面,其方程依然可以表示为wx+b=0。

详细的理论过程可以参考:

C++实现,一个网上的开源库libSVM:

图3支持向量机的模型示意图

4.2BP神经网络

BP(BackPropagation)神经网络是1986年由Rinehart和McClelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最为广泛的神经网络模型之一。

它的学习规则使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。

BP神经网络的拓扑结构通常包括输入层(InputLayer)、隐藏层(HiddenLayer)和输出层(OutputLayer),如图4所示。

图4BP神经网络的拓扑结构

神经元作为神经网络的基本单元,其数学模型为一线性模型,如图5所示,可表示为:

图5神经元模型

BP神经网络,即通过最速下降法,不断调整每个神经元的权值,使得神经网络的输出值与给定值尽可能一致。

详细过程可参考:

4.3决策树方法

决策树实际上就是将空间利用超平面进行划分的一种方法,每次分割的时候都将当前的空间一分为二。

比如对二维平面上的点进行分类,可构建如下的决策树(二叉树)

此时,对应的二维平面将被分成如下的形式,也即将空间中的点分成了四类。

从以上过程看出,决策树的构建过程中,关键是按照哪一个属性进行分裂,分裂的阈值如何确定。

实际上决策树中分裂属性的选取和分裂阈值的确定是根据最大信息增益的原则确定的。

具体过程可参考:

5特征选择

(1)将图像规整化成相同大小,形成一个一维向量

(2)不变矩

参考文献:

(1)Ming-kueiHu.Visualpatternrecognitionbymomentinvariants,IRETransactionsoninformationtheory.

(2)AlrezaKhotanzad,YawHuaHong.InvariantimagerecognitionbyZernikemoments,IEEETransactionsonPatternAnalysisandMachineIntelligence,12(5),1990.

6参考资料和实用网站

(1)C++机器学习算法库

(2)杨少荣,吴迪靖,段德山译。

机器视觉算法与应用,清华大学出版社,北京,2008.

(3)景丽译。

图像处理与计算机视觉算法与应用,清华大学出版社,北京,2012.

(4)李锐,李鹏,曲亚东,王斌译。

机器学习实战(MachineLearninginAction),人民邮电出版社,北京,2013.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1