MNIST-手写数字识别-matlab

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MNIST手写数字库识别实现摘要手写数字识别是模式识别的应用之一。文中介绍了手写数字的一些主要特征,并提出了截断次数特征并利用截断次数特征进行了实验。并在MNIST库上通过单特征和多特征实验得出了选择好的特征以及控制特征在识别判决中的权重可以提高识别率的结论,具体方法是加大识别能力强的特征的系数。关键字:手写数字、特征提取、多特征、识别1引言数字识别(DigitalRecognition)是光学字符识别技术(OpticalCharacterRecognition,简称OCR)的一个分支,数字识别分为印刷数字识别和手写数字识别,手写数字具有广泛的研究价值[3],本文工作对象的就是手写数字。手写数字识别难度主要在于:一、数字相似性大,但字形相差不大;二、数字虽只有十种,但笔划简单,同一个数字写法差别巨大;三、手写数字存在大量断笔和毛刺,对识别造成影响。手写数字识别过程主要分为预处理、特征提取和识别三个阶段。预处理阶段,是对采集到的图像进行识别前所必要的一些处理工作,这主要包括:对图像进行几何校正、去噪、复原、二值化,对二值化图像进行滤波处理,单字的分割等等,必要时修补缺口。特征提取阶段,细化过后的图像包括有很多特征,这些特征将在第三章中有介绍,识别时不可能利用所有的特征,因此需要提取出一些对所用方法有效的特征。在识别阶段,利用上一步所抽取的特征对待识别的字符进行识别处理。根据手写数字识别方法不同,可以分为几类:模板匹配法、统计决策法、模糊判别法[5]、句法结构法、逻辑推理法、神经网络法。神经网络法是研究的比较热门的方法,其基本原理就是利用神经网络的学习和记忆功能,先让神经网络学习各个模式类别中的大量学习样本,以记住各模式类别中的样本特征,然后在识别待识样本时,神经网络回忆起之前记住的各模式类别的特征并将他们逐个与样本特征相比较,从而确定样本所属的模式类别。这种方法的优点是抗干扰能力强,允许样本有较大的变化,但是它也依赖特征向量的选取。逻辑推理法基础是人工智能;模糊判别的基础是模糊数学;句法结构是利用形式语言和自动机的基础,但对无规则单个手写数字无效;统计决策法发展较为成熟,其基础是概率论和数理统计;模板匹配是通过对每个手写数字都给定了一个模板,通过比较样本和模板差别的方法。本文对MNIST手写数字库训练样本进行了多个特征值的提取,并根据特征值对10000个测试样本进行了测试,同时利用了单特征值和多特征值得到了不同结果。本文结构如下:第二章介绍了实验目标和实验原则和结构,第三章对手写数字特征进行了全面总结,第四章应用单特征和多特征对M-NIST数据库手写数字进行了识别,并引入了一种新的特征提取方法改进了识别能力,第五章对实验内容进行了总结和展望。2实验原则和结构实验目的在于设计并实现一种手写数字算法,并通过单特征值识别组合为多特征识别,以提高识别率,并在多特征值下得到最优的线性组合。我们有以下原则:单特征识别和多特征识别结合:每个特征都是针对可区分数字的一个属性,但单特征识别的能力有限,实验通过结合多个单个特征进行多特征的识别提高了识别率,并得到多特征线性最优组合。特征对每个数字的识别能力:特征对每个数字的识别能力不同,通过实验可以得到每个特征对各个数字的识别率,从而为多特征组合识别中提供参考,哪些特征识别的哪些数字更准确,在判定中应该具有较大比重,文章虽然没有实现特征权重的优化,却精确给出了每个特征对每个数字的识别率。为达到以上原则,我们设计了5部分实验,一是44粗网格单特征识别实验;二是77粗网格单特征识别实验;三是阶段次数单特征识别实验;四是77粗网格和截断次数多特征识别实验;五是比较了单特征识别和多特征识别中特征没有归一化的影响。每个实验都包括了训练(study.m)和识别测试(recognize.m)两个部分,首先从MNIST训练集中训练得到特征值(features.txt),然后通过所得特征值测试识别MNIST测试集内容,记录总识别率和每个数字的误识别个数。另外实验数据采用NEC研究中心的M-NIST手写数字数据库,许多实验研究基于此库[4],里面包含了60000个训练样本和10000个测试样本,每个样本为2828像素的bmp图片。我们在文中默认有以下定义:识别率=正确识别数/样本总数100%失误率(误识率)=错误识别数/样本总数100%3手写数字特征数字类别不但少,而且笔划简单,尤其是手写数字个个差异大。数字识别的关键在于能否找到有效的特征,[2]就给出了数字的多个特征,选取的特征应具有可分辨能力并尽可能的少,分辨能力在应用中而言就是特征能够使得不同类别的个体在特征值上相差大,同类别特征值相差小。特征值小一方面是为了减少计算量,另一方面也减少了信息冗余。目前研究的手写数字特征主要有笔画密度特征、粗网格特征、重心以及重心距特征、首个黑点位置特征、投影特征以及空间域变换特征等,除了以上特征,也不断的有新的特征[1]被提出。3.1单个数字特征单个数字特征是指特定数字普遍具有的特征。例如如果数字竖直长度比上横向宽度大于某个值比如4,那么很有可能是数字1,如果数字内有两个封闭的区域则很可能是数字8,如果只有一个封闭的区域,且封闭区域的重心偏上则很可能是数字9(同理可判断数字6),以上都是这些数字普遍具有的特征,但因为数字手写的原因,也包含了大量不规则的例子,如图1,则需要进一步借2图1:不满足单个数字特征的例子水平宽度竖直高度图2:手写数字笔画密度特征助其他特征进行识别。单个数字特征可以辨别出那些具有典型数字特征的手写数字,但计算复杂并且在手写数字识别中误差大,但是作为正式识别过程前的预识别可减少运算量和时间。3.2笔画密度特征笔画密度特征是指不同数字在水平方向、竖直方向以及其他角度方向上笔画密度特征。如图2数字1在竖直方向上笔画密度大,而在水平方向上笔画密度小,而数字8在倾斜方向上笔画密度大。找到这样的特征我们可以间隔一定行数对样本进行横向和纵向进行扫描,记录下单行黑色像素点个数为特征值,笔画密度特征对数字畸变和抗噪声能力一般。3.3粗网格特征粗网格特征是指不同数字在不同位置块内的黑色像素点个数特征。它代表的是图像的整体分布特征。虽然手写数字书写的风格变化多、因人而异,但十个字符黑色像素分x%y%z%0%图3:手写数字6粗网格特征布具有一定的整体特征。粗网格的特征提取过程主要是将处理后的样本图像分划为不重叠的局部块,将每个块中的黑色像素个数占全部像素的百分比作为特征。本文实验中如图3将2828样本数字手写图像横向、纵向各用间距为4pixels和7pixels的水平线和竖直线将图像分为77=49块和44=16块区域,统计每块区域黑色像素所占比例作为特征值。所取块越小,对数字分辨能力相对越强。考虑一种极端情况:当块大小只有一个像素点,判断标准即此像素点是否为黑色像素,特征值只有0、1两个可能,这样相当于有一个模块对测试数字进行匹配。3.4重心以及重心距特征重心以及中心距特征是指不同数字重心位置和四个象限中像素值偏离重心的整体特征,如下公式中P、Q分别代表是重心的横坐标和纵坐标,fm;n代表坐标(m;n)像素的值,需要注明的是该值应该是255减去像素值,因为在8bits图像中255代表白色,0代表黑色,如果拿像素值作为fm;n的值算出来的是白色区域的重心,而不是黑色像素的重心。P=M∑m=1N∑n=1mfm;n∑Mm=1∑Nn=1fm;nQ=M∑m=1N∑n=1nfm;n∑Mm=1∑Nn=1fm;n390度45度0度135度180度-45度-90度-135度90度45度0度135度180度-45度-90度-135度图4:手写数字1和2首个黑点特征对应的我们重心距Zi;j定义为:Zi;j=iM2∑m=(i1)M2jN2∑n=(j1)N2(mm)(nn)那么当i;j分别为1,1、1,2、2,1、2,2时,Zi;j分别代表着四个象限到重心的重心距,这样就可以得到包括二维重心特征和四个一维重心距特征。3.5首个黑点位置特征首个黑点位置特征是指不同数字首个黑色像素出现的位置特征。可以如图4依次从0度、45度、90度、135度、180度、-135度、-90度、-45度方向统计第一个黑点出现的位置,得到8个二维特征。3.6投影特征投影特征是指不同数字向四周和象限线上投影长度特征。如图5所示,四周和象限线将数字分为四部分,每部分内黑色像素分别向四个方向投影,共计得到12个投影长度特征。投影特征一定程度上反映字符内部结构和笔划分布。3.7空间域变换特征空间域变换特征利用了数字信息主要集中在变换空间域的低频。常见的空间域变换图5:手写数字投影特征有傅里叶变换和小波变换等,傅里叶变换是数字图像处理中广泛采用的二维正交变换,傅里叶变换后平均值即直流项正比于图像灰度值平均值,低频分量则是图像内容边缘的强度和方向,较好地保存了图像原始内容的主要信息(这点小波变换可更直观的看出),这种效果类似于对图像进行了数据压缩。对于二维数字信号{f(m;n)(m=1;:::;M;n=1;:::;N)},其离散傅里叶变换定义为:F(u;v)=1pMpNM∑m=1N∑n=1f(m;n)ej2(muM+nvN)如果手写数字图像稍大,可以进行多次变换,得到合适个数的傅里叶系数作为特征值(如下选取MN个傅里叶系数作为特征):F=F(0;0):::F(1;N)......F(M;0):::F(M;N):4实验应用4.1实验环境实验所用编程语言为MATLABR2009b,低于此版本可能存在兼容性问题,数据集采用MNIST手写数字库,共计60000个训练4样本和10000个测试样本,每个特征提取都对所有的训练样本进行了学习,提取出特征值,每次识别测试都对所有的测试样本进行了识别,与测试样本正确值比较(test.txt),并把记录错误(log.txt),最后根据记录进行比较。4.2单特征识别单特征识别是指仅采用第三章中一种特征值的方法对手写数字进行识别。本实验中采用了44粗网格和77粗网格特征,以及一种新的特征对手写数字进行了识别,得到了不同的效果。4.2.144粗网格特征识别44粗网格特征识别实验中分划线间隔为7像素,将2828像素的图片分割为287287=44=16个区域块,计算出每个区域块中的黑色像素个数bm;n和整个图像黑色像素的个数B,计算方法如下(因为黑色像素为0,所以计算中用1减去以得到黑色像素个数):bm;n=7∑i;j=1(1p4m+j)m;n=0;1;2;3B=3∑m=03∑n=0bm;n既可以将每个区域块中的每块中黑色像素个数作为特征值,也可以将每个区域块中黑色像素个数与所有黑色像素的比值,即bm;n/B作为特征值,共计16个一维特征值。这两种情况区别在于:笔画粗细对前一种特征敏感,而对区域块内黑色像素百分比不敏感,这样,不同粗细笔画的手写数字用黑色像素百分比来识别误差较小,这点在下一小节得到了验证。图6:44粗网格特征每个数字识别该方法选取了44=16个特征值,经实验10000个测试中正确识别了6628个,识别率达66:28%,具体每个数字识别如图6,横轴代表每个数字,纵轴红色代表每个数字测试样本个数,蓝色代表失误识别个数(下文均同此)。44粗网格特征识别对每个数字的识别率都不高,最好的数字6识别率也不过80%左右,部分是因为选取的网格过大所致。4.2.277粗网格特征识别77粗网格特征识别方法同44粗网格特征识别,区别在于减小了块的大小,分割线间隔为4像素,每个块大小变为44=16个像素大小,并获得了49个特征值,增强了识别能力。经试验,10000个样本中正确识别了7911个手写数字,识别率达到了79:11%,相比44粗网格特征识别,识别率有了较大提升,但所需的特征值也变为原来的三倍。为了验证上小节利用块内黑色像素个数和块内黑色像素占所有黑色像素比值对识别能力的影响,我们在77粗网格特征识别实验中另外单独选择黑色像素个数作为特征值,经实验,10000个样本

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功