基于BP神经网络的字符识别系统完整版doc资料.docx
《基于BP神经网络的字符识别系统完整版doc资料.docx》由会员分享,可在线阅读,更多相关《基于BP神经网络的字符识别系统完整版doc资料.docx(70页珍藏版)》请在冰豆网上搜索。
![基于BP神经网络的字符识别系统完整版doc资料.docx](https://file1.bdocx.com/fileroot1/2023-7/11/d996a622-720c-4b2d-b733-8f598730627a/d996a622-720c-4b2d-b733-8f598730627a1.gif)
基于BP神经网络的字符识别系统完整版doc资料
计算机与现代化
2021年第1期
JISUANJIYUXIANDAIHUA
总第161期
收稿日期:
2020205211
项目:
河南省自然科学资助项目(0511011500
作者简介:
张可(19842,女,河南三门峡人,南京航空航天大学信息科学与技术学院硕士研究生,研究方向:
图像处理;张高燕(19872,女,河南三门峡人,北京师范大学信息科学与技术学院硕士研究生,研究方向:
图像与语音信号处理;吴苏(19872,男,河南南阳人,哈尔滨工程大学计算机科学与技术学院硕士研究生,研究方向:
Internet应用软件;范海菊(19792,女,河南新乡人,河南师范大学计算机与信息技术学院讲师,研究方向:
语音和图像信号处理。
基于BP神经网络的字符识别系统
张 可1
张高燕2
吴 苏3
范海菊
4
(1.南京航空航天大学信息科学与技术学院,江苏南京210016;
2.北京师范大学信息科学与技术学院,北京100875;
3.哈尔滨工程大学计算机科学与技术学院,黑龙江哈尔滨150001;
4.河南师范大学计算机与信息技术学院,河南新乡453007
摘要:
基于BP神经网络设计了一个字符识别系统。
首先,对字符图像进行二值化处理,构造输入向量矩阵。
其次,通过选取初始权值、隐层节点数和权值学习算法,创建BP神经网络,对样本数据进行训练,之后对加有噪声的样本再次进行训练,以提高网络的鲁棒性。
最后进行仿真测试并制作图形用户界面GUI来模拟与演示该系统。
仿真结果显示,该BP网络对噪声系数小于0.8的字符识别率可达95%,且网络训练时间可接受。
关键词:
BP神经网络;GUI;字符识别;鲁棒性中图分类号:
TP311.52 文献标识码:
A
SystemofCharacterRecognitionBasedonBack2propagationNeuralNetwork
ZHANGKe1
ZHANGGao2yan2
WUSu3
FANHai2ju
4
(1.CollegeofInformationScienceandTechnology,NanjingUniversityofAeronauticsandAstronautics,Nanjing210016,China;
2.CollegeofInformationScienceandTechnology,BeijingNormalUniversity,Beijing100875,China;
3.CollegeofComputerScienceandTechnology,HarbinEngineeringUniversity,Harbin150001,China;
4.CollegeofComputerandInformationTechnology,HenanNormalUniversity,Xinxiang453007,China
Abstract:
ThisarticledesignsacharacterrecognitionsystembasedontheBack2Propagationneuralnetwork.First,thecharacterimageisprocessedinbinarytoconstructtheinputvectormatrix.Second,bychoosingtheinitialweight,thenumberofhidenodesandthelearningalgorithmofweight,aperfectBPneuralnetworkiscreated.Andthenthenetworkcarriesonthetrainingtothesampledataandafterwardstothesamplewithnoiseoncemore,toenhancethenetworkrobustness.Finally,itcarriesonthesimulationtestandmanufacturesgraphicaluserinterfacetosimulateanddemonstratethissystem.ThesimulationresultshowsthatthecharacterrecognitionrateofthisBPnetworkispossibletoreach95%withthenoisefactorlessthan0.8,andthetrainingtimeisacceptable.
Keywords:
BPneuralnetwork;GUI;characterrecognition;robustness
0 引 言
为了解决计算机对字符的自动识别问题,使计算机达到真正智能化,人们对计算机的自动识别进行了多年研究,并取得了很大的进步。
字符识别一般通过
基于字符结构的识别法及模板匹配法来进行处理,前者一般更适用于字母和数字的识别;后者程序实现起来比较容易,但识别精度不高。
为了提高识别率,就必须寻求新的方法和途径。
近年来,BP神经网络技术取得了巨大发展,它是一种前馈型神经网络,具有
64 计 算
机 与 现 代 化2021年第1期
分布式存储信息、并行处理信息、自组织、自学习信息等优点。
本文所介绍的字符识别系统正是借助BP神经网络基本原理并结合Matlab仿真软件来实现的。
1 BP神经网络
神经网络是由大量简单的处理单元来模拟真实人脑神经网络的机构和功能以及若干基本特性,是一个高度复杂的非线性自适应动态处理系统。
从系统观点看,BP神经网络是由大量神经元通过极其丰富和完善的连接而构成。
由于神经元之间有着不同的连接方式,所以组成不同结构形态的神经网络系统是可能的,大致的结构如图1所示
。
图1 神经元模型
其中X1,X2,…,Xn为输入信号,Ui为神经元内部状态,Yi为阈值,Si为外部输入信号,右部为输出
[1]
。
BP神经网络的主要思想就是在确定了网络结构
后,通过输入和输出样本集对网络进行训练和学习,以使网络实现给定的输入和输出映射关系。
BP神经网络的学习过程可分为两个阶段:
第一
个阶段是输入已知学习样本,通过设置网络结构和前一次迭代的权值和阈值,从网络的第一层向后计算各神经元的输出;第二阶段是对权值和阈值进行修改,从最后一层向前计算各权值和阈值对总误差的影响,据此对各权值和阈值进行修改
[2]
。
对以上两个过程
反复交替,直到达到收敛为止。
2 基于BP网络的字符识别
1.输入向量和目标向量的生成。
利用Matlab软件对字符图像进行二值化处理,生成BP神经网络的输入向量Alphabet和目标向量Targets[3]
。
其中Alphabet为35×26的矩阵,第1列
到第26列代表字符A到Z,每个字符由35个像素组成。
Targets为26×26的单位矩阵,每个字符输入时在26个字符中它所排顺序的位置上输出为1,而在
其他位置上的输出为0。
考虑到所设计的网络应当具有鲁棒性,本文利用Matlab中的randn函数产生随机噪声,并与alphabet
加权,生成有噪声的输入向量(噪声系数可调对网络进行训练。
2.BP神经网络的构建。
(1初始权值的选取。
初始权值直接影响网络的收敛速度,初始权值若选得不好,网络将处于饱和区导致难于收敛或陷入局部极小。
选取
时以21~1之间均匀分布的随机值较好[4]
。
(2隐层节点数的选取。
本文选取35个输入节点和26个输出神经元。
隐层神经元数目会对网络训练的收敛速度、字符识别的实时性和识别效果有一定的影响。
神经元太少,会造成网络的不适性,识别效果较差;太多又会引起过适性,导致训练时间过长等缺点。
并且经实验发现,隐层节点数增加、迭代训练次数增多和网络识别效果之间并不是线性关系,而是趋势。
依据实验经验,本文选取隐层节点数为8。
在实际训练中,效果若不理想,可适当增加隐层结点数。
(3权值学习算法。
BP网络对网络权值的修正是沿着负梯度方向,即称为梯
度下降法。
其学习算法为[5]:
xk+1=xk-αkgk
(1
其中αk是学习速率,gk是表现函数的梯度,xk是当前的权值矩阵。
梯度下降法没有考虑到以前积累的学习经验,即上一时刻的梯度方向,从而导致学习过程发生振荡,收敛速度过慢,或收敛于局部极小点。
采用双动量的梯度下降法可以修正以上缺点。
其算法如下:
xk+1=xk-αk(1-γgk-γgk-1+μ[xk+1-xk]
(2
式中:
γ,μ均为动量因子。
第3项γgk-1可视为上一时刻的学习经验,当与本次梯度gk方向相同时,起加速作用,否则为阻尼项,可减小学习过程的振荡趋势,从而改善收敛性,提高网络的稳定性。
第4项对学习过程起到平滑作用从而避免收敛到局部极小。
3.字符识别网络的训练。
将训练样本送BP神经网络训练,通过在梯度方向上不断调整权值使网络平方和误差最小。
为使网络对输入向量有一定鲁棒性,可先用无噪声的样本对网络进行训练,直到其平方和误差最小,再用含噪声的样本进行两次训练,保证网络对噪声不敏感。
同时选取不同隐层神经元数目,观察其收敛速度。
在网络训练后,再将其输出经过一层竞争网络函数compet的处理,使网络只是在最接近输入值的输出位置为1,其余位置输出为0。
训练完毕,把待识别字符送BP神经网络中进行仿真测试。
字符识别系统流程图
2021年第1期张可等:
基于BP神经网络的字符识别系统65
如图2所示
。
图2 字符识别系统流程图
3 图形用户界面设计
为了增强字符识别的直观效果,本文应用Matlab的图形技术来设计直观的图形用户界面GUI。
它有四大优点:
简单易学;代码短小高效;计算功能强大;强大的图形表达功能。
而本文主要应用它的图形显示功能。
本文采用两个坐标系来分别显示待识别的有噪声字符图像和识别结果,使用滑动条来改变噪声系数大小,并观察其对识别结果的影响。
为方便对网络训练的理解,设计了网络训练按钮来直观显示网络训练过程,识别结果显示在可编辑文本框中。
其界面如图3与图4所示
。
图3 字符识别系统界面 图4等待输入字符
4 仿真结果及分析
由图5的收敛曲线可以看出,本文所建立的BP
神经网络模型,其收敛速度比较快,达到了预期误差目标的精度,网络具有较好的样本泛化能力
。
图5 训练收敛曲线 图6 识别误差曲线
经过反复训练网络,该BP神经网络对字符的识
别精度不断提高。
由图6可知,噪声系数较小时识别误差较小,随着噪声系数的增加,识别误差几乎成线性增加,且加噪声前后误差曲线较接近
。
图7识别字符正确时的图像 图8识别字符错误时的图像
加上噪声之后的字符识别结果如图7和图8所示,由图可知,当噪声系数小于0.8时,识别精度高,大于0.8时,识别错误,如图8中字符P被识别为R。
5 结束语
本文利用BP算法完成一个基本的字符识别系统的模拟与演示。
BP算法的目的就是要确定加权向量,使得对已知的输入和输出得到最佳的匹配。
BP神经网络常用于文字符号识别、模式分类、图像压缩、决策支持等,也可嵌入到车牌识别系统中,具有广泛的应用前景。
但是,由于BP算法实质上是非线性系统的梯度算法,不能保证训练结果一定收敛到全局最优解,并且极可能落到局部最优点解。
采用启发式学习方法或更有效的优化算法可以进一步改进BP算法。
参考文献:
[1] 胡守仁,余少波,戴葵.神经网络导论[M].长沙:
国防科
技大学出版社,1997:
1132128.
[2] 闻新,周露,李翔,等.MATLAB神经网络仿真与应用
[M].北京:
科学出版社,2003:
2582284.
[3] 尹念东.BP神经网络的应用设计[J].信息技术,2003,
27(6:
18220.
[4] MartinTHagan,HowardBDemuth,MarkHBeale.神经网
络设计[M].戴葵,等译.北京:
机械工业出版社,2002:
1222,2021226.
[5] 杨建刚.人工神经网络实用教程[M].杭州:
浙江大学出
版社,2001:
41262.
[6] 姬巧玲,漆为民,蔡维由,等.MATLAB7.0中改进BP神
经网络的实现[J].电脑开发与应用,2020,18(7:
22224.
[7] 吴凌云.BP神经网络学习算法的改进及其应用[J].信
息技术,2003,27(7:
42244.
[8] 张瑞丰.精通MATLAB6.5[M].北京:
中国水利水电出
社,2004:
1602200.
(下转第72页
72 计
算 机 与 现 代 化2021年第1期
可控泛洪方式计算距离,分别需要N、AC+AN次数据包广播,共需要N+AC+AN次数据包广播,但是仍然远低于DV2Hop定位算法数据包的实际广播次数2AN
[13]
。
仿真实验还表明,安全校验的结果是使
得大量不满足安全校验关系式的节点将不能继续发送数据包,直接导致传感器网络实际广播次数远低于N+AC+AN。
4 结束语
从上述分析可以看到,相对于原始Euclidean、DV2Hop定位算法和已有的Euclidean改进算法Hop2Euclidean,VMHLE不失为一种低能耗、定位精度适
中、同时具有较高覆盖度的定位算法。
但是在整个定位测距过程中,VMHLE始终要求节点自身具有相对较高的测距精确度,这无疑造成了传感器节点自身成本以及定位代价明显偏高,因此,将来的工作重点在于提高传感器制造工艺和降低工业成本或者采用精度更高的测距技术。
参考文献:
[1] RomerKay,MatternFriedemann.Thedesignspaceofwire2
lesssensorworks[J].IEEEWirelessCommunications,2004,11(6:
54261.
[2] CullerDavid,etal.Overviewofsensornetworks[J].Com2
puter,2004,37(8:
41249.
[3] RabacyJJ,AmmerMJ,etal.PicorodiosupportsAdHoc
ultra2lowpowerwirelessnetworking[J].Computer,2000,33(7:
42248.
统和算法[J].软件学报,2020,16(5:
8572868.
[5] DragosNiculescu,BadriNath.AdHocpositioningsystem
(APS[C]//ConferenceRecord/IEEEGlobalTelecom2municationsConference.2001,5:
292622931.
[6] DragosNiculescu,BadriNath.DVbasedpositioninginAd
Hocnetworks[J].TelecommunicationSystems,2003,22(124:
2672280.
[7] DragosNiculescu,NathBadri.Localizedpositioninginad
hocnetworks[J].AdHocNetworks,2003,1(2-3:
2472259.
[8] DragosNiculescu.Positioninginadhocsensornetworks
[J].IEEENetwork,2004,18(4:
24229.
[9] 史龙,王福豹.无线传感器网络自身定位算法研究[D].
西安:
西北工业大学硕士论文,2020.
[10]CamilloGentile.Sensorlocationthroughlinearprogram2
mingwithtriangleinequalityconstraints[C]//IEEEInter2nationalConferenceonCommunications,v5,ICC202022020IEEEInternationalConferenceonCommunications,2020:
319223196.
[11]Eqeal2Lopez,Ponce2marin,Vales2Alonso,etal.Wireless
sensornetworkswithOMNETγγ[C]//ProceedingsoftheMediterraneanElectrotechnicalConference2MELECON,v
2020,2020IEEEMediterraneanElectrotechnicalConfer2ence,MELECON20202CircuitsandSystemsforSignalPro2cessing,lnformationandCommunicationTechnologies,andPowerSourcesandSystems,2020:
7772780.
[12]段渭军,史龙,王福豹.Hop2Euclidean无线传感器网络
自身定位算法[C]//第一届中国传感器网络学术会议.哈尔滨,2020.
位算法研究[J].计算机应用,2020,25(11:
246822471.
(上接第65页
[9] 张文鸽,吴泽宁.BP神经网络的改进及应用[J].河南科
学,2003,21(2:
2022206.
[10]薄春,孙政顺,赵世敏.MATLAB神经网络工具箱BP算
法比较[J].计算机仿真,2020,23(5:
1422144.
[11]RumelhartDE,etal.LearningrepresentationbyBPerrors
[J].Nature(London,1986,7:
64270.
[12]范磊,张运陶,程正军.基于Matlab的改进BP神经网络
及其应用[J].2020,26(1:
72273.[13]NGSC,CheungCC,LeungSH.Fastconvergencefor
back2propagationnetworkwithmagnifiedgradientfunction[J].IEEE,2003,9(3:
190321908.
[14]张志涌.精通MATLAB6(第5版[M].北京:
北京航空
航天大学出版社,2003.
[15]周开利,康耀红.神经网络模型及其MATLAB仿真程序
设计[M].北京:
清华大学出版社,2020.
[16]董长虹.MATLAB神经网络与应用[M].北京:
国防工业
出版社,2020.
ComputerEngineeringandApplications计算机工程与应用2020,43(36
人脸识别技术就是利用计算机技术对人脸图像进行分析,从中提取有效的特征来识别出人的身份,其关键技术在于人脸特征的描述和模式识别。
目前,根据人脸表征方式的不同,分为三大类:
基于几何特征的识别方法、基于代数特征的识别方法和基于神经网络的识别方法。
基于几何特征的识别法是提取人脸的几何特征,根据特征点的性质进行识别,Poggio和Brunelli[1]用改进的积分投影法提取出欧氏距离表征的35维人脸特征矢量用于模式分类,但是该方法没有形成一个统一、优秀的特征提取标准。
基于代数特征的识别法是提取人脸的代数特征,运用代数运算进行分析然后识别。
Turk和Pentland[2]提出了“特征脸”方法,该方法根据一组投影系数,和各个已知的人脸图像比较识别,由于代数特征矢量(即人脸图像向特征脸空间的投影具有一定的稳定性,识别系统对不同的表情有一定的鲁棒性。
但是,这也说明了这种方法对表情的描述不够充分,难以用于表情分析。
神经网络识别法则是通过神经网络的训练学习,得到相应的识别函数关系,从而进行识别。
Kohonen[3]率先运用自相关记忆(全互联神经网络存储和重建人脸图像,表明了自相关神经元具有识别能力。
神经网络在结构上更类似于人脑,在编码压缩与信息处理方式等方面具有一定的优势。
但由于原始灰度图像数据量十分庞大,训练时间通常很长。
本文提出了基于主分量分析(PCA与BP神经网络的人脸识别算法,该算法利用小波变换(WaveletTransform的多分辨率分析对原始灰度图像数据进行数据压缩、去噪声,得到低频小波子图,克服了PCA数据庞大带来的不便,再根据BP神经网络较强的学习、归纳分类能力,得到人脸主分量与所属人类别的函数映射关系,从而实现人脸识别。
本方法是一种快速、实用、有效的人脸识别方法。
1基于PCA的人脸特征的描述和提取
人脸都含自己的内在特征,人脸识别的关键在于寻找这些内在特征。
将一幅人脸图像表示成一个m维列向量,其中m=图像的像素数=width×height=w×h,即将第i个样本的灰度图像表示成向量x=[x
1
x2,…,xm]的形式。
设有M个人,每个人有n幅图像,
基于BP神经网络的主分量分析人脸识别算法
赵立强1,张晓华1,2,高振波3,张洪亮1
ZHAOLi-qiang1,ZHANGXiao-hua1,2,GAOZhen-bo3,ZHANGHong-liang1
1.河北科技师范学院数理系,河北秦皇岛066004
2.哈尔滨理工大学计算机科学与技术学院,哈尔滨150080
3.河北科技师范学院计算机系,河北秦皇岛066004
1.DepartmentofMathematicsandPhysics,HebeiNormalUniversityofScienceandTechnology,Qinhuangdao,Hebei066004,China
2.CollegeofComputerSciencean