DIP課程設(shè)計報告_第1頁
DIP課程設(shè)計報告_第2頁
DIP課程設(shè)計報告_第3頁
DIP課程設(shè)計報告_第4頁
DIP課程設(shè)計報告_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)字圖像處理課程設(shè)計報告手寫阿拉伯?dāng)?shù)字的識別1、課程設(shè)計目的1)、 提高分析問題、解決問題的能力,進(jìn)一步鞏固數(shù)字圖像處理系統(tǒng)中 的基本原理與方法。掌握文獻(xiàn)檢索的方法與技巧。2)、 熟悉掌握一門計算機語言,可以進(jìn)行數(shù)字圖像的應(yīng)用處理的開發(fā)設(shè)計。2、方法綜述2.1手寫阿拉伯?dāng)?shù)字識別的研究背景 字符識別處理的信息可分為兩大類:一類是文字信息,處理的主要是用各國家、各民族的文字(如:漢字,英文等)書寫或印刷的文本信息,目前在印刷體和聯(lián)機手寫方面技術(shù)已趨向成熟,并推出了很多應(yīng)用系統(tǒng);另一類是數(shù)據(jù)信息,主要是由阿拉伯?dāng)?shù)字及少量特殊符號組成的各種編號和統(tǒng)計數(shù)據(jù),如:郵政編碼、統(tǒng)計報表、財務(wù)報表、銀行票據(jù)等等

2、,處理這類信息的核心技術(shù)是手寫數(shù)字識別。近幾年來我國開始大力推廣的“三金”工程在很大程度上要依賴數(shù)據(jù)信息的輸入,如果能通過手寫數(shù)字識別技術(shù)實現(xiàn)信息的自動錄入,無疑會促進(jìn)這一事業(yè)的進(jìn)展。因此,手寫數(shù)字的識別研究有著重大的現(xiàn)實意義,一旦研究成功并投入應(yīng)用,將產(chǎn)生巨大的社會和經(jīng)濟(jì)效益。2.2人工神經(jīng)網(wǎng)絡(luò)的概念 人工神經(jīng)網(wǎng)絡(luò)(Artificia Neural Network)至今還沒有一個比較科學(xué)和權(quán)威的定義。有一種定義是:“人工神經(jīng)網(wǎng)絡(luò)是生理學(xué)上的真實人腦神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和功能,以及若干基本特征的某種理論抽象,簡化和模擬而構(gòu)成的一種信息處理系統(tǒng)?!睒s輝.張濟(jì)世.人工神經(jīng)網(wǎng)路及其現(xiàn)狀與展望電子技術(shù)應(yīng)用1

3、995年第10期4一5頁從系統(tǒng)觀點看,人工神經(jīng)網(wǎng)絡(luò)是由大量神經(jīng)元通過極其豐富和完善的聯(lián)接而成的,模擬大腦的基本特性的自適應(yīng)非線性動態(tài)系統(tǒng)。神經(jīng)元之間的連接方式不同,神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)形態(tài)也就不同。具體的生理學(xué)上的定義本文不再展開贅述。2.3 BP神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)的應(yīng)用已經(jīng)滲透到各個領(lǐng)域中,包括金融、股票預(yù)測,自動控制,機器人,模式識別,計算機視覺和圖像處理,信號處理等等, T,J,Sejnowiski,C,R,Rosenberg”Paralle Netwoeks that Learn to Pronounce English Test”,Complex Systems,1987:1 145-168

4、 陳明,趙瑞清.BP神經(jīng)網(wǎng)絡(luò)的比例訓(xùn)練.計算機學(xué)報,1993(8) 靳蕃,范俊波,譚永東。神經(jīng)網(wǎng)絡(luò)與神經(jīng)計算機.西南交大,1991 莊鎮(zhèn)泉,王煦法,王東生.神經(jīng)網(wǎng)絡(luò)與神經(jīng)計算機.北京:科學(xué)出版社,19926:毛群.王少飛.基于matlab的神經(jīng)網(wǎng)絡(luò)數(shù)字識別系統(tǒng)實現(xiàn).中國西部科技.2010(09).7:施少敏.馬彥恒.陳建泗.基于BP網(wǎng)絡(luò)的數(shù)字識別方法.兵工自動化.2006.25.108:朱曼麗.孫志鋒.孫志林.一種基于神經(jīng)網(wǎng)絡(luò)的數(shù)字識別方法.計算機工程與應(yīng)用.2002.129:喬寶明張曉莉高志才基于matlab識別0-9數(shù)字圖像的新方法.技術(shù)與創(chuàng)新管理.2009.310:許捍衛(wèi).王成.一種簡單

5、的數(shù)字識別方法研究.河海大學(xué)測量工程系其中軟件模擬的BP網(wǎng)絡(luò)是應(yīng)用最多、最成功的網(wǎng)絡(luò)。本次課程設(shè)計是基于BP神經(jīng)網(wǎng)絡(luò)對手寫阿拉伯?dāng)?shù)字進(jìn)行識別,故下文介紹關(guān)于BP神經(jīng)網(wǎng)絡(luò)的概念。 2.3.1 BP神經(jīng)網(wǎng)絡(luò)的概念 BP(Back Propagation)網(wǎng)絡(luò)又叫誤差反向傳播網(wǎng)絡(luò),是由美國加利福尼亞大學(xué)的PDP小組提出的一種神經(jīng)網(wǎng)絡(luò)算法,實現(xiàn)了Minsky和Papert認(rèn)為不能實現(xiàn)的多層網(wǎng)絡(luò)的設(shè)想。BP算法的基本思想是,學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經(jīng)各隱藏層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉(zhuǎn)入誤差的

6、反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱藏層向輸入層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權(quán)值的依據(jù)。這種信號正向傳播與誤差反向傳播的各層權(quán)值調(diào)整過程,是周而復(fù)始地進(jìn)行的。權(quán)值不斷調(diào)整的過程,也就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程。此過程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可接受到的程度,或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為此。BP網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖1所示,網(wǎng)絡(luò)由不同層次的節(jié)點集合組成,每一層節(jié)點的輸出送到下一層節(jié)點。這些輸出值由于連接權(quán)不同而被放大、衰減或抑制。除了輸入層外,每一節(jié)點的輸入為前一節(jié)點輸出值的加權(quán)和。每一節(jié)點的激勵輸出值由節(jié)點輸入、激勵函數(shù)及閉

7、值決定。圖1:BP網(wǎng)絡(luò)模型BP網(wǎng)絡(luò)的學(xué)習(xí)算法使用梯度搜索技術(shù),以期望網(wǎng)絡(luò)的實際輸出與期望輸出的均方差最小。網(wǎng)絡(luò)的學(xué)習(xí)是一種在誤差反向轉(zhuǎn)播的同時修正的過程。學(xué)習(xí)過程應(yīng)包括兩個階段:前向計算階段和反向調(diào)整階段2.4圖像分割: 對二值化后的圖像進(jìn)行分割處理,本課程設(shè)計采用基于字符連通域的分割。由于對數(shù)字的書寫有一定要求,兩個字符之間不能出現(xiàn)連筆的情況,因此可以對二值圖像各個分離部分進(jìn)行標(biāo)注來分割字符,用函數(shù)bwlabel來實現(xiàn)。用函數(shù)regionprops來度量圖像區(qū)域?qū)傩裕?包括屬性BoundingBox( 表示各標(biāo)注區(qū)域的最小矩形) 和Centroid(表示各區(qū)域的質(zhì)心)。通過對各個區(qū)域標(biāo)注及各

8、個區(qū)域起點坐標(biāo)和區(qū)域范圍(包括寬度和高度)的確定來截取字符, 所用函數(shù)為imcrop,最后調(diào)用函數(shù)imresize對圖像進(jìn)行歸一化處理。2.5特征提取 通過粗網(wǎng)格方法來提取特征。首先對分割后的字符歸一化為70×50的點陣,然后將此矩陣等分為7×5的網(wǎng)格,接著依次統(tǒng)計每一個網(wǎng)格內(nèi)黑像素點(即“1”)的個數(shù),得到一個以數(shù)字表示的7×5維的網(wǎng)格特征,將7×5維特征矩陣轉(zhuǎn)變?yōu)橐痪S特征,最后對其進(jìn)行歸一化操作。3、實驗結(jié)果與分析 3.1課程設(shè)計的結(jié)構(gòu)及流程 基于BP神經(jīng)網(wǎng)絡(luò)的手寫體數(shù)字識別系統(tǒng)大致可以分為輸入、預(yù)處理、特征提取、BP神經(jīng)網(wǎng)絡(luò)識別4個部分。輸入包括數(shù)

9、字樣本集掃描輸入和待識別數(shù)字輸入,先用數(shù)字樣本集掃描輸入圖像經(jīng)預(yù)處理后特征提取的特征向量來訓(xùn)練神經(jīng)網(wǎng)絡(luò),再用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)來識別待識別數(shù)字。預(yù)處理部分包括二值化、平滑、去噪、細(xì)化,再對預(yù)處理后二值點陣圖像進(jìn)行特征提取。最后將所提取的特征量輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)進(jìn)行識別,輸出識別結(jié)果?;贐P神經(jīng)網(wǎng)絡(luò)的手寫體數(shù)字識別系統(tǒng)的結(jié)構(gòu)及流程如圖2所示。 開始讀入需要識別數(shù)字的圖像將圖像轉(zhuǎn)化為灰度圖像將灰度圖像轉(zhuǎn)化為二值圖像圖像分割預(yù)處理模塊特征提取進(jìn)行數(shù)字的識別和比對圖2:手寫阿拉伯?dāng)?shù)字識別系統(tǒng)的流程圖3.2預(yù)處理模塊由于掃描輸入的圖像一般為RGB格式,預(yù)處理首先需要將其轉(zhuǎn)化為二值化的圖像,即只包含“0

10、”、“1”的矩陣形式。先將原始圖像轉(zhuǎn)化為灰度圖像, 通過函數(shù)rgb2gray來實現(xiàn),再通過函數(shù)im2bw轉(zhuǎn)化為二值圖像,然后對二值化后的圖像進(jìn)行分割處理,3.3數(shù)字的識別和比對 采用三層BP神經(jīng)網(wǎng)絡(luò)來實現(xiàn)。通過實驗測試設(shè)定隱含層神經(jīng)元數(shù)目為10,所以只需分類10個數(shù)字,設(shè)定輸出層神經(jīng)元數(shù)目為10。隱含層神經(jīng)元的傳遞函數(shù)采用S型對數(shù)函數(shù)logsig, 輸出層神經(jīng)元傳遞函數(shù)也采用S 型對數(shù)函數(shù)logsig,此神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù)采用trainlm,性能函數(shù)采用sse,訓(xùn)練步數(shù)最長設(shè)為5000,性能目標(biāo)設(shè)為0.01。 3.4實驗結(jié)果圖3:GUI界面及實驗結(jié)果 圖4:導(dǎo)入具體需要進(jìn)行識別的圖像 圖5:對

11、需要識別的數(shù)字進(jìn)行選擇和裁剪 圖6:對需要識別的手寫阿拉伯?dāng)?shù)字進(jìn)行預(yù)處理3.41預(yù)處理模塊的部分源代碼:function img = edu_imgpreprocess(I)Igray = rgb2gray(I);Ibw = im2bw(Igray,graythresh(Igray);%將圖像轉(zhuǎn)化為二值圖像Iedge = edge(uint8(Ibw);se = strel('square',3);Iedge2 = imdilate(Iedge, se); Ifill= imfill(Iedge2,'holes');Ilabel num = bwlabel(If

12、ill);Iprops = regionprops(Ilabel); Ibox = Iprops.BoundingBox;Ibox = reshape(Ibox,4 50); Ic = Iprops.Centroid;Ic = reshape(Ic,2 50);Ic = Ic'Ic(:,3) = (mean(Ic.2,2).(1/2);Ic(:,4) = 1:50;Ic2 = sortrows(Ic,2);for cnt = 1:5 Ic2(cnt-1)*10+1:cnt*10,:) = sortrows(Ic2(cnt-1)*10+1:cnt*10,:),4);end Ic3 = I

13、c2(:,1:2);ind = Ic2(:,4);for cnt = 1:50 imgcnt = imcrop(Ibw,Ibox(:,ind(cnt);end function bw2 = edu_imgcrop(bw)% 找到圖像的邊界y2temp x2temp = size(bw);x1=1;y1=1;x2=x2temp;y2=y2temp;% 找出最左邊的空格(Finding left side blank spaces)cntB=1;while (sum(bw(:,cntB)=y2temp) x1=x1+1; cntB=cntB+1;end% 找出最右邊的空格(Finding righ

14、t side blank spaces)cntB=1;while (sum(bw(cntB,:)=x2temp) y1=y1+1; cntB=cntB+1;end %找出最上邊的空格( Finding upper side blank spaces)cntB=x2temp;while (sum(bw(:,cntB)=y2temp) x2=x2-1; cntB=cntB-1;end % 找出最下邊的空格(Finding lower side blank spaces)cntB=y2temp;while (sum(bw(cntB,:)=x2temp) y2=y2-1; cntB=cntB-1;en

15、d % 對圖像進(jìn)行裁剪(Crop the image to the edge)bw2=imcrop(bw,x1,y1,(x2-x1),(y2-y1); 圖7:對需要識別的手寫阿拉伯?dāng)?shù)字進(jìn)行特征提取3.4.2特征提取的源代碼function lett = edu_imgresize(bw2)% This function will take the cropped binary image and change it to 5 x 7% character representation in single vector. bw_7050=imresize(bw2,70,50);%重新定義尺寸%粗

16、網(wǎng)格的特征提取方法for cnt=1:7 for cnt2=1:5 Atemp=sum(bw_7050(cnt*10-9:cnt*10),(cnt2*10-9:cnt2*10); lett(cnt-1)*5+cnt2)=sum(Atemp); endend lett=(100-lett)/100);%特征向量的歸一化lett=lett'3.4.3:識別模塊的源代碼function net = edu_createnn(P,T)%創(chuàng)建神經(jīng)網(wǎng)絡(luò) alphabet = P;targets = T; R,Q = size(alphabet);S2,Q = size(targets);S1 =

17、10;S2=10;net = newff(minmax(alphabet),S1 S2,'logsig' 'logsig','trainlm');net.LW2,1 = net.LW2,1*0.01;net.b2 = net.b2*0.01;net.performFcn = 'sse' net.trainParam.goal = 0.01; net.trainParam.show = 20; net.trainParam.epochs = 5000; net.trainParam.mc = 0.95; P = alphabet;T = targets;net,tr = train(net,P,T);3.5實驗結(jié)果的分析 在本次課程實驗中我對0到9這10個手寫的數(shù)字進(jìn)行識別,在實驗過程中,發(fā)現(xiàn)該系統(tǒng)沒辦法達(dá)到百分之百的準(zhǔn)確率,進(jìn)行多次程序的調(diào)試這個問題仍然沒辦法得到改進(jìn)。例如該系統(tǒng)有時會將8識別為1,將7識別為3,或者將7識別為2,但是對于4,5這兩個數(shù),識別的準(zhǔn)確率能達(dá)到百分之百。5、課

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論