




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
手寫數字識別系統的設計與實現目錄1.前言 11.1課題背景 11.2簡介 11.3字符識別的目的 21.4字符識別技術的現狀及發(fā)展局勢 21.5課題整體結構 41.6課題難點分析 41.7本文研究的主要內容 52.系統 62.1MATLAB介紹 62.2MATLAB的特點 63.人工神經網絡 73.1BP神經網絡 73.1.1BP神經網絡的網絡模型 73.1.2BP學習算法的流程 73.2神經網絡在模式識別問題上的優(yōu)勢 84.字符識別常規(guī)預處理和特征提取方法 104.1字符識別的識別過程 104.2字符識別的常規(guī)預處理方法 104.2.1圖像的灰度化 114.2.2二值化 114.2.3平滑去噪 124.2.4書寫的傾斜矯正 124.2.5數字圖像分割 134.2.6圖像的歸一化處理 134.2.7圖像的細化 144.2.7預處理小結 144.3特征提取 145.基于BP算法的手寫數字識別系統的實現 165.1基于BP神經網絡字符識別的過程 165.2樣本準備 165.2.1灰度化 175.2.2二值化 175.2.3平滑去噪 175.2.4數字圖像歸一化 185.2.5細化 185.3特征提取 185.4神經網絡結構參數的選擇與確定 195.4.1輸入層神經元個數和輸出層神經元個數的確定 195.4.2隱層數 195.4.3隱層節(jié)點數 195.5仿真結果 206.總結 27參考文獻 29
1.前言1.1課題背景幾千年來,數字技術在世界上得到了廣泛的應用。然而,在當今社會,如何快速、高效地將數字輸入計算機,已成為影響人機效率的重要瓶頸,也關系到計算機能否在我國真正普及和應用。手寫體字符識別的研究取得了一些成果手寫體數字識別是光學字符識別的一個分支。研究如何利用計算機自動識別書寫在紙上的阿拉伯數字。在整個OCR領域中,最困難的是脫機手寫字符的識別。到目前為止,人們對脫機手寫字符識別的研究雖然取得了許多可喜的成果,但離實際應用還很遙遠。在這個方向上,經過多年的研究,研究人員已經開始將其推廣到各種實際應用中,為高速自動輸入書寫數據提供了解決方案。字符識別的信息可以分為兩類:一種類型是文本信息,主要利用不同國家和民族的文字(如漢字、英語等)來抽取或打印文本信息。目前,印刷技術和在線手寫技術已經成熟,并引入了許多應用系統;另一種類型是數據信息,主要由阿拉伯數字和少量特殊符號組成,如郵政編碼、統計報表、財務報表、銀行票據等,處理這類信息的核心技術是書寫數字識別。近年來,在我國廣泛推廣的“三金”工程在很大程度上依賴于數據信息的輸入。如果能通過手寫數字識別技術實現信息的自動輸入,無疑將推動這一事業(yè)的進步。因此,對手寫體數字識別的研究具有重要的現實意義。研究成果一旦投入使用,將產生巨大的社會效益和經濟效益。1.2簡介到現在為止,為了解決計算機字符的自動識別或者高速處理等問題,計算機實現了真正意義上的智能化,計算機識別在多年前的研究中就已經取得了很大的進步。字符識別是字符識別的一個分支,通常通過特征匹配和特征識別來處理。目前,識別率仍然具有很大的提升空間。近年來,人工神經網絡技術取得了突破性的進展。它具有固定的并行結構和并行處理,知識存儲,容錯,適應性和模式識別,為字符識別開辟了新的、更多的可能性。1.3字符識別的目的識別符號是圖像識別的一個重要分支,在郵政、稅收、運輸和金融等領域廣泛應用。中國近幾年來一直在推進的“三金”項目在很大程度上依賴于數據輸入。但是如果通過字符識別技術自動輸入信息,無疑將有助于這方面企業(yè)的發(fā)展。因此,對數字的自動統計研究是一個重要的、具有實際意義的舉措。研究一旦成功并得到利用,將產生巨大的社會效益和經濟效益。作為一個重要的圖像識別問題,符號識別也具有重要的理論價值。一方面,阿拉伯數字是世界各地經常使用的一種符號。因此,這個數字是一個重要的關鍵。在字符識別領域,字符識別提供了一個平臺,用于研究該領域的算法。另一方面,數字識別技術可以很容易地擴展到其他相關問題,特別是英文字母,但到目前為止,機器的識別能力不能與人類的認知能力相比。這仍然是一個嚴峻而又艱難的任務。根據收集到的數據總結,數字手寫識別在學科上屬于圖像識別和人工智能類的范圍。在過去的40年里,科學家們找到了許多方法來獲得手寫符號的關鍵特征。這些分為兩大類:全局分析和結構分析。首先,我們可以使用匹配模板,像素密度,矩,特征點,數學變換等。對于后者,基本上是從符號或骨架的輪廓中提取符號形狀的基本特征,其中包括:圓圈、端點、節(jié)點、弧、突起、凹痕等。多年的研究表明,幾乎可以肯定的是,對于哪些完全無限制的手寫數字:沒有一個簡單的程序可以達到高識字率和精確性來識別。因此,最近在這方面的努力是朝著更成熟、更復雜和更全面的方向進行的研究和發(fā)展。本篇論文主要模仿和學習了手寫數字識別的算法。其中有一種手寫數字識別的核心算法是,使用模板匹配、像素密度、矩、特征、數學變換等技術,來提取手寫數字的關鍵特征進行識別,利用我們在電子信息技術方面所掌握的專門知識來做到這一點,然后完成手寫體數字識別系統的學習和開發(fā)。1.4字符識別技術的現狀及發(fā)展局勢在60年代中期和70年代初期,數字識別技術就確定了相應的角色。日本Toshiha公司開發(fā)了自動郵政編碼分類。RETINA開發(fā)了一個使用大量阿拉伯數字的系統,成為識別符號研究的開端。近年來,符號識別系統成為例如銀行支票自動處理等方面的熱點。符號識別通常可以分為兩類:在線手寫字符識別、光學字符識別或離線字符識別。在線手寫識別中,計算機可以訪問連接到計算機的手寫輸入設備來按照按照條形碼、方向和符號形式接收輸入字符。符號識別是光學識別技術的一個領域,其研究了電子計算機和其他媒體上阿拉伯數字自動識別的方法。在過去的40年里,人們發(fā)現了許多重要的特征來用于獲取手寫的文本。這些方法分為兩類:全局分析和結構分析。在第一個例子中,可以使用像素密度和特征提取的模板匹配。在后者的例子中,包括環(huán)、頂點、節(jié)點、弧線、凸起、凹痕、圖案等基本特征都需要從角色的輪廓或骨架中移除。語法分類通常與這些結構特征結合使用。事實上,對于完全無限制的手寫數字,幾乎可以確定一個簡單的解決方案不會實現高水平的鑒定和準確性。研究人員正在研究將新知識應用于預處理、特征提取、神經網絡分類和數學形式。研究手寫識別中,研究神經網絡的方法是很值得的。手寫數字是字符識別領域中很難、很具有挑戰(zhàn)性的話題。主要原因如下。首先,有些數字并沒有那么不同,意思是部分數字形態(tài)上相差不大。很難區(qū)分這些數字。第二,雖然只有10個數字,但筆畫簡單,不需要相同的數字模式。世界各地的人都有獨特的地理特征,這使得通用的識別符號系統來識別變得困難并且難以提高識別率。第三,由于寫作者的個性,導致手寫數字有很多隨機的不同。例如,字符的粗細,字體的大小,字體的傾斜度,局部筆畫的變形,以及其他差異等。此外,不管是目前和將來,在大規(guī)模數據(例如,一年一度的行業(yè)調查、人口普查等)是需要識別系統的使用。因為需要輸入大量的數據,而以前完全要用手工輸入,會耗費大量的人力物力。近些年來基于數據輸入記錄成為一大趨勢,因為集中實施,這往往有助于數據自動識別可以通過專門和有限的形式進行,同時也便于機器的自動識別。目前,我國的大多數實用系統都要求用戶按照規(guī)定的填寫信息內容。此外,這些系統經常使用相應的用戶界面,仔細檢查id結果并確保它們是正確的。可以注意到,目前,許多國家的部門和單位對基本算法的識別要求較低,但也是他們應用開發(fā)的熱點。金融、稅收和財務是另一個讓手寫數字識別系統有所作為的領域。隨著我們經濟的快速發(fā)展,每天都有越來越多的人期待通過計算機自動來處理金融、稅收、支票、工資單等等問題。與上面提到的方面相比,由于需要更精確的鑒定、更廣泛的處理形式等,在這一領域的應用更加困難,這也增加了基本識別算法和預處理核心算法的要求。提高識別及預處理的核心算法的要求。在郵件分揀中使用手寫數字識別技術也有廣泛的應用。隨著人們的生活水平升高,對于通信方面的發(fā)展與需求大大增加了信件的交互量,我國郵政業(yè)務總量也在不斷增長,在一些大城市每天郵件數量達到上千萬,工作量大幅增加,導致郵件分揀自動化成為主要趨勢之一。在郵件自動分類時,手寫數字識別通常與光學條碼識別以及人工輔助識別相結合來完成,這就需要對具有特定性能的機器進行分類,錯誤越少越好。1.5課題整體結構我們的思路是利用Matlab軟件建立一個手寫數字識別的系統,實現圖像輸入,然后對輸入的圖像進行預處理,分割,結構特征提取,分類識別等常規(guī)操作學習,最終識別出圖像上的數字,充分了解手寫數字的識別的核心思想和技術。充分了解手寫數字的識別的核心思想和技術。1.6課題難點分析數字只有十組類別是簡單的,筆畫更是及其簡易,識別它們的似乎并不復雜。然而,在實踐中,一些測試結果表明,正確的識別指標不如印刷體漢字的識別指標高,甚至不如手寫漢字的識別率高。主要是因為數字字形的信息量比較小,不同的數字形式相似,字形的差別也很小,使得某些數字很難準確區(qū)分;其次,盡管這個數字只有10種,但所同一數字卻有著千差萬別,全世界所有地區(qū)的人民,他們的創(chuàng)作有著明顯的區(qū)域特征,很難充分確保做到既能覆蓋世界各種千奇百怪的寫法并且又能具有極高識別率的系統。此外,在實踐中,正確識別數字字符的要求要比不管是單詞還是漢字都要難得多。這是因為數字在文中沒有必然的上下文聯系,每個獨立的識別都很重要,數字識別往往與金融和財務領域有關,其嚴謹性這一點更加明顯。因此,用戶的需求并不僅僅是單群的高正確率的,更重要的是,極其低的錯誤率,哪怕不到萬分之一以下。此外,在處理大量數據時,對系統的運行速度提出了相當大的要求,許多理論上比較理想但速度較慢的方法都是不行的。因此,要研究出高性能的數字識別算法是一個難題,高性能的手寫數字識別技術更是一個復雜的且具有挑戰(zhàn)的任務。充分了解手寫數字識別的核心思想和技術。學習手寫數字識別的核心技術。1.7本文研究的主要內容識別符號研究的最終目標是在實際操作中開發(fā)和應用快速和精確的識別算法。符號識別技術是獨一無二的。識別技術遠未達到使用的要求,而手寫識別技術的創(chuàng)新應用本身將帶來廣泛的應用市場。高分辨率,快速識別。在實踐中,高分辨率的本身要求是不可避免的。因為如果沒有高效率的識別,應用程序的價值就會急劇下降。時間就是金錢,只有非常合理的,能被接受的速度才能占據市場。在這篇論文中,我們學習了數字識別問題,并選擇了100個數字樣本作為BP神經網絡的訓練樣本來進行自我學習。在將識別算法應用于未知的數字圖像之前,先對圖像進行預處理,以獲得識別算法所需的圖像特征。用于圖像預處理的算法也是主要的圖像處理算法之一?;叶?,二值化,平滑噪音消除,細化,標準化等均是同理。根據BP算法創(chuàng)建了一個基于神經網絡結構的字符識別分類器。使用樣本來訓練神經網絡和測試樣本來驗證模型。
2.系統2.1MATLAB介紹MATLAB是美國MathWorks公司出品的商業(yè)數學軟件,用于算法開發(fā)、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB是矩陣實驗室(MatrixLaboratory)的簡稱,和MathematicalMaple并稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈--指MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創(chuàng)建戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。MATLAB的應用范圍非常廣,包括信號和圖像處理、通訊、控制系統設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領域。附加的工具箱(單獨提供的專用MATLAB函數集)擴展了MATLAB環(huán)境,以解決這些應用領域內特定類型的問題。2.2MATLAB的特點(1)此高級語言可用于技術計算(2)此開發(fā)環(huán)境可對代碼、文件和數據進行管理(3)交互式工具可以按迭代的方式探查、設計及求解問題(4)數學函數可用于線性代數、統計、傅立葉分析、篩選、優(yōu)化以及數值積分等二維和三維圖形函數可用于可視化數據(5)各種工具可用于構建自定義的圖形用戶界面(6)各種函數可將基于MATLAB的算法與外部應用程序和語言(如CC++、FortranJava、COM以及MicrosoftExcte集成.3.人工神經網絡3.1BP神經網絡神經網絡中關于神經元之間的一些連接反映了其間的拓撲結構,這些決定了神經元的處理信息的能力和性質。根據其連接方法,神經網絡模型被分為前向神經網絡、反饋神經網絡。前向神經網絡之一就是這里使用的BP網絡。反向傳播網絡是一種多層網絡,可對非線性可微函數進行加權作用。在人工神經網絡的實際應用中,許多神經網絡模型使用BP網絡或其變體,它們同時也是反映人工神經網絡最重要部分前向網絡核心部分。3.1.1BP神經網絡的網絡模型BP神經網絡是一個典型的前向神經網絡。網絡的基本結構如圖3-1所示。它是一個典型的三層BP網絡模型,包括1、輸入層,2、隱藏層,3、輸出層。VVnWn輸入層隱藏層輸出層.……..……..…….圖3-1BP神經網絡的網絡模型3.1.2BP學習算法的流程BP學習算法的流程如圖3-2所示。初始化初始化給定輸入向量和目標輸出求隱層和輸出層各單位輸出求目標值與實際輸出偏差E求隱層單元誤差求誤差梯度權值學習E滿足要求?全部E滿足要求結束YYN圖3-2BP學習算法的流程圖3.2神經網絡在模式識別問題上的優(yōu)勢神經網絡是一種抽象的、能夠模擬人類大腦特征的一種技術。這是一個基于連接理論的智能模型的仿生?;谌斯ど窠浘W絡的人工神經網絡在模擬推理和自動化學習方面的功能取得了重大進展,人工智能更接近于人腦的自我組織和并行處理的一些功能。它已經被證明了在許多領域,例如模型識別、集群分析和專家系統的主要優(yōu)勢。神經網絡可以被看作是輸入到輸出空間的非線性映射關系。我經過學習認為可以通過改變或者調整部分權重和閾值來識別學習或發(fā)現變量之間的聯系來實現事物的從而進行分類。人工神經網絡具有識別模型這一優(yōu)勢。神經網絡是具有分布式的存儲信息這特別優(yōu)勢。其存儲信息的方式與傳統計算機有所不同。這條信息不是在一個地方,而是在另一個地方存在。在網絡某些部分,這不僅僅是信息,而且是分發(fā)傳播和存儲這條信息。神經網絡利用神經元之間的多個連接和每個通道鏈路的比重分布來表示特定的信息。因此,這種分布式存儲方法具有恢復原始信息的優(yōu)勢,即使本地網絡受損。神經網絡具有與信息處理和推理過程相對應的特征。每個神經元都可以根據收到的信息進行獨立的計算和處理,然后發(fā)送反映并行操作的結果。神經網絡通過直接計算特定輸入模式來生成輸出模式,并計算每個輸出節(jié)點表示的邏輯概念。在輸出模式中,通過比較輸出節(jié)點的強度和信號本身,可以找到一個特定的解并發(fā)布其他解。這描述了神經網絡的并行推理。神經網絡有能力獨立處理信息。神經網絡中,它的每個神經元之間的連接強度是由其重量決定的,重量可以預先設定或不斷適應環(huán)境。這個過程叫做神經元過程。神經網絡本身正在研究人類思維模式的模擬過程。這是一種不合邏輯的方法,與傳統符號的邏輯完全不同。它在模型識別方面的應用是神經研究歷史上最活躍和最成功的領域。神經網絡及其在模式識別中的應用是緊密相連和不可分割的。
4.字符識別常規(guī)預處理和特征提取方法4.1字符識別的識別過程字符識別,使用不同的方法,處理步驟可能不完全相同。但是,一般來說,完整的識別系統通常在識別過程中經歷以下處理階段,如圖4-1所示。原始數據原始數據圖像預處理灰度化細化特征提取識別識別結束二值化平滑去噪原始文檔歸一化圖4-1識別過程圖4.2字符識別的常規(guī)預處理方法神經神經網絡提供了一種強大的識字符識別的工具。目前,有兩種神經識別模式。其中一個使用數字化的原始像素樣本作為神經網絡輸入,另一個是,使用原始像素輸入的樣本數據來進一步預處理或轉換。在某些特殊情況下,使用第一個測試樣本的表達式可能會產生很好的識別效果,但是輸入方法通常會使網絡分級器的結構復雜化增強。因此,對原始樣本的初步處理是成功識別神經網絡模型的一個重要操作過程。雖然已經為數字的初步處理做了很多工作,但分析,最終將根據以下方式進行:第一種選擇是將數字轉換為m矩陣,乘以n像素,然后通過二進制處理接收原始的輸入表達式。然后,對一些原始樣本表達式進行一般或常規(guī)的變換,如平滑、規(guī)范化和細化原始表達式模式。最后,樣品以不同的方式進行轉換,以獲得不同的特性來形成輸入樣本。這就相當于符合傳統的標識符類型,用于特征提取和選擇,這就稱為特征轉換過程。數字主題有多種變換特性的方法,主要是數字主題的寬度和長度,每個不管是筆畫的長度和厚度,以及邊緣形狀的輪廓。傳統的早預征處理方法可以廣泛用于識別多種字符。。4.2.1圖像的灰度化灰度意味著這些圖像處理僅僅只包含亮度信息,而不是所謂的顏色信息。圖像包含在彩色圖像的亮度和顏色的過程中。因為,在早期的圖像處理中,人們只關心類似筆畫,卻又不僅僅是數字的顏色。256位的調色板又太過復雜了,多個圖像處理算法都無法部署。最后圖像中的灰色水平。要將彩色圖像轉換為灰度圖像,首先要查找彩色圖像的顏色值:R,G,B。然后,通過公式Y=0.11*R+0.59*G+0.3*B式(4-1)可以獲得亮度值Y.然后讓:R=G=B=Y.產生的新圖像是灰度圖像。很多的圖像處理中重要步驟之一就是灰度處理,它的結果是之后各種其他處理技術的基礎。所以,有一個正確的灰度圖像處理是極其重要。4.2.2二值化圖像的二值化是根據特定標準將圖像中的像素劃分為黑色和白色?;尹c上的圖像設置為0或255,以在整個圖像上產生清晰的黑白效果。在數字圖像處理中,有利的是在圖像被二值化之后進一步處理圖像。圖像僅與像素值為0或255的像素位置相關聯。它不包含多值像素值,并且稍微壓縮數據處理。二值化方法的基本公式如下:式(4-2)g(i,j)是二進制(i,j)點的值,f(i,j)是點(i,j)的灰度圖像的灰度值,并且T是閾值。閾值的選擇是圖像二值化的關鍵。根據T的各種選擇,可分為積分閾值二值化,局部閾值二值化,動態(tài)閾值二值化。當T為常數時,我們稱全球閾值方法為不同圖像樣本的綜合閾值方法,并根據實際情況確定。閾值設置得很好,因為樣本背景的顏色幾乎是白色的。一般閾值方法基本上會有許多不一樣的缺點。我們不能選擇每個角色的最佳閾值。因為一旦我們建立了總閾值,它就不會改變。但同樣這里提到的是最簡單、最快的方法。這是一種比較有效的不同的雙值化方法,因為數字圖像清晰,輪廓清晰,并且沒有干擾。當然還有一種方法是,可以根據灰質等級圖確定一般的總閾值。這種方法可以通過圖像和背景的灰色值自動定義共同閾值。局部閾值法允許將圖像的每一部分與坐標相關的閾值水平分開。這適用于照明條件不同或者說不均勻的不同情況。通過全球閾值方法對圖像的兩位數解釋,效果是不夠的,并且不充分,并且根據學習到的了解到,通過局部閾值方法能獲得預期的兩位數結果。但是呢,緩慢的執(zhí)行同時也不能保證字符的具有連續(xù)性。動態(tài)閾值的選擇并不僅要取決于像素的位置以及灰度,而是還要取決于像素的位置坐標。因為考慮到每個像素的特征以及領域性,背景和目標之間的邊界也可以很好地解釋和突出。這種方法還允許處理一些低質量或單峰長方形圖像。數字圖像、筆順筆畫和背景之間有著很明顯的大差異,處理動態(tài)閾值需要更長的時間來進行操作來完成。所以,這就是它很少被用來識別符號的原因。4.2.3平滑去噪平滑去除噪聲消除孤立的噪聲點,來進行填補未來領域的孤立的白色點,去掉字符串上部分邊緣的一個小突起,并填補算法的凹坑來提供給之后的算法來使用。數字圖像預處理和處理的重要部分也包含了平滑圖像。噪音也是會給未來的工作帶來很多技術操作上的不便。因此,在處理圖像時,應盡可能多地刪除噪音圖像。噪音消除效應會直接并嚴重影響圖像的處理,比如說有提到的字符分離、特征提取等。目前,有三種比較常用有很經典關于圖像的去噪算法:1.平均過濾算法平均過濾算法,也被稱為線性過濾,同時鄰域平均方法中的比較核心主要概念,取代了幾個像素的灰色等級的平均值。能夠有效地抑制附著噪聲,但同業(yè)也比較很容易導致需要操作的圖像變模糊,所以還可以改進,主要是為了避免場景的平滑現象。2.中位數過濾器中位數過濾器是一種非線性處理平滑波信號的方法,能基于有序的噪聲統計理論進行抑制。對于中間值過濾的特征,首先在于要定義像素中心的區(qū)域,一般情況下是正方形的區(qū)域,或者圓形的以及可能有十字等,然后將數字圖片像素的灰度值分類為相鄰點的中間值。灰色等級的新含義被用于中心像素,這里有一個叫做窗戶的字段。當窗口移動時,中間值濾波器可以使圖像平滑。這種算法很簡單,同時時間效率很低,但是呢不適用于中間點、點線或清晰的圖像,因為者被很容易適應。3.維納過濾維納過濾是一種恢復方法,可以最小化原始圖像與其恢復的圖像之間的均方誤差。這是一個自適應濾鏡,可根據局部方差調整濾鏡效果。去除高斯噪聲的效果是顯而易見的。4.2.4書寫的傾斜矯正如果沒有對不同模式的偏差進行修正,那么相同的字形形狀會反映出不同的歪斜角度,這必然會增加培訓的壓力和負擔并且會降低識別字符的系數。為了減少這個因素對其產生的影響,那么勢必需要使用校正修改的數字來將字符從一個水平提高對齊到另一個水平。最簡單的方法是在將圖像轉換成為電子圖像時進行進一步手工解決處理這個問題,使其盡可能精確。根據計算機的校準,那我們只能通過計算圖像的傾斜角度來進行對其傾斜的修正。通常情況下的修正方法是投影。投影是基于投影進行了幾何分析,計算每一個傾角的投影形狀和要定義的目標函數,實際上圖像傾斜角度是優(yōu)化了目標這個功能。在這種方法中,由于考慮到每一個傾斜角的投影形式是需要進行計算的,所以需要大量的計算技術來提高傾斜角度的預估精度。霍夫轉換和接近方法也是傾斜校正方法之一。4.2.5數字圖像分割如果需要識別的數字圖像中有多個數字,那就要把圖分割成每個不同獨立的數字。圖像的分割技術是作為數字識別的提取特定目標技術和過程必不可少的,將圖像分割成不同的區(qū)域,使它們成為具有不同特征的獨立區(qū)域。當處理數字圖像時,圖像中的字符被分開成獨立分段。預處理器只考慮字符圖像中的圖形,其余的圖像是對識別無關緊要的部分,通常這些圖像包含多個數字。這種識別只能基于每個數字的特征來確定。圖像分割是數字圖像處理中的比較關鍵技術之一,因為這能夠大大降低隨這后期階段(比如圖像的分析和識別)處理數據的量。當掃描分段字符底部的碎片到頂部,在第一個黑色像素時相遇,然后慢慢逐漸的從上到下,直到第一個黑色像素被發(fā)現。在高度范圍中,從左到右的進行掃描,第一個黑色像素是符號分割的開始,然后繼續(xù)掃描,直到黑線像素列出現,再考慮完成這個符號的分離。這能夠使得每個角色的寬度都比較的精確。4.2.6圖像的歸一化處理規(guī)范化也是初步處理中的重要組成部分之一。因為原始圖像的大小差別比較的大,所以更需要對原始圖像大小進行標準化,以便于減少網絡訓練的學習時間,并且還要提高識別精度。標準化有兩種基本且重要的方法。線性標準化和非線性標準化,線性標準化的技術比較廣泛用于識別符號,這是像素中對于線性坐標的轉換。首先,使用導出需要進行比較的數字字符原始寬度標準化后,依據初始圖像插技術來值映射標準圖像點,然后將不同大小的圖像轉換成a圖像,這一大小保留方法的好處是簡單容易操作的。但缺點也是有的,那就是沒有考慮到字符的分布,這不時能吸收字符的變形,極有可能出現原始圖像,也可能出現新的變形。然而,這不妨礙它還是一個有效的分類方法。非線性歸一化是一種容易使圖像失真的技術,因為這是需要盡可能地吸收原始圖像。在圖像歸一化之后,請記得考慮地原始圖像還具有典型特征,并需要按照這些特性進行非線性變換的操作。4.2.7圖像的細化需要注意的是這里不僅要僅僅關注線條之間的關系,還要關注的是在紙中手寫數字圖線條的粗細。因為存在筆劃的粗細不同,即便是相同數量的圖像也有可能由此顯示出不同的線條,所以由于在筆劃之后導致變薄的線也會具有相同的寬度(就比如像素的寬度)。一個字符的骨架是可以提高對于相關字符識別的識別時間和精準性。當然,根據多年來技術人員的研究,還有許多改進的算法。能夠依據映射連續(xù)性的精準程度,分別有四個相鄰的連接算法,八個相鄰的連接算法和一個混合性的連接算法。其中關于四個相鄰連接是指有不同的四個水平和垂直連接。另外,關于八個相鄰連接也是同樣的道理,是四個水平和垂直方向加上四個相鄰的四個角。細分過程也是有多種處理方式,例如有串行的,有并行的和有串行并行的這四種。在檢測到像素時,遇到m×m(一般情況下是3×3)的窗口當中,就需要注意有立即刪除的情況,比如遇到在可移除點處,則要刪除,因為會影響后續(xù)點的相關檢測以繼續(xù)細化處理我所有的邊緣檢測完成之后,就更應該改所有并可以刪除點的值。關于串行并行細化是字符串和并行處理是這兩技術的混合處理方法。該處理方法的優(yōu)點是凈化方向與凈化效率成正比,意思就是,凈化的方向點上升,凈化的速度也會提升。4.2.8預處理小結預處理是手寫數字識別中不可缺少的組成部分,對圖片預處理的好壞直接影響到識別結果,關系到識別算法的好壞。經過學習首先對待識別數字的預處理進行了介紹,包括平滑去噪,二值化等圖像處理方法,經過這些預處理步驟對圖像中部分變形信息進行了修正,消除圖像中與識別無關的元素,而且盡量保持原圖像字符的特征,這樣能夠提高在實驗里對于數字識別網絡的相關認知。4.3特征提取字符的特征提取是整個字符識別系統中不可缺少的關鍵。識別算法是基于所選擇圖像的特性類型,選擇的函數穩(wěn)定性很關鍵的。在數字識別技術中特征提取的方式分別,一是單個像素特征,二是提取結構特征,三是統計特征這幾種。像素提取技術最簡單的方法是對初步處理技術操作過后的圖像進行再連續(xù)掃描。當掃描到黑色像素時的特征值為1,當掃描到白色像素時的特征值為0,因此再掃描完成之后,會顯示出一個同等像素的特征向量矩陣。特征提取算法比較簡單,優(yōu)點是計算速率高、能夠快速進入BP網絡,訓練的效果良好,同樣也有缺點,那就是適應性不足。然而,實現靈活性的提高我們就可以通過增加訓練樣本的數量來實現。結構特征提取的作用是為了達到分析字符這個目的,這是一種能夠直接理解的解決方法。這個技術的想法可以看成是人類識別的原則,但它也是不同之處的。該技術的基本思想是將要是別的圖像角色進行分解成為部分,比如筆劃,甚至是筆段。目前對于結構特征提取技術的研究已經很成熟了,筆畫和字符識別效果更好是基于分段分析。對于不同的數字字符手寫樣本,數字風格不盡相同,但是在所有的筆畫與筆畫之間的整體關系中,整體數字的筆畫拓撲方向是不會改變的,在人們的認知是認為已經掌握了這些相關本質的變化,所以它可以適應到文本不同的寫作風格,但是技術還在進步中,未來會做到更加精準。所以,相對于本篇論文中關于手寫數字識別技術,一直以來字符識別研究的重要研究方法就是基于筆畫的數字自動識別。接下來說統計特征提取模式。根據統計模式識別的這方面來看,字符識別從原理上來講是模式分類的這一概念?;趯ο蟮膶W習和特征分析是人類對自然物體識別這方面的理解,那么,計算機模式識別的過程從原理上來講也等同于人類識別過程。然而事實上,這些都是通過學習或其他方法而形成的記憶知識庫方式之一。當執(zhí)行模式識別時,需要能夠清楚表達從對象到記憶知識庫的圖像,并且獲得識別結果。
5.基于BP算法的手寫數字識別系統的實現5.1基于BP神經網絡字符識別的過程基于BP神經網絡識別技術,第一應該獲得樣本,然后通過初步處理來獲得點陣圖像,選擇圖像特征進行提取,將提取的特征輸入到BP神經網絡,在訓練識別后進行輸出。如結果未獲到預期值時,需對計算誤差進行校對并調整神經網絡中每個類的網絡權重,直到期望值。識別過程如圖5-1所示。樣本樣本預處理點陣圖像特征提取特征向量選取特征BP網絡訓練權值初始化調整網絡權值輸出比較誤差期望輸出圖5-1識別過程圖5.2樣本準備在本篇論文中,根據學習數字識別的問題,選擇100個數字圖像樣本進行訓練樣本來訓練BP神經網絡識別。測試樣本用于驗證識別BP神經網絡模型的識別能力。圖5-2為一個示例。圖5-2手寫數字樣本舉例5.2.1灰度化該系統通過MATLAB函數rgb2gray()實現彩色圖像的灰度。圖4-2中灰度顯示后的圖像如圖5-3所示。圖5-3灰度化后的圖像5.2.2二值化我們可以通過im2bw()實現圖像的二值化。im2bw()的閾值參數是灰度圖像的值除以255.當灰度圖像除以灰度值255時,該值大于255.當閾值小于閾值時,閾值為黑色。由于背景通常為白色,因此閾值設置為0.7,二值化圖像如圖5-4所示。圖5-4二值化后的圖像5.2.3平滑去噪因為掃描了大部分需要識別的圖像,所以在大多數情況下字體都會模糊,這就導致了手寫數字的識別遇到困難。但是為了系統能夠順利識別,圖像需要銳化以使數字清晰,從而達到識別效果。該系統使用中值濾波方法使用MATLAB函數medfilt2()對圖像進行上述文中提過的平滑技術和去噪技術。圖5-5顯示了使用平滑技術和去噪技術的手寫數字圖像作為案例。圖5-5平滑去噪后的圖像5.2.4數字圖像歸一化在我們執(zhí)行手寫數字圖像識別時,我們應該只關心圖像中的顯示數字部分,而不是圖像中心沒有用的空白空間,因此我們將圖像進行標準化。在本篇論文中,這里使用的方法是:上述文中提到的圖像逐行掃描技術,許喲啊找到最小行黑色像素rowmin和最大行rowmax,同時也找到colummin和collummax。然后使用rowmin,rowmax,columnmin和columnmax作為新圖像的邊界。由于手寫圖像的數字尺寸差異大,因此對圖像識別要求是該圖像的像素是30×30,并且原始字符均需要全部統一為30×30像素。我們將提取的圖像高度和寬度最大值來和標準尺寸進行比較,來獲取需要變換的比率。所有原始圖像均需依照標準化圖像比例來進行像素大小的變換,如圖5-6所示歸一化后的圖像。圖5-6歸一化后的圖像5.2.5細化在MATLAB函數imresize()中精煉,第一個圖像需要進行反向處理,例如細化并返回到原色的反函數,因此細化效果更好。精致的圖像如圖5-7所示。圖5-7細化后的圖像5.3特征提取經處理的數字圖像采用逐像素特征提取方法。逐行掃描圖像。遇到黑色像素時特征值為1,遇到白色像素時特征值為0。相同數量的特征向量矩陣。以數字“3”為例,得到的特征值如圖5-8所示。圖5-8由預處理圖像得到特征值5.4神經網絡結構參數的選擇與確定5.4.1輸入層神經元個數和輸出層神經元個數的確定根據本次畢業(yè)設計代碼的應用程序具體要求,這里將設置數量關于輸入層中的神經元和網絡中輸出的神經元。其中輸入層的神經元節(jié)點數是根據數據的維度設置。例如,本系統需采用像素特征提取方法,圖像為30×30像素,所以輸入神經元的數量就成為900。同理相對應于的0-9數字,即,被輸入到相應的神經網絡輸出神經元位置的0-9數字圖像,其中的一個位置為0,因此需要識別10個數字。5.4.2隱層數大多數被認為,減少網絡錯誤的方法是增加隱藏層的數量,從而來提高神經網絡的正確率,并且還能使神經網絡變得困難化,通過增加神經網絡的訓練時間,這樣就會容易“過度使用”。一直以來已經有文獻表明,如果輸入和輸出層使用線性傳遞函數并且隱藏層使用Sigmoid傳遞函數,則具有隱藏層的MLP網絡可以以任意精度逼近任何有理函數。這很明顯是一個現有的結論。這可以參考本文中提到的BP網絡設計,并且應該優(yōu)先BP網絡的第三層(即,隱藏層)。一般情況下,想要獲得較低的錯誤率是要通過增加隱藏層節(jié)點的數量來達到這樣的目的,在這里訓練效果的體現要比增加隱藏層的數量顯得更加容易。5.4.3隱層節(jié)點數在BP神經網絡識別學習中,我們需要知道隱藏節(jié)點的數量選擇是BP網絡神經得出結果的重要步驟之一。這有兩種關鍵結果,其中一個重要影響是對已建立的神經網絡模型的性能方面,同時能直接導致訓練過程中出現“過度擬合”的情況。但是,據目前我學習了解到的,對此沒有比較理論科學的通用方法。研究表明,隱層節(jié)點的數量不僅與輸入層節(jié)點和輸出層節(jié)點的數量有關,而且與要解決的問題的復雜性,傳遞函數的類型以及樣本的特征有關。。5.5仿真結果在手寫數字樣本的進行完特征提取之后,我們將訓練樣本分成兩種來進行學習:訓練樣本和測試樣本。其中,用來訓練BP網絡和學習建立分類模型的是訓練樣本。用來分析BP網絡模型分類的正確率和泛化功能的則是測試樣本。根據上文中分析,BP網絡是具有3層結構的,這里隱層節(jié)點我們選擇了25這個數值,訓練最大步數為3000,訓練和學習率達0.05,顯示網格數為10,隱藏層激勵功能選擇的是Logsig功能,功能traingdx訓練,如圖4-9所示。根據網絡訓練過程,也就是下圖中可以看出,訓練步驟顯示是254步,并且滿足基本能夠收斂的誤差。圖5-9BP網絡的訓練過程建立BP網絡之后,想要識別已經訓練有素的BP網絡,我們需要使用已經收集好的100個手寫數字樣本和100個手寫數字測試樣本。得知結果為:訓練樣本的識別率達到百分之之九十八,測試樣本的識別率達到百分之七十八。這樣的結果表明,我們建立的BP網絡已經可以自學訓練樣本了,所以BP網絡模型對訓練樣本來就有相對高的識別認知。下面為本次畢業(yè)設計手寫數字識別系統的最終展示成果:打開MATLAB進行仿真:手寫數字識別圖5-10打開手寫板打開手寫板鼠標手寫數字的部分代碼如下:case'start',%%開啟圖形視窗FigHandle=figure('WindowButtonDownFcn','MouseDrawdown');axis([1imSize1imSize]);%設定圖軸范圍%axisoff;gridon;boxon;%將圖軸加上圖框title('手寫體輸入窗');case'move',%%滑鼠移動時的反應指令CurPiont=get(gca,'CurrentPoint');X=CurPiont(1,1);Y=CurPiont(1,2);%當鼠標移動較快時,不會出現離散點。%利用y=kx+b直線方程實現。x_gap=0.1;%定義x方向增量y_gap=0.1;%定義y方向增量case'up',%%滑鼠按鈕被釋放時的反應指令%清除滑鼠移動時的反應指令set(gcf,'WindowButtonMotionFcn','');%清除滑鼠按鈕被釋放時的反應指令set(gcf,'WindowButtonUpFcn','');end圖5-11手寫結束圖5-12預處理關于根據邊界對圖像進行裁剪主要代碼如下:functionbw2=edu_imgcrop(bw)%獲取圖片的邊界[y2tempx2temp]=size(bw);x1=1;y1=1;x2=x2temp;y2=y2temp;%尋找左邊界cntB=1;while(sum(bw(:,cntB))==y2temp)x1=x1+1;cntB=cntB+1;end%尋找右邊界cntB=1;while(sum(bw(cntB,:))==x2temp)y1=y1+1;cntB=cntB+1;end%尋找上邊界cntB=x2temp;while(sum(bw(:,cntB))==y2temp)x2=x2-1;cntB=cntB-1;end%尋找下邊界cntB=y2temp;while(sum(bw(cntB,:))==x2temp)y2=y2-1;cntB=cntB-1;end%根據邊界對圖像進行裁剪bw2=imcrop(bw,[x1,y1,(x2-x1),(y2-y1)]);圖5-13特征提取圖片歸一代碼如下:functionlett=edu_imgresize(bw2)%Thisfunctionwilltakethecroppedbinaryimageandchangeitto5x7%characterrepresentationinsinglevector.%圖像歸一化,長度和寬度限定為5*7的分辨率bw_7050=imresize(bw2,[70,50]);forcnt=1:7forcnt2=1:5Atemp=sum(bw_7050((cnt*10-9:cnt*10),(cnt2*10-9:cnt2*10)));lett((cnt-1)*5+cnt2)=sum(Atemp);endendlett=((100-lett)/100);lett=lett';圖5-14識別二、圖片數字識別圖5-15打開圖片從打開選擇具體代碼如下:axes(handles.axes1)%在窗口1顯示圖片[filename,pathname]=uigetfile({'*.*','AllFiles(*.*)';},'選擇文件');%調用打開文件對話框%ifisequal([filename,pathname],[0,0])return%如果選擇的文件名為空,則返回else%讀取圖片pic=fullfile(pathname,filename);%文件名的完整路徑b=imread(pic);%讀入圖片imshow(b);%顯示圖片tu=b;title('原圖');%圖像標題%handle.axes1=b;end圖5-16預處理圖5-17特征提取圖5-18識別
6.總結字符識別是多年來的熱門話題,也是一個具有重要研究價值的話題。字符識別研究的最終目標是設計快速準確的識別算法并將其應用于實際工作中。通常,在字符識別方面,人們經常要求標識符具有高識別可靠性。因此,系統設計這些問題的關鍵之一是設計一種高可靠性,高識別率的字符識別方法。在過去的幾十年里,研究人員提出了許多識別方法。然而,到目前為止,還沒有完全認識到字符識別器。神經網絡在字符識別中的應用是神經網絡應用最成功的方面之一,是性能良好的特征識別器,為字符識別提供了一種新的有效方法。與其他傳統方法相比,人工神經網絡具有優(yōu)于其他傳統方法的一些優(yōu)點。它需要較少的問題知識,更復雜的特征空間分類,適用于高速并行處理系統。本文討論并研究了神經網絡技術中的字符識別問題。主要研究成果如下:對于數字數據,首先執(zhí)行常規(guī)預處理的預處理,例如灰度,二值化,平滑去噪,歸一化和細化。然后提取處理后的數字圖像,并提取表征該字符的特征向量。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路工程執(zhí)照考試的未來展望與試題及答案
- 計算機三級嵌入式行業(yè)趨勢分析試題及答案
- 行政理論全景式復習試題及答案
- 金屬制品行業(yè)綠色制造與環(huán)保政策研究考核試卷
- 計算機三級數據庫解題思路試題及答案
- 危運消防設備管理制度
- 單位資金使用管理制度
- 農村聚餐工作管理制度
- 商貿公司費用管理制度
- 醫(yī)院賬務預算管理制度
- 機械通氣基礎知識及基礎操作課件
- 打印版醫(yī)師執(zhí)業(yè)注冊健康體檢表(新版)
- 《空中領航》全套教學課件
- 人教版五年級下冊數學操作題期末專項練習(及解析)
- 中藥熏洗法操作評分標準與流程
- 學習解讀《執(zhí)業(yè)獸醫(yī)和鄉(xiāng)村獸醫(yī)管理辦法》課件
- 室內裝飾不銹鋼技術交底
- 1.3.1動量守恒定律課件(共13張PPT)
- 白黑白裝飾畫欣賞黑白裝飾畫的特點黑白裝飾畫的表現形式黑白裝飾 bb
- TCECS 850-2021 住宅廚房空氣污染控制通風設計標準
- 調度指揮與統計分析課程教學設計
評論
0/150
提交評論