丁 李,曾水玲
(1.吉首大學(xué)物理與機(jī)電工程學(xué)院,湖南吉首 416000;2.吉首大學(xué)信息科學(xué)與工程學(xué)院,湖南吉首 416000)
湘西苗族創(chuàng)造了 3種苗文〔1〕,“板塘苗文”“老寨苗文”和“古丈苗文”〔2〕。方塊苗文是一種借源文字,與漢字的結(jié)構(gòu)和造字法上基本一致,造字法主要有形聲和會(huì)意,雙音符的不多,象形成分極少,大量地借用漢字標(biāo)音。方塊苗文用來記錄和創(chuàng)作苗歌,苗歌主要是表達(dá)苗族人們?cè)谏a(chǎn)、生活、農(nóng)耕、風(fēng)俗傳統(tǒng)等各方面的情懷,留存下來的苗歌手稿有十幾萬字,為我們研究苗族的民族歷史、民族風(fēng)俗和民族文學(xué)提供了寶貴的文字資料。
在信息化時(shí)代,專家需要將這些珍貴的苗文手寫文字的紙質(zhì)載體錄入進(jìn)計(jì)算機(jī)進(jìn)行保存和傳播,對(duì)于文字的識(shí)別方法,前人已經(jīng)探索出針對(duì)各種文字的識(shí)別體系〔3-7〕,而苗文方面,也有學(xué)者為苗文便于在計(jì)算機(jī)中生成和顯示,提出了方塊苗文動(dòng)態(tài)構(gòu)造方法〔8〕。隨著數(shù)字化社會(huì)的發(fā)展,傳統(tǒng)的手寫紙質(zhì)載體需要轉(zhuǎn)型以適應(yīng)現(xiàn)代化需要。為更高效地進(jìn)行苗文的錄入和傳播,開發(fā)關(guān)于苗文的光學(xué)字符識(shí)別(optical character recognition,OCR)成為可供選擇的方向。所以,開發(fā)針對(duì)于苗文的識(shí)別系統(tǒng)是十分迫切和重要的工作,傳統(tǒng)的投影識(shí)別法雖然能達(dá)到識(shí)別苗文的目的,但輸入的識(shí)別特征矩陣巨大,雖然訓(xùn)練效果不錯(cuò),但預(yù)測(cè)結(jié)果時(shí),存在有過擬合的問題,使得系統(tǒng)的識(shí)別潛力沒有完全開發(fā)出來,本文工作一方面驗(yàn)證PNN神經(jīng)網(wǎng)絡(luò)對(duì)于方塊苗文圖像識(shí)別工作的可用性,另一方面就是為了通過簡化特征矩陣的辦法來挖掘識(shí)別系統(tǒng)神經(jīng)網(wǎng)絡(luò)的潛在能力。
手寫苗文文字樣本經(jīng)過掃描儀進(jìn)入計(jì)算機(jī)后,因紙張的厚度、光潔度和取樣設(shè)備質(zhì)量的不穩(wěn)定都會(huì)造成錄入后的數(shù)字圖像文字畸變,形成粘連、筆畫中斷和圖像噪點(diǎn)等干擾,所以在進(jìn)行文字識(shí)別之前,務(wù)必要對(duì)帶有噪聲的文字圖像進(jìn)行處理。圖像預(yù)處理方法有許多經(jīng)驗(yàn)成果〔9-10〕,其大體步驟包括文字圖像大小歸一化、灰度化、二值化、規(guī)范化等等。
1.1 文字圖像灰度化通過外設(shè)采集的圖像通常為彩色圖像,彩色圖像會(huì)夾雜一些干擾信息,灰度化處理的主要目的就是濾除這些信息。定義在RGB空間的彩色圖像,圖像內(nèi)每一個(gè)像素點(diǎn)的顏色由Red、Green、Blue 3個(gè)分量共同決定?;叶然鋵?shí)質(zhì)是將原本由三維描述的像素點(diǎn),映射為一維描述的像素點(diǎn)?;叶然椒ㄓ蟹至糠ā⒆畲笾捣?、平均值法、加權(quán)平均法。加權(quán)平均法的權(quán)值是根據(jù)人體生理學(xué)角度(人眼對(duì)綠色最敏感,對(duì)藍(lán)色最不敏感)所提出的,具有最理想的灰度化效果,公式權(quán)值如下:
本文采用加權(quán)平均法來處理原始圖像,處理結(jié)果見圖1。
圖1 灰度化后的圖像
1.2 文字圖像二值化經(jīng)過灰度處理的彩色圖像還須經(jīng)過二值化處理將文字與背景進(jìn)一步分離開。所謂二值化,就是將彩色值圖像信號(hào)轉(zhuǎn)化成只有黑(0)和白(1)的二值圖像信號(hào)。二值化效果的好壞,會(huì)直接影響灰度文本圖像的識(shí)別率。二值化處理的具體經(jīng)驗(yàn)有很多〔11-12〕,方法大致可以分為局部閾值二值化和整體閾值二值化。本文參考基于k中心點(diǎn)聚類的圖像二值化方法〔13〕,采用局部閾值二值化,將方塊苗文圖像分割為互不相交的若干個(gè)w×w的小窗口,在每個(gè)窗口中求得所轄像素的灰度平均值,經(jīng)添加懲罰項(xiàng)后作為初步閾值進(jìn)行二值化處理,繼而對(duì)各小方塊進(jìn)行二值化變換,各個(gè)閾值的計(jì)算公式如下:
若塊內(nèi)的灰度值大于閾值T,則把該點(diǎn)的值置為1,否則將該點(diǎn)的值置為0,將圖像二值化能更進(jìn)一步減少圖像中的信息量,減少無關(guān)信息的干擾。將灰度圖像二值化后結(jié)果見圖2。
圖2 二值化處理后的結(jié)果
1.3 規(guī)范化規(guī)范化主要分為位置規(guī)范化、大小規(guī)范化和筆畫細(xì)化處理,位置規(guī)范化和大小規(guī)范化在紙質(zhì)文字轉(zhuǎn)化為數(shù)字圖像時(shí),就已規(guī)范化,每個(gè)單體文字圖像像素為長寬各130像素。對(duì)于細(xì)化方面,細(xì)化是指對(duì)于一個(gè)給定的模式圖像,抽取其“中心骨架”的過程,細(xì)化算法可分為非迭代算法和迭代算法,而迭代算法又分為串行算法和并行算法,本文的細(xì)化處理是在不破壞原有結(jié)構(gòu)配置和給定筆畫連接位置關(guān)系的基礎(chǔ)上,采取迭代掃描并刪減邊界像素點(diǎn)來完成。筆畫細(xì)化方法中經(jīng)典的有基于標(biāo)記的并行細(xì)化算法〔14〕,改進(jìn)的有自動(dòng)矢量化算法〔15〕。細(xì)化后的文字消減了很多手寫字體的個(gè)性化特征,為特征提取創(chuàng)造了有利條件。
在計(jì)算機(jī)圖像處理過程中,用黑底白字來處理矩陣更加方便,所以先將二值化后的圖像取反,取反后結(jié)果見圖3,之后再利用細(xì)化算法將其細(xì)化,具體方法:使用一個(gè)包含9個(gè)像素的3×3模板,9個(gè)像素點(diǎn)只取值0或1,因此模板有29=512種形式,給予每個(gè)模板一個(gè)編號(hào)0~511,編號(hào)等于模板中的像素加權(quán)和,像素權(quán)重見圖4。
圖3 取反效果圖
圖4 像素權(quán)重
把模板分成8個(gè)方向,輪流使用8個(gè)方向的模板,消去最外層像素點(diǎn),不斷循環(huán),直到剩下“骨架”為止。細(xì)化后結(jié)果見圖5。
圖5 筆畫細(xì)化效果圖
特征提取即對(duì)某一模式的組測(cè)量值進(jìn)行變換,以突出該模式具有的代表性特征的一種方法。常見的文字特征類型分為統(tǒng)計(jì)類特征和結(jié)構(gòu)類特征,統(tǒng)計(jì)類特征有像素點(diǎn)個(gè)數(shù)、灰度值統(tǒng)計(jì)類別等,而結(jié)構(gòu)特征是如邊緣、角、區(qū)域、脊等代表性特征。
本文著重研究統(tǒng)計(jì)類特征中的像素特征,單個(gè)文字樣本的二值化矩陣通過規(guī)范化處理后,長和寬都為130像素,通過統(tǒng)計(jì)投影在行列的白點(diǎn)(1)數(shù)值個(gè)數(shù)能夠在一定程度上代表文字的特征屬性。
2.1 經(jīng)典投影法經(jīng)典的特征提取投影法是將文字圖像左下角置于直角坐標(biāo)系原點(diǎn),統(tǒng)計(jì)圖像中各種特性的像素點(diǎn)分別在X、Y軸上的投影數(shù)量,再以兩坐標(biāo)軸上的特征點(diǎn)數(shù)量來組成特征矩陣,此矩陣的維數(shù)至少等于圖像X、Y軸上像素之和,本文中經(jīng)典投影法的維數(shù)應(yīng)是X軸上130像素加Y軸上130像素再加上一個(gè)標(biāo)志種類的特征,一共261維特征向量。具體步驟如下:
1)對(duì)方塊苗文圖像的X軸和Y軸平均劃分成n=130份。
2)統(tǒng)計(jì)x=1的直線與方塊苗文二維表達(dá)式f(x)的交點(diǎn)個(gè)數(shù)rx1,統(tǒng)計(jì)x=2直線與f(x)的交點(diǎn)個(gè)數(shù)rx2,依次循環(huán),直到統(tǒng)計(jì)到rx130停止。
3)依照步驟2)統(tǒng)計(jì)ry1到ry130。
4)構(gòu)建特征矩陣:T130=[I,rx1,rx2,…,rx130,ry1,ry2,…,ry130],其中I為類別標(biāo)識(shí),定義為文字的類別。
2.2 改進(jìn)后的投影法相對(duì)于文字的特征提取來說,圖像沒有其他圖像那么復(fù)雜,像素點(diǎn)中的信息相對(duì)更加簡化,采用經(jīng)典投影法不但浪費(fèi)計(jì)算機(jī)資源,甚至可能取得相反的效果即因系統(tǒng)過擬合導(dǎo)致識(shí)別率更低。針對(duì)方塊苗文的像素特點(diǎn),本文將傳統(tǒng)的投影法特征提取加上一個(gè)對(duì)像素的組別劃分,不僅能簡化特征維數(shù),更能減少資源的浪費(fèi)。
在歸一化后的方塊苗文圖像上,像素為130×130的圖像,為了能夠無余量完全劃分,本文采用最大公約數(shù)的劃分方式,即根據(jù)130長寬的像素點(diǎn),將其橫縱軸的130像素點(diǎn)平均分成65組(2像素點(diǎn)為一組)、26組(5像素點(diǎn)為一組)、13組(10像素點(diǎn)為一組)和2組(65像素點(diǎn)為一組)4種劃分方式。見圖6。分組后統(tǒng)計(jì)每個(gè)組內(nèi)的白點(diǎn)(1)個(gè)數(shù),即可組成特征向量。具體步驟如下:
前3步與上述步驟相同,不再贅述。
4)設(shè)2個(gè)像素點(diǎn)為一組,計(jì)算Rx1=rx1+rx2,Rx2=rx3+rx4,…,Rx65=rx129+rx130,以及Ry1=ry1+ry2,Ry2=ry3+ry4,…,Ry65=ry129+ry130。
5)構(gòu)建特征矩陣T65=[I,Rx1,Rx2,…,Rx65,Ry1,Ry2,…,Ry65],其中I為類別標(biāo)識(shí),定義為文字的類別。
5像素點(diǎn)一組則以此類推,只須計(jì)算Rx1=rx1+rx2+rx3+rx4+rx5,Ry1=ry1+ry2+ry3+ry4+ry5以及統(tǒng)計(jì)T26=[I,Rx1,Rx2,…,Rx26,Ry1,Ry2,…,Ry26]即可。
根據(jù)上述步驟,最終得到T130,T65,T26,T13,T2共5種特征矩陣。
圖6 各種像素組的分類
為了驗(yàn)證普通投影識(shí)別法的可用性和改進(jìn)后的投影法具有更加優(yōu)秀的識(shí)別性能,下面利用上述所抽取的各種特征矩陣,結(jié)合PNN神經(jīng)網(wǎng)絡(luò),進(jìn)行對(duì)比分析實(shí)驗(yàn)。
3.1 PNN神經(jīng)網(wǎng)絡(luò)方塊苗文識(shí)別系統(tǒng)的建立概率神經(jīng)網(wǎng)絡(luò)(probabilistic neural networks,PNN)是一種基于Bayes分類規(guī)則與Parzen窗的概率密度函數(shù)估計(jì)方法發(fā)展而來的并行算法。這是一種訓(xùn)練快速、結(jié)構(gòu)簡潔的人工神經(jīng)網(wǎng)絡(luò)。
PNN神經(jīng)網(wǎng)絡(luò)是一種基于徑向基函數(shù)網(wǎng)絡(luò)發(fā)展而來的一種前饋型神經(jīng)網(wǎng)絡(luò),它的理論依據(jù)是貝葉斯決策理論,其作為徑向基網(wǎng)絡(luò)的一種,比較適合模式分類。PNN的層次模型見圖7。
圖7 概率神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
3.2 PNN神經(jīng)網(wǎng)絡(luò)與特征向量的結(jié)合PNN神經(jīng)網(wǎng)絡(luò)共分4層,即輸入層、模式層、求和層和輸出層。
輸入層接收來自訓(xùn)練樣本的特征,本文的特征向量是由預(yù)處理后樣本圖像的橫縱坐標(biāo)上投影的白點(diǎn)(1)的數(shù)目組成,根據(jù)像素分組的不同,特征向量維數(shù)也不同,比如2像素組,將第一行與第二行中總的白點(diǎn)(1)個(gè)數(shù)統(tǒng)計(jì)在一起,作為一個(gè)特征值,由于文字圖像為130×130像素圖,即對(duì)于行來說就有65個(gè)特征項(xiàng),將縱向特征項(xiàng)也加入進(jìn)來,就有130個(gè)特征項(xiàng),最后還須加入一列表類別的標(biāo)志量,則2像素組的特征向量即為131維向量,其他向量組以此類推。將特征向量傳遞給網(wǎng)絡(luò),其神經(jīng)元的數(shù)量和樣本矢量數(shù)量相同。
模式層計(jì)算輸入特征向量與訓(xùn)練中各個(gè)模式的匹配關(guān)系,模式層神經(jīng)元個(gè)數(shù)等于各個(gè)類別訓(xùn)練樣本數(shù)之和,該層每個(gè)模式單元的輸出為
式中Wi為輸入層到模式層連接的權(quán)值,δ為平滑因子。
圖8 PNN網(wǎng)絡(luò)訓(xùn)練結(jié)果及誤差圖
第三層是求和層,是將屬于某類的概率累計(jì),從而得到文字類別的估計(jì)概率密度函數(shù)。求和層單元的輸出與各類基于內(nèi)核的概率密度的估計(jì)成比例,通過輸出層的歸一化處理,即能得到各類的概率估計(jì)。
輸出層神經(jīng)元是一種競(jìng)爭(zhēng)神經(jīng)元,每一個(gè)神經(jīng)元對(duì)應(yīng)一個(gè)文字的類別,輸出層神經(jīng)元個(gè)數(shù)等于參與分類的文字類別總數(shù),它接收從求和層輸出的各類概率密度函數(shù),概率密度函數(shù)最大的那個(gè)神經(jīng)元輸出為1,即所對(duì)應(yīng)的那一類即為待識(shí)別的文字模式類別,其他輸出神經(jīng)元值全為0。
3.3 網(wǎng)絡(luò)的訓(xùn)練預(yù)測(cè)以及結(jié)果分析選取樣本庫中400個(gè)手寫苗文字體共10種文字,其中300個(gè)作為訓(xùn)練樣本,100個(gè)作為測(cè)試樣本。在MATLAB中通過 net=newpnn(p_train,t_train,spread)函數(shù)進(jìn)行概率神經(jīng)網(wǎng)絡(luò)的創(chuàng)建,其中p_train和t_train為抽取出的特征矩陣,多次測(cè)試后spread數(shù)值選取1.5能夠很好地保證PNN網(wǎng)絡(luò)神經(jīng)元的一部分對(duì)輸入向量所覆蓋的區(qū)間產(chǎn)生響應(yīng),接著利用y=sim(net,p_train)函數(shù)進(jìn)行已知數(shù)據(jù)的網(wǎng)絡(luò)訓(xùn)練,利用y2=sim(net,p_test)進(jìn)行未知數(shù)據(jù)的預(yù)測(cè),net是構(gòu)建的PNN神經(jīng)網(wǎng)絡(luò),p_train和p_test分別是訓(xùn)練特征矩陣和預(yù)測(cè)的未知特征矩陣,網(wǎng)絡(luò)的訓(xùn)練結(jié)果和預(yù)測(cè)結(jié)果見圖8~9。
圖9 PNN網(wǎng)絡(luò)預(yù)測(cè)結(jié)果
從圖8可知PNN網(wǎng)絡(luò)的訓(xùn)練效果很好,訓(xùn)練預(yù)測(cè)值和實(shí)際值基本完全吻合,誤差圖上的訓(xùn)練誤差更是為0,這得益于spread值的正確選擇,過大或過小都會(huì)導(dǎo)致訓(xùn)練出現(xiàn)誤差。
從圖9可知,橫坐標(biāo)為樣本編號(hào),縱坐標(biāo)為文字種類編號(hào),在100個(gè)預(yù)測(cè)樣本中,錯(cuò)誤個(gè)數(shù)為8個(gè)。
經(jīng)過多次測(cè)試運(yùn)行,統(tǒng)計(jì)出平均識(shí)別率,得到在不同像素分類情況下PNN的識(shí)別率。見表1。除此之外,在以上結(jié)論的前提下(10像素組擁有最佳的識(shí)別效果)與PNN神經(jīng)網(wǎng)絡(luò)相似的BP神經(jīng)網(wǎng)絡(luò)以及LVQ神經(jīng)網(wǎng)絡(luò)也使用相同的特征矩陣進(jìn)行了識(shí)別工作,與其進(jìn)行了橫向?qū)Ρ?。為了?duì)比的公平,BP神經(jīng)網(wǎng)絡(luò)和LVQ神經(jīng)網(wǎng)絡(luò)將采用相同的10像素組特征矩陣進(jìn)行訓(xùn)練和分類。
表1 經(jīng)典組與各個(gè)像素分組的識(shí)別率(%)
對(duì)于BP神經(jīng)網(wǎng)絡(luò)而言,10像素組的特征矩陣與PNN相同,是一個(gè)27維的特征向量,所以BP神經(jīng)網(wǎng)絡(luò)輸入端設(shè)置為27個(gè)輸入神經(jīng)元,輸出端和PNN神經(jīng)網(wǎng)絡(luò)一樣設(shè)置為10個(gè)神經(jīng)元(10個(gè)文字種類)至于隱含層,根據(jù)經(jīng)驗(yàn)公式取10較為穩(wěn)定,學(xué)習(xí)率取0.1,在和PNN相同的400個(gè)文字樣本庫中選擇300個(gè)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,剩下100個(gè)作為測(cè)試樣本,根據(jù)以上主要參數(shù)進(jìn)行BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建、訓(xùn)練和識(shí)別。
對(duì)于LVQ神經(jīng)網(wǎng)絡(luò)而言,同樣是在400個(gè)樣本中選擇300個(gè)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,100個(gè)作為測(cè)試樣本,輸入依然是27維特征向量,輸出為10個(gè)種類的文字,迭代次數(shù)設(shè)置1 000,學(xué)習(xí)率設(shè)置0.01,訓(xùn)練目標(biāo)最小誤差設(shè)置0.06,根據(jù)以上主要參數(shù)進(jìn)行LVQ神經(jīng)網(wǎng)絡(luò)的構(gòu)建、訓(xùn)練和識(shí)別。
最終的對(duì)比見圖10。
圖10 改進(jìn)前后的PNN神經(jīng)網(wǎng)絡(luò)以及其他神經(jīng)網(wǎng)絡(luò)的識(shí)別率對(duì)比
從表1中的結(jié)果來看,經(jīng)典組有83.45%的識(shí)別率,說明PNN神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)功能用于方塊苗文的識(shí)別是可行的。從其他分組的結(jié)果來看,130×130的樣本圖像大小下,實(shí)驗(yàn)了130像素的所有公約數(shù)分組,網(wǎng)格從密集到稀疏,識(shí)別率逐漸升高,10像素組達(dá)到最優(yōu),之后識(shí)別率又下降到最低,從表中看出表現(xiàn)最好的10像素組的識(shí)別率比經(jīng)典組的識(shí)別率高4.85%,具有很可觀的提升幅度,說明此種像素分類優(yōu)化方案是可行的。圖10中與其他兩種神經(jīng)網(wǎng)絡(luò)的橫向?qū)Ρ葋砜矗琍NN神經(jīng)網(wǎng)絡(luò)本身的識(shí)別效果是優(yōu)于BP神經(jīng)網(wǎng)絡(luò)和LVQ神經(jīng)網(wǎng)絡(luò)的,通過此種優(yōu)化方案,挖掘出PNN神經(jīng)網(wǎng)絡(luò)更多的識(shí)別分類潛力。
對(duì)于湘西方塊苗文的計(jì)算機(jī)識(shí)別分類,本文基于OCR技術(shù)、圖像提取處理技術(shù)、PNN神經(jīng)網(wǎng)絡(luò)以及MATLAB軟件,針對(duì)提取的特征矩陣維數(shù)過大導(dǎo)致的限制了分類器的識(shí)別率問題,提出一套能提升分類器工作效果的解決方案——進(jìn)行像素的分組,并探究了在不同像素組分類的情況下,PNN神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果和識(shí)別率的提升幅度,得到了最適合的像素組分類方式即10像素組分類方式,最大化平衡計(jì)算機(jī)資源與系統(tǒng)工作效率之間的關(guān)系。在接下來的工作中,我們一方面會(huì)繼續(xù)苗文正確率提升的研究,并解決識(shí)別率高低起伏較大的缺點(diǎn),探索更加具有代表性的文字特征提取方案;另一方面也會(huì)在優(yōu)化計(jì)算機(jī)系統(tǒng)的識(shí)別工作效率上進(jìn)一步探索,改進(jìn)分類算法來提高文字的識(shí)別效率。