摘 要: 現有基于字符形狀的識別算法依賴其他輔助方法識別字符,對此提出改進。采用背景賦值描述字符的凹凸性特征,提出凹凸對稱性和凹凸區域夾角的計算方法作為補充,充分利用字符的凹凸性特征設計多級分類器,完全采用凹凸性特征進行多級分類識別,正確識別25個大寫英文字符和10個阿拉伯數字,不受字符大小與傾斜影響。實驗結果表明,在此提出的改進算法克服了現有算法缺陷,擴展了凹凸性特征的可區分范圍,突出了基于形狀的算法的優越性。
關鍵詞: 字符識別; 形狀特征; 凹凸性特征; 凹凸對稱性; 凹凸區域夾角
中圖分類號: TN919?34; TP391 文獻標識碼: A 文章編號: 1004?373X(2013)16?0077?04
0 引 言
字符特征的提取是字符識別中的關鍵技術。目前應用較為廣泛的是提取字符輪廓特征為主的方法,如采用鏈碼描述字符線條、平面曲線及區域邊界等[1?3]。此類方法可以較好地提取景物的輪廓,但對于字符大小、傾斜等因素較為敏感,因此需要經過歸一化、傾斜校正和細化等預處理。這些處理過程較為繁瑣,特別是細化過程,無論是并行算法[4]或是模板匹配算法[5],最終獲取理想的單像素圖像非常困難,對于字符的準確識別造成不利影響。文獻[6?7]所提基于字符形狀的識別算法,根據字符的整體形狀特征,如字符的凹凸性,提取字符特征,不受字符大小、傾斜的影響,省去歸一化、傾斜校正和細化處理,提高字符識別的速度,是一類較為簡單、實用的方法。
采用以字符凹凸性特征提取為主的方法識別字符,簡單易行。但在分類識別時,需用輔助方法,如文獻[6]使用彎曲度計算提取直線特征,文獻[7]使用鏈碼描述提取直線和角點等。這些輔助方法除了需要額外的處理時間之外,實際上仍受到字符大小、傾斜等因素的影響。文獻[6]所提算法在字符筆畫彎曲度計算中,會受到字符傾斜的影響;文獻[7]提出的算法,鏈碼描述直線特征需將字符細化。
對此,本文提出采用新的字符凹凸性特征分析與提取方法,針對25個大寫英文字符(不包含“I”)及10個阿拉伯數字(0~9),探討該種方法的可行性及優勢。
1 字符形狀的凹凸性描述
字符形狀的凹凸性特征指字符呈現于人眼的凹凸曲直性。字符的凹凸性特征描述有多種方法[8?10],本文采用背景賦值法。首先逐像素掃描圖像并選擇背景點(像素值為1),從該像素向其8鄰域方向作射線,判斷射線是否與圖像前景點(像素值為0)相交,將有交點的射線數作為背景值賦值給當前背景點。圖1(a)所示的圖案進行背景賦值后得到圖1(b)所示的賦值背景圖像。根據背景賦值,可實現對字符的凹凸性特征描述。
圖1(b)中,背景值為8的區域表示該區域的點向8個方向所做射線均與前景點相交,即該點被字符的筆劃包圍,為圈區域,如圖1(a)中的L1、L2。背景值為5~7的點則處于字符筆劃的凹陷區,為凹區域,如圖1(a)中的LC、RC、UC、DC。顯然,不同字符呈現的凹凸性特征具有明顯的區別,且抗變性強。
本文采用圈區域數量、凹區域數量及方向、圈區域的大小、凹凸對稱性、凹凸區域夾角、凹凸區域位置和寬高比共7個特征識別字符。
2 凹凸性特征提取
(1)圈區域L
如上所述,背景賦值為8即認為是圈區域。但在實踐中發現如Arial等部分字體,由于筆劃包裹性較強,字符中存在凹陷較深的區域,簡單地按照背景賦值法賦值則會將其凹區域的邊緣賦值為8,導致圈區域的誤判。如圖2(a)所示字符“6”。
為避免該問題出現,增加了二次賦值步驟,即對于賦值為8的像素,還要檢測其8鄰域是否在圈內,將不在圈內的像素賦值為9,認定其為凹區域,如圖2(b)所示。
(2)凹區域C
圖1(a)中存在4個特征不同的凹區域,為加以區別,做如下定義:
左凹LC:左側無字符筆劃的凹區域;
右凹RC:右側無字符筆劃的凹區域;
上凹UC:上方無字符筆劃的凹區域;
下凹DC:下方無字符筆劃的凹區域。
(3)圈的大小LV
有圈的字符較多,顯然圈的大小可作為重要特征區別不同字符。如D、O為大圈,4、R為小圈。定義LV為圈區域面積與字符面積之比,若LV>0.7為大圈,而LV<0.7則為小圈。
(4)凹凸對稱性CS
對于凹凸性特征相似的字符,如5和S,識別難度較大。文獻[6]采用計算水平交點數的方法區別。此種方法具有一定局限性,如5和S下部都有2個交點,而上部雖然交點數有差異,但較難精確測算,同時受到字符傾斜等因素影響會出現誤判。
研究中發現如5和S、2和Z,雖然特征相近,但大多數常見字體中S和Z的上下凹區域均對稱,而5和2則不對稱,如圖3所示。
因此定義凹凸對稱性CS,計算字符兩個不同凹區域的相似程度以區別這些字符。簡單起見,定義字符上下凹區域的面積之比為對稱性CS,若CS=1則表示對稱。也可根據具體情況設置CS門限以體現字符凹凸對稱程度。
(5)凹凸區域夾角CA
字符U和V、H和N特征相近。但“V”、“N”中存在銳角凹區域,即左右兩側筆劃夾角成銳角,而“H”中存在直角凹區域,如圖4所示。
圖5所示為8鄰域示意圖。
定義[CA=i=29pi]。
若p1在賦值背景的凹凸區域中,其8鄰域中某像素是筆劃的則給對應鄰域賦值為1,是凹區域的則給對應鄰域賦值為0。那么在銳角凹區域中總會找到一點滿足CA>5;而直角凹區域中總會找到一點滿足CA=5 ;在不含銳角/直角的凹區域則找不到這樣的像素。
(6)凹凸區域位置CP
定義CP<0.5表示凹凸區域在字符圖像上半部分,CP>0.5則表示凹凸區域在圖像的下半部分。
(7)寬高比CR
字符0和O可用寬高比區別,設若CR<0.75對應0,CR>0.75對應O。
3 實驗結果與分析
通過對35個字符的凹凸性特征提取和分析,設計多級分類器,每級使用一項或幾項特征條件,將字符逐級分類識別。在VC6.0環境中,針對大量包含常見字體的32×32字符圖像進行識別的實驗。
3.1 一級分類
以無圈、有圈(1圈/2圈)作為分類特征,將字符分為3類,如表1 所示。
表1 一級分類結果
3.2 二級分類
二級分類結果如表2所示。二級分類根據一級分類結果中的字符凹凸性特征,靈活選用分類特征進行逐級分類,將一級分類中的3類字符分別分為多個子類,如表2所示。
對于類1,先篩選出含有左凹區域的字符得到子類1?1;在剩余字符中分別依據含有1個和2個右凹區域得到子類1?2、1?3;含有上凹或下凹區域的字符分為子類1?4;不含凹區域的只有字符“1”,作為子類1?5。對于類2則選用含有大或小圈區域作為分類特征,得到子類2?1和2?2。而類3中只有兩個字符,顯然含有左凹的為“8”,不含左凹的為“B”。
3.3 三級分類
三級分類結果如表3所示。
表3 三級分類結果
二級分類后無法區別的字符進行三級分類,見表3。除“N”、“H”、“V”、“U”外,“D”和“0”、“O”也采用計算凹凸區域夾角的方法區分,避免了采用鏈碼或曲率檢測直線,更加簡單實用。
3.4 四級分類
如表4所示,所有字符已完全被區分開。
表4 四級分類結果
4 結 語
多級分類識別全部采用字符形狀的凹凸性特征,35個字符全部正確識別,不受字符圖像的大小、傾斜影響。特別是采用凹凸對稱性、凹凸區域夾角作為分類特征識別字符,有效擴展了凹凸性特征的可區分范圍,體現了基于字符形狀的識別方法的優越性。
參考文獻
[1] 王萍,劉恒,狄光敏.基于簡約碼特性樹的字母和數字識別[J]. 天津大學學報,2008,41(6):667?672.
[2] 宋加濤,劉濟林.車輛牌照上英文和數字字符的結構特征分析及提取[J].中國圖象圖形學報,2002,7(9):945?949.
[3] 周治緊,李玉鑑.基于投影歸一化的字符特征提取方法[J].計算機工程,2006,32(2):197?199.
[4] 喻擎蒼,蘇斌,李華強.改進的符號圖像并行細化算法[J].計算機工程與設計,2009,30(3):723?724.
[5] 梅園,孫懷江,夏德深.一種基于改進后模板的圖像快速細化算法[J].中國圖象圖形學報,2006,11(9):1306?1311.
[6] 胡金蓉,周激流,王玲,等.一種新的基于字符形狀特征的高效車牌識別算法[J].計算機應用研究,2010,27(6): 2398?2400.
[7] 朱紹文,陳光喜.一種簡單的基于字符形狀的驗證碼識別技術[J].桂林電子科技大學學報,2010,30(2):59?62.
[8] CHEN Yi?kai, WANG Jing?fa. Segmentation of single or multiple?touching handwritten numeral string using background and fore?ground analysis [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1304?1317.
[9] TOY F H, CAO L J. Descending support vector machines for financial time series forecasting [J]. Neural Processing Letters, 2002, 13(15): 179?195.
[10] 羅佳,王玲.基于凹凸特性的非限制粘連手寫數字串切分[J]. 微計算機信息,2007(23):275?276.