




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字图像处理与识别实验报告数字图像处理与识别实验报告数字图像处理与识别实验报告数字图像处理与识别实验报告1/61/6数字图像处理与识别实验报告实验题目:手写数字识别实验目的:使用神经网络图像识别方法对鼠标滑动输入的手写数字进行训练和识别,使计算机能够识别0~9十个数字。了解机器学习和神经网络原理并且将其应用在图像处理识别中。实验方法:基于反向传播(BP)神经网络方法BP拓扑网络结构:BP网络包含输入层、隐含层和输出层,每层包含了许多并行运算的神经元,层与层之间的神经元采用全互连方式,当样本输入网络后,各神经元的激励值由输入层经各隐含层向输出层传播。然后计算目标输出与实际输出的误差,并按照误差减小的方向,从输出层逐层修正各连接权值,最后回到输入层,如此反复直到达到期望的输出。这种信息的正向传递和误差的反向传播过程,就是BP网络每一层权值不断调整过程,也就相当于网络的学习过程。它的实质是计算误差信号的最小值,采用的是梯度下降算法,按误差函数的负梯度方向修改权值。本实验中可以将训练与测试同步结合起来,测试的过程中也在不断的学习。本次实验采用的是神经网络中的监督式学习,也就是说外部环境有一个监督元。它能为一组输入提供期望得到的输出,系统可以根据实际输出与目标输出的差值反馈给权重来调节权重的值,这一差值也就是误差信号。在试验中,系统每次做出一个预测,会提问你预测的是否正确,若正确则不用对参数进行重新训练,若错误,则需要输入正确的值,系统对参数进行训练,这就是一个监督学习的方式。基于BP神经网络的数字识别算法步骤为:初始化神经单元参数。包括输入层、隐藏层和输出层节点数量,本次实验的输入层是400(20X20的灰度值),隐藏层是26,输出层是10,设置最大迭代次数为50.加载训练数据集。将已经训练过的数字图像数据导入进来。我输入的是一个20X20像素的手写数字图像,将其转化为灰度图,取400个像素值作为输入层的值。实验中需要大量的训练数据,对神经网络中的参数进行训练。本实验,下图为输入的黑白手写数字图像。初始化训练参数。这里是采取的随机生成两组权重参数。迭代找误差最小值对应的训练参数。梯度下降算法找误差最小值,再反馈回参数。实验结果:识别阿拉伯数字“3”
lEMLion]E«E*Ai:i-3nlE-mcaan]c«rvt3-3rnlE-HCJIE^-SnIfc^rvtian1E4EALiOH]^«rvt3-sn]E«E*Ai:i-3nIs-irna-in]hcc«LJan36ICMC.ZEICue3TICMC離it*潔ItMC-IDICue41IMlEMLion]E«E*Ai:i-3nlE-mcaan]c«rvt3-3rnlE-HCJIE^-SnIfc^rvtian1E4EALiOH]^«rvt3-sn]E«E*Ai:i-3nIs-irna-in]hcc«LJan36ICMC.ZEICue3TICMC離it*潔ItMC-IDICue41IMICp3^12ICace44IC&it4^IMk46ICMC-I.TI3cIEICns4。ICnhS£>ICfrcc-E.8^4r55eHM2.跆Z.EnKIrtm2■知W*。E,K^^!3«+W2.GQ2E-SS44M:LiB£Wm>0E.ftW41「p*M2.£1727IM4MZ-ELimZvrM例CHW2.ni-5D3E44-MZ.FM+lSrKW占由】WlOO2.EI^!O97m4MiHiHlneSetj^-cifiruy.頂打骨龄写够向i六Li.WNJHlfjtiKB->Z£Mly/nJT|(2)识别中文数字a二v迷X庁■口[c«rxt34n|Cwtz.Bsaaam口勢1Cm:&31C":Z.Ea7M]e*]CirEmJgM1GiKl;:A囲3弱由AD[t«rxt34n3|Coxt土快DTiyW[E-irxla-an育ICtxlLEO7H4i-h]DEc-irxia-an40ICtxt妄E^m訟歇土。[t<=nt]>in4.L1Cort五的却。”坎快1Ckt:411r妇:&EEB&9XJQ4J|C&si.E_E2EM3e*]D[c«rxt34n43|Cwt史整[詡AHWEc«ri.t3an切ICcxtLE237i4«-H]b[c«rxt34n4"|Cwt土酿1所SiU【Mrrdg1Cm:g1C":ABED頂妇WM1GiKl;:&.EL9]3fe^0t^ianinj日rtAccunry^0.6^6647NW¥^ftT.*l:3在m地回网强彳站筆由asivi^?I(3)识别错误时进行修正训练□_1HIiliT^fbE:l的.IleratlmiIleratlmiIteritLen.IteritLen.Iteracti&nIteracti&nIte-ratlohIte-ratlohIt4E-bXL>!Xn.It4E-bXL>!Xn.IleratlmiIleratlmiIteritLen.IteritLen.Iteracti&nIteracti&n3JICdit2Z712L44i+i:iDIC目弑=IC目弑=ICoTt-30ICoTt-ICast:功ICast:ICflit.ICelt.41ICfiit:ICfiit:ICqtI::ICqtI::ICoTt-ICoTt-19ICast:50ICast:M709®7e-Ki0亀7Q35E7e+<!02.7WSODrK)D2.7n3727E+flD2.7021911=^102.6975001=^02.舶6田盹H<02.695351e+<iQZi5Q2?]Da*<>DZfiB9!»5A*ODM我920艮Hi。M5a3530eKi02.明?的0*02.明加B*02.&的SilEHmZbfl5S17e^iOTTmmi牌.S«T QJ.BJB3CJffiSJ?写勃字为;1卜七北所後。的拈用为nfxiXCj.MVi的前学二2Qf^Lr-el分析讨论:(1) 这是一个可以边测试边学习的过程,随着输入数据的增加,识别率也会逐渐变高,可以收入大量不同人写的数字,避免全部由一个人手写,这样系统随着训练就愈发的能识别各种不同字迹的数字。(2) 识别的正确与否与手写数字的大小和位置有一定关系,写的偏小或者写在边角识别不准确。
系统具有自学习过程,我原本训练的是阿拉伯数字3,后来尝试加入中文数字三,经过反复训练,系统对于3和三都能正确识别。附录:Matlab重点程序棉开启图形视窗case'start',FigHandle=figure('WindowButtonDownFcn','NumberDrawdown','Color','black');axis([1imSize1imSize]);%设定图轴范围%axisoff;gridoff;boxon;%将图轴加上图框title('手写体输入框');%按键回调函数调用,判断结论是否正确,若不正确加入训练集重新训练uicontrol('Parent',FigHandle,'Position',[36067030],'String','识别0','Callback',...['exa=(rgb2gray(frame2im(getframe(gca))));','B=imresize(exa,[2020]);',...'BB=double(B)./255;','pred=predict(Theta1,Theta2,reshape(BB,1,400));','correct(reshape(BB,1,400),pred);','training'])uicontrol('Parent',FigHandle,'Style','pushbutton','Position',[27067030],'String','训练','Callback','training');uicontrol('Parent',FigHandle,'Style','pushbutton','Position',[45067030],'String','清除','Callback','cla');训练部分:%%input_layer_size=hidden_layer_size=numlabels=10;%%input_layer_size=hidden_layer_size=numlabels=10;1:设置神经单元参数=%20X20输入灰度值%26个隐藏层单元%10个输出 Part2:加载训练数据集===Part400;26;%%fprintf('LoadingandVisualizingData...\n')load('data.mat');m=size(X,1);%%================Part3:初始化训练参数================fprintf('\nInitializingNeuralNetworkParameters...\n')initialTheta1=[initial_Theta1(:);initial_Theta2(:)];Part4:迭代找误差最小对应的参数============NeuralNetwork...\n')randInitializeWeights(input_layer_size,hidden_layer_size);initial_Theta2=randInitializeWeights(hidden_layer_size,num_labels);initial_nn_params=%%================fprintf('\nTrainingoptions=optimset('MaxIter',50);%[initial_Theta1(:);initial_Theta2(:)];Part4:迭代找误差最小对应的参数============NeuralNetwork...\n')costFunction=@(p)nnCostFunction(p,.数字图像处理与识别实验报告数字图像处理与识别实验报告input_layer_size,.hidden_layer_size,...num_labels,X,y,lambda);%误差反馈找参数[nn_params,cost]=fmincg(costFunction,initial_nn_params,options);Thetal=reshape(nn_params(1:hidden_layer_size*(input
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解除土建合同协议书
- 高危工作安全协议书
- 超市利润分红协议书
- 道路迁坟火化协议书
- 金供应商合同协议书
- 销售生产订单协议书
- 餐饮供应合同协议书
- 农村自流地换地协议书
- 餐具承包合同协议书
- 买车位只有认购协议书
- 黄泉下的美术:宏观中国古代墓葬
- 无违法犯罪记录证明申请表(个人)
- 内部调拨单表格
- 2023年07月浙江建设技师学院200人笔试历年常考点试卷附带答案详解
- 中国真正丹道理法及工程次第阐真
- 2022年四川省成都市中考英语试卷及答案
- 新年春节廉洁过年过廉洁年端午节清廉文化中秋节廉洁过节优秀课件两篇
- GB/T 10920-2008螺纹量规和光滑极限量规型式与尺寸
- 认知宇宙飞船之星际探索
- 皮肤病理知识学习整理课件整理
- 人工智能课件213产生式表示法
评论
0/150
提交评论