为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于模式识别的手写汉字识别系统设计

2010-05-25 37页 doc 339KB 54阅读

用户头像

is_309827

暂无简介

举报
基于模式识别的手写汉字识别系统设计 本科毕业论文(设计) 题目: 基于模式识别的手写汉字识别系统设计 姓 名: 乔 伟 学号: 071021-16 院(系): 机电学院 专业: 电子信息工程 指导教师: 王典洪 职称: 教授 评 阅 人: 罗 杰 职称: 助教 2006 年 6 月 本科生毕业论文(设计)原创性声明 本人以信誉声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论...
基于模式识别的手写汉字识别系统设计
本科毕业论文(设计) 题目: 基于模式识别的手写汉字识别系统设计 姓 名: 乔 伟 学号: 071021-16 院(系): 机电学院 专业: 电子信息工程 指导教师: 王典洪 职称: 教授 评 阅 人: 罗 杰 职称: 助教 2006 年 6 月 本科生毕业论文(设计)原创性声明 本人以信誉声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图片、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包含他人成果及为获得中国地质大学(武汉)或其他教育机构的学位或证书而使用过的。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 毕业论文作者(签字): 签字日期: 年 月 日 摘要 模式识别就是通过计算机用数学技术来研究模式的自动处理和识别。随着计算机技术的发展,人类对模式识别技术提出了更高的要求。在我国如何将汉字方便、快速地输入到计算机中已成为关系到计算机技术普及的关键问题。特别是对于大量己有的印刷资料和手稿,计算机自动识别输入己成为必须研究的课题,所以汉字识别在文献检索、办公自动化、邮政系统、银行票据处理等方面有着广阔的应用前景。 对手写汉字进行识别,首先将汉字图像进行处理,抽取主要表达特征并将特征与汉字的代码存储在计算机中,这一过程叫做“训练”。识别过程就是将输入的汉字图像经处理后与计算机中的所有字进行比较,找出最相近的字就是识别结果,这一过程叫做“匹配”。 本文主要介绍了模式识别的基本原理和手写的10个汉字字符的识别系统的设计实现过程。第一章介绍了与模式识别有关的概念、描述方法、有关的数学运算和此学科的发展状况。第二章了模式识别的过程、图像文件的格式,并详细介绍了BMP格式图像的结构;由于本文设计的识别系统是在VC++环境下开发的,所以给出了CDib类的定义和功能介绍。第三章主要讨论了分类器设计过程中的特征空间优化设计问题、分类器设计准则、基本方法和判别函数的知识。第四章在前三章知识的基础上,给出了模板匹配法识别图像的原理,类GetFeature的功能及定义,识别系统设计的开发流程及实现过程,并对实验结果做出简单的分析。 关键词:模式识别 BMP位图 分类器 手写汉字识别 模板匹配 I ABSTRACT The pattern 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 pattern recognition technology. In our country it is a key problem for computer technology’s popularization that how to input Chinese characters into computer fleetly and conveniently. Especially for large numbers of printed data and manuscript, the automatic recognition and input of Chinese characters becomes a stringent task, therefore the Chinese character recognition will have a broad application prospect on literature retrieval, office automation, postal service system, bank bill processing. In order to recognize Chinese 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". The second process is called “match”, This process compares the hand-written Chinese character’s feature and the stored features in the computer. This paper mainly introduces the basic principles of pattern recognition and the design、 realization process of ten hand-written Chinese characters recognition system. The first chapter mainly introduces the concepts related to the pattern recognition, the description method, the mathematics operation and this discipline’s development condition. The second chapter introduces the pattern recognition’s process, the picture format, especially the BMP form which is used in this paper. This article designs the recognition system under the VC IDE, therefore we introduce a CDib class’s definition and the functions. The third chapter mainly introduces characteristic space optimization design, the classification’s design criterion, the essential method and the knowledge about knowledge function. The fourth chapter produces the principle of template match recognition arithmetic, the class GetFeature’s definition and the functions, the recognition system’s design flow and the realization’s process, finally we produce the experimental result and the simple analysis. Kewords: Pattern Rocognition BMP Classification Template Match Hand-written Chinese Characters Recognition II 目 录 1第1章 绪 论 11.1模式识别中的一些基本概念 11.2模式的描述方法 31.3模式识别学科介绍及现状 31.4论文的主要研究工作 4第2章 模式识别系统及位图基础 42.1模式识别系统结构 52.2图像识别 52.2.1图像识别简介 52.2.2图像识别过程 62.3位图基础知识 62.3.1图像文件格式介绍 82.3.2 BMP文件结构 102.3.3 CDib类的建立 12第3章 分类器设计 123.1 特征空间优化设计问题 133.2分类器设计准则 143.3类器设计基本方法 143.4 判别函数 163.5训练与学习 17第4章 模板匹配分类器识别汉字系统的实现 174.1系统的功能描述 174.2模板匹配法的理论基础 184.3特征类的设计 194.4系统的设计流程及功能的具体实现 224.5实验结果和分析 24结束语 25致谢词 26参考文献 27附录 III 第1章 绪论 1.1模式识别中的一些基本概念 模式识别(Pattern Recognition)就是机器识别、计算机识别或机器自动识别,目的在于让机器自动识别事物。如本文所研究的手写汉字识别就是将手写的汉字分到具体的汉字类别中。模式识别研究的内容是利用计算机对客观物体进行分类,在错误概率最小的条件下,使识别的结果尽量与客观物体相符合。 模式识别中的一个基本概念是相似度(similarity),这和已知的其它一些学科方法都不相关。一般认为两个对象相似是因为他们具有相似的特征,相似度经常被描述成更加抽象的概念,它并不是在几个对象之间衡量,而是在一个对象和一个目标概念(concept)之间进行衡量。让机器辨别事物的最基本的方法是计算待识别事物与标准模板之间的相似度。 在模式识别学科中,就“模式”与“模式类”而言,“模式类”是一类事物的代表,而“模式”则是某一事物的具体体现。例如每一个汉字及标准符号是模式类,而用户任意手写的汉字则是“模式”,识别系统要识别的就是这样一个个“模式”。 1.2模式的描述方法 在模式识别技术中,被观测的每个对象称为样品,例如本文中的每个手写汉字可以作为一个样品,共写了10个汉字,所以就有10个样品(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10),一共有10个不同的类别。对于一个样品来说,必须确定一些与识别有关的因素作为研究的根据,每一个因素称为一个特征。模式就是样品所具有的特征描述。模式的特征集由处于同一个特征空间的特征向量表示,特征向量的每个元素称为特征,该向量也因此称为特征向量。一般用小写字母x, y, z来表示特征。如果一个样品X有n 个特征,则可把X看成一个n维列向量,该向量称为特征向量X,记作: X= = T (1.1) 抽取图像特征的目的是为了进行分类,识别图像。也就是把图像变成n维空间的一个向量,实际上就是看成n维空间中的一个点,这样有利于从几何上考虑问题,计算上比较方便。 如果一个对象的特征观察值为{x1,x2,…,xn},它可构成一个n维的特征向量值X,即X={x1,x2,…,xn}T,式中x1,x2,…,xn为特征向量X的各个分量。在模式识别的过程中,要对许多具体对象进行测量,以获得许多观测值,其中有均值、方差、协方差与协方差矩阵。 1.均值 N 个样品的均值可表示为: (1.2) 其中 是第i 个特征的平均值, (1.3) 2.方差 方差用来描述一批数的分散程度,第i 个特征的N个数的方差是: (1.4) 3.协方差与协方差矩阵: 在N个样品中,第i个特征和第j个特征之间的协方差定义为: (1.5) 对于同一批样品来说,很明显有: 如果一批样品有n个特征x1,x2,…,xn。求出没两个特征的协方差,总共得到n2个值,将这n2个值排列成以下的n维方阵,称为协方差矩阵: ,协方差矩阵是对称矩阵,而且主对角线元素sij就是特征xi的方差si2,i=1,2,3,…,n。 1.3模式识别学科介绍及现状 分类识别是人类最重要的基本活动之一,在人类的日常生活、社会活动、科研生产以及学习、工作中无时无处不在进行着分类识别。模式识别是研究分类识别理论和方法的科学,是一门综合性、交叉性学科。在理论上它涉及代数学、矩阵论、概率论、图论、模糊数学、最优化理论等等众多学科的知识,在应用上又与其他许多领域的工程技术密切相关,其内涵可以概括为信息处理、分析与决策,它既是人工智能研究领域的重要分支,又是实现机器智能必不可少的技术手段。该学科的理论任务是运用一切相关科技研发分类识别的理论和方法,而其应用目标是创造能进行分类识别决策的智能机器系统以代替人类的分类识别工作。 文字识别始于20世纪50年代初期的欧美。最早从事汉字识别研究的是美国IBM公司的R. Casey和G. Nagys。手写体汉字识别的研究最早始于70年代中期的日本,我国则在80年代初期开始进行手写体汉字识别的研究。目前进行手写体汉字识别研究的国家和地区主要集中在中国、日本、中国台湾、美国和加拿大。 我国手写体汉字识别研究一直处于平稳上升阶段,并逐步向实用化目标迈进,印刷体汉字识别系统、联机手写体汉字识别已经走出实验室。目前国内手写体汉字识别主要是进行识别方法的研究,而且把研究重点集中在方法实验和软件研制上,而几乎没有硬件专用设备的研制。 1.4论文的主要研究工作 本论文主要介绍了模式识别的一些基本知识和发展概况,然后介绍了模式识别系统的组成结构和实际中图形的文件格式,详细介绍了BMP格式的结构和在VC++环境中CDib类和GetFeature类的实现方法,然后讨论了模板匹配分类器的设计原理,最后本文叙述了利用最小距离算法识别汉字的开发过程。 第2章 模式识别系统及位图基础 2.1模式识别系统结构 一个典型的模式识别系统如图2-1所示,由数据获取、预处理、特征提取、分类决策及分类器设计五部分组成,一般分为上下两部分。上半部分完成未知类别模式的分类;下半部分属于设计分类器的训练过程,利用样品进行训练,确定分类器的具体参数,完成分类器的设计。而分类决策在识别过程中起作用,对待识别的样品进行分类决策。 图2-1 模式识别系统结构 模式识别组成单元功能介绍如下。 1.数据获取。用计算机可以运算的符号来表示所研究的对象,一般 获取的数据类型有以下几种。 二维图像:文字、指纹、脸谱照片等。 一维波形:脑电图、心电图、季节震动波形等。 物理参量和逻辑值:体温、化验数据、参量正确与否的描述。 2.预处理。对输入测量仪器或其他因素所造成的退化现象进行复原、去噪声、提取有用信息。 3.特征提取。对原始数据进行变换,得到最能反映分类本质的特征。将维数较高的测量空间转变为维数较低的特征空间。 4.分类决策。在特征空间中用模式识别方法把被识别的对象归为某一类。 5.分类器设计。基本做法是收集样品训练集,在此基础上确定判别函数,改进判别函数和误差检验。 2.2图像识别 2.2.1图像识别简介 模式识别是人工智能领域的基础,它利用计算机和光学系统来识别计算机看到的图像信息,模拟人的视觉;用计算机和声音传感器来识别计算机接收到的声波信息,模拟人的听觉;用计算机通过压力、温度、气体、液体等传感器来识别计算机获得的各种特征信息,模拟人的触觉和嗅觉等功能。在视觉、听觉和触觉的识别中,基于视觉图象识别具有特别重大的意义。从信息论的角度来看,“图像”所包含的信息量最大,内容极为广泛。图像识别目的在于用计算机自动处理某些信息系统,以代替人去完成图像分类及辨识的任务。对图像识别来说,系统针对某一物体除掉它与其他物体的相同的内容,考虑对它进行分类这一共性来研究的,针对这一共性,以统一的观点把同一共性归为一类,另一种共性归为另一类。 2.2.2图像识别过程 图像识别过程分为四步: 1.图像预处理 为了研究图像内容的识别,首先要对获得的图像信息进行预处理,滤去干扰、噪声,当信息微弱无法辨识时,还须对图像进行增强处理,几何调整,颜色校正等,以便人、机分析。 2.图像分割 为了从图像中找到需要识别的物体,还要对图像进行分割,也就是定位和分离出不同的待识别的物体。这一过程输入是一幅图象,输出是像元图像。 3.图像特征抽取 在需要识别的物体被分割出来的基础上,提取需要的特征,并对某些参数进行计算、测量,根据测量结果进行分类。这一过程输入是庞大的信息图像,输出则是少量的特征信息,而且这些特征信息仅仅代表物体,无法还原回原物体。 4.图像分类 根据提取的特征值,利用模式识别的方法进行分类,确定类别名称,以便对图像的重要信息得到一种理解和解释。这一过程输入的是特征信息,输出是类别名称。 图像识别过程如图2-2所示。 图2-2图像识别的主要步骤 2.3位图基础知识 2.3.1图像文件格式介绍 要利用计算机对数字化图像进行处理,首先要对图像的文件格式要有清楚的认识,自然界的图像以模拟信号的形式存在,在用计算机进行处理以前,首先要数字化,比如摄像头(CCD)摄取的信号在送往计算机处理前,一般情况下要经过模数转换,这个任务常常由图像采集卡完成,它的输出一般为裸图的形式;如果用户想要生成目标图像文件,必须根据文件的格式做相应的处理。随着科技的发展,我们可以利用数码像机、数码摄像机作为图像处理系统的输入设备来为后续的图像处理提供信息源。无论是什么设备,它总是提供按一定的图像文件格式来提供信息,比较常用的有BMP 格式、JPEG格式、GIF格式等等。 除了最简单的图像外,所有的图像都有颜色,按颜色的不同可以将图像分为以下几种: 1.单色图像 单色图像是带有颜色的图像中比较简单的格式,它一般由黑色区域和白色区域组成,可以用一个比特表示一个像素,"1"表示黑色,"0"表示白色,当然也可以倒过来表示,这种图像称之为二值图像。 2.灰度图像 灰度图像的存储文件带有图像颜色表,此颜色表共有256项,图像颜色表中每一表项由红、绿、蓝颜色分量组成,并且红、绿、蓝颜色分量值都相等。我们也可以用8个比特(一个字节)表示一个像素,相当于把黑和白等分为256个级别,"0"表示为黑,"255"表示为白,该字节的数值表示相应像素值的灰度值或亮度值,数值越接近"0",对应像素点越黑,相反,则对应像素点越白。 3.彩色图像 这种图像要复杂一些,表示图像时,常用的图像彩色模式有RGB模式、CMYK模式和HIS模式,一般情况下我们只使用RGB模式,R 对应红色,G对应绿色,B对应蓝色,它们统称为三基色,这三中色彩的不同搭配,就可以搭配成各种现实中的色彩,此时彩色图像的每一个像素都需要3个样本组成的一组数据表示,其中每个样本用于表示该像素的一个基本颜色。 下面简要介绍一下几种常用的图像文件格式。 1.JPEG格式 JPEG也是常见的一种图像格式,它由联合照片专家组(Joint Photographic Experts Group)开发并以命名为"ISO 10918-1",JPEG仅仅是一种俗称而已。JPEG文件的扩展名为.jpg或.jpeg,其压缩技术十分先进,它用有损压缩方式去除冗余的图像和彩色数据,获取得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像质量。 同时JPEG还是一种很灵活的格式,具有调节图像质量的功能,允许你用不同的压缩比例对这种文件压缩,比如我们最高可以把1.37MB的BMP位图文件压缩至20.3KB。当然我们完全可以在图像质量和文件尺寸之间找到平衡点。 由于JPEG优异的品质和杰出的表现,它的应用也非常广泛,特别是在网络和光盘读物上,肯定都能找到它的影子。目前各类浏览器均支持JPEG这种图像格式,因为JPEG格式的文件尺寸较小,下载速度快,使得Web页有可能以较短的下载时间提供大量美观的图像,JPEG同时也就顺理成章地成为网络上最受欢迎的图像格式。 2、SWF格式 利用Flash我们可以制作出一种后缀名为SWF(Shockwave Format)的动画,这种格式的动画图像能够用比较小的体积来表现丰富的多媒体形式。在图像的传输方面,不必等到文件全部下载才能观看,而是可以边下载边看,因此特别适合网络传输,特别是在传输速率不佳的情况下,也能取得较好的效果。事实也证明了这一点,SWF如今已被大量应用于WEB网页进行多媒体演示与交互性设计。此外,SWF动画是其于矢量技术制作的,因此不管将画面放大多少倍,画面不会因此而有任何损害。综上,SWF格式作品以其高清晰度的画质和小巧的体积,受到了越来越多网页设计者的青睐,也越来越成为网页动画和网页图片设计制作的主流,目前已成为网上动画的事实标准。 3、BMP格式 BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱生来的缺点--占用磁盘空间过大。在本文中主要用到的就是这种文件格式,下面对它做详细介绍。 2.3.2 BMP文件结构 1、 BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。文件头主要包含文件的大小、文件类型、图像数据偏离文件头的长度等信息;位图信息头包含图像的尺寸信息、图像用几个比特数值来表示一个像素、图像是否压缩、图像所用的颜色数等信息。颜色信息包含图像所用到的颜色表,显示图像时需用到这个颜色表来生成调色板,但如果图像为真彩色,既图像的每个像素用24个比特来表示,文件中就没有这一块信息,也就不需要操作调色板。文件中的数据块表示图像的相应的像素值,需要注意的是:图像的像素值在文件中的存放顺序为从左到右,从下到上,也就是说,在BMP文件中首先存放的是图像的最后一行像素,最后才存储图像的第一行像素,但对与同一行的像素,则是按照先左边后右边的的顺序存储的;另外一个需要关注的细节是:文件存储图像的每一行像素值时,如果存储该行像素值所占的字节数为4的倍数,则正常存储,否则,需要在后端补0,凑足4的倍数。 2、 BMP文件头 BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。其结构定义如下: typedef struct tagBITMAPFILEHEADER { WORD bfType; // 位图文件的类型,必须为"BM" DWORD bfSize; // 位图文件的大小,以字节为单位 WORD bfReserved1; // 位图文件保留字,必须为0 WORD bfReserved2; // 位图文件保留字,必须为0 DWORD bfOffBits; // 位图数据的起始位置,以相对于位图文件头的偏移量 //表示,以字节为单位 } BITMAPFILEHEADER;该结构占据14个字节。 3、位图信息头 BMP位图信息头数据用于说明位图的尺寸等信息。其结构如下: typedef struct tagBITMAPINFOHEADER{ DWORD biSize; // 本结构所占用字节数 LONG biWidth; // 位图的宽度,以像素为单位 LONG biHeight; // 位图的高度,以像素为单位 WORD biPlanes; // 目标设备的平面数不清,必须为1 WORD biBitCount // 每个像素所需的位数,必须是1(双色), 4(16色), //8(256色)或24(真彩色)之一 DWORD biCompression; // 位图压缩类型,必须是 0(不压缩),1(BI_RLE8 //压缩类型)或2(BI_RLE4压缩类型)之一 DWORD biSizeImage; // 位图的大小,以字节为单位 LONG biXPelsPerMeter; // 位图水平分辨率,每米像素数 LONG biYPelsPerMeter; // 位图垂直分辨率,每米像素数 DWORD biClrUsed;// 位图实际使用的颜色表中的颜色数 DWORD biClrImportant;// 位图显示过程中重要的颜色数 } BITMAPINFOHEADER;该结构占据40个字节。 4、 颜色表 颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下: typedef struct tagRGBQUAD { BYTErgbBlue;// 蓝色的亮度(值范围为0-255) BYTErgbGreen; // 绿色的亮度(值范围为0-255) BYTErgbRed; // 红色的亮度(值范围为0-255) BYTErgbReserved;// 保留,必须为0 } RGBQUAD; 颜色表中RGBQUAD结构数据的个数由BITMAPINFOHEADER 中的biBitCount项来确定,当biBitCount=1,4,8时,分别有2,16,256个颜色表项,当biBitCount=24时,图像为真彩色,图像中每个像素的颜色用三个字节表示,分别对应R、G、B值,图像文件没有颜色表项。位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下: typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; // 位图信息头 RGBQUAD bmiColors[1]; // 颜色表 } BITMAPINFO; RGBQUAD数据结构中,增加了一个保留字段rgbReserved,它不代表任何颜色,必须取确定值"0",同时, RGBQUAD结构中定义的颜色值中,红色、绿色和蓝色的排列顺序与一般真彩色图像文件的颜色数据排列顺序恰好相反,即:若某个位图中的一个像素点的颜色的描述为"00,00,ff,00",则表示该点为红色,而不是蓝色。 5、 位图数据 位图数据记录了位图的每一个像素值或该对应像素的颜色表的索引值,图像记录顺序在扫描行内是从左到右,扫描行之间是从下到上。这种格式我们又称为Bottom_Up位图,当然与之相对的还有Up_Down形式的位图,它的记录顺序是从上到下的,对于这种形式的位图,也不存在压缩形式。位图的一个像素值所占的字节数:当biBitCount=1时,8个像素占1个字节;当biBitCount=4时,2个像素占1个字节;当 biBitCount=8时,1个像素占1个字节;当biBitCount=24时,1个像素占3个字节,此时图像为真彩色图像。当图像不是为真彩色时,图像文件中包含颜色表,位图的数据表示对应像素点在颜色表中相应的索引值,当为真彩色时,每一个像素用三个字节表示图像相应像素点彩色值,每个字节分别对应R、G、B分量的值,这时候图像文件中没有颜色表。 2.3.3 CDib类的建立 1、CDib类的功能 CDib类的基本操作功能包括以下内容: ① 8位位图文件的读、写操作。 ② 提供位图宽度、高度、颜色数目等位图相关信息。 ③ 提供有关位图占据内存空间的信息,包括图像数据区首地址、颜色表首地址、位图信息结构首地址等信息。 2、CDib类的定义 本论文所研究的手写汉字识别系统,都以CDib类作为基类,由CDib 类派生出有用的子类。在MFC中已有一个支持设备有关位图(DDB)操作的CBitmap类,由于我们用到的CDib是设备无关位图(DIB),所以不能直接从CBitmap类派生出。DIB主要是一种“外部”位图,它主要以文件形式进行存储和交换,所以CDib类应该能很好的处理文件操作。 MFC中的CObject类是MFC中其他大多数类的根类和基类,他不但提供许多有用的特征,还包括对文件串行化的支持,运行时的类信息和对象诊断的输出等;另外,CObject类具有最低限度的成员函数和数据,从CObject类派生类所花的代价是最低的。因此,我们选用CObject类作为CDib类的父类。它的定义如下: class CDib : public CObject {public: RGBQUAD* m_pRGB; BYTE* m_pData; UINT m_numberOfColors; BOOL m_valid; BITMAPFILEHEADER bitmapFileHeader; BITMAPINFOHEADER* m_pBitmapInfoHeader; BITMAPINFO* m_pBitmapInfo; BYTE* pDib; DWORD size; public: CDib();~CDib(); char m_fileName[256]; char* GetFileName();BOOL IsValid(); DWORD GetSize();UINT GetWidth();UINT GetHeight(); UINT GetNumberOfColors(); RGBQUAD* GetRGB(); BYTE* GetData(); BITMAPINFO* GetInfo(); WORD PaletteSize(LPBYTE lpDIB); WORD DIBNumColors(LPBYTE lpDIB); void SaveFile(const CString filename); public: void LoadFile(const char* dibFileName); void SetHeight(UINT height); void SetWidth(UINT width); }; 第3章 分类器设计 3.1 特征空间优化设计问题 确定合适的特征空间是设计模式识别系统一个十分重要,甚至最为关键的问题。如果所选用的特征空间能使同类物体分布具有紧致性,不同类别物体彼此分开,即各类样品能分布在该特征空间中彼此分割开的区域内,这就为分类器设计提供良好的基础。反之,如果不同类别的样品在该特征空间中混杂在一起,再好的设计方法也无法提高分类器的准确性。 特征空间的设计往往是一个逐步优化的过程,设计的初期阶段,选择的特征空间维数较高,需要对它进行改造,改造的目的在于提高某方面的性能,因此又称为特征的优化问题。一般说要对初始的特征空间进行优化就是为了降维,即将初始的高维特征向量改成一个维数较低的空间。优化后的特征空间应该更有利于后续的分类计算。对特征空间进行优化有两种基本方法,一是特征选择,另一种是特征的优化组合。 1、特征选择 在模式识别中特征提取是首先要解决的问题。为了对样品进行准确的识别,需要进行特征选择或特征压缩。特征选择指对原始数据进行抽取,抽取那些对区别不同类别最为重要的特征,而舍去那些对分类并无多大贡献的特征,能得到反映分类本质的特征。如果区别不同类别的特征都能从输入数据中找到,这时自动模式识别问题就简化为匹配和查表,模式识别就不困难了。 2、特征提取 假设已有D维特征向量空间,Y={y1,y2,…,yD},特征的组合优化问题涉及特征选择和特征提取两部分。特征选择是指从原有的D维特征空间中删去一些特征描述量,从而得到精简后的特征空间。在这个特征空间中,样品由d维空间的特征向量描述:X={x1,x2,…,xd}, d<D。由于X只是Y的一个子集,因此每个分量xi必然能在原特征集中找到其对应的描述量xi=yj。 特征提取则是找到一个映射关系: A:Y X (3.1) 使新样品特征描述维数比原维数低。其中每个分量xi是原特征向量各分量的函数,即 xi=xi(y1,y2,…,yD) (3.2) 因此这两种降维的基本方法是不同的。在实际应用中可将两者结合起来使用,比如先进行特征选择,即从原有的D维特征空间,删去一些特征描述量,从而得到精简后的特征空间,然后再进一步特征提取,或反过来。 总之,特征选择与特征提取的任务是求出一组对分类最有效的特征,有效是在特征维数减少到同等水平时,其分类性能最佳。 3.2分类器设计准则 模式识别分类问题是指根据待识别对象所呈现的观察值,将其分到某个类别中去。具体步骤如下: 第一步:建立特征空间中的训练集,已知训练集里每个点所属类别。 第二步:从这些条件出发,寻求某种判别函数或判别准则,设计判决函数模型。 第三步:根据训练集中的样品确定模型中的参数。 第四步:将这一模型用于判决,利用判决函数或判别准则去判别每个未知类别的点应该属于哪一类。 模式识别的基本框架——制定准则函数,实现准则函数极值化。常用的准则有以下几种。 1、最小错分率准则 完全以减少分类错误为原则,这是一个通用原则,它使错分类的样品数量最小。 2、最小风险准则 当接触到实际问题时,可以发现使错误率最小不一定是一个普遍适用的最佳选择。有的分类系统对错误率大小并不看重,而是要考虑错分类的不同后果,为使总的损失最小,有时宁肯将错分率加大。因此引入风险、损失这些概念,以便在决策时兼顾不同后果的影响。在实际中计算损失与风险是复杂的,在使用数学公式计算时,往往用赋予不同权值来表示。在做出决策时,要考虑所承担的风险。基于最小风险的贝叶斯决策规则是为了体现这一点而产生的。 3、近邻准则 近邻准则是分段线形判别函数的一种典型方法。这种方法主要依据同类物体在特征空间具有聚类特性的原理。同类物体由于其性质相近,它们在特征空间中应具有聚类的现象,因此可以利用这种性质产生分类决策的规则。例如有两类样品,可以求出某一类的平均值,对于任何一个未知样品,先求出它到各个类的平均值距离,判断距离哪个类近就属于哪个类。 4、Fisher准则 根据两类样品一般类内密集,类间分离的特点,寻找线性分类器最佳的法线向量,使两类样品在该方向上的投影满足类内尽可能密集,类间尽可能分开。相反如果把它们投影到任意一根直线上,有可能不同类别的样品就混在一起了,无法区分。如果把投影直线旋转一定的角度,就有可能找到一个方向,样品投影到这个方向直线上,各类样品就能很好的分开。如何找到一个最好方向及如何实现向最好方向投影的变换,这正是Fisher算法要解决的基本问题。 5、感知准则 感知准则函数以使错分类样品到分界面距离之和最小为原则。采用错误提供信息实现迭代修正的学习原理。用错分类提供的信息修正错误,这种思想对机器学习的发展以及人工神经元网络的发生发展产生深远影响。其优点是通过错分类样品提供的信息对分类器函数进行修正,这种准则是人工神经元网络多层感知器的基础。 3.3类器设计基本方法 在d维特征空间已经确定的前提下,讨论的分类器设计问题是一个选择什么准则,使用什么方法,将已确定的d 维特征空间划分为决策域的问题。分类器设计有两种基本方法:模板匹配法和判别函数法。 1、模板匹配法 将待分类样品与标准模板进行比较,看与哪个模板匹配程度更相似,从而确定待测试样品的分类。而近邻准则在原理上属于模板匹配。它将训练样品集中的每个样品都作为模板,用测试样品与每个模板做比较,看与哪个模板最相似(即为近邻),就按最近似的模板的类别作为自己的类别。 2、判别函数法 设计基于判别函数法的分类方法有两种:基于概率统计的分类法和几何分类法。 ①直接使用Bayes决策需要首先得到有关样品总体分布的知识,包括各类先验概率P(w1)及类条件概率密度函数,计算出样品的后验概率P(w1|X),并以此作为产生判别函数的必要数据,设计出相应的判别函数与决策面。当各类样品近似于正态分布时,可以算出使错误率最小或风险最小的分界面及相应的分界面方程。因此如果训练样品处于近似的正态分布,可以用Bayes决策方法对分类器进行设计。 ②几何分类法 由于一个模式通过某种变换映射为一个特征向量后,该特征向量可以理解为特征空间的一个点,在特征空间中,属于一个类的点集,总是在某种程度上与属于另一个类的点集相分离,各个类之间是确定可分的。因此如果能够找到一个分离函数(线性或非性形函数),把不同类的点集分开,则分类任务就解决了。几何分类器不依赖于条件概率密度的知识,可以理解为通过几何的方法,把特征空间分解为相应与不同类别的子空间。而且呈线形的分离函数,将使计算简化。分离函数又分为线性判别函数和非线性判别函数。 3.4 判别函数 无论是设计一个基于概率统计的分类器,还是设计一个几何分类器,最终都转化为判别函数的形式。 1、二类情况 对于只有简单的两类情况,判别函数形式如图2-1所示,根据计算结果的符号将X分类。 图2-1 两类分类器形式 假定判别函数d(X)是X的线性函数,d(X)=WTX+W0,用矢量 X= EMBED Equation.DSMT4 T来表示模式,一般的线性判别函数形式为: (3.3) 式中W0= 称为权矢量或参数矢量。 2、多类情况 对于多类别问题,假如有M类模式 ,它们对应于M类图像。对于M个类别,就要给出M个判别函数: ,各个判别函数构成分类器,基本形式如图3-1所示: 图3-2 判别函数构成的多类分类器 对于线性情况,判别函数形式为 (3.4) 其中 , 。 3.5训练与学习 所谓模式识别的学习与训练是从训练样品提供的数据中找出某种数学式子的最优解,这个最优解使分类器得到一组参数,按这组参数设计的分类器使人们设计的某种准则达到极值。确定分类决策的具体数学公式是通过分类器设计这个过程确定的。这个过程称为训练与学习的过程。 训练与学习的过程中的训练集是指一个已知的样品集,在监督学习方法中用它来开发模式分类器。在本系统中,自己手写的50个汉字字符,从这50个字符中提取信息组成特征库,这50个字符就是训练集。 训练与学习的过程中的测试集就是识别时随机用手写的汉字。 第4章 模板匹配分类器识别汉字系统的实现 4.1系统的功能描述 本系统能够识别“中”、“华”、“人”、“民”、“共”、“和”、“国”、“万”、“岁”、“!”共10个字符。 系统的功能有: 1.一幅240*240的手写汉字的输入和浏览。 2.手写汉字的保存和特征提取及特征的保存。 3.每个汉字样品数查看,手写汉字的识别。 4.2模板匹配法的理论基础 在图象识别技术中,模板匹配是比较简单的方法。模板匹配就是把未知图像和一个标准的图像比较,看它们是否相同或相似。下面讨论两类别和多类别的情况。 1、两类别 设有两个标准手写汉字A、B,其特征向量为d维向量: , 。任何一个待识别的手写汉字X,它的特征向量为 ,当我们判别X是A还是B时可以计算X与A、B之间的距离,X与哪个样板距离近,就属于哪个类,这就是最小距离算法。 任意两点x,y之间的距离定义为: (4.1) 若 d(X,XA)规范
,在特征提取时就会发生差错。例如下图: 图4-6误判示意图 结束语 本文主要介绍了模式识别的基本理论和方法,并实现了用最小距离算法 识别10个汉字字符的程序。在本系统设计中所涉及的技术如下: 1、 模式与图象识别技术。 2、 分类器的设计方法。 3、 VC++6.0的界面设计。 归纳起来,在做毕业设计的过程中,我主要做了以下工作: 第一阶段:收集、阅读和分析有关模式识别及手写汉字识别的书籍,从 中找到一种合理的设计方法。 第二阶段:学习VC++6.0界面设计的方法,掌握了MFC的基本构架,文 档视图结构,消息映射,对话框的使用等知识。 第三阶段:在VC的开发环境中编写实现汉字识别的代码,功能有位图的浏览和存储,特征提取、保存,模板匹配等,并对各个部分进行了调试。 第四阶段:撰写论文。 限于我的水平有限,知识掌握不足,本系统还有许多有待改进的地方: 1、 图形界面还不完善,能够支持的操作比较少。 2、 汉字字符较少,只有10个,不具有代表性。 3、 实现手写汉字识别的算法比较多,例如:基于概率统计的贝叶斯算法,神经网络,分形几何等算法,由于时间关系,只用了最简单的方法。 模式识别是一门综合性、交叉性学科,在理论上它涉及代数学、矩阵论、概率论、图论、模糊数学、最优化理论等等众多学科的知识,在应用上又与其他许多领域的工程技术密切相关,其内涵可以概括为信息处理、分析与决策。在模式识别学科中,并没有一种普遍适应的算法,模式识别的算法要根据具体的识别对象和任务来确定,所以模式识别学科中还有很多创新性的工作,我打算在研究生学习阶段在这方面做深入的研究。 致谢词 本论文是在王典洪教授的亲切关怀与精心指导下完成的,感谢我的导师王典洪教授,他在我做毕业设计过程中,从选题到具体实施都给予我很多的帮助和指导,他循循善诱的教导和不拘一格的思路给予我无尽的启迪。 真诚感谢机电学院的领导和老师,感谢电信教研室的各位老师,他
/
本文档为【基于模式识别的手写汉字识别系统设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索