葛明濤+王小麗+潘立武
摘 要: 聯機手寫識別在日常生產生活中有著廣闊的應用,模式識別也一直把其作為研究的重點。傳統的識別方法是利用普通卷積神經網絡技術,該方法在對小規模字符集聯機手寫文字識別時有著較高識別率,總體性能高,但在對大規模字符集識別時,識別率則大大降低。提出一種基于多重卷積神經網絡的識別方法,旨在克服以往方法對大規模字符集識別時識別效率不高的問題,提高大規模字符集聯機手寫文字的識別率。系統使用隨機對角Levenberg?Marquardt方法來優化訓練,通過使用UNIPEN訓練集測試該方法識別準確率可達89%,是一個有良好前景的聯機手寫識別方法。
關鍵詞: 模式識別; 神經網絡; 卷積; 文字識別
中圖分類號: TN711?34; TP391.4 文獻標識碼: A 文章編號: 1004?373X(2014)20?0019?03
Large pattern online handwriting character recognition based on multi?convolution neural network
GE Ming?tao1, WANG Xiao?li1, PAN Li?wu2
(1. SIAS International School, Zhengzhou University, Zhengzhou 451150, China;
2. Henan University of Animal Husbandry and Economy, Zhengzhou 450011, China)
Abstract: Online handwriting character recognition is an important field in the research of pattern recognition. The traditional recognition method is based on the common convolutional neural networks (CNNs) technology. It has an efficient recognition rate for the small pattern character set online handwriting characters, but has low recognition rate for the large pattern character set recognition. A recognition method based on multi?convolutional neural networks (MCNNs) is presented in this paper to overcome the situation that the previous methods have the low recognition rate for large pattern character set and improve the recognition rate for the large pattern handwriting character set recognition. The stochastic diagonal Levenbert?Marquardt method is used in the system for training optimization. The experimental results show that the proposed method has the recognition rate of 89% and has a good prospect for online handwriting character recognition for large scale pattern.
Keywords: pattern recognition; neural network; convolution; character recognition
0 引 言
隨著全球信息化的飛速發展和對自動化程度要求的不斷提高 ,手寫文字識別技術被廣泛地應用到許多方面。特別是近幾年擁有手寫功能的手機、平板電腦等智能電子產品的普及,聯機手寫文字識別研究已經成為一個備受關注的主題。聯機手寫字符識別要求實時性較高,識別過程中要求特征空間的維數比較高,在進行特征樣本訓練時要求訓練的數目很大,要匹配的特征值或特征對象比較多 [1?2]。
卷積神經網絡(Convolutional Neural Networks,CNNs)的優點在于圖像的識別過程中對視覺模式的獲得是直接從原始圖像中獲得的,所以在設計系統時圖像的預處理工作很少,與一般神經網絡相比是一種高效的識別方法。卷積神經網絡在模式識別的一些領域具有很好的魯棒性,如在識別有變化的模式和對幾何變形的識別方面。利用卷積神經網絡的手寫識別方法具有如下一些優點:對于要檢測的圖像可以與事先制定網絡拓撲結構之間有較高的匹配率;特征提取和模式分類同時進行;訓練參數往往是系統計算量的重要參數,而卷積神經網絡中利用權值共享技術,這樣就可以大大降低該參數,在設計系統結構時使得結構變得更簡單,從而使得整個系統具有更好的適應性[3?5]。
目前,人機交互系統的手寫字符識別、汽車車牌號識別和信息安全中常用的人臉識別等領域都有卷積神經網絡的成功應用。文獻[6]用一個4層的卷積神經網絡LeNet?5對Mnist庫進行識別實驗,獲得了98.4%的識別率,用2層的BP網絡的識別率[4,6]是87%。許多學者對卷積神經網絡在聯機手寫文字識別方面做了多方位的研究。 但是,這些成功的聯機手寫文字識別主要是針對小模式字符集,利用以往的這些方法對大規模模式分類的聯機手寫文字的識別依然有識別率不高的問題。本文介紹了卷積神經網絡的基本概念和一種典型的卷積神經網絡結構,給出了基于多重卷積神經網絡的字符識別和詞語識別模型。通過使用大字符集的UNIPEN數據庫進行訓練和測試,本文提出的方法在大模式聯機手寫識別上,取得了較高的識別速度和滿意的識別率。
1 卷積神經網絡
文獻[6?7]中詳細地描述了卷積神經網絡如何保證圖像對位移、縮放、扭曲魯棒性能。典型的手寫字符卷積神經網絡LeNET 5的結構圖如圖1所示[6?7]。
圖1 典型的卷積神經網絡結構
在圖1中,輸入層接收要識別32×32的手寫字符圖像,經過簡單的大小歸一化和圖像灰度處理,之后的結果作為一個采樣層的圖像;然后用一個可學習核進行卷積操作,卷積結果經過激活函數的輸出形成這一層的神經元,每個神經元與輸入圖像的一個5×5的鄰域相連接,從而得到由6幅特征圖組成的第一個隱層(C1層)。每個特征圖有25個權值(如方向線段,端點、角點等),考慮到邊界效果,得到的特征圖的大小是28×28,小于輸入圖層[3?9]。卷積層的數學計算過程可表示為:
[xlj=fi∈Mjxl-1j*kernellij+blj] (1)
式中:[l] 代表層數;kernel是卷積核;[Mj]代表輸入特征圖的一個選擇。每個輸出圖有一個偏置[b]。
每個卷積層的結果作為下一個次采樣層的輸入,次采樣層的作用是對輸入信息進行抽樣操作。如果輸入的特征圖為n個,則經過次采樣層后特征圖的個數仍然為n,但是輸出的特征圖要變小(例如,各維變為原來的50%)。因此隱層S2是由6個大小為14×14的特征圖組成的次采樣層。次采樣層計算公式可以用式(2)表示:
[xlj=fβl-1jdown(xl-1j)+blj] (2)
式中down(·) 表示次采樣函數。次采樣函數一般是對該層輸入圖像的一個n×n大小的區域求和,因此,輸出圖像的大小是輸入圖像大小的[1n]。每一個輸出的特征圖有自己的β和b。
類似的,C3層有16個10×10的特征圖組成的卷積層,特征圖的每個神經元與S2網絡層的若干個特征圖的5×5的鄰域連接。網絡層S4是由16個大小為5×5的特征圖組成的次采樣層。特征圖的每個神經元與C3層的一個2×2大小的鄰域相連接。網絡層C5是由120個特征圖組成的卷積層。每個神經元與S4網絡層的所有特征圖的5×5大小的鄰域相連接。網絡層F6,包括84個神經元,與網絡層C5進行全連接。最后,輸出層有10個神經元,是由徑向基函數單元(RBF)組成,輸出層的每個神經元對應一個字符類別。RBF單元的輸出yi的計算方法如式(3)所示:
[yi=j(xj-wij)2] (3)
很多研究人員通過對字符集作彈性訓練,經測試發現在MNIST字符集上的識別率可以高達99%以上[6?7] 。卷積神經網絡的優勢主要是對小模式集上,如對數字或26個英文字母組成的集合都有著較高的識別率。然而,對大模式集的識別仍然是一個挑戰,因為設計一個優化的并足夠大的單一網絡是比較困難的,且訓練時間也較長。因此,本文的目的旨在通過組合多個對某一字符集有高識別率的卷積神經網絡,從而構成多重卷積神經網絡,進而提高卷積神經網絡對大模式集手寫字符的識別率。
2 多重卷積神經網絡
2.1 多重卷積神經網絡字符識別
根據傳統卷積神經網絡的運算過程以及其在處理大模式集手寫字符時存在的不足,本文提出一種多重卷積神經網絡來改進傳統的卷積神經網絡模型,用多個擁有高識別率的小卷積神經網絡組成一個多重卷積神經網絡。每一重小卷積神經網絡對某一具體字符集有較高的識別率,另外,單重卷積神經網絡除了有一個正式的輸出集之外,還產生一個未知的輸出(即難以識別的字符),即如果一個輸入字符沒有被正確識別,它將被輸出為一個未知字符,然后輸入模式轉到下一重卷積神經網絡進行識別。最后,通過一個拼寫檢查模塊進行判斷,選擇最好的結果輸出。系統的流程如圖2所示。
其中CNN 1是識別手寫數字的卷積神經網絡,CNN 2是識別手寫小寫英文字母的卷積神經網絡,該模型具有極強的擴展性,可以添加多任意模式的卷積神經網絡(如中文,日文等)。
圖2 多重卷積神經網絡字符識別示意圖
2.2 隨機對角Levenberg?Marquardt訓練方法
傳統的結構比較簡單、單一的卷積神經網絡多采用基本的Back Propagation(BP)規則訓練網絡,往往需要幾百次迭代,網絡的收斂速度較慢。本文采用LeCun博士提出的隨機對角Levenberg?Marquardt 算法對網絡作訓練,該算法需要的迭代次數明顯比基本的BP 算法少[4,9]。隨機對角Levenberg?Marquardt算法的公式為:
[ηki=ε?2E?w2ij+μ] (4)
式中[ε]是全局的學習率,一般取初始值0.01,太大會使網絡無法收斂,太小則會降低收斂速度,且使網絡更容易陷入局部極小值,訓練過程中可以用啟發式規則改變[ε]的值,本文取最下值為5e-005; [?2E?w2ij]是一個估計值,根據訓練集的大小可以調整樣本數量,文中隨機選取200個樣本估算它的值;[μ]用來避免[?2E?w2ij] 太小時[ηki]的變化過大 。
2.3 多重卷積神經網絡詞句識別
本文提出的多重卷積神經網絡對手寫詞語的識別方法可以簡單地描述為:首先對輸入的手寫圖像進行預處理和分割,然后通過多重卷積神經網絡模塊分別進行識別,最后采用單詞識別模塊對識別結果進行判斷,選擇最好的結果輸出。其過程如圖3所示。
圖3 多重卷積神經網絡聯機手寫詞句識別過程
本文提出的多重卷積神經網絡聯機手寫文字識別方法克服了傳統卷積神經網絡文字識別的對字符集的限制,每一重卷積神經網絡是一個針對小模式的卷積神經網絡,易于訓練和優化,更重要的是此方案的靈活性非常好易于調節參數,可擴展性強。每一重卷積神經網絡都具有可重用能力,可以根據需要加載一個或多個網絡,可以根據新的模式添加新的網絡而不需改變或重建原來的網絡。
3 訓練和實驗
為了評估多重卷積神經網絡對基于大模式字符集的聯機手寫文字識別的性能,本系統采用MNIST和UNIPEN兩種不同的手寫字符訓練集進行測試。UNIPEN數據庫是在1992年舉行的IEEE IAPR會議上提出并建立的,其目的是創建一個大型的手寫體數據庫用于為在線手寫識別提供研究和開發的基礎,得到了多個知名公司或研究所的支持并完成了UNIPEN的規范設計。在進行數據比對實驗中,本文采用許多研究使用的MNIST手寫數字數據庫,該數據庫是NEC 研究中心設計的,是NIST(The National Institute of Standards and Technology)數據庫的一個子集,該訓練集中有大量訓練樣本和測試用例。本文默認用以下定義:
[識別率=正確識別數樣本總數×100%]
[失誤率誤識率=錯誤識別數樣本總數×100%]
實驗測試是在通用的臺式電腦上進行的。整個識別原型系統采用C#編寫,運行在.NetFrame 4.5平臺上。經測試對MNIST訓練集識別正確率可達[9]99%,對UNIPEN數字識別正確率可達97%,對UNIPEN數字和大寫字母識別正確率可達89%(1a,1b) ,對UNIPEN小寫字母識別正確率可達89%(1c) 。圖4是對UNIPEN小寫字母3次訓練的均方誤差比較。
圖4 訓練的誤差數據
從圖4中可以看出,在開始的幾個訓練周期內,均方誤差(MSE)下降得很快,然后在第13個周期后神經網絡達到一個穩定的值,約為0.148 5。也就是說,網絡在第13個周期后,改善程度就很小。所以修改訓練錯誤率的值為0.000 45后重新進行18代的第二次訓練,均方誤差有所降低。經過第三次的訓練后趨于穩定,對UNIPEN小寫字母識別正確率可達89%。經測試,通過使用隨機對角Levenberg?Marquardt方法,收斂速度比基本BP算法快了許多,經過68代訓練后識別正確率可達89%。
4 結 語
本文提出了基于多重卷積神經網絡的聯機手寫字符的識別方法,通過使用多個識別率高的卷積神經網絡和隨機對角 Levenberg? Marquardt方法,可以適用于大模式聯機手寫識別。經過實驗數據比較,該方法在大模式聯機手寫識別過程中具有很高的識別率,與此同時識別速度也很快,有很好的實時性,總體效果很好。在當今觸摸屏應用遍及生產生活的各個方面的趨勢下,該方法有著廣闊的應用前景。同時此方法為今后多手寫漢字識別的研究提供了很好的借鑒。
注:本文通訊作者為潘立武。
參考文獻
[1] 吳鳴銳,張鈸.一種用于大規模模式識別問題的神經網絡算法[J].軟件學報,2001,12(6):851?855.
[2] 張輝.大規模聯機手寫漢字識別數據庫整理、統計與實驗分析[D].廣州:華南理工大學,2012.
[3] 徐姍姍,劉應安,徐昇,等.基于卷積神經網絡的木材缺陷識別[J].山東大學學報:工學版,2013,43(2):23?28.
[4] 呂剛.基于卷積神經網絡的多字體字符識別[J].浙江師范大學學報:自然科學版,2011,34(4):425?428.
[5] PHAM D V. Online handwriting recognition using multi convolution neural networks [M]. Berlin Heidelberg: Springer, 2012: 310?319.
[6] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient?based learning applied to document recognition [C]// Proceeding of IEEE. USA: IEEE, 1998: 2278?2324.
[7] SIMARD P Y, STEINKRAUS Dave, PLATT John. Best practices for convolutional neural networks applied to visual document analysis [C]// International Conference on Document Analysis and Recognition (ICDAR). Los Alamitos: IEEE Computer Society, 2003: 958?962.
[8] SERMANET P, CHINTALA S, LECUN Y. Convolutional neural networks applied to house numbers digit classification [C]// International Conference on Pattern Recognition. [S.l.]: IEEE, 2012: 3288?3291.
[9] LECUN Y, BOTTOU L, ORR G B, et al. Efficient BackProp in neural networks: tricks of the trade, LNCS [M]. Heidelberg: Springer, 1998, 1524: 9?50.
3 訓練和實驗
為了評估多重卷積神經網絡對基于大模式字符集的聯機手寫文字識別的性能,本系統采用MNIST和UNIPEN兩種不同的手寫字符訓練集進行測試。UNIPEN數據庫是在1992年舉行的IEEE IAPR會議上提出并建立的,其目的是創建一個大型的手寫體數據庫用于為在線手寫識別提供研究和開發的基礎,得到了多個知名公司或研究所的支持并完成了UNIPEN的規范設計。在進行數據比對實驗中,本文采用許多研究使用的MNIST手寫數字數據庫,該數據庫是NEC 研究中心設計的,是NIST(The National Institute of Standards and Technology)數據庫的一個子集,該訓練集中有大量訓練樣本和測試用例。本文默認用以下定義:
[識別率=正確識別數樣本總數×100%]
[失誤率誤識率=錯誤識別數樣本總數×100%]
實驗測試是在通用的臺式電腦上進行的。整個識別原型系統采用C#編寫,運行在.NetFrame 4.5平臺上。經測試對MNIST訓練集識別正確率可達[9]99%,對UNIPEN數字識別正確率可達97%,對UNIPEN數字和大寫字母識別正確率可達89%(1a,1b) ,對UNIPEN小寫字母識別正確率可達89%(1c) 。圖4是對UNIPEN小寫字母3次訓練的均方誤差比較。
圖4 訓練的誤差數據
從圖4中可以看出,在開始的幾個訓練周期內,均方誤差(MSE)下降得很快,然后在第13個周期后神經網絡達到一個穩定的值,約為0.148 5。也就是說,網絡在第13個周期后,改善程度就很小。所以修改訓練錯誤率的值為0.000 45后重新進行18代的第二次訓練,均方誤差有所降低。經過第三次的訓練后趨于穩定,對UNIPEN小寫字母識別正確率可達89%。經測試,通過使用隨機對角Levenberg?Marquardt方法,收斂速度比基本BP算法快了許多,經過68代訓練后識別正確率可達89%。
4 結 語
本文提出了基于多重卷積神經網絡的聯機手寫字符的識別方法,通過使用多個識別率高的卷積神經網絡和隨機對角 Levenberg? Marquardt方法,可以適用于大模式聯機手寫識別。經過實驗數據比較,該方法在大模式聯機手寫識別過程中具有很高的識別率,與此同時識別速度也很快,有很好的實時性,總體效果很好。在當今觸摸屏應用遍及生產生活的各個方面的趨勢下,該方法有著廣闊的應用前景。同時此方法為今后多手寫漢字識別的研究提供了很好的借鑒。
注:本文通訊作者為潘立武。
參考文獻
[1] 吳鳴銳,張鈸.一種用于大規模模式識別問題的神經網絡算法[J].軟件學報,2001,12(6):851?855.
[2] 張輝.大規模聯機手寫漢字識別數據庫整理、統計與實驗分析[D].廣州:華南理工大學,2012.
[3] 徐姍姍,劉應安,徐昇,等.基于卷積神經網絡的木材缺陷識別[J].山東大學學報:工學版,2013,43(2):23?28.
[4] 呂剛.基于卷積神經網絡的多字體字符識別[J].浙江師范大學學報:自然科學版,2011,34(4):425?428.
[5] PHAM D V. Online handwriting recognition using multi convolution neural networks [M]. Berlin Heidelberg: Springer, 2012: 310?319.
[6] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient?based learning applied to document recognition [C]// Proceeding of IEEE. USA: IEEE, 1998: 2278?2324.
[7] SIMARD P Y, STEINKRAUS Dave, PLATT John. Best practices for convolutional neural networks applied to visual document analysis [C]// International Conference on Document Analysis and Recognition (ICDAR). Los Alamitos: IEEE Computer Society, 2003: 958?962.
[8] SERMANET P, CHINTALA S, LECUN Y. Convolutional neural networks applied to house numbers digit classification [C]// International Conference on Pattern Recognition. [S.l.]: IEEE, 2012: 3288?3291.
[9] LECUN Y, BOTTOU L, ORR G B, et al. Efficient BackProp in neural networks: tricks of the trade, LNCS [M]. Heidelberg: Springer, 1998, 1524: 9?50.
3 訓練和實驗
為了評估多重卷積神經網絡對基于大模式字符集的聯機手寫文字識別的性能,本系統采用MNIST和UNIPEN兩種不同的手寫字符訓練集進行測試。UNIPEN數據庫是在1992年舉行的IEEE IAPR會議上提出并建立的,其目的是創建一個大型的手寫體數據庫用于為在線手寫識別提供研究和開發的基礎,得到了多個知名公司或研究所的支持并完成了UNIPEN的規范設計。在進行數據比對實驗中,本文采用許多研究使用的MNIST手寫數字數據庫,該數據庫是NEC 研究中心設計的,是NIST(The National Institute of Standards and Technology)數據庫的一個子集,該訓練集中有大量訓練樣本和測試用例。本文默認用以下定義:
[識別率=正確識別數樣本總數×100%]
[失誤率誤識率=錯誤識別數樣本總數×100%]
實驗測試是在通用的臺式電腦上進行的。整個識別原型系統采用C#編寫,運行在.NetFrame 4.5平臺上。經測試對MNIST訓練集識別正確率可達[9]99%,對UNIPEN數字識別正確率可達97%,對UNIPEN數字和大寫字母識別正確率可達89%(1a,1b) ,對UNIPEN小寫字母識別正確率可達89%(1c) 。圖4是對UNIPEN小寫字母3次訓練的均方誤差比較。
圖4 訓練的誤差數據
從圖4中可以看出,在開始的幾個訓練周期內,均方誤差(MSE)下降得很快,然后在第13個周期后神經網絡達到一個穩定的值,約為0.148 5。也就是說,網絡在第13個周期后,改善程度就很小。所以修改訓練錯誤率的值為0.000 45后重新進行18代的第二次訓練,均方誤差有所降低。經過第三次的訓練后趨于穩定,對UNIPEN小寫字母識別正確率可達89%。經測試,通過使用隨機對角Levenberg?Marquardt方法,收斂速度比基本BP算法快了許多,經過68代訓練后識別正確率可達89%。
4 結 語
本文提出了基于多重卷積神經網絡的聯機手寫字符的識別方法,通過使用多個識別率高的卷積神經網絡和隨機對角 Levenberg? Marquardt方法,可以適用于大模式聯機手寫識別。經過實驗數據比較,該方法在大模式聯機手寫識別過程中具有很高的識別率,與此同時識別速度也很快,有很好的實時性,總體效果很好。在當今觸摸屏應用遍及生產生活的各個方面的趨勢下,該方法有著廣闊的應用前景。同時此方法為今后多手寫漢字識別的研究提供了很好的借鑒。
注:本文通訊作者為潘立武。
參考文獻
[1] 吳鳴銳,張鈸.一種用于大規模模式識別問題的神經網絡算法[J].軟件學報,2001,12(6):851?855.
[2] 張輝.大規模聯機手寫漢字識別數據庫整理、統計與實驗分析[D].廣州:華南理工大學,2012.
[3] 徐姍姍,劉應安,徐昇,等.基于卷積神經網絡的木材缺陷識別[J].山東大學學報:工學版,2013,43(2):23?28.
[4] 呂剛.基于卷積神經網絡的多字體字符識別[J].浙江師范大學學報:自然科學版,2011,34(4):425?428.
[5] PHAM D V. Online handwriting recognition using multi convolution neural networks [M]. Berlin Heidelberg: Springer, 2012: 310?319.
[6] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient?based learning applied to document recognition [C]// Proceeding of IEEE. USA: IEEE, 1998: 2278?2324.
[7] SIMARD P Y, STEINKRAUS Dave, PLATT John. Best practices for convolutional neural networks applied to visual document analysis [C]// International Conference on Document Analysis and Recognition (ICDAR). Los Alamitos: IEEE Computer Society, 2003: 958?962.
[8] SERMANET P, CHINTALA S, LECUN Y. Convolutional neural networks applied to house numbers digit classification [C]// International Conference on Pattern Recognition. [S.l.]: IEEE, 2012: 3288?3291.
[9] LECUN Y, BOTTOU L, ORR G B, et al. Efficient BackProp in neural networks: tricks of the trade, LNCS [M]. Heidelberg: Springer, 1998, 1524: 9?50.