基于bp神经网络的数字识别方法

上传人:1666****666 文档编号:39396093 上传时间:2021-11-10 格式:DOC 页数:4 大小:48.50KB
收藏 版权申诉 举报 下载
基于bp神经网络的数字识别方法_第1页
第1页 / 共4页
基于bp神经网络的数字识别方法_第2页
第2页 / 共4页
基于bp神经网络的数字识别方法_第3页
第3页 / 共4页
资源描述:

《基于bp神经网络的数字识别方法》由会员分享,可在线阅读,更多相关《基于bp神经网络的数字识别方法(4页珍藏版)》请在装配图网上搜索。

1、基于bp神经网络的数字识别方法一 问题描述 数字识别能够在汽车牌照、支票等有关数字的编号的识别方面有广泛的应用。车牌等有字符和数字组成,采用固定的印刷字体。在车牌识别中,因自然因素或采样因素导致采集到的数字样本存在一定的模糊与混杂等不同程度的污染,给字符识别带来很大的困难。此处因字符和汉字识别的复杂性,并且对于车牌字符支票字符等图片数字要进行单个数字分割等设计很多图像处理内容,此处设计只对单个数字进行识别处理,本设计采用通过三种不同的字体及不同字号的数字为训练样本,并且选取不同大小数字和被污染得字体做为测试样本,通过图形处理等操作对被污染单个数字进行处理后识别,对其他不予考虑。二 求解思路首先

2、对图像进行预处理,以便于进行像素值的提取,对设计好的神经网络进行训练,对比训练的结果与期望的结构,并根据对比的结果对神经网络的一些权值进行修改,最终得到训练好的神经网络。并选择测试样本,进行仿真测试。三 设计方案1 图像预处理由于自然和人为因素影响,可能造成数字图像笔划缺损、噪声严重及几何形变等现象。故识别前必须对图像进行必要的预处理。图像处理流程:图像输入二值化灰度转化去除噪声图像锐化归一化图1:图像处理流程2 特征提取对图像字符分割处理后得到单个数字,进行归一化处理,消除各个数字在位置和大小上的差异,提高识别的准确率。过程为:截取数字图像像素值为0的最大矩形区域,将此区域的图像经过变换,将

3、数字字符归一化为16*16的像素点阵图。所有的训练样本和测试样本都要经过这样的处理。3 bp神经网络设计与训练(1)bp神经网络的设计方法按照BP神经网络设计方法选用两层BP网络。采用newff函数来建立BP网络。其输入节点数为1616256,隐层传输函数为Sigmoid函数。假设用一个输出节点表示10个数字,则输出层传输函数为pureline,隐层节点数为,取25。(2)神经网络仿真程序设计 构造训练样本集,并构成训练所需的输入向量p和目标向量t.通过画图工具获得数字。本例构造了新宋体12号、8号字体各10个,黑体12号、8号各10个,及宋体加粗18号字体。4 神经网络测试。 由于图像处理的

4、复杂性,对于不同噪声的污染选择不同的方法,选择没有噪声的数字进行测试。选择训练样本中的任意数据进行测试,结构非常正确。选择生成的新宋体8号大小的数字进行测试。结果正确,选择其他类型的字体进行测试,则结果不是完全正确。四 实现代码 简单起见,只对含有单独数字的图片样本进行识别,不涉及分割字符等前期处理,参考神经网络模型及其MATLAB仿真程序设计一书,我在保持基本算法思想不变的前提下,对原书程序及其叙述做了一定的修改。 % 数字识别% 生成输入向量和目标向量clear all;LOADING.正在生成输入向量和目标向量,请稍等.for kk = 0:49 p1=ones(16,16);%初始化为

5、16*16的二值图像像素值(全白) m=strcat(bpnums,int2str(kk),.bmp);%形成训练样本图像的文件名 x=imread(m,bmp);%读入训练样本图像文件 bw=im2bw(x,0.5);%将读入的训练样本图像转化为二值图像 i,j=find(bw=0);%寻找二值图像中像素值为0(黑)的行号和列号 imin=min(i);%寻找二值图像中像素值为0的最小行号 imax=max(i);%。最大行号 jmin=min(j);%。最小列号 jmax=max(j);%。最大列号 bw1=bw(imin:imax,jmin:jmax);%街取图像像素值为0的最大矩形区域

6、 rate=16/max(size(bw1);%计算截取图像转换成16*16的二值图像的缩放比例 bw1=imresize(bw1,rate);%将截取图像转换成16*16的二值图像 i,j=size(bw1);%转换图像的大小 i1=round(16-i)/2);%计算转换图像与标准16*16的图像的左边界差 j1=round(16-j)/2);%计算转换图像与标准16*16图像的上边界差 p1(i1+1:i1+i,j1+1:j1+j)=bw1;%将截取图像转换成标准的16*16图像 %以图像数据形成神经网络输入向量 for m=0:15 p(m*16+1:(m+1)*16,kk+1)=p1

7、(1:16,m+1); end %形成神经网络目标向量 switch kk case0,10,20,30,40 t(kk+1)=0; case1,11,21,31,41 t(kk+1)=1; case2,12,22,32,42 t(kk+1)=2; case3,13,23,33,43 t(kk+1)=3; case4,14,24,34,44 t(kk+1)=4; case5,15,25,35,45 t(kk+1)=5; case6,16,26,36,46 t(kk+1)=6; case7,17,27,37,47 t(kk+1)=7; case8,18,28,38,48 t(kk+1)=8; c

8、ase9,19,29,39,49 t(kk+1)=9; endendLOAD OK.save PT p t;% 创建和训练BP网络clear all;load PT p t;pr(1:256,1)=0;pr(1:256,2)=1;net=newff(pr,25 1,logsig purelin, traingdx, learngdm);net.trainParam.epochs=2500;net.trainParam.goal=0.001;net.trainParam.show=10;net.trainParam.lr=0.05;net=train(net,p,t)TRAIN OK.save

9、bpnet net;% 识别for times=0:999 clear all; p(1:256,1)=1; p1=ones(16,16); load bpnet net; test=input(FileName:, s); x=imread(test,bmp); bw=im2bw(x,0.5); i,j=find(bw=0); imin=min(i); imax=max(i); jmin=min(j); jmax=max(j); bw1=bw(imin:imax,jmin:jmax); rate=16/max(size(bw1); bw1=imresize(bw1,rate); i,j=si

10、ze(bw1); i1=round(16-i)/2); j1=round(16-j)/2); p1(i1+1:i1+i,j1+1:j1+j)=bw1; for m=0:15 p(m*16+1:(m+1)*16,1)=p1(1:16,m+1); end a,Pf,Af=sim(net,p); imshow(p1); a=round(a)end五结论 仿真结果表明,对于字体和字号与训练样本集相同的测试样本,无论图像中的数字在什么位置,都可以被100%识别出来,而对于字体和字号与训练样本集不同的测试样本,只有一部分能正确识别。并且对于带有噪声的数字,此神经网络要事先进行预处理,没有加入此处理程序中,此程序有待于进一步的整理和调试。为提高识别率,可以增加训练样本,或通过增加字体的特征向量等途径来解决。由于涉及较多的理论,这里不再深入讨论。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!