陳園園,袁煥麗,石齊雙
(周口師范學院物理與電信工程學院,河南周口 466001)
基于神經網絡的手寫體數字識別
陳園園,袁煥麗,石齊雙
(周口師范學院物理與電信工程學院,河南周口466001)
本文重點解決以圖像方式存在的手寫體數字識別問題,首先對圖像進行預處理,其次對結構特征進行提取,最后利用神經網絡模型對前面兩步得到的樣本數據進行學習和訓練。通過MATLAB進行仿真,神經稀疏編碼算法應用在手寫體數字識別中能夠得到比較好的識別率。
手寫體數字識別;預處理與特征提取;神經稀疏編碼算法;MATLAB
近年來,模式識別獲得了迅猛發展和學術界的廣泛關注,并且在人工智能研究的高端構建與創新中發揮著基礎性的推動作用。當前,模式識別也依然存在著眾多問題有待改進與完善:輸入樣本表達的選擇、分類器的選擇、采集數據、處理數據、選擇數據和樣本集對識別器的優化訓練。
模式識別中的一個核心組成就是數字識別。而基于時下需求,數字識別中的重點分支—手寫體數字識別已經成為當前矚目的技術熱點和焦點研究內容。雖然在手寫體數字識別上已經取得了一定成果,識別率基本上不會低于96%。但是手寫體數字識別技術卻仍然呈現出若干不足,由此而成為文字識別中的關鍵難點之一。
得益于神經網絡和模糊邏輯技術的發展,手寫體數字識別正是應用了人工神經網絡這一方法,才獲得可觀和長足進步。因為神經網絡具有推廣能力、記憶力、非線性和自學習能力以及高速運算能力。綜上可得,本文即針對基于神經網絡的手寫體數字識別給出了研究設計完整過程技術論述。
數字識別的第一步便是圖像預處理。圖像的預處理過程能夠顯著壓縮信息的冗余度,將數字圖像中的噪聲有效降到最低,從而使得到的點陣規范化、標準化,為后續數字識別提供必備和完備基礎[1]。
預處理過程包括3個步驟:平滑去噪、二值化、歸一化及細化。其中,平滑去噪技術能夠降低灰度圖像中出現的黑白噪聲,原因則出自人們的手寫體數字經常發生斷筆、連筆等非預期的理想狀況。其后,將圖像中的像素依據研究設計準則轉換成2種顏色,從而成為圖像的二值化。黑白兩種顏色則是依據圖像的灰度值處理演化形成的。此時,若要將二值化后的圖像能完整、逼真地恢復原初數字,主要處理內容包括空白點不在筆畫中出現,并且二值化的筆畫還得保持最初的文字的結構特征。因而,閾值的選擇對于數字圖像的二值化具有現實重大作用。同時,歸一化就是使數字圖像經由某算法的效果設置而達到同一寬度、同一尺寸、同一高度,具體來說,第一是得到原來圖像的寬度與高度;第二是將不同要求的寬度與高度比較;第三就是計算得到符合變換要求的參數;第四是算出原圖的每個像素點在歸一化后所處的新位置;第五是計算出處理后的每個數字圖像中的像素值[1]。最后,細化將是對二值化數字點陣進行處理后所形成一個只存在圖像像素寬度的數字圖形。細化不僅能夠顯著減少工作的處理量,并且能夠保留將原圖像的真實可見特征,利于其后開展的特征提取[2]。
數字圖像的特征提取關鍵在于尋求到一種變換,將多維的模式類別轉化到低維特征空間。特征提取對于降低計算復雜度表現出了高效及實用價值。與此同時,更加精準的圖像分類函數的描述可以應用到訓練樣本上,從而形成先進、可信的分類規則[3]。
對于結構特征的提取是對預處理過后的圖像進行分割,效果呈現如圖1所示。

圖1 分割圖像Fig.1 Split image
由圖1可知,圖像分割的實現流程為:
1)記錄細化后的數字圖像,取3條縱向垂直線依次分布在一定的距離處,并標記其與手寫體數字的筆段的相交的點數。
2)再將與1)中垂直相交的3條直線依次取位在1/3處,同時分別記下這3條線與數字筆段的交點數。
3)最后取2條直線,并且也將其和數字筆段的交點的個數記錄下來。
至此可得,圖像結構特征提取的算法描述如下:
1)確定像素值并且要按照一定的方式去掃描。
2)計算出圖像的像素與端點的數字N。
3)端點從1逐次遞增。
4)從1)~3)依次進行循環操作。
研究可知,人類的大腦中獲取其他的神經元信息是通過具有精細結構的無數的樹突。具有電活性的脈沖是神經元經過一個長長細細的軸突而發出的。軸突后端可以分化成無數個分支,而在所有的分支的末端,軸突的電作用是借由突觸的結構將電活性激發演變而來的。經過如上過程后,其他的神經元就會受到興奮或者抑制。
基于此,學習行為的發生就是因為興奮輸入比抑制輸入要更為強大,因而導致了軸突的有效性獲得了明確變化。而若輔助以參數調節,就可以達到最佳完美性能。研究實現的學習方式可以概括為:監督學習、非監督學習和再勵學習。
首先定義訓練樣本,假設P為輸入矢量,T為目標矢量

實驗數據部分綜合了10張不同的測試圖像,每張圖像分別有5個0~9,并對每個數字進行識別。識別后的數據結果可作如下闡釋分析:
數字“0”和“1”的識別結果最好,都達到了80%;其次,數字“2”、“5”、“6”、“7”和“8”的識別精度也都達到70%以上;數字“4”的識別結果未臻理想,識別精度要低于60%,4被誤識為6的次數較多。
使用MATLAB語言實現本研發系統,設計效果實現可分別列示如下。讀入圖像,其中有多組測試圖片可以用來測試,選定其中一張[4]。讀入圖像的用戶界面如圖2所示。

圖2 挑選待測圖片Fig.2 Choose the picture to be measured
接下來,利用MATLAB中圖像處理工具箱讀入bmp文件,并將其轉化為二值數據,過程中使用了imread、im2double、rgb2gray、mat2gray、im2bw等函數[5]。由此可取得單個的數字圖像文件,使用imcrop函數進行剪裁。選取圖片中的任意數字,比如5,如圖3所示。
經過平滑去噪、二值化、規范化、細化等過程處理以后,即可識別出選取數字。

圖3 數字5的各種形狀Fig.3 Various shapes of number 5
當前的手寫體數字識別的基礎是數學建模,不僅難于建立,其應用范圍也稍顯片面。本文研發設計關鍵即在于運用神經網絡代替了原來的數學建模。首先通過2個重要過程:圖像預處理;圖像的特征提取。然后基于神經網絡的手寫體數字識別,用稀疏自編碼方法去實現0~9這10個手寫體的數分類。最后運用MATLAB實驗仿真后可以得知:基于選用定制結構模型和知識庫的識別方法對規范手寫體數字識別具有高度可行性和現實針對性。并且研究重點利用了神經稀疏自編碼網絡使手寫體數字識別的應用更趨廣闊、廣泛領域空間[6]。
[1]蔡元明.神經網絡識別手寫體數字預處理后樣本空間凸集性研究[D].北京:中國科學院半導體所,1995.
[2]崔屹.圖像處理與分析—數學形態學方法及應用[M].北京:科學出版社,2002.
[3]金忠,胡鐘山,楊靜宇,等.手寫體數字有效鑒別特征的抽取與識別[J].計算機研究與發展,1999,36(12):1484-1489.
[4]BERNHARD R C,SHI Y.Evolving artificial neural networks[C]// Proc of 1998 Int’l Conf.on neural networks and brain.Beijing,P.R. China:IEEE,2013,26(18):145-152.
[5]HU J,YAN H.A model-based segmentation method for handwritten numeral strings[J].Computer Vision and Image Understanding,1998,70(3):383-403.
[6]叢爽.面向MATLAB工具箱的神經網絡理論與應用[M].合肥:中國科學技術大學出版社,2009.
Handwritten digit recognition based on neural network
CHEN Yuanyuan,YUAN Huanli,SHI Qishuang
(School of Physics and Electromechnical Engineering,Zhoukou Normal University,Zhoukou Henan 466001,China)
This paper focuses on handwritten numbers recognition problems in image way.Firstly,the image pretreatment,followed by the structural features are extracted.Next,The neural network model is used to study and train the sample data obtained from the previous two steps.Through MATLAB simulation,neural sparse coding algorithm can be used in handwritten numeral recognition to get better recognition rate.
handwritten digit recognition;pre-processing and feature extraction;neural algorithm for sparse coding;MATLAB
TP391
A
2095-2163(2016)03-0140-02
2016-06-05
國家自然科學基金(61401526);河南省科技廳資助項目(152102210368);河南省科技廳重點科技攻關項目(162102310607)。
陳園園(1986-),女,碩士,助教,主要研究方向:信息處理、計算機技術。