邵小青 賈鈺峰 章蓬偉 邵敬普
(1.新疆科技學(xué)院 庫(kù)爾勒 841300)(2.中國(guó)石油運(yùn)輸有限公司沙漠運(yùn)輸分公司 庫(kù)爾勒 841300)
在文字圖像生成時(shí)由于設(shè)備或人為等一些因素會(huì)給后續(xù)的識(shí)別帶來(lái)問題,而圖像的預(yù)處理就是為了排除這些干擾,提高圖像質(zhì)量,為下一步針對(duì)維吾爾文聯(lián)體段提取特征做好必要的基礎(chǔ)準(zhǔn)備。
維吾爾文的詞是由一個(gè)或多個(gè)字母組成,筆劃簡(jiǎn)單但字形相差小,而且詞匯中存在字母間各種連接變形使得書寫形式就不同。印刷維吾爾文的切分是識(shí)別技術(shù)的一個(gè)難點(diǎn),切分常常碰到粘連,斷裂,躁點(diǎn),偽字母切分等[1]。根據(jù)維吾爾文的特點(diǎn),提出了基于聯(lián)體段(WordPart)[2]的段切分。此種切分方法能保留住文字的特征信息,極大地簡(jiǎn)便了圖像處理。如圖1是維吾爾文結(jié)構(gòu)特點(diǎn)圖。
圖1 維吾爾文結(jié)構(gòu)特點(diǎn)
噪點(diǎn)惡化了圖像質(zhì)量,復(fù)雜了特征,消除圖像噪點(diǎn)的工作稱之為圖像平滑或?yàn)V波,對(duì)圖像孤立點(diǎn)簇作為雜質(zhì)區(qū)域進(jìn)行清除,得到只有筆畫的潔凈樣本。在各種去噪方法中比較常用的有梯度銳化、數(shù)學(xué)形態(tài)學(xué)中的二值閉運(yùn)算、均值濾波[3]、中值濾波[4]。但這些方法比較適合256色的灰度圖像,而不太適合二值化后的2色的灰度圖像,為此我們針對(duì)二值化后的2色圖像改進(jìn)了均值濾波:假設(shè)濾波模板為3*3,如圖2。
圖2 3*3的濾波模板
如果待測(cè)圖像中某像素點(diǎn)值P為黑點(diǎn),而周邊8鄰接點(diǎn)像素點(diǎn)為白點(diǎn),則該像素點(diǎn)為噪聲點(diǎn)。假設(shè)將黑點(diǎn)值取為1,白點(diǎn)取值為0。如果待測(cè)像素點(diǎn)值P為白點(diǎn),則同理。新的邏輯表達(dá)式可以表示為或0。對(duì)消除圖像上孤立的點(diǎn)效果很好,結(jié)果如圖3。
圖3 本文的去噪效果對(duì)比圖
因人為或者其他因素,掃描圖像會(huì)出現(xiàn)某種程度的拉伸(或傾斜),它會(huì)給下一步每一行文本的判斷,以及聯(lián)體段的切分造成困難。所以傾斜校是特征提取的基礎(chǔ),它的重點(diǎn)和難點(diǎn)是檢測(cè)出傾斜角,只要算出傾斜角,就可以快速地矯正并評(píng)估基線。我們編寫了三種方法對(duì)圖像進(jìn)行傾斜矯正并以此對(duì)比矯正結(jié)果的優(yōu)劣。其中直線擬合法是根據(jù)維吾爾文主筆畫在基線上的這一特點(diǎn),進(jìn)行的一種新的嘗試。
3.2.1 投影圖法
基于投影圖[5]的思想是沿文本書寫方向的黑像素點(diǎn)的長(zhǎng)度最大的傾斜角進(jìn)行分析。我們的方法是在一定閾值范圍內(nèi)以1°間隔對(duì)文本行進(jìn)行旋轉(zhuǎn),并對(duì)旋轉(zhuǎn)后的圖像進(jìn)行投影,對(duì)投影的長(zhǎng)度進(jìn)行記錄,并找出其中最大長(zhǎng)度。當(dāng)前長(zhǎng)度與最大長(zhǎng)度之間的夾角大于0時(shí)代表有傾斜,并計(jì)算出傾斜角度,然后根據(jù)角度逆向轉(zhuǎn)動(dòng)矯正整體圖像。當(dāng)然還可以基于投影圖波谷的間隙最長(zhǎng)進(jìn)行角度校正。但該算法對(duì)一行只有一個(gè)詞的情況,無(wú)法得到滿意的結(jié)果。
從圖4中看出文本圖像被傾斜校正后就可以看出波峰間距是文本行的高度,波谷的間距是行間距(利用空白間隙是我們進(jìn)行文本行切分的依據(jù)),波峰是基線的位置?;€,維吾爾文字書寫時(shí)虛擬的一條直線,在傾斜校正或者是在特征提取中都起到很重要的作用。
圖4 左圖為右圖的水平投影
3.2.2 Hough變換法
霍夫變換(Hough)[6]是一個(gè)非常重要的檢測(cè)間斷點(diǎn)邊界形狀的方法。它通過將圖像坐標(biāo)空間變換到參數(shù)空間,來(lái)實(shí)現(xiàn)直線與曲線的擬合。這里它把二值圖像變換到Hough參數(shù)空間,在參數(shù)空間用極值點(diǎn)檢測(cè)完成目標(biāo)的檢測(cè)。Hough變換是利用圖像全局特性而將邊緣像素連接起來(lái)組成邊界區(qū)域封閉的一種辦法[7]。Hough變換對(duì)于純文本的抗干擾能力強(qiáng),可以減少計(jì)算量,對(duì)曲線間斷的影響也較小。只需要在參數(shù)空間里進(jìn)行簡(jiǎn)單的累加統(tǒng)計(jì)即可。Hough變換有大量的資料信息可以查閱,這里不再贅述。
3.2.3 直線擬合法
我們知道,如果有一些離散點(diǎn)(X(i),Y(i)),就可以擬合出一條直線y=ax+b,使所有點(diǎn)到這條直線的距離平方和最小,那么這條直線就成為離散點(diǎn)的目標(biāo)擬合直線[8~10],如圖5所示。
圖5 直線擬合
由于圖像文件能夠看成一個(gè)整體的版塊,所以我們每隔一定距離從下往上判斷,直到碰觸到黑色像素點(diǎn)為止(即:從下往上數(shù)第一個(gè)前景點(diǎn)),然后把此點(diǎn)作為采樣點(diǎn),得到一系列坐標(biāo)值(X(i),Y(i))。然后使用直線擬合算法算出該直線的系數(shù)a,b,得到擬合直線:y=ax+b,此直線就是圖像文本的方向直線,在由此直線可以得出傾斜角:α=arctanb,然后再進(jìn)行傾斜校正。如果我們每一行都用此方法進(jìn)行直線擬合,則擬合的直線就是當(dāng)前行的基線下界。這是一種新的方法,是本文的創(chuàng)新。
3.2.4 小結(jié)
通過投影圖法,Hough變換法,直線擬合法,我們發(fā)現(xiàn)效果都合格,但其中的投影法還可以運(yùn)用到基線的評(píng)估上,而我們特征提取需要判定基線。所以本文后續(xù)所使用的傾斜校正和基線評(píng)估方法就是基于投影圖法的。
最基本的建立模型[11~13]的單位有比劃、字母、單詞。維吾爾文是拼寫詞,詞匯量達(dá)幾百萬(wàn)之巨,隨著社會(huì)的發(fā)展新詞也在逐步增加,建立詞匯模型不切實(shí)際。建立筆畫模型更是不切實(shí)際。我們選擇了基于聯(lián)體段的切分和文字識(shí)別模型,識(shí)別的模型就是基于此的。我們繼續(xù)利用垂直投影的方法在文本行的基礎(chǔ)上進(jìn)行聯(lián)體段的切分(同理水平投影切分的原理和垂直切分的一樣,水平切分是為了劃分文本行)。
圖6中矩形框框出來(lái)的長(zhǎng)方體就是根據(jù)水平和垂直投影切分出來(lái)的聯(lián)體段,也是進(jìn)行建模的基礎(chǔ)單位。記錄下矩形框的左上角的坐標(biāo)位置以及長(zhǎng)度和寬度,就可以對(duì)矩形框(聯(lián)體段)進(jìn)行圖像處理了。
圖6 聯(lián)體段切分結(jié)果
為了使特征形式顯現(xiàn),需要對(duì)文本圖像進(jìn)行細(xì)化。使筆劃寬度變?yōu)橹挥幸粋€(gè)比特(bit)的細(xì)曲線。為了不破壞文字特征我們的細(xì)化要保證如下要求:1)筆畫不能造成斷裂,必須是連續(xù)的。2)要將筆畫的整體細(xì)化為一個(gè)比特(bit)的單線。3)骨架拓?fù)浣Y(jié)構(gòu)和整體字形沒有被改變。
常用的細(xì)化算法有Pavlidis,Hilditch,Rosen?feld,基于索引表的細(xì)化算法,數(shù)學(xué)形態(tài)學(xué)細(xì)化算法等。本文經(jīng)過測(cè)試最終選用了Rosenfeld算法,此算法的處理結(jié)果滿足細(xì)化骨架的三個(gè)基本要素,經(jīng)過驗(yàn)證效果良好[14~15](圖7)。
圖7 Rosenfeld細(xì)化算法下的像素點(diǎn)模型
至此我們做好了特征提取,識(shí)別訓(xùn)練的準(zhǔn)備。但是訓(xùn)練部分必須要知道對(duì)應(yīng)的維文Unicode碼字符串,它起到了標(biāo)識(shí)和認(rèn)識(shí)的目的。這就需要我們進(jìn)行一一匹配(比對(duì)方法建立)。為此開發(fā)了一個(gè)由程序自動(dòng)劃分并加人工校正的匹配程序。匹配程序難免受躁點(diǎn)和切分的影響,人為校正使每一個(gè)維吾爾文圖像文本的聯(lián)體段與其Unicode碼進(jìn)行了完美的匹配,如圖8。最后把Unicode碼加入了特征庫(kù),作為訓(xùn)練比對(duì)的參照。
圖8 圖像文本聯(lián)體段與其Unicode碼的對(duì)齊
這里有個(gè)難點(diǎn),對(duì)于圖像文件的聯(lián)體段如何進(jìn)行劃分第3.3節(jié)已經(jīng)解決。那么,對(duì)于文本文件的聯(lián)體段如何自動(dòng)進(jìn)行劃分呢?其實(shí),維吾爾文的聯(lián)體段結(jié)束標(biāo)識(shí)均是由字母的尾寫形式組成的。經(jīng)過多方求證,在維吾爾文文章中聯(lián)體段結(jié)束標(biāo)識(shí)除了是維語(yǔ)尾寫字母外還包括英文、數(shù)字、特殊字符等[16]。結(jié)合圖像文本的切分這些就都是我們判斷結(jié)束的標(biāo)志了。經(jīng)過搜集整理,得出維文聯(lián)體段結(jié)束字母共有十三個(gè),其中十一個(gè)用十六進(jìn)制的Uni?code碼定義為
另外還有兩個(gè)用十六進(jìn)制的Unicode碼定義為
static WCHAR WordPartEndS[2]={0x0649,0x06d0},這兩個(gè)字母也是維文聯(lián)體段的結(jié)束字母,當(dāng)這兩個(gè)字母后面跟著上面十一個(gè)字母中任一個(gè)字母時(shí),上面的字母為此聯(lián)體段的結(jié)束字母。
本文根據(jù)維吾爾文文字的特點(diǎn),以聯(lián)體段為基本建模單位,通過VC++完全實(shí)現(xiàn)了印刷維吾爾文圖像識(shí)別技術(shù)中的預(yù)處理部分。預(yù)處理完成的工作有去噪、傾斜校正、基線判定、聯(lián)體段切分、細(xì)化等。為了能夠更好地去噪使用了改進(jìn)的濾波方法。在傾斜校正,基線評(píng)估中提出了直線擬合的校正方法,用投影法完成基線判定。為方便后續(xù)特征的提取選取了合適的細(xì)化算法,同時(shí)建立了比對(duì)方法程序。在此基礎(chǔ)上對(duì)聯(lián)體段提取相應(yīng)的特征用于后續(xù)的識(shí)別。