陳湘 孫章 丁雪凇
摘? 要: 由于銀行規(guī)定用戶需用黑色碳素筆填寫票據(jù)中信息,但實際操作中存在信息填寫不規(guī)范現(xiàn)象。針對這種情況,提出一種自動識別用戶書寫字符類型的算法。該算法首先識別字符顏色,并根據(jù)字符在紅外圖像下是否存在,對字符類型進(jìn)行粗分類;其次,選擇正面紅外和正面彩色圖像中較清晰的圖像作為字符分割的原圖像,分別采用閾值法和改進(jìn)的連通域分析方法對票據(jù)正面紅外和正面彩色圖像中的字符做分割;再次,根據(jù)字符筆墨顏色和形體特征,對字符進(jìn)行顏色判定、基于閾值法的粗細(xì)判定、基于位置關(guān)系的手寫體或打印體判定;最后,設(shè)計字符類型識別器,準(zhǔn)確識別字符類型。經(jīng)過實際銀行票據(jù)圖像測試,相比于現(xiàn)有方法,該文采用的方法不損壞票據(jù)樣本,能夠準(zhǔn)確地識別出銀行票據(jù)中的字符類型,具有較好的應(yīng)用前景和商業(yè)價值。
關(guān)鍵詞: 銀行票據(jù)字符; 字符類型識別; 字符分割; 字符顏色判定; 識別器設(shè)計; 圖像測試
中圖分類號: TN911?34; TP391.41? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)08?0044?05
Method of bill character type recognition under complex background
CHEN Xiang1, SUN Zhang2, DING Xuesong1
(1. Xihua University, Chengdu 610039, China; 2. School of Electrical and Electronic Information, Xihua University, Chengdu 610039, China)
Abstract:? Although the bank stipulates that its users should fill in the bill with a black carbon pen, there? are still some non?standard phenomena of information filling in the actual operation. An algorithm for automatic recognition of the character types written by the users is proposed to solve above problems. In the algorithm, the character color is recognized firstly, and then the character type is roughly classified based on whether the character exists in the infrared image. After that, the clearer images are selected from the front infrared and color images as the original images of the character segmentation, and the characters in the front infrared and color images of the bill is segmented by means of the threshold method and the improved connected component analysis method respectively. According to the ink color and physical feature of the characters, the color judgment, the thickness judgment based on the threshold method, and the handwriting or print judgment based on the position relationship are carried out in the character judgment. The character type recognizer is designed to accurately recognize the character type. The testing results of actual bank bill images show that, in comparison with the existing method, the method adopted in this paper does not damage the bill sample, and can accurately identify the character type in the bank bill, which has a good application prospect and commercial value.
Keywords: bank bill character; character type recognition; character segmentation; character colour judgment; recognizer design; image test
0? 引? 言
銀行票據(jù)是一種特殊文檔,已被廣泛應(yīng)用在現(xiàn)代經(jīng)濟、生活的各個方面。利用計算機技術(shù)對票據(jù)中要素進(jìn)行識別、驗證,對于確保業(yè)務(wù)安全,提高工作效率有重要意義。票據(jù)中用戶填寫的內(nèi)容非常重要,銀行規(guī)定用戶使用黑色的碳素筆來填寫票據(jù)上的信息,但實際操作中很多用戶信息填寫不規(guī)范,如用戶使用紅色/藍(lán)色的碳素筆或鉛筆或圓珠筆填寫等,導(dǎo)致票據(jù)涂改、文書變造等案情的發(fā)生。目前,對書寫的各種票據(jù)中字符類型的檢測大多是檢測字符的字跡種類、不同筆跡的色痕、字跡的書寫墨水等[1?2]。使用方法有顯微分光光度分析法,高效液相色譜法,傅里葉變換顯微紅外光譜法等,這些方法大多使用顯微鏡等精細(xì)儀器,對字符的化學(xué)特性、顯微紅外光譜圖等進(jìn)行檢查,在特定約束條件下能取得一定效果,但其共同缺陷是損壞票據(jù)樣品,特別對紙張上微量字跡的檢測受到一定的限制。
觀察銀行提供的大量填寫完整信息的票據(jù)正面彩色和正面紅外圖像,發(fā)現(xiàn)書寫的字符使用的筆的類型(碳素筆/圓珠筆/鉛筆)不同,顏色(黑色/藍(lán)色/紅色)不同,票據(jù)影像上字符存在情況不同,兩種票據(jù)圖像中存在像素情況統(tǒng)計表如表1所示。
作為票據(jù)自動處理識別系統(tǒng)中的一部分,為了在不損壞票據(jù)樣本的前提下,能夠準(zhǔn)確和快速識別出規(guī)范的使用黑色碳素筆書寫的字符,本文提出一種能應(yīng)用于實際的字符類型識別方法。首先,對字符顏色進(jìn)行判定,并對字符類型進(jìn)行粗分類;其次,選擇正面紅外和正面彩色圖像中較清晰的圖像作為字符分割的原圖像,分別采用閾值法和改進(jìn)的連通域分析方法對兩種圖像中的字符做分割;再次,根據(jù)字符筆墨顏色和形體特征,對字符進(jìn)行顏色判定、粗細(xì)判定、手寫體或打印體判定;最后,設(shè)計字符類型識別器,準(zhǔn)確識別字符類型,取得較理想的效果。本文提出的票據(jù)字符類型識別方法流程如圖1所示。
1? 票據(jù)字符的分割
銀行票據(jù)字符分割的質(zhì)量直接影響字符類型識別的準(zhǔn)確性。對于票據(jù)正面紅外圖像,圖像中除紅外下能顯示的字符外,幾乎沒有干擾,唯一的缺點是顯示的字符在有些情況下可能比較淺。對于票據(jù)正面彩色圖像,其背景復(fù)雜,有由多條固定長度的紅色線條組成的區(qū)域,有由淺綠色的底紋組成的區(qū)域,根據(jù)底紋不同,將背景分為紅水線區(qū)域和非紅水線區(qū)域,如圖2所示。本文將票據(jù)正面彩色圖像中的字符分割方法分為紅水線區(qū)域字符分割方法和非紅水線區(qū)域字符分割方法。
使用最大類間方差法(OTSU)對票據(jù)的正面紅外圖像進(jìn)行二值化處理,判斷票據(jù)的正面紅外圖像中是否存在字符,若存在,則分割其字符;若不存在,則分割票據(jù)正面彩色圖像下的字符。
分割正面紅外圖像下的字符算法是利用前景模型的水下圖像增強算法[3]增強票據(jù)中字符的顏色,同時降低字符周圍噪點的影響;使用OTSU對增強后的圖像進(jìn)行二值化處理,精確地分割出圖像中的字符。分割票據(jù)正面紅外圖像下的深色字符結(jié)果如圖3b)所示,淺色字符結(jié)果如圖3d)所示。
票據(jù)正面彩色圖像紅水線區(qū)域字符分割方法步驟如下:
1) 使用多尺度Retinex方法[4]對紅水線區(qū)域圖像進(jìn)行預(yù)處理。遍歷預(yù)處理后圖像,若某像素點藍(lán)色分量值小于閾值B,且藍(lán)、綠、紅三色分量兩兩組合,差值均小于閾值T時,將滿足上述條件下像素點的像素值置為白色(字符),其他位置像素值置為黑色(背景),粗略分割出字符。其中Retinex方法中最大尺度為200,尺度數(shù)量為3,對比度為2。經(jīng)實驗統(tǒng)計,B取值為50,T取值為50。
2) 對步驟1)中得到的圖像進(jìn)行高斯濾波,然后采用固定閾值法進(jìn)行二值化處理,閾值取40。
3) 對步驟2)中得到圖像使用3×3的橢圓結(jié)構(gòu)進(jìn)行1次膨脹操作,然后進(jìn)行1次開運算處理。
4) 將步驟1)中圖像與步驟3)中圖像進(jìn)行與運算。
5) 采用連通域標(biāo)記算法[5]標(biāo)記圖像步驟4)中獨立小區(qū)域,并去噪,精細(xì)地分割出字符。
分割票據(jù)紅水線區(qū)域中的字符結(jié)果如圖4b)、圖4d)所示。
票據(jù)正面彩色圖像中非紅水線區(qū)域字符分割方法是首先使用基于局部標(biāo)準(zhǔn)差的自適應(yīng)對比度增強算法對此區(qū)域圖像進(jìn)行預(yù)處理,水平和垂直分塊數(shù)均為8,裁剪限幅為0.01,對比度控制為1.5,不進(jìn)行通道分離;然后,對預(yù)處理后圖像進(jìn)行灰度化和二值化處理;最后采用連通域標(biāo)記算法標(biāo)記圖像中獨立小區(qū)域,并去噪,同時去除待檢測區(qū)域的邊框直線,分割出非紅水線區(qū)域中的字符。
分割非紅水線區(qū)域中字符結(jié)果如圖5b)所示。
2? 票據(jù)字符的顏色判定
票據(jù)正面彩色圖像上的字符顏色一般為灰色/黑色/藍(lán)色/紅色。分析其有效信息(數(shù)字和漢字)的顏色,以便對字符類型識別進(jìn)行粗分類。設(shè)票據(jù)正面彩色圖像上某像素點(i,j),其紅、綠、藍(lán)三基色的分量對應(yīng)的灰度值分別為R,G,B。
灰色字符的判定步驟是采用基于局部標(biāo)準(zhǔn)差的自適應(yīng)對比度增強算法對待檢測區(qū)域進(jìn)行圖像增強;然后采用圖像的R,G,B顏色分量信息對字符進(jìn)行分割,遍歷每一個像素點,提取出同時滿足:B 藍(lán)色字符的判定步驟是首先提取待檢測字符圖像藍(lán)色通道圖像,并采用OTSU方法進(jìn)行二值化處理,得圖像A;其次使用圖像的RGB顏色分量信息對字符進(jìn)行分割,遍歷每一個像素點,提取出同時滿足(B-R)>T1,(B-G)>T2的像素點,得到圖像B,經(jīng)實驗統(tǒng)計,閾值T1,T2分別取30,20;最后將圖像A和圖像B相與,得到的圖像即為分割出的藍(lán)色字符圖像。 藍(lán)色碳素筆和藍(lán)色圓珠筆兩種藍(lán)色區(qū)分方法是提取待檢測字符區(qū)域的藍(lán)色通道圖像,采用固定閾值法對圖像進(jìn)行二值化處理,并統(tǒng)計圓珠筆藍(lán)和碳素筆藍(lán)像素點個數(shù),分別記為b1,b2。由實驗統(tǒng)計,若b1>T1(取400),或b1>T2(取400),則表明字符為藍(lán)色碳素筆;否則,字符為藍(lán)色圓珠筆。 3? 票據(jù)字符的粗細(xì)判定和手寫體或打印體判定 觀察銀行提供的大量票據(jù)樣本發(fā)現(xiàn)黑色圓珠筆和黑色碳素筆在顏色上差別小,但使用黑色圓珠筆書寫字符比碳素筆書寫字符細(xì),本文提出一種比較字符粗細(xì)的方法來判定字符為黑色圓珠筆或黑色碳素筆。具體步驟是首先使用本文提出的票據(jù)字符分割方法,對待檢測區(qū)域中字符進(jìn)行分割,統(tǒng)計分割后的字符像素點個數(shù)a;其次對圖像A進(jìn)行細(xì)化處理[6],統(tǒng)計細(xì)化后圖像像素個數(shù)b;然后獲得a與b的比值R;最后將比值R與閾值T比較,如果R>T,則說明字符較粗,判定字符為黑色碳素筆;如果R≤T,則說明字符較細(xì),判定字符為黑色圓珠筆。由實驗驗證和統(tǒng)計,得出閾值T取2.0。 在實際用戶填寫信息的票據(jù)中,有一種情況是用戶填寫信息處的內(nèi)容為機器打印,且打印的字符顏色往往比手寫的黑色碳素筆字符顏色淺很多,為避免將顏色較淺的灰色打印碳素筆誤識別為鉛筆,本文提出一種基于位置關(guān)系的手寫體或打印體判定方法。算法具體步驟如下: 1) 精確提取分割出的字符輪廓,并提取長度和寬度均大于閾值Th的外接矩形。由實驗驗證和統(tǒng)計,閾值Th取15。 2) 去除和待檢測區(qū)域一樣大的外接矩形,并將切分出的字符按順序排列和輸出。 3) 比較各字符外接矩形的y坐標(biāo)值、高度、寬度、兩字符間間距是否同時滿足兩兩外接矩形的y坐標(biāo)值之差小于Y,高度之差小于H,寬度之差小于W,三字符中兩間距之差小于D。若滿足,則初步判定此單字符為打印字體,并計數(shù);若不滿足,則初步判定此單字符為手寫字體,并計數(shù)。重復(fù)上述操作,直至遍歷完所有字符,最終打印和手寫字體個數(shù)分別記為a和b。由實驗統(tǒng)計,閾值Y,H,W,D分別取8,10,6,5。 4) 將A/B與閾值T比較,若比值大于T,則判定字符為打印字體;若比值小于T,則判定字符為手寫字體。由實驗驗證和統(tǒng)計,閾值T取0.65。 4? 票據(jù)字符類型的識別器設(shè)計 復(fù)雜背景下的票據(jù)字符類型識別器設(shè)計過程如下: 1) 采用本文提出的票據(jù)字符顏色判定方法,分別統(tǒng)計正面彩色圖像中待判定字符的黑色、藍(lán)色、紅色像素點個數(shù)black,blue,red,同時統(tǒng)計正面紅外圖像中待判定字符像素點個數(shù)p。 2) 由于銀行票據(jù)底紋不同,故識別器判定條件不同。對于非紅水線區(qū)域,若black>T1,blue ① 如果p ② 如果p≥T1(取100),表明正面紅外圖像中待判定區(qū)域字符存在,此種情況字符類型為黑色碳素筆或鉛筆。接下來,根據(jù)正面彩色圖像中待判定字符的顏色,及字符是手寫體或打印體判定,區(qū)分出具體字符類型。首先,使用正面彩色圖像固定閾值法,統(tǒng)計出字符像素點個數(shù)A,初步區(qū)分出待檢測字符顏色為灰色,還是黑色;其次,根據(jù)字符粗細(xì)判斷,獲得字符粗細(xì)的量ball,如果A>T2且ball 3) 如果blue>T(取55),表明待判斷字符為藍(lán)色碳素筆或藍(lán)色圓珠筆。若p≥T(取400),表明正面紅外圖像中待判定區(qū)域字符存在,則字符類型為藍(lán)色碳素筆;若p 對于字符類型為紅色碳素筆、紅色圓珠筆的判斷,過程與步驟3)相似,只需修改閾值red>T1(取800),p< T2(取400)。 5? 實驗結(jié)果及分析 實驗樣本圖像為銀行提供的用戶填寫完整信息的票據(jù),票據(jù)類型主要包括支票、轉(zhuǎn)賬支票、銀行匯票、現(xiàn)金支票、進(jìn)賬單、銀行承兌匯票等11種。其中票據(jù)中字符類型有黑色/紅色/藍(lán)色的碳素筆、鉛筆、黑色/紅色/藍(lán)色的圓珠筆。樣本圖像是使用深圳辰通智能股份有限公司的A4憑證掃描模塊進(jìn)行采集。首先,通過使用模板匹配方法定位用戶填寫的收款人、出票人賬號、人民幣、用途、密碼、行號、票號、簽發(fā)日期、賬號等票面要素信息;然后,使用本文提出的識別方法對其進(jìn)行識別;最后,得出識別結(jié)果。表2為識別結(jié)果。 實驗結(jié)果表明,本文提出的算法取得了較好效果,適用于識別銀行票據(jù)中顏色較深的漢字和數(shù)字;適用于識別部分淺色漢字和數(shù)字。同時,對誤識別的票據(jù)進(jìn)行了分析,發(fā)現(xiàn)原因多種多樣。如圖6a)中的誤識票據(jù)1,本方法將鉛筆誤識為黑色碳素筆,原因是在用鉛筆寫的字符上使用黑色碳素筆覆蓋寫了一層,使鉛筆顏色加深,檢查出很多黑色像素點,導(dǎo)致誤報。而圖6(b)中的誤識票據(jù)2,黑色碳素筆誤識為鉛筆,原因是數(shù)字“0”都連在一起,兩個數(shù)字“0”沒有分割開來,將打印體識別為手寫體,導(dǎo)致誤判為鉛筆。 筆者相信,當(dāng)進(jìn)一步優(yōu)化圖像預(yù)處理方法,會獲得更好的識別率。