基于bp神经网络的数字识别Word格式.docx
《基于bp神经网络的数字识别Word格式.docx》由会员分享,可在线阅读,更多相关《基于bp神经网络的数字识别Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
灰度化;
预处理;
仿真测试
1.背景介绍
1.1.研究背景
为了解决计算机字符的自动识别、高速加工处理,使计算机达到真正智能化,人们对计算机识别进行了多年的研究,并取得了很大的进步。
数字识别是字符识别的一个分支,一般通过特征匹配及特征判别的方法来进行处理,目前识别率还较低。
因此,为了提高识别率,还要寻求新的方法和途径。
近年来,人工神经网络技术取得了巨大的发展,它所具有的优势:
固有的并行结构和并行处理、知识的分布存储、容错性、自适应性、模式识别能力,为手写体数字识别开辟了新的途径。
数字识别作为模式识别的一个重要分支,在邮政、税务、交通、金融等行业的实践活动中有着及其广泛的应用。
数字识别作为模式识别领域的一个重要问题,也有着重要的理论价值。
一方面,阿拉伯数字是世界各国通用的符号,因此,数字是一个重要枢纽。
在符号识别领域,数字识别为这一领域提供了一个算法研究的平台。
另一方面,数字的识别方法很容易推广到其它一些相关问题,特别是对英文字母的识别,但到目前为止机器的识别本领还无法与人的认知能力相比,这仍是一个有难度的开放问题。
1.2.数字识别的发展现状
模式识别(PatternRecognition)是对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程。
它是信息科学和人工智能的重要组成部分。
而数字识别作为模式识别的一个分支。
在日常生活和科研中具有十分重要的作用。
数字识别的算法一般是采用以知识、神经网络、人工智能为基础的模板匹配法、轮廓多边形相关、傅立叶系数法等方法来进行识别的。
以上方法识别效率高,但是实现较为复杂。
1.3.本课题主要的研究内容
MATLAB软件包含了被称为Toolbox的各类应用问题的求解工具。
神经网络工具箱正是在MATLAB环境下所开发出来的许多工具箱之一。
设计者则可以根据自己的需要去调用工具箱中有关神经网络的设计与训练的程序,使自己能够从烦琐的编程中解脱出来,集中精力去思考和解决问题。
人工神经网络(ANN)是理论化的人脑神经网络的模型,是模仿大脑神经网络结构和功能而建立起来的一种信息处理系统。
神经网络的一个最主要的功能就是分类,,这个功能有助于机器的模式识别。
本课题就是利用神经网络的分类功能,并借助于MATLAB软件的神经网络工具箱,采用具有自适应学习速率和附加动量因子的BP型神经网络,从而实现罗马数字的模式识别。
2.图像预处理
由于自然和人为因素影响,可能造成数字图像笔划缺损、噪声严重及几何形变等现象。
故识别前必须对图像进行必要的预处理。
图像处理流程如图1所示。
图1图像预处理流程
2.1.彩色图像的灰度化
图像输入后一般都是256色彩色图像,因为256色位图调色板内容复杂,很多算法无法进行,所以要进行彩色图像的灰度化。
灰度化后灰度图像的RGB值是相等的,只有亮度的不同,灰度值大的像素亮度也大,灰度值小的图像亮度暗,灰度值为255的像素为白色,灰度值为0的像素为黑色。
2.2.灰度图像的二值化
彩色图像灰度化后每像素只有一个值,即灰度值,二值化就是根据一定标准将图像分成黑白二色。
因为本课题所做的是扫描图像,所以用给定阈值法,给定阈值为220。
2.3.梯度锐化
因为二值化后的图像字体模糊,所以有必要进行梯度锐化。
梯度锐化同时对噪声也起一定的去除作用,在这里采取Roberts算子对图像锐化,可以让模糊的边缘变清楚,同时选用合适阈值可以减弱和消除细小的噪声。
2.4.去离散噪声
由于图像的扫描和传输过程可能夹带噪声,所以需要去离散噪声。
具体方法是:
扫描整个图像,当发现一个黑色像素就考察和它直接或间接相连的黑色像素有多少,如果大于一定值(具体数值视情况定),就可以认为它非离散点,否则就认为他是离散点,将其从图像中去掉。
2.5.归一化调整
因为扫描的字符大小存在差异而对同一尺寸的图像进行识别准确率高一些,所以要进行归一化调整。
归一化方法是先得到原来字符的高度,并与系统要求的高度比较,得出高度变换系数,然后根据这个系数得到变换后应有的宽度,得出高度、宽度后,把新图像里的点按照插值的方法映射到原图像,为了以后特征提取方便,进行BP网络训练时缩短训练时间,高和宽不宜设置过大。
这里取高为m,宽为n。
3.模式识别
3.1.特征提取
经过预处理,把原来大小不同、分布不规律的各字符变成大小一样、排列整齐的字符。
下面要从预处理完的字符中提取最能体现这一个字符的特征向量,将提取出的训练样本中的特征向量代入BP网络中就可以对BP网络进行训练。
提取出待识别的样本中特征向量代入训练好的BP网络中就可以进行识别。
在这里采取逐像素特征提取法,方法是对图像进行逐行逐列扫描,当遇到黑色像素时,取其特征值为1,当遇到白色像素时,取其特征值为0。
这样扫描结束后就形成一个维数与图像中像素点的个数相同的特征向量矩阵。
3.2.BP神经网络
3.2.1.BP算法的多层感知器
采用BP算法的多层感知器是至今为止应用最广泛的神经网络,在多层感知器的应用中,一般习惯将单隐层感知器称为三层感知器,所谓三层包括了输入层、隐层和输出层。
三层BP神经网络如图2所示。
图2三层BP网
三层感知器中,输入向量为
,隐层输出向量为
,输出层输出向量为
,期望输出向量为
,输入层到输出层的权值为
,隐藏层到输出层的权值矩阵为
,各层之间的信号关系如下:
对输出层有:
对隐藏层有:
上式中,变换函数f(x)均为单极性sigmoid函数
F(x)具有连续可导的特点,
以上共同构成三层感知器的数学模型
3.2.2.BP算法过程
(1)初始化
对权值矩阵W、V赋随机数,将样本模式计数器p和训练次数计数器q置为1,误差E置0,学习率η设为0~1内的小数,网络训练后达到的精度
设为一个正的小数。
(2)输入训练样本对,计算各层输出
用当前样本对X,d序列赋值
(3)计算网络输出误差
设共有P对训练样本,网络对于不同的样本具有不同的误差:
采用均方根误差作为总误差:
(4)计算各层误差信号
(5)调整各层权值
(6)检查是否对所有样本完成一次轮训
若p<
P,计数器p、q增1,返回步骤
(2),否则转步骤(7)。
(7)检查网络总误差是否达到精度要求
BP学习算法的流程如图3所示。
图3BP学习算法的流程图
3.3.BP神经网络设计与训练
3.3.1.BP神经网络的设计方法
按照BP神经网络设计方法选用两层BP网络。
采用newff函数来建立BP网络。
其输入节点数为16×
16=256,隐层传输函数为Sigmoid函数。
假设用一个输出节点表示10个数字,则输出层传输函数为pureline,隐层节点数为
,取25。
3.3.2.神经网络仿真程序设计
构造训练样本集,并构成训练所需的输入向量p和目标向量t.通过画图工具获得数字。
本例构造了新宋体12号、8号字体各10个,黑体12号、8号各10个,及宋体加粗18号字体。
3.3.3.神经网络测试。
由于图像处理的复杂性,对于不同噪声的污染选择不同的方法,选择没有噪声的数字进行测试。
选择训练样本中的任意数据进行测试,结构非常正确。
选择生成的新宋体8号大小的数字进行测试。
结果正确,选择其他类型的字体进行测试,则结果不是完全正确。
4.仿真实验的结果
简单起见,只对含有单独数字的图片样本进行识别,不涉及分割字符等前期处理。
使用BP网络进行数字识别的流程如下:
首先利用大量的训练样本来训练网络,以得到以文件形式保存的权值。
训练样本为精心选择的可以很好地反映样本可分特性的已知数据。
将训练样本图片进行特征提取后,就可以送入BP网络进行训练。
其次,训练完BP网络后就可以用它对未知数据进行识别了。
首先要经过预处理,然后进行特征提取,最后送入BP网络直至得出结果。
数字识别效果如图4、5、6所示。
图4数字0的识别效果
图5数字4的识别效果
图6数字9的识别效果
5.总结
数字识别是多年来的研究热点,将神经网络应用于数字识别是神经网络应用最为成功的方面之一,人工神经网络在模式识别问题上,相比其他传统方法有其优势:
要求对问题的了解较少;
可以对特征空间进行较复杂的划分;
适用于高速并行处理系统来实现。
本课题结合神经网络技术,对数字识别问题进行了探讨和研究,主要研究成果如下:
(1)针对数字数据,首先进行了灰度化、二值化、平滑去噪、归一化、细化等常规预处理,然后对处理完的数字图像进行特征提取,提取了能体现字符特点的特征向量。
(2)针对数字识别问题,研究了BP神经网络分类器的建立和识别过程。
仿真结果表明,对于字体和字号与训练样本集相同的测试样本,无论图像中的数字在什么位置,都可以识别出来,而对于字体和字号与训练样本集不同的测试样本,只有一部分能正确识别。
并且对于带有噪声的数字,运行程序的实验结果是不理想的,所以本课题程序有待于进一步的整理和调试。
为提高识别率,可以增加训练样本,或通过增加字体的特征向量等途径来解决。
参考文献
[1]李望晨.BP神经网络改进及其在手写数字识别中的应用.第3-4页.哈尔滨工业大学硕士学位论文,2006.6
[2]刘长安.《人工神经网络的研究方法及应用》电子工业出版社出版,2004.7
[3]R.C.Gonzales等.《阮秋崎等译.数字图像处理》电子工业出版社出版,2002.5
[4]王正林,刘明.精通MATLAB7[M].北京:
电子工业出版社,2006.7
[5]瞿海金.手写体数字识别方法的研究与实现南京理工大学硕士学位论文,2005.6
[6]杨述斌.图像边缘检测技术概述[J].武汉化工学院学报,2003,25
(1):
73—76.
[7]章毓晋.图像工程(上册)一图像处理和分析[M].北京:
清华大学出版社.1999.
[8]刘富强,钱建生,曹国清.多媒体图像技术及应用[M].北京:
人民邮电出版社,2000.
[9]赵春晖,张乾,杨涛.基于数学形态滤波算子的医学图像边缘检测[J].信息技术,2002,16(11):
49-50.