基于bp神经网络的字母识别系统设计与实现本科论文文档格式.docx
《基于bp神经网络的字母识别系统设计与实现本科论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于bp神经网络的字母识别系统设计与实现本科论文文档格式.docx(38页珍藏版)》请在冰豆网上搜索。
字母识别时寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型人工神经网络的字母识别系统,发挥计算机的高速运算能力,可能很快找到优化解。
本文是在matlab环境下模拟整个英文字母的识别过程,随着科学技术的发展识别技术更加成熟,各种难题都将会得到解决。
关键词:
字母识别;
图像处理;
特征提取;
BP神经网络
ABSTRACT
Todaythescienceandtechnologydeveloprapidly.Letterrecognitiontechnologybasedonthefeedbackneuralnetworkisappliedinmanyaspectsincludingpublication,financemilitary,cashregister,pageviews,andanywithrepeatability,andvariabilityofdatafiles.
LetterIdentificationSystemincludethefollowingprocesses:
preprocessing,featureextraction,BPneuralnetworktraining,andrecognition..
Inthispaper,weuseathree-layerneuralnetwork,includinginputlayer,hiddenlayerandoutputlayer.ThispapersupplyofavarietyofmethodstodetermineHiddenlayernodes.Therootsignmethodandothermethod.thatproposedbytheNelsonandIllingwnrthareapplied.
ThefeaturesandadvantagesofArtificialneuralnetworkisreflectedinthreeaspects:
First,aself-learningfunction.Whenwerecognizeletters,onlyputtingmanydifferentimagesandthecorrespondingresultsintotheartificialneuralnetworkandformingastableweightbeforetheletterrecognition,thenetworkwillbethroughself-learningfunctiontoslowlyidentifysimilarimages.Second,withtheassociationstorage.Artificialneuralnetworkfeedbacknetworkcanachievethisassociationintheletterrecognition.Third,findingtheoptimalsolutionwithhighcapacity.Findingtheoptimalsolutionofacomplexoftenrequirealargeamountofcomputation.Usingadesignthatafeedbacktypeartificialneuralnetworkforproblemandplayingthehigh-speedcomputingpowerofcomputer,youmayquicklyfindtheoptimalsolution.
Inthematlabenvironmentthisarticlesimulatetheentireprocessofletterrecognition,withthedevelopmentofscienceandtechnologyrecognitiontechnologyismorematureandhavevariousproblemswillbesolved.
字典
Keywords:
Letteridentification;
imageprocessing;
featureextraction;
thefeedbackneuralnetwork
1前言
1.1研究背景及意义
手写字母识别技术是光学字符识别(OpticalCharacterRecognition,简称OCR)的一个分支,字母识别的研究背景要追溯到早期的光学识别技术,距今已有40多年的发展历史。
早在60—70年代,世界各国就开始有关于OCR的研究,而在研究的初期,多以文字的识别方法研究为主线,且识别的文字仅为0~9的数字。
以同样拥有方块文字的日本为例子,其开始的光学字符识别技术走在世界前列,1960年左右开始研究光学字符识别的基本识别理论,在初期以数字为对象,直到1965至1970年之间开始有一些简单的产品,例如印刷文字的邮政编码识别系统,识别邮件上的邮政编码,帮助邮局作区域分信的作业活动;
因此至到今天邮政编码一直是各国所倡导的地址书写方式。
BP神经网络手写字母识别技术的研究有着重要的意义。
神经网络可以用于分类、聚类、预测等诸多领域。
识别技术用于计算机的数据自动输人,早期的识别系统被用于大量形式多样的数据输人方面,比如处理汽油借记卡等。
这种应用能够从非打印卡的账号中辨认购买者。
早期的设备与打孔处理器一起来使用,伴随着计算机和识别系统精密程度的提高。
识别的浏览器能够直接访误码CPO,这项技技术也影响到了信用卡交易的付款处理的过程。
目前,这些项应用仍是识别领域最主要用途之一。
英语是世界上使用人数最多的文字之一。
快速高效地将字母输人计算机,是信息处理的一个关键问题。
人工键入速度慢而且劳动强度大,对于大量已有的文档资料,英文自动识别输人就成为了最佳的选择。
它在英文信息处理、办公室自动化、机器翻译、人工智能等高技术领域,都有着重要的实用价值和理论意义。
对于印刷体字符,首先采用光学的方式将文档资料转换成原始黑白点阵的图像文件,然后通过识别软件将图像中的文字转换成文本格式,以便文字处理软件的进一步加工。
英文字符识别是模式识别的一个重要分支,也是文字识别领域比较困难的问题,它涉及模式识别、数字信号处理、图像处理、人工智能、模糊数学、计算机、信息论、中文信息处理等诸多学科,是一门综合性的技术。
近几年来,印刷英文字符识别系统的单字母识别正确率已经超过90.5%,为了进一步提高系统的总体识别率,扫描图像、图像的预处理及识别后处理等方面的技术也都得到了深入的研究,并取得了很大的的进展,有效地提高了印刷字母识别系统的总体性能
研究英文字母识别的BP神经网络模型,最终目的就是要使BP字母识别系统实现工业化,能像现在的一些手写英文字母识别系统或印刷体英文字母识别系统一样成为产品走向市场。
字母识别固然有很多难题,但是相信随着科学计算机技术、人工神经网络技术的快速发展以及人脑功能的进一步揭示,英文字母识别的理论和方法必将有大的飞跃.结合人工神经网络的发展史,我们有着对BP神经网络的展望。
虽然神经网络的理论研究有着广阔的发展前景,但是每个领域的研究就是既充满诱惑又充满挑战.没有人可以肯定告诉我们它的发展不会再经受挫折,也没有人会知道一旦成功实现其最终的目标会给世界带来多大的巨变.但是我们有理由相信坚持不懈地致力于BP神经网络理论方法研究必定会给21世纪科学研究带来辉煌。
1.2研究现状
于21世纪40年代早期人工神经网络在国外率先得到发展。
下面将以时间为顺序,以著名的人物或某一方面的突出研究成果为线索,简要介绍人工神经网络的发展历程。
在1943年,W·
Mcculloch和W·
Pitts通过分析、总结神经元的特性的基础上提出了神经元的数学模型。
该模型一直沿用至今,并且一直影响该领域研究的进展。
因而,称二人为人工神经网络研究领域的标志人物。
1982年,美国加州工物理学院J.J.Hopfield提出了Hopfield神经网格模型,引入了“计算能量”的概念,给出了网络稳定性判断。
1984年,他又提出了连续时间Hopfield神经网络模型,为神经计算机的研究做了开拓性的贡献,开创了神经网络用于联想记忆和优化计算的全新的途径,有力地推动了神经网络的研究发展,1985年,又有学者提出了波耳兹曼模型,在学习中采用统计热力学模拟退火技术,保证整个系统趋于全局的稳定点在日本的“真实世界计算”项目中,人工智能的研究成了一个重要的组成部分。
[1]
我国在识别领域的研究起步较晚,在20世纪70年代才开始对符号、字母、数字进行识别研究,对汉字的识别研究开始于70年代末期,到86年我国汉字的识别研究进人一个跨越性的时期,并取得了丰硕成果,并相继推出了许多中文识别的实用产品。
我国的许多研究部门在80年代初期就开始对字符识别进行研究,从80年代开始,神经网络的识别研究开发就一直受到国家“863”计划的资助与支持,并已经有了初步的回报。
排列浏览方法以及高速计算机的出现,产生了图像处理过程这一概念。
“图像处理过程”并不要求BP识别成功地派上用场,例如,BP神经网络系统将文件转变成电子数字条目的能力,将有效地取代显微胶片。
相对于处理现实中的文件式显微胶片的图片,这种系统能力为用户提供了更方便地整理图像的方法。
当通过上述的排列浏览方法生成识别逻辑单元后,图像处理可以采用“离线”方式而不是过去的"
实时"
方式。
这是区别早期识别系统的最大的优点,现在的识别系统能够允许强有力的逻辑系统持续工作,并不再对要浏览的字符的大小字体及数据位置两方面信息作出的要求。
譬如金融服务业的支票处理服务的“便捷图像数据辨别”就是这样的。
1.3手写字母识别方法
英文字母的结构表达形式和相应的单词形成方法有多种,每种结构形式又可以选择不同的特征,并且特征有不同的抽取方法,这样识别算法、标准、举学工具也不相同,这就造成了英文字母识别的算法种类繁多,结构不尽相同。
因此,不同特征提取特征和神经网络的设计方法决定了识别系统所用得处理方法。
通常可以分为统计模式方法、结构模式方法、统计与结构相结合的方法和人工神经网络方法.
1.3.1结构模式识别方法
运用模式的基元和基元间的结构关系对模式描述与识别。
在很多情况下,可以运用形式语言理论中的文法对模式的结构内容进行表示,有时也称其为句法模式识别。
预处理、文法推断、模式表达、句法分析四个部分(如图1.1)构成了结构模式识别系统。
图1.1,句法模式识别框图
1.3.2统计模式识别方法
广义地说,存在于时间和空间中可以观察的事物,如果可以区别它们是否相同或相似,都可以称为模式;
狭义地说,模式是通过对具体的个别事物进行观测
所得到的具有时间和空间分布的信息;
把模式所属的类别或同一类中模式的总体
称之为模式类(又简称为类)。
而“模式识别”则是在某些一定量度或观测基础上把待识模式划分到各自的模式类中去。
[31]
对模式的统计分类方法,即把模式类看成是用某个随机向量实现的集合,又称为决策理论识别方法。
属于同一类别的各个模式之间的差异,部分是由环境噪声和传感器的性质所引起的,部分是模式本身所具有的随机性质。
前者如纸的质量、墨水、污点对书写字符的影响;
后者表现为同一个人书写同一字符时,虽形状相似,但不可能完全一样。
因此当用特征向量来表示这些在形状上稍有差异的字符时,同这些特征向量对应的特征空间中的点便不同一,而是分布在特征空间的某个区域中。
这个区域就可以用来表示该随机向量实现的集合。
模式识别系统在进行工作时只要判断被识别的对象落入哪一个区域,就能确定出其所属的类别。
1.3.3统计与结构相结合的识别方法
统计与结构相结合的识别方法能够很好的解决字符正确识别率的问题,结构识别方法和统计识别方法分别应用在识别的不同层次上。
统计识别用于基元的提取上二结构识别用于整体符号的识别上,我们可以分为以下几步:
(1)符号处理:
用细化和归一化对待识字符进行处理。
(2)基元提取:
利用神经网络和Freeman分别生成节点基元集合和连线基元集合,他们组成了符号基元集合
(3)符号文法:
利用得到的符号基元集合来建立符号的有向图的表示法再利用图的遍历算法遍历所有节点形成符号句再用模糊度形成三级模糊度符号句子。
(4)句子匹配:
对符号的三级模糊度进行匹配进而得到识别结果。
[6]
1.3.4人工神经网络方法
人工神经网络(ArtificialNeuralNetworks,简写为ANNs)也简称为神经网络(NNs)又称作连接模型(ConnectionistModel),它模范动物的神经网络行为特征,是一种分布式并行信息处理的算法模型。
该网络通过调整内部节点间相互的连接关系,进行信息处理。
人工神经网络具备自学习和自适应能力,通过先前提供的大量的输入数据,进行分析,掌握输入输出之间内在的规律,最终利用这些规律,利用提取得到的新数据来计算输出结果,这种学习分析的过程被称为“训练”。
人工神经网络包括LMBP神经网络、GA神经网络、BP神经网络等多种神经网络。
[8]
1.4识别系统性能的评价
衡量一个BP神经网络系统性能好坏的主要指标有:
正确识别率(正确识别率=正确识别样本数/全部样本数*100%)、错误识别率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等诸多方面。
对神经网络的研究目前许多技术不能确定,正确率永远达不到100%,只能靠近,它们之间进行着拉锯战。
由于与很多因素有关,比如作者的书写习惯、扫描的质量、识别运用的算法、学习与训练的样本等,都可能影响识别正确率,所以BP神经网络产品不但需要一个核心技术,产品的操作使用方便性、所提供的除错功能及方法,也是决定产品好坏的重要因素[9]。
1.5论文组织结构
手写字母识别是指利用BP神经网络辨认手写英文字母的一种技术,它属于OCR范畴。
基于BP网络的手写英文字母识别包括两个阶段:
一个是训练阶段和一个是识别阶段,这两个阶段包含输入、预处理、特征提取、分类及输出五个部分。
本文将通过五章地内容进行讨论,用MATLAB仿真得到实验数据并对全文进行总结。
第一章前言当中介绍了手写体数字识别的研究背景与意义、现状、手写字母的四种实现方法,对识别系统性能的评价
第二章讨论了手写英文字母识别的预处理方法,包括图像的去噪、二值、归一化、细化。
图像预处理的本质是:
特征提取时提取的字母特征能有效地反映手写英文字母的本质特征。
本章中介绍了预处理的不同方法,并详细分析各阶段的显现过程。
第三章主要讲述英文字母的特征提取,介绍了提取的特征即实现方法。
本文选取的特征包括重心、像素百分比密度特征、矩阵变换特征、粗网格特征、外轮廓特征笔划密度特征六种方法。
第四章介绍分类器的设计原理和实现算法,指出BP网络用于手写字母识别参数选择。
并结合提取的特征向量,确定本文采用的BP网络的网络模型。
第五章对实验结果进行了分析。
指出了影响正确识别率的几个潜在的机理。
第六章对本文所作的工作进行总结,并提出BP神经网络识别的工作展望。
2预处理
2.1系统框架
基于BP神经网络的手写英文系目的识别过程分为学习阶段和识别阶段,学习阶段和识别阶段都要对样本字母进行预处理、特征提取,学习阶段还要进行训练确定稳定的权值,识别阶段还要经过分类在输出识别结果。
图2.1系统的识别框架图
2.2预处理概述
在进行手写英文字母识别时需要对所得到的手写英文字母图像提前进行预处理,不同地域的人在书写英文字母的过程中的书写风格不尽相同即使是同一地域的人由于山谷写的任意性也会造成手写字母的形式千变万化,令外数字图像在采集过程中,受图像质量、扫描性能的影响,数字图像会带有形变和噪声,这些变化都会影响英文字母的识别效果,预处理的目的是消除原始图像中的噪声,将原来的图像转化为清晰的二值化图像,便于对手写字母的微观结构特征的提取。
因此预处理过程的效果会对特征的提取、数字识别产生重要的影响。
本文采用的的字母图像的预处理过程:
去噪、二值化、归一化和细化。
2.3本文预处理设计
本章的预处理过程的设计如图2.2所示:
图2.2预处理过程
2.3.1去噪
我们得到的原始图像应书写风格的不同,外部环境的影响往往存在个别的孤立点,这就是我们说的噪音。
这些孤立的点在图像中是我们不想要的,必须进行去除才能提高英文字母的识别率,如何进行去噪本文涉及两种方法。
(1)均值滤波:
均值滤波是一种典型的线性滤波方式,它的工作原理是对于目标像素存在一个模板,在这个模板中包括目标像素周围的8个像素点,用着八个像素点的灰度平均值来代替目标像素点的灰度值。
均值滤波采用的主要是平均法,因此均值滤波又叫线性滤波,它是用周边像素点G1(x1,y1)至G8(x8,y8)(G代表灰度)的平均灰度
来代替当前像素点G(x0,y0)的灰度值,m为模板周围像素点的个数[15]。
(2)中值滤波:
相对于均值滤波来说中值滤波是一种非线性的滤波方式,它是图像预处理中有效地去噪方式,被广泛的应用。
中值滤波的工作原理:
用一个奇数的移动窗口,某一点的值是该奇数窗口中所有像素点的中间值,比如说,假设窗口内有七点,其值为70、80、90、200、115、120和210那么此窗口内各点的中值及为115。
那么中值滤波的具体实现形式又是什么呢?
我们设一个一维序列的数组f1,f2,…,fn,取移动窗口的长度为m(当然m为奇数),我们,对其进行中值滤波时,就是从我们选定的序列中连续抽出m个数fi-a,…,fi-1,fi,fi+1,…,fi+a(fi为窗口的中心值,a=(m-1)/2),再将这m个点按其数值大小进行排序,数值顺序单调上升或单调下降,取其序号的中心点的那个数作为滤波输出。
设模板窗口像素点的个数为5灰度值分别为0、8、4、6、2经过中值滤波函数filter后输出序列外0、2、4、6、8在去中间值为4,则5个像素点G(x1,y1)-G(x5,y5)的灰度值为5。
均值滤波和中值滤波的比较:
对于均值滤波把目标像素点都用模板周围的8个像素的灰度均值来代替。
可以有效地对图像进行平滑并且速度快,算法简单。
但是无法有效地去除噪声,只能微弱的减弱噪声。
而对于非线性滤波方法也就是我们说的中值滤波,它是图像预处理技术中最常用的核心处理技术。
它在平滑去除噪声方面十分有效,并且它能够保护图像尖锐的边缘。
所以均值滤波和中值滤波都有各自的利与弊,选用哪一种滤波方式这要看我们对识别的要求。
如果是用在要求识别速度快但对正确率要求必是很高的场合我们可以选择运用均值滤波的方式,如果使用在要求高正确率的场合,比如银行、金融业,我们就必须运用中值滤波来实现。
本文要求较高的识别率选用了中值滤波来实现英文字母的识别。
对C进行滤波前后的对比如下图:
滤波前滤波后
图2.3手写字符滤波前后比对图
2.3.2二值化
在数字图像的处理当中,二值图像有着非常重要的地位。
第一,图像二值化后有利于图像的进一步处理,使图像变得简单,而且整体数据量减小,能凸显出的图像的整体轮廓。
第二,要进行二值图像的处理与分析,首先要把0-255的灰度图像进行二值化,得到二值化图像。
图像的二值化就是将图像上的像素点的灰度值设置为0或1,0代表白色(或黑色),1代表黑色(或白色)也就是将整个图像呈现出灰度为0或255明显的黑白效果。
二值化在matlab中是如何实现的呢?
256个亮度等级的灰度图像经过选取适当的阀值而仍然可以获得反映图像局部和整体特征的二值化图像。
(2.1)
如公式(2.1)所有灰度大于或等于选定阀值T,即ƒ(x,y)>
=T,的像素被判定为属于特定物体,其灰度值变为255用1(或0)来表示,否则,即ƒ(x,y)<
T这些像素点被排除在物体区域之外,灰度值为0,用0(或1)来表示,表示背景或例外的物体区域。
图像的二值化过程运用了许多的算法大体可以分为两类一类是全局阀值;
一类是局部阀值。
对于全局阀值来说选取阀值T整幅图像当中凡是大于阀值T的均为1,相反只要小于阀值T则为0二对于局部阀值来说首先要对图像进行分割,每一部分的阀值T是不一样的实质就是进行图像的局部二值化。
有效地确定阀值所得到得二值化图像可以提高英文字母的正确识别率。
最大类间方差方法是二值化全局阈值算法的最为杰出的代表之一。
它是由Otsu于1979年提出的一种基于判别式分析的方法。
基本想法是以最佳门限将图像灰度直方图分割成两部分,使两部分类间方差取最大值,即分离性最大。
把图像中的像素按灰度级阀值T分成两大类C0和C1C0=(0、1……T)C1=(T、T+1……255)若用σ2w、σ2B、σ2T表示示类内、类间和总体建立三个函数式[11]:
(2.2)
则最优值
(2.3)
TE{0,1,Lƒ-1}
运用这种方法计算简单,稳定且有效,是实际应用中经常采用的方法之一。
我们用这种方法确定了阈值是0.7,如图2.3所示二值化前后的图像:
二值化前二值化后
图2.4二值化前后图像
对于我们要鉴定的字母二值化前后的字母矩阵是什么变化呢?
以125为阈值举例,运行程序后字母矩阵得到如下表结果
表2.1字母二值化前后的矩阵
(a)二值化前(b)二值化后
45
78
221
90
47
217
85
234
48
128
178
127
29
26
4
179
94
124
93
87
1
2.3.3归一化
我们所要鉴定的字符的大小规格不尽相同,这对后续英文字母的特征提取,识别操作环节会造成一定的障碍。
将每个数字图像统一到同一的高度和宽度,这就是图像的归一化。
基本上归一化思想是利用图像的不变矩寻找一组参数使其能够消除