摘 要: 針對目前脫機(jī)手寫字符識別計算量大,,對字體字形都有一定的要求,,提出了主要以字符矩陣中01變換頻率為基礎(chǔ),從字符的整體和局部特征出發(fā)進(jìn)行分析識別的算法,。此算法縮減了計算量并對所需局部信息進(jìn)行放大,,在一定程度上避免了傳統(tǒng)采用分類器方法的錯誤傳導(dǎo),提高了字符的識別率,,易于實現(xiàn)移植和擴(kuò)展,。
關(guān)鍵詞: 字符識別;脫機(jī)識別,;手寫字符
0 引言
目前計算機(jī)對手寫字符識別主要分聯(lián)機(jī)和脫機(jī)兩種方式,。聯(lián)機(jī)方式目前主要采用的是聯(lián)機(jī)筆畫順序識別[1]。脫機(jī)方式目前研究以計算機(jī)常用字體為主的識別主要采用方式模板匹配法[2],、基于結(jié)構(gòu)特征算法[3],、基于神經(jīng)網(wǎng)絡(luò)算法[4]和基于支持向量機(jī)[3]等。前兩種算法算法本身對字符比較敏感,,對手寫體特征筆畫定義的差距造成識別率下降,;后兩者提高識別率則需要大量計算。
1 LVc算法
字符主要由豎線,、橫線,、半封閉弧線、封閉線筆畫構(gòu)成,,筆畫簡單特征少,,而手寫半封閉弧線經(jīng)常和橫線豎線進(jìn)行相互替換,加上封閉完整性的缺失增加了識別難度,。因此本文提出LVc算法,,提取文本中定義字符和數(shù)字的頻率特征和細(xì)節(jié)特征,并與已知標(biāo)準(zhǔn)字符提取的特征相比較,、識別,。
1.1 預(yù)處理
圖像矩陣經(jīng)過降噪、二值化后得到
,,并把
矩陣?yán)檬剑?)轉(zhuǎn)換成矩陣Am×n,,其中m=p+2,n=q+2,。
1.2 基本計算
1.2.1 頻率的相關(guān)計算
當(dāng)對Am×n第x行掃描時,,若ax,y≠ax,,y+1,,則稱存在一次變化,x行總變化次數(shù)稱為x行水平變化頻率,,記做lv(x),,如式(2)所示。同理可得第y列的垂直變化頻率hv(y),。
其中,,x=1,2,,3,,…,m,。
若相鄰的,,則稱它們屬于同一個水平頻率組Lgt(t=1,2,,…),,其水平變化頻率為Lgtlv,該組所擁有行數(shù)為Lgnt,,如式(4)所示,。
其中,
同理可得垂直頻率組Hgt(t=1,,2,,…),,相關(guān)數(shù)據(jù)設(shè)其所得垂直變化頻率為Hgthv,所擁有列數(shù)為Hgnt,。
1.2.2 行(列)累計度
字符中各行(列)中非0像素點的多少稱為該行(列)累計值,,如式(5)所示。
同理可得第y列的累計值,。
為了對筆畫的長短有所區(qū)分,,這里用Pilel(x)來表示:
橫向長筆畫數(shù)用Spsl表示:
同理可以得到相應(yīng)區(qū)域的列累計度和縱向長筆畫數(shù)。
1.2.3 筆跡粗細(xì)
當(dāng)用累計值除對應(yīng)頻率時,,可得字符的筆跡粗細(xì)Handw:
同理可得列筆跡的粗細(xì)Handwv,。
1.2.4 頻率的修正
字符邊緣的“毛刺”現(xiàn)象對頻率影響非常嚴(yán)重。若在x行中存在n個符合條件的區(qū)域,,其中
,,則令lv′(x)=lv(x)-n。同理可以對垂直頻率進(jìn)行修正,。
手寫中經(jīng)常出現(xiàn)筆畫的起筆或末端的彎鉤現(xiàn)象如6,、C,給下一步有效頻率組判斷帶了一定的干擾,。若某個水平頻率組中滿足,,
1.3 英文字符的基本特征提取
1.3.1 有效變化頻率組
若某水平頻率組,則稱其為有效水平頻率組efLgt,,其水平頻率
,,擁有的行數(shù)設(shè)為efLgtn;一個字符所擁有的efLgt數(shù)設(shè)為numLg,。
計算有效垂直頻率efLgt,,首先確定其測試區(qū)域:若numLg=1,則需根據(jù)垂直有效頻率判別式求得efLgt,;若numLg≥2,,存在efLg1其x∈[a,b]和efLg2其x∈[c,,d],,則取Did=下部和Diu=
上部,如圖1所示進(jìn)行垂直有效頻率判別式分析計算,。
垂直有效頻率判別式為:若字符中Hgt的Hgnt≥,,則認(rèn)為其所在Hgt組為有效垂直頻率組;若字符中Hgnt<
,,則選max(Hg1hv×Hgn1,,Hg2hv×Hgn2,…)(t=1,,2,,…),,其中Hgnt≥2Handw最大值所在組為有效垂直頻率組。
1.3.2 焦點集中區(qū)域
一個字符中往往存在某個有效區(qū)域其像素點較為集中,,稱之為焦點集中區(qū)域,。確定集點集中區(qū)域需先以水平有效頻率為劃分基礎(chǔ)再進(jìn)行計算。
若numLg=1,,設(shè)su為字符垂直有效頻率的上部像素點的合計數(shù):
同理知下部非0點的合計數(shù)sd。
滿足時,,則認(rèn)為字符垂直方向上部區(qū)域焦點集中,,反之亦然。
若numLg≥2,,則需按垂直頻率的區(qū)間劃分并根據(jù)式(10)計算判斷,。
計算水平方向的焦點集中區(qū)域時,選定其垂直方向的焦點集中區(qū)域,,并以其區(qū)域內(nèi)的有效垂直頻率組的中線為分界線依據(jù)式(10)計算,。
1.4 字符的細(xì)節(jié)檢測
1.4.1 有效空頻組檢測
把字符中存在間斷情況作為其字符的細(xì)節(jié)特點加以考察。
若存在Lgt-1,、Lgt,、Lgt+1(1<t<m)連續(xù)3個相鄰的水平頻率組,若滿足Lgt-1lv≠0∩Lgt+1lv≠0∩Lgtlv=0,,且Handw≥Lgnt≥min(Lgnt-1,,Lgnt+1),則認(rèn)定Lgt組為有效空頻組Lgo,。
1.4.2 直線,、曲線、波浪曲線檢測
字符6和b,、8和B等單從頻率上無法區(qū)分,,需對邊緣部分求其平均曲率加以區(qū)分,如式(11)所示,。
其中,,為對應(yīng)切線的轉(zhuǎn)角,
為對應(yīng)弧線的長度,。
若字符存在垂直焦點集中區(qū)域,,則只需求此區(qū)域外側(cè)平均曲率即可;否則計算兩側(cè),。上下兩側(cè)的有效水平頻率組的中線外側(cè)區(qū)域為計算區(qū)域,,利用式(11)~(12)計算。
字符3和B的右側(cè)曲線稱為波浪曲線,。若在計算字符時,,其側(cè)面存在垂直頻率組t符合Hgnt≥2Handw∩Hgthv≥6,,則認(rèn)為其側(cè)存在波浪曲線。
1.4.3 封閉性檢測
如果字符numLg=1,,則以字符整體為測試區(qū)域進(jìn)行檢測:
,,
成立,則此區(qū)間為上部封閉,,否則此區(qū)間非上部封閉,。同理判斷其他區(qū)間的封閉性。
如果numLg≥2,,則根據(jù)求有效垂直頻率的區(qū)域劃分進(jìn)行封閉性計算,。
1.4.4 相交檢測
書寫往往會造成兩條線段平行和相交的近似,如A和H,。因此當(dāng)字符存在efLgtlv=2且兩側(cè)Sstl=straight,,其待測區(qū)間的兩線段的斜率為k1、k2,,設(shè)相交檢測結(jié)果為Sa:
當(dāng)Sa=intersect,,則認(rèn)為其兩條線段相交,同時其相交方向可以認(rèn)為近似封閉,。
1.5 相似度比較
1.5.1 編碼
通過計算,,得到了一系列數(shù)字構(gòu)成測試值編碼Rand,如圖2所示,。
1.5.2 相似度計算
計算采用左對齊不夠補(bǔ)0的策略,,計算方法如式(15)所示。其中,,Rand為測試值編碼,,Stan為已有標(biāo)準(zhǔn)字符編碼。
1.5.3 LVc算法實現(xiàn)
該算法主要根據(jù)字符的頻率進(jìn)行分類,,在確定字符的水平有效分組的基礎(chǔ)上,,再計算其有效垂直頻率、封閉性,、視覺焦點集中區(qū)域等,。根據(jù)計算得出的數(shù)值排列成一組數(shù)字代碼表示字符特征,并把此數(shù)字特征代碼與已知標(biāo)準(zhǔn)庫中代碼串相比較,,求出的最大相近字符即識別輸出,。算法流程圖如圖3所示。
2 實驗及其結(jié)果
由于字母o和數(shù)字0以及印刷體的字母l和數(shù)字1特征不明顯,,這里不做具體討論,。
實驗1 字符的頻率和累計度
對原始圖像進(jìn)行濾波和二值化等預(yù)處理,如圖4所示,。圖5所示為圖像的頻率特征,,其中圖5(a)是原始狀態(tài)下得到的頻率,,圖5(b)是經(jīng)過修正后得到的頻率,可以明顯看出修正后的字符的頻率特征更加明顯,。圖6是進(jìn)一步對焦點集中區(qū)域進(jìn)行的頻率特征檢測,。
實驗2 字符的識別率
實驗以計算機(jī)黑體字庫為基礎(chǔ)字庫并根據(jù)實際情況對其字體庫進(jìn)行了適當(dāng)擴(kuò)充。實驗從UCI字符庫和MNIST數(shù)字庫選取了其中7 200個字符,。分別采用SUV算法[5],、非線性PCA神經(jīng)網(wǎng)絡(luò)算法[6]與本文LVc算法對2 240個字符進(jìn)行測試,結(jié)果如表1所示,。
從表1可以看出,,本文算法的正確率達(dá)到96.83%,在3種算法中最優(yōu),。
3 結(jié)論
本文提出的算法計算方法簡單,計算速度快,,易于實現(xiàn),。由于算法采用了比值法,避免了傳統(tǒng)分類結(jié)構(gòu)存在的錯誤傳導(dǎo)缺陷,,提高了識別率,,避免了模板匹配中對標(biāo)準(zhǔn)字符的依賴,可用于多種計算機(jī)字體并對手寫字體傾斜度有一定的適應(yīng)性,,且易于移植和擴(kuò)展,。
參考文獻(xiàn)
[1] 姚正斌,丁曉青,,劉長松.基于筆劃合并和動態(tài)規(guī)劃的聯(lián)機(jī)漢字切分算法[J].清華大學(xué)學(xué)報(自然科學(xué)版),,2004,44(10):31-36.
[2] KHOTNAZAD A,, HONG Y H. Invariant image recognition by Zernike moments[C]. IEEE Transactions on Pattern Analysis and Machine Intelligence,, 1990,12(5):489-497.
[3] SCH?魻LKOPF B,, BURGES C J C,, VAPNIK V. Extracting support data for a given task[C]. Proceedings of 1st International Conference on Knowledge Discovery & Data Mining, Menlo Park,, CA:AAAI Press,,1995:252-257.
[4] 武強(qiáng),童學(xué)鋒,,季雋.基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)字字符識別[J].計算機(jī)工程與應(yīng)用,,2003,19(14):112-114.
[5] 支持向量機(jī)入門[EB/OL].[2014-10-31].http://www.docin.com/p-46942684.html.
[6] 孫光民,,張程,,王鵬,,等.基于非線性PCA神經(jīng)網(wǎng)絡(luò)的手寫體字符識別[J].北京工業(yè)大學(xué)學(xué)報,2007,,33(9):915-919.