




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗七:基于神經網絡的模式識別實驗一、實驗目的理解BP神經網絡和離散Hopfield神經網絡的結構和原理,掌握 反向傳播學習算法對神經元的訓練過程,了解反向傳播公式。通過構建BP網絡和離散Hopfield網絡模式識別實例,熟悉前饋網絡和反饋 網絡的原理及結構。綜合掌握模式識別的原理,了解識別過程的程序設計方法。二、實驗內容熟悉模式識別的理論方法,用選擇一種合適的識別方法,對圖像中的字符(英文字母)進行識別,能夠區分出不同的形態的 26個字 母。在Matlab中,采用BP神經網絡,對讀取的數據進行訓練,進而 識別。1 .程序設計(1)程序各流程圖實驗中主程序流程圖如圖4-1所示:圖像預處理 M神
2、經網絡進行數字識別圖4-1主程序流程圖其中圖像預處理的流程如圖4-2所示:1圖4-2圖像預處理的流程神經網絡訓練的具體流程如圖4-3所示:獲取圖像數據創建神經網絡訓練 f 存儲訓練好的神經網絡4-3 神經網絡訓練流程2 2) 程序清單%形成用戶界面clear all;%添加圖形窗口H=figure('Color',0.85 0.85 0.85,.'position',400 300 500 400,.'Name',基于BP神經網絡的英文字母識別'NumberTitle','off',.'MenuBar
3、9;,'none');%畫坐標軸對象,顯示原始圖像h0=axes('position',0.1 0.6 0.3 0.3);%添加圖像打開按鈕h1=uicontrol(H,'Style','push',.'Position',40 100 80 60,.'String','選擇圖片','FontSize',10,.'Call','op');%畫坐標軸對象,顯示經過預處理之后的圖像 h2=axes('position',0.
4、5 0.6 0.3 0.3);%添加預處理按鈕2h3=uicontrol(H,'Style','push',.'Position',140 100 80 60,.'String','二值化','FontSize',10,.'Call','preprocess');%添加識別按鈕h4=uicontrol(H,'Style','push',.'Position',240 100 80 60,.'String'
5、,'字母識別','FontSize',10,.'Call','recognize');%添加顯示識別結果的文本框%添加訓練神經網絡按鈕h6=uicontrol(H,'Style','push',.'Position',340 100 80 60,.'String','網絡訓練','FontSize',10,.'Call','Example1Tr');%預處理%preprocess p1=ones(16,1
6、6);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); %調整比例,變換成16*16 圖像rate=16/max(size(bw1);bw1=imresize(bw1,rate);i,j=size(bw1);i1=round(16-i)/2);j1=round(16-j)/2);p1(i1+1:i1+i,j1+1:j1+j)=bw1;p1=-1.*p1+ones(16,16);%顯示預處理的結
7、果axes(h2);imshow(p1);%Example1Tr,訓練網絡M=1;%人數N=26*M;% 樣本數%獲取 26個大寫字母圖像的數據for kk=0:N-1p1=ones(16,16);%W始化 16*16 的二值圖像(全白)m=strcat(int2str(kk),'.bmp');% 形成文件名x=imread(m,'bmp');% 讀取圖像bw=im2bw(x,0.5);%轉換成二值圖像數據%用矩形框截取i,j=find(bw=0);% 查找像素為黑的坐標%取邊界坐標imin=min(i);imax=max(i);jmin=min(j);jmax
8、=max(j);bw1=bw(imin:imax,jmin:jmax);% 截取%調整比例,縮放成16*16 的圖像rate=16/max(size(bw1);bw1=imresize(bw1,rate);% 會存在轉換誤差%將bw1 轉換成標準的16*16 圖像 p1i,j=size(bw1);i1=round(16-i)/2);j1=round(16-j)/2);p1(i1+1:i1+i,j1+1:j1+j)=bw1;p1=-1.*p1+ones(16,16);% 將 p1 轉換成輸入向量for m=0:15p(m*16+1:(m+1)*16,kk+1)=p1(1:16,m+1);ende
9、nd%形成目標向量for kk=0:M-1for ii=0:25t(kk+ii+1)=ii;endend%設置輸入向量范圍pr(1:256,1)=0;pr(1:256,2)=1;%創建兩層BP神經網絡,隱層有25個節點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;
10、%訓練神經網絡net=train(net,p,t);%存儲訓練好的神經網絡%recognize,字符識另U%生成向量形式M=figure('Color',0.75 0.75 0.75,.'position',200 200 400 200,.'Name',基于BP神經網絡的英文字母識別結果'NumberTitle','off',.'MenuBar','none');M0=uicontrol(M,'Style','push',.'Position
11、',150 80 130 40,.'String','請先訓練網絡',.'FontSize',12,.'call','delete(M(1) ' );for m=0:15q(m*16+1:(m+1)*16,1)=p1(1:16,m+1);end %識別a,Pf,Af=sim(net,q);a=round(a);switch acase 0,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'
12、;String','這個字母是 A',.'FontSize',12,.'call',.'delete(M(1)');case 1,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是B','FontSize',12,.'call',.'delete(M(1)');case 2,M0=uicontrol(M,
13、'Style','push',.'Position',150 80 130 40,.'String','這個字母是C','FontSize',12,.'call',.'delete(M(1)');case 3,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是D','FontSize
14、9;,12,.'call',.'delete(M(1)');case 4,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是E','FontSize',12,.'call',.'delete(M(1)');case 5,M0=uicontrol(M,'Style','push',.'Position
15、9;,150 80 130 40,.'String','這個字母是F','FontSize',12,.'call',.'delete(M(1)');case 6,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是G','FontSize',12,.'call',.'delete(M(1)');ca
16、se 7,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是H','FontSize',12,.'call',.'delete(M(1)');case 8,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是 I&
17、#39;,.'FontSize',12,.'call',.'delete(M(1)');case 9,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是J','FontSize',12,.'call',.'delete(M(1)');case 10,M0=uicontrol(M,'Style','push
18、',.'Position',150 80 130 40,.'String','這個字母是K','FontSize',12,.'call',.'delete(M(1)');case 11,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是L','FontSize',12,.'call',.&
19、#39;delete(M(1)');case 12,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是M','FontSize',12,.'call',.'delete(M(1)');case 13,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'
20、;String','這個字母是 N','FontSize',12,.'call',.'delete(M(1)');case 14,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是O','FontSize',12,.'call',.'delete(M(1)');case 15,M0=uicontrol(M
21、,'Style','push',.'Position',150 80 130 40,.'String','這個字母是P','FontSize',12,.'call',.'delete(M(1)');case 16,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是Q','FontSize&
22、#39;,12,.'call',.'delete(M(1)');case 17,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是R','FontSize',12,.'call',.'delete(M(1)');case 18,M0=uicontrol(M,'Style','push',.'Positio
23、n',150 80 130 40,.'String','這個字母是 S',.'FontSize',12,.'call',.'delete(M(1)');case 19,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是T','FontSize',12,.'call',.'delete(M(1)
24、39;);case 20,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是U','FontSize',12,.'call',.'delete(M(1)');case 21,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','
25、;這個字母是 V',.14'FontSize',12,.'call',.'delete(M(1)');case 22,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是W,'FontSize',12,.'call',.'delete(M(1)');case 23,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String','這個字母是 X',.'FontSize',12,.'call',.'delete(M(1)');case 24,M0=uicontrol(M,'Style','push',.'Position',150 80 130 40,.'String
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環境監測數據傳輸與處理技術考核試卷
- 3-5譯碼器1電子課件教學版
- 體育場地設施安裝的殘疾人輔助設施考核試卷
- 漁業技術引進考核試卷
- 紙板容器技術人才發展考核試卷
- 漁業水域生態平衡與保護措施考核試卷
- 燈具制造的數字化生產線考核試卷
- 煉鐵廢氣回收與利用技術應用考核試卷
- 纖維原料的新型應用與創新技術考核試卷
- 下肢深靜脈血栓的預防和護理 2
- 《3-6歲兒童學習與發展指南》藝術領域 -5-6歲
- 液壓知識培訓課件
- 冷鏈物流建設施工方案
- 《消防安全操作規程》
- 中考體育培訓課件
- 審計常用定性表述及適用法規向導-教科文衛法規向導
- 以一流課程建設為導向的概率論與數理統計課程教學改革與實踐
- 中職心理健康第五課認識情緒管理情緒
- 音樂課件《節奏與節拍》
- 海南省海口市(2024年-2025年小學五年級語文)統編版期中考試((上下)學期)試卷及答案
- 物理教師老師個人簡歷
評論
0/150
提交評論