趙冬香 曹賢平
摘 要:文章針對部分清水江文書保管不善,破舊、污損嚴重,人工難以識別的特點,建立了基于BP神經網絡的清水江文書識別系統,該系統以Matlab技術實現,初期所挑選的待識別漢字都是書寫較標準規范的漢字圖像,系統所使用的識別樣本庫是HCL2000國家脫機手寫漢字標準數據庫。測試結果表明,本系統對書寫規范的漢字識別率較高,能達到85%以上,而對一些錯別字、繁體字、異形字識別率較低。
關鍵詞:BP神經網絡;清水江文書;分類器
1 概述
清水江文書,又名錦屏文書,主要是指一些山林經營和木材貿易方面的民間契約和交易記錄,是貴州清水江流域苗族侗族人民創造和保存的一種民間文獻遺產,具有多學科研究價值,2010年2月被列入《中國檔案文獻遺產名錄》。
但是,正因為其長期在民間保存,沒有很好的外部環境,導致很多文書破舊、污損,識別困難。一直以來,都是依靠人工識別文書,效率低下,不能及時有效的再現清水江文書的價值。如何快速高效的識別出文書上的字,是一直困擾研究人員的問題,本系統就是利用脫機手寫漢字識別技術,結合清水江文書自身特點,希望能研究出一種自動識別出清水江文書的方法。
雖然清水江文書的識別本身也屬于脫機手寫漢字的識別,但因其特殊性,即便前期進行預處理,也比一般意義上的手寫漢字更難于識別。因此,本系統設計初期從清水江文書中所挑選的待識別漢字都是書寫較標準規范的漢字圖像。
2 基于BP神經網絡的識別系統設計
BP神經網絡是一種多層神經網絡,通常具有三層或三層以上,其左、右各層之間每一個神經元都有連接,而上下層神經元之間無連接。
2.1 圖片預處理
對輸入的整個文書圖像要先進行一些必要的處理,從中正確切分出單個的手寫漢字圖像,形成單個漢字圖像陣列,以便對其進行后期的單字識別處理。因清水江文書是采用從右向左、自上而下的豎直書寫方法,所以我們的采用的方法是先自右向左逐列對圖像進行掃描,同時對各個掃描列的像素進行計算,得到圖像垂直的投影,再利用文字每列之間存在的空白間隔,對其進行列分割,最后再依據字和字之間空白間隔的投影空隙把單個的漢字圖像切分出來。
切分出的單個漢字圖像還要進行二值化、去噪、大小歸一化與位置歸一化、細化、傾斜矯正等處理,這樣處理的是目的為了提高漢字抽取特征的準確率,從而保證最終文字識別的正確率。如圖2以常見的“立、賣”兩個字為例,經過預處理后,文字大小一致,暗陳的背景與多余的墨跡都被處理掉了。
2.2 手寫漢字的特征提取
對手寫漢字識別特征提取可以有多種方法,本系統中采用了模板法,即在單個待識別漢字圖形上定義一個N×N模板,將每個漢字樣本的長度和寬度N等分,平均有N×N個等份,對每一份內的像素個數進行統計,除以每一份的面積總數,即得特征初值。
雖然N值越大,特征越多,區分文字的能力越強,但同時計算量增加,計算機時間變長,所需要的樣本庫也成倍增加,一般樣本庫的個數為特征數的5-10倍,本系統中特征總數為5×5=25個,每一種字就需要至少125個標準樣本,如果樣本數過少,不同文字之間的區分就較難。
本文實驗所使用的是HCL2000漢字庫,所挑選的待識別漢字都是書寫標準規范的漢字。與國內外其它的數據庫相比, 該數據庫具有樣本量大且可以實現漢字樣本庫和書寫者信息庫間互查的特點。
2.3 BP神經網絡分類器設計
2.3.1 BP神經網絡分類器結構設計
我們設計的BP神經網絡結構有三層:輸入層、隱含層、輸出層,其結構圖如圖1所示。系統中對文字提取了5×5=25個特征作為神經網絡的輸入,因此,輸入結點為25個,通常隱含層結點個數大約為輸入層結點數的兩倍,所以隱含層取50個結點,而輸出層取4個結點,這4個輸出為四位二進制數,代表神經網絡輸出的文字類型。
2.3.2 BP神經網絡調整參數Matlab實現方法及實現步驟
(1)初始化輸入、輸出矩陣p[ ]、t[ ]。p為訓練樣品,t為訓練樣品所屬的類別。
(2)在樣品被訓練前,需要構建BP神經網絡,設置參數調整方式。Matlab的newff函數具有構建BP神經網絡的功能,為選擇不同的調整BP網絡參數方式,只需修改newff函數最后一個參數,該參數代表調整BP神經網絡連接權值和閾值的方法。本系統采用梯度下降法調整BP參數,將最后一個參數設置為′traingd′,與′traingd′有關的調整參數如表1所示:
其中,學習速率是最重要的參數,權值和閾值的調整量就是由它和負梯度的乘積決定的,學習速率越高,調整步伐越大。然而,學習速率過高,算法會變得不穩定;但是如果學習速率過低,算法收斂的時間就會增長。訓練過程中,只要滿足下面五個條件之一,訓練就會停止:a.超過最大訓練次數epochs;b.表現函數值小于誤差指標
goal;c.最大失敗次數超過次數限制max_fail;d.梯度值小于要求精度min_grad;e.訓練所用時間超過時間限制time。
(3)調用Matlab的train(bpnet,p,t)函數,訓練BP神經網絡。其中,bpnet為已經建立好的BP網絡,p為訓練樣品,t為訓練樣品所屬的類別。
(4)對待測試樣品,調用Matlab的sim函數,利用已經訓練好的BP神經網絡識別。sim函數定義為:[t,x,y]=sin(mod el,timespan,options,ut);其中參數model表示網絡結構名,timespan表示循環次數,options表示可選條件,ut表示輸入的向量,t表示網絡輸出向量結構,x表示仿真狀態矩陣,y表示仿真輸出矩陣。
經過梯度下降法訓練后,選擇一個經過預處理的文字圖片,用神經網絡分類器進行分類,分類后再把HCL2000漢字庫作為樣本庫進行對照,識別出該文字。實驗表明,本系統對于書寫較規范的漢字圖片,識別率較高,比如“立”字的識別結果如圖4所示。
3 結束語
脫機手寫體漢字的OCR識別一直是文字識別領域無法攻克的難題,而清水江文書更因為其誕生于民間的特殊性,其中有很多不規范的簡寫字、繁體字、異體字甚至于錯別字,使得對樣本庫的要求更高,本系統所使用的HCL2000數據庫基本以國家制定的標準簡體字為主,所以對清水江文書中大師出現的繁體字、異體字等無法準確識別。
測試表明,本系統對書寫規范的漢字識別率較高,能達到85%以上,而對一些錯別字、繁體字、異形字識別率較低。在后續的研究中,希望能找到一種包括大量繁體字的手寫漢字庫作為樣本庫,這樣就可以解決清水江文書中繁體字沒訓練樣本,無法識別的問題。而且,還可以考慮用遺傳算法對BP神經網絡進行優化,適當增加漢字特征,盡量提高識別率及減少識別時間。
參考文獻
[1]龍澤江.清水江文書研究的背景意義和價值[J].原生態民族文化學刊,2012,03:23-25.
[2]高彥宇,楊揚.脫機手寫體漢字識別研究綜述[J].計算機工程與應用,2004,07:74-77.
[3]楊淑瑩.模式識別與智能計算-Matlab技術實現[M].北京:電子工業出版社,2013(01):141-157.
[4]烏云高娃.人工神經網絡的發展[J].福建電腦,2004,04:16-17.