基于BP神经网络的数字识别系统.doc_第1页
基于BP神经网络的数字识别系统.doc_第2页
基于BP神经网络的数字识别系统.doc_第3页
基于BP神经网络的数字识别系统.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于BP神经网络的数字识别系统摘要:本系统通过对图像的一系列预处理,采用BP算法神经网络,根据数字字符特征进行识别。用该算法实现的数字字符识别系统识别率高,误识率低,可以单独使用,也可以把它作为一个识别系统的软件核心应用到车牌识别、运动员号码识别、车厢识别等系统中去。关键字:数字识别;图像预处理;BP神经网络1 引言人们在研究人脑机理的基础上,广泛开展模仿人脑模型的人工神经网络理论的研究。由于人工神经网络具有与人脑相似的高度并行性、良好的容错性和联想记忆功能、自适应和自学习能力等特点,特别是以BP网络为代表的神经网络具有良好的自学习能力、强大的分类能力、容错能力,因此人工神经网络在字符识别领域得到越来越多的应用。本系统是为了辨认识别图像中的数字而设计的,它通过对图片的一系列处理,最后把数字字符特征提取的结果再利用人工神经网络(BP网络)进行字符识别。2 系统模块介绍系统在实现的过程当中,先分解成两大模块,图像预处理模块和数字识别模块。其中图像预处理模块在对图像进行了一系列变换后把最后提取到的数字字符提交给数字识别模块,然后进行识别并给出处理结果。本系统总的流程为:图像预处理神经网络字符识别3 图像预处理为了很好的进行识别,需要先对采集来得图像进行预处理,流程图如下:图像输入灰度转化图像二值化倾斜度调整去离散躁声梯度锐化紧缩重排归一化调整图像分割特征提取(1)256色位图灰度化由于256色的位图的调色板内容比较复杂,使得图像处理的许多算法都没有办法展开,因此有必要对它进行灰度处理。图像灰度化有各种不同的算法,本文采用比较直接的一种就是给像素的RGB值各自一个加权系数,然后求和。(2)灰度图像二值化在进行了灰度化处理之后,图像中的每个像素只有一个像素的灰度值。它的大小决定了像素的亮暗程度。为了更加便利的开展图像处理操作,还需要对已经得到的灰度图像做一个二值化处理。二值化也有很多成熟的算法。可以采用自适应阈值法,也可以采用给定阈值法。本文中采用的是给定阈值的方法。(3)图像的梯度锐化在很多的情况下字体模糊,对识别造成了一定的困难,所以有时要对图像进行锐化处理使模糊的图像变得清晰,同时可以对噪声起到一定的去除作用。图像锐化的方法有很多,有一种是微分法,有一种是高通滤波法,我们在本文里所采用的梯度锐化的方法就属于微分法的一种。(4)去除离散的杂点噪声图像可能在传输过程中夹带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如中值滤波、均值滤波。但是那样的算法不适合用在处理字符这样目标狭长的图像中,因为在滤波的过程中很有可能会去掉字符本身的像素。本文采用的是去除杂点的方法来进行去噪声处理的。扫描整个图像,当发现一个黑色点的时候,就考察和该黑色点间接或者直接相连接的黑色点的个数有多少,如果大于一定的值,那就说明该点不是离散点,否则就是离散点,把它去掉。在考察相连的黑色点的时候用的是递归的方法。(5)整体倾斜度调整因为读进来的图像可能存在倾斜,所以必须对它进行调整,使得字符都处于同一水平位置,那样既有利于字符的分割也可以提高字符识别的准确率。(6)字符分割 系统在读进来的图像中一般会含有多个数字,识别的时候只能根据每个字符的特征来进行判断,所以还要进行字符分割的工作。这一步工作就是把图像中的字符独立的分割出来。(7)图像的归一化处理 因为扫描进来的图像中字符大小存在较大的差异,而相对来说,统一尺寸的字符识别的标准性更强,准确率自然也更高,标准化图像就是要把原来各不相同的字符统一到同一尺寸,在本系统中是统一到同一高度,然后根据高度来调整字符的宽度。(8)图像的紧缩重排 经过标准归一化处理后的各个字符在图像中的位置不定,要它进行特征提取时处理起来比较麻烦,所以要把归一化后的字符进行紧缩重排,以形成新的位图句柄,以方便下一步的特征提取的操作。4 神经网络字符识别神经网络是由大量处理单元(神经元)广泛连接而成的网络,是对人脑的抽象、简化和模拟,反映人脑的基本特性。BP 神经网络的字符识别系统是神经网络模式识别系统的一种,它们的原理是一致的。通常,神经网络字符识别系统由预处理,特征提取和神经网络分类器组成。BP网络是多层网络,在多层网络中,一般至少有3个层:一个输入层、一个输出层、一个或多个隐层。多层网络可以解决很多单层网络无法解决的问题,比如多层网络可以用来进行非线性分类,可以用来做精度极高的函数逼近,只要有足够多的层和足够多的神经元,这些都可以办到。一个多层网络的输入和输出层的神经元个数是由外部描述定义的。本神经网络识别系统采用的是使用最为广泛的BP网络。BP网络的学习过程可以描述如下。工作信号正向传播:输入信号从输入层经过隐含层,传向输出层,在输出端生输出信号。这是工作信号的正向传播。在信号传递的过程中网络的权值是固定不变的,每一层神经元的状态只影响下一层神经元的状态。如果在输出层得到的输出和期望输出的偏差比较大,则转入误差信号的反向传播。误差信号反向传播:网络的实际输出和期望输出的差值就是误差信号。误差信号的反向传播就是误差信号从输出端传向输入端。在这个过程当中,网络的权值由误差反馈进行调节。通过不断的修改网络权值从而使得网络的输出不断的逼近期望值。下面是神经网络和多层BP网络的示意图。BP网络应用过程如下图所示:训练样本图片待识别数据图像预处理特征提取BP网络识别结果:0 1 2 训练识别BP网络应用的第一步就是要用已知训练样本来训练BP网络。BP网络的输入层的结点个数,为图像预处理后所输出的特征的维数。对于隐层的结点数,没有什么硬性规定,一般来说,隐层神经元的数目越多,那么BP网络也就越精确,训练时间也越长。但要注意,隐层神经元不易选取太多,否则会造成识别率的急剧下降,也会降低网络的抗噪声能力。在本程序中,推荐使用10个隐层神经元。首先,利用大量的训练样本来训练网络,以得到以文件形式保存的权值。训练样本为精心选择的可以很好的反应样本可分性特性的己知数据。在程序中采用训练样本图片的形式。将训练样本图片进行特征提取后,就可以送入BP网络进行训练。 其次,训练完BP网络后,就可以用它对为止数据进行识别了。识别首先要经过图像预处理、特征提取,最后送入BP网络识别,直接得到结果。5 识别结果分析本系统可以允许输入图片中可以含有多个数字,对数字的识别准确率大于90%,同时每张图片的识别时间不大于1s,还对图片噪声有较强的适应性。6 结束语利用BP神经网络良好的学习能力和容错能力对数字的识别在识别精确度与速度有很大的改善。今后的工作是如何降低网络规模和改进算法,进一步提高字符识别精度和速度,并利用程序语言,使其可以作为一个识别系统的软件核心应用到车牌识别、运动员号码识别、车厢识别等系统中去。参考文献

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论