魯 超,滕國偉,鄒雪妹,安 平
(上海大學(xué) 通信與信息工程學(xué)院,上海 200444)
人民幣作為我國的法定貨幣,冠字號碼具有一票一號的特征,研究基于冠字號碼的自動識別技術(shù),對于加強人民幣的監(jiān)督管理有著很重要的意義。目前,冠字號字符識別方法主要有:模板匹配法、基于字符結(jié)構(gòu)特征的方法和基于神經(jīng)網(wǎng)絡(luò)的方法[1]。模板匹配法[2]是模式識別中最常用的基本識別算法,很多學(xué)者對模板匹配法進行了改進,如文獻[3]利用圖像中各點周圍8鄰域點的像素值,對該點像素值特征加權(quán)改造,從而使圖像中有字符筆畫的點具備不同的權(quán)重,然后再進行匹配識別,在一定程度上提高了檢測準確率;文獻[4]針對模板匹配過程需要對圖像所有點計算方差計算量大且耗時的缺點,提出一種區(qū)域模板匹配算法,即把單字符圖像劃分為若干區(qū)域,每一個區(qū)域為一個網(wǎng)格,以區(qū)域內(nèi)黑色像素的個數(shù)為特征,對每個區(qū)域的數(shù)字特征進行提取得到字符特征向量,然后計算與模板特征向量距離對字符進行識別?;诮Y(jié)構(gòu)特征也是常用的方法之一,例如文獻[5]提出一種基于結(jié)構(gòu)特征的字符識別算法,通過選用三種相互融合、補償?shù)慕Y(jié)構(gòu)特征——穿越線交點、航程、區(qū)域密度來描述字符,此外,比較常用的結(jié)構(gòu)特征[6]還有重心、輪廓、直方圖等。用于字符識別的神經(jīng)網(wǎng)絡(luò)[7-8]方法是根據(jù)人的經(jīng)驗來提取字符的特征,用特征來訓(xùn)練神經(jīng)網(wǎng)絡(luò)分類器,再利用神經(jīng)網(wǎng)絡(luò)分類器來識別字符。
上述算法對整潔干凈的人民幣冠字號字符具有較高的識別率,但對嚴重污染磨損的人民幣冠字號字符識別率卻很低?,F(xiàn)實中人民幣在流通過程會有不同程度的磨損污染,這些算法很難滿足實際應(yīng)用要求。
模板匹配與多結(jié)構(gòu)特征識別字符算法流程分為定位分割、分類識別和驗證糾錯3個階段,其中在分割部分提出了比通用的垂直投影法魯棒性更強的基于字符輪廓的字符分割方法;在最關(guān)鍵的識別部分首先對經(jīng)過多尺度縮放后的待檢字符區(qū)利用模板匹配掃描確定3個候選字符,然后利用魯棒性更強的區(qū)域密度特征矢量對候選字符進行最終篩選判定。
1)字符區(qū)域初選
如圖1a是目前市面上銷售的點鈔機所拍攝到的50萬像素的整幅人民幣正面圖像及本文使用x、y坐標軸正方向,號碼位于紙幣正面的左下方,位置固定,通過人民幣圖像區(qū)域和背景圖像區(qū)域的灰度差確定紙幣的邊界。然后,根據(jù)號碼在紙幣中的位置關(guān)系分割包含人民幣號碼的圖像子域,如圖1b所示。
圖1 字符區(qū)域初選
2)基于輪廓分割字符
準確定位出字符區(qū)域并對其進行單字符分割是識別號碼前關(guān)鍵的一步。最常用的方法是垂直投影法,這種方法易受二值化后噪聲的影響,尤其是對污染磨損的紙幣字符的分割,容易定位偏上或偏下,為克服這一方法的缺點,本文提出了一種魯棒性更強的基于字符輪廓的字符分割算法,具體步驟如下:
(1)對字符區(qū)自適應(yīng)二值化。其中閾值本身是一個變量,自適應(yīng)閾值T(x,y)在每個像素點都不同,計算像素點周圍的b×b區(qū)域的像素值加權(quán)平均,然后減去一個常數(shù)c來得到自適應(yīng)閾值,位于(xi,yi)處閾值計算如下
對圖像進行二值化,即
效果如圖2b所示對不同的嚴重污染磨損的字符都實現(xiàn)了較好的二值化提取。
(2)從二值化圖像中提取明亮區(qū)域的外輪廓并初步排除較小噪聲。根據(jù)像素值跳變對二值化圖像明亮區(qū)域提取外輪廓,同時設(shè)定閾值,閾值為單個數(shù)字字符1輪廓像素點數(shù)目的1/2,當輪廓像素點數(shù)目小于閾值則排除該輪廓,最終篩選出的輪廓圖像如圖2c所示,然后,遍歷各輪廓像素點的坐標確定各輪廓的外接矩形如圖2d所示,各矩形用左上頂點坐標(x,y),高h、寬w表示。
(3)根據(jù)冠字號字符之間的位置關(guān)系進一步排除較大噪聲進而分割出最終的單字符區(qū)。如圖2c所示的劃痕和混入的背景圖案不能通過步驟(2)設(shè)定閾值簡單的排除掉,利用冠字號字符的相鄰字符在水平方向上字符間隔相同和在垂直方向上位于同一水平的特點:(a)在y軸方向上統(tǒng)計各外接矩形水平中分線y坐標{y0,y1,…,yj,…,yn}及各矩形高度{h0,h1,…,hj,…,hn},計算出水平中分線坐標的中位數(shù)ymid及高度均值have,遍歷比較各矩形高度hj及水平中分線坐標yj,若不滿足{|yj-ymid|<have/2}時則排除該外接矩形;(b)在水平方向上統(tǒng)計各外接矩形垂直中分線x坐標{x0,x1,…,xj,…,xn},按x坐標遞增順序排序,然后依次計算出相鄰x坐標間隔{d1,d2,…,dj,…,dn};(c)去夾雜,從間隔中找到中位數(shù)dmid,若滿足{xj+1-xj-1<3/2×dmid,xj-xj-1<dmid,xj+1-xj<dmid}時則排除該外接矩形;(d)填補,紙幣字符與劃痕連在一起或者字符磨損嚴重經(jīng)過以上處理都可能被排除掉,因此,在這需要進行填補,若滿足{xj-xj-1>9/5×dmid}則填補一個矩形,填補矩形寬為相鄰兩外接矩形寬的均值wave=(wj+wj+1)/2,高為相鄰兩外接矩形高的均值have=(hj+hj+1)/2,左上頂點坐標 x=(xj+xj+1-wave)/2,坐標y為相鄰兩外接矩形左上角頂點y坐標的均值y=(yj+yj+1)/2,經(jīng)過以上處理獲得篩選后的字符區(qū)如圖2e所示。
(4)按規(guī)則尺寸歸一化并獲取最終待檢區(qū)。這里采用一種與通常所指的歸一化不同的方法,處理如下:(a)在y軸方向上找到各個外接矩形水平中分線y坐標{y0,y1,…,yj,…,y10},求得均值yave,所有外接矩形尺寸調(diào)整則都以直線y=yave為水平中位線向上下方向延伸;(b)在x軸方向上找到各外接矩形的垂直中分線xj坐標,每個外接矩形分別以自己的垂直中分線x=xj向左右方向延伸;(c)各外接矩形以(xj,yave)為中心尺寸調(diào)整為預(yù)先人為統(tǒng)計的最大字符的尺寸,最終獲得待檢字符區(qū),如圖2f所示。
圖2 字符分割過程
根據(jù)各字符輪廓數(shù)目將字符分類并對待檢字符區(qū)進行改進的模板匹配掃描,確定最匹配字符及對應(yīng)最佳匹配區(qū)和2個候選字符及2個對應(yīng)最佳匹配區(qū)。
1)基于輪廓數(shù)目的分類
根據(jù)待檢字符的內(nèi)外輪廓數(shù)目總和將字符進行分類識別,字符輪廓數(shù)目可分為:3輪廓、2輪廓和1輪廓。3輪廓:B,8;2輪廓:A,D,P,Q,R,0,4,6,9;1輪廓:C,E,F(xiàn),G,H,I,J,K,L,M,N,S,T,U,V,W,X,Y,Z,1,2,3,5,7。每一類中的字符只需要與自己所屬字符類中的字符模板進行匹配識別與驗證。步驟如下:
(1)對單個待檢字符區(qū)進行自適應(yīng)二值化處理獲得二值化圖像;
(2)篩除噪聲輪廓,僅提取字符區(qū)二值化圖像中所有明亮區(qū)域的外輪廓,計算所有輪廓上像素點個數(shù),找到輪廓序列像素點數(shù)目最多的那個輪廓為字符輪廓;
(3)對(2)中篩選出的字符提取內(nèi)部輪廓,按內(nèi)、外輪廓數(shù)目之和將待檢字符歸類。
2)將分割的單個字符進行多級縮放獲得n張不同尺寸的待掃描圖像。
模板匹配法對字符尺寸要求較高,模板圖像的尺寸固定,待掃描圖像中字符的尺寸與模板尺寸越接近則匹配度越高就越能被正確識別,對分割出的單字符區(qū)按新定義的規(guī)則進行多次縮放,使得在放大與縮小過程產(chǎn)生的多個待檢字符區(qū)中會有一個待檢字符區(qū)中的字符尺寸能夠極限接近模板尺寸,同時,縮放能對變形的字符進行校正,從而更好地解決紙幣褶皺變形造成的錯誤識別問題。
規(guī)則:字符寬高比為1∶2,為了同時達到等比例調(diào)整字符尺寸和糾正變形字符2個目的,縮放既有按寬高步長1∶2等比例縮放,又要有非等比例縮放。針對50萬像素的點鈔機算法為例,使用的字符模板尺寸為12×22,通過1.1節(jié)定位分割出的單字符區(qū)尺寸為14×26,一方面,對字符寬和高分別以1個像素和2個像素為步長進行等比例縮放,得到13×24、14×26、15×28三張待掃描圖像,另一方面進行非等比例縮放得到圖像尺寸13×25、14×25、14×27、15×27,最終,將14×26的單字符區(qū)圖像按上述規(guī)則進行尺寸調(diào)整獲得7張圖像{Pi,i=0,1,2,…,6},尺寸依次為:13×24、13×25、14×25、14×26、14×27、15×27、15×28。
3)進行模板匹配掃描獲得3個候選字符
單個待檢字符區(qū)圖像通過尺寸調(diào)整獲得n張待掃描圖像{Pi,i=0,1,2,…,n-1},依次用待檢字符所屬分類中的模板對n張待掃描圖像{Pi,i=0,1,2,…,n-1}進行遍歷掃描,計算出對應(yīng)每個模板的最佳匹配值及相應(yīng)匹配區(qū)域,篩選出匹配度最接近的3個字符作為候選字符,具體步驟如下:
(1)利用單個模板對單張待掃描圖像進行模板掃描計算并比較出最小方差。設(shè)圖像PT為待檢字符所屬分類中的一個模板,尺寸為M×N,待掃描圖像Pk(0≤k≤n-1),尺寸為Lk×Wk(Lk>M,Wk>N),匹配過程是將模板PT在待掃描圖像Pk上滑動,計算PT與其覆蓋下的待掃描圖像Pk的子圖像Pkx,y的方差Dk(x,y)
其中,(x,y)為模板左上角頂點在待掃描圖像中的坐標,其中0≤x≤Lk-M、0≤y≤Wk-N,方差越小說明模板與相應(yīng)圖像越接近,對圖像Pk完成模板掃描,總共獲得(Lk-M+1)×(Wk-N+1)個方差值,比較計算出最小方差Dk并保存獲得該最小方差的模板位置坐標(x,y)。
(2)依次用(1)中的模板圖像PT按照步驟(1)所講過程完成對n張待掃描圖像{Pi,i=0,1,2,…,n-1}的掃描計算,對應(yīng)n個待掃描圖像得到n個方差{Di,i=0,1,2,…,n-1}及與n個方差值對應(yīng)的坐標,從n個方差比較獲得最小方差值DT和與該最小方差值對應(yīng)的坐標,以該坐標為左上頂點在相應(yīng)的待掃描圖像上切割出尺寸為M×N的圖像即為與模板PT對應(yīng)的匹配區(qū)域。
(3)經(jīng)過過程(1)、(2)可以得到單個模板PT對應(yīng)的最小方差DT和匹配區(qū)域,依次用待掃描圖像所屬分類中所有模板按照(1)、(2)步驟完成模板掃描計算,例如,若待檢字符區(qū)被歸為2輪廓分類中,對應(yīng)著2輪廓分類中的字符:A,D,P,Q,R,0,4,6,9共有9個模板,計算過后,對應(yīng)著9個模板就有9個最小方差和與方差對應(yīng)的9個匹配區(qū)域。
(4)將(3)得到的所有模板的最小方差按遞增順序排列,提取獲得其中3個最小的方差和與之對應(yīng)的3個匹配區(qū)域,最小方差對應(yīng)的那個模板字符就是候選字符,3個最小方差對應(yīng)著3個候選字符。
1)提取區(qū)域密度特征矢量過程
(1)排除噪聲的影響,對匹配區(qū)域去噪:模板掃描過程使用的是灰度圖像,提取的匹配區(qū)域也是灰度圖像,如圖3a所示,尺寸為M×N,對匹配區(qū)域自適應(yīng)二值化處理,二值圖像中亮點像素值為255,暗點像素值為0,如圖3b所示;統(tǒng)計各個孤立亮點區(qū)域的像素點總數(shù),以樣本中數(shù)字字符1的像素點總數(shù)的一半為閾值,將所有亮點總數(shù)小于閾值的孤立亮點區(qū)域像素值重新賦值為0,去噪效果如圖3c所示。
圖3 去噪過程效果圖
(2)統(tǒng)計密度特征矢量:根據(jù)字符結(jié)構(gòu)特征,將去噪處理后的字符圖像劃分為等間隔對稱的n塊區(qū)域。以本文實驗過程為例,分割提取的匹配區(qū)域圖像的尺寸為12×22,將匹配區(qū)域?qū)ΨQ的劃分為以下9塊:1區(qū)為0≤x≤3∩0≤y≤6;2區(qū)為4≤x≤7∩0≤y≤6;3 區(qū)為8≤x≤11∩0≤y≤6;4 區(qū) 為0≤x≤3∩7≤y≤13;5 區(qū) 為 4≤x≤7∩7≤y≤13;6 區(qū) 為 8≤x≤11∩7≤y≤13;7 區(qū)為0≤x≤3∩14≤y≤21;8 區(qū)為4≤x≤7∩14≤y≤21;9區(qū)為8≤x≤11∩14≤y≤21;依次統(tǒng)計1~9區(qū)各區(qū)亮點總數(shù),1區(qū)中亮點總數(shù)對應(yīng)特征向量中元素d0,2區(qū)亮點總數(shù)對應(yīng)特征向量中元素d1,直到9區(qū),組成9維特征向量 d={d0,d1,d2,d3,d4,d5,d6,d7,d8}。
2)驗證規(guī)則
(1)設(shè)對最匹配字符的匹配區(qū)域提取的區(qū)域密度特征矢量為d={d0,d1,d2,...,dn-1},對應(yīng)該最匹配字符的標準區(qū)域密度特征矢量為di={di0,di1,di2,...,di(n-1)},統(tǒng)計特征向量所有位置滿足條件|dij-dj|≥delta的元素總數(shù)nd,其中0≤j≤n-1,delta為允許的矢量中單個元素與標準矢量元素之間的最大誤差,設(shè)N為特征向量中允許超出誤差范圍的元素的最大個數(shù),當nd≤N,則認為最匹配字符就是待掃描圖像中字符,為最終識別結(jié)果,若nd>N,則提取下一個候選字符匹配區(qū)域的區(qū)域密度矢量,按同樣的方法與該候選字符的標準區(qū)域密度特征矢量進行比較驗證,直到滿足nd≤N,則認為候選字符為最終識別結(jié)果,每個候選字符的驗證所參考的標準區(qū)域密度矢量都與候選字符對應(yīng)。
(2)若經(jīng)過(1)驗證,3個候選字符都不滿足匹配條件,則令N=N+1,繼續(xù)進行(1)的驗證,若依然沒有滿足要求的候選字符,則認為紙幣過度磨損無法識別,在該字符位置輸出空格,實驗結(jié)果統(tǒng)計中認為識別錯誤。
本文使用兩種實驗樣本:1)從點鈔機公司制造的高速紙幣清分機掃描得到的大量50萬像素紙幣圖像中隨機抽取200張未經(jīng)區(qū)分的一般紙幣圖像;2)從大量樣本中挑選出的嚴重污染磨損、褶皺變形的53張50萬像素紙幣圖像。
利用標準的模板匹配法和本文算法分別對樣本1)和2)進行識別,標準模板匹配法流程為首先進行垂直投影分割,然后對分割的字符尺寸歸一化,最后進行模板匹配識別,兩種字符識別算法對兩個樣本識別效果如表1和表2所示。
表1 兩種字符識別算法對樣本1識別效果
表2 兩種字符識別算法對樣本2識別效果
可以看出,本文算法對樣本1和樣本2識別率都高于標準模板匹配法,尤其是針對樣本2嚴重污染磨損的字符識別率更是遠遠高于標準模板匹配法的識別率,具有非常強的魯棒性,而時間只是略高于后者。
本文提出了一種將模板匹配與多種字符結(jié)構(gòu)特征相結(jié)合的人民幣冠字號字符識別算法,其特點在于:1)在分割部分提出了比通用的垂直投影法分割率更高、魯棒性更強的基于字符輪廓特征和字符間位置關(guān)系的分割方法;2)對待檢字符區(qū)進行多級不等比例尺寸調(diào)整獲得多個待檢字符區(qū),有效的解決了字符褶皺變形造成的誤檢問題;3)具備糾錯功能,在最關(guān)鍵的識別部分不是直接判定最匹配的模板為最終識別結(jié)果,而是利用改進模板匹配法獲得多個候選字符,然后利用魯棒性更強的區(qū)域密度特征矢量依次對候選字符進行最終篩選判定。實驗結(jié)果表明,本文算法能較好地解決現(xiàn)有人民幣冠字號字符識別算法對嚴重污染磨損的人民幣冠字號字符識別率低的難題。
[1] GUO J,ZHAO Y,CAI A.A reliable method for paper currency recognition based on LBP[C]//Proc.IEEE International Confer?ence on Network Infrastructure and Digital Content.[S.l.]:IEEE Press,2010:359-363.
[2] DI Z M L.Recognition algorithm of car license plate characters based on modified template match[J].Foreign Electronic Mea?surement Technology,2010(1):18.
[3]陳國彬,張廣泉.一種基于特征加權(quán)模板匹配方法在紙幣字符識別中的應(yīng)用[J].微電子學(xué)與計算機,2013,30(3):115-117.
[4] 朱顥東,李紅嬋.基于特征加權(quán)模糊模板匹配的字符識別[J].蘭州理工大學(xué)學(xué)報,2013(1):68-71.
[5] 王焱,劉洋,宋百春.人民幣紙幣號碼識別算法研究[J].計算機工程與科學(xué),2013,35(8):103-108.
[6] ZHU X,REN M.A recognition method of RMB numbers based on character features[C]//Proc.2nd International Conference on Information, Electronics and Computer.[S.l.]:Atlantis Press,2014:51-54.
[7]ZHAO T,ZHAO J,ZHENG R,et al.Study on RMB number rec?ognition based on genetic algorithm artificial neural network[C]//Proc.3rd International Congress on Image and Signal Processing(CISP).[S.l.]:IEEE Press,2010,4:1951-1955.
[8] LIU L,YE Y,XIE Y,et al.A novel approach for character fea?ture extraction and recognition based on RBF neural network[J].Opto-Electronic Engineering,2010(11):149-154.