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