陈湘 孙章 丁雪凇
摘 要: 由于銀行规定用户需用黑色碳素笔填写票据中信息,但实际操作中存在信息填写不规范现象。针对这种情况,提出一种自动识别用户书写字符类型的算法。该算法首先识别字符颜色,并根据字符在红外图像下是否存在,对字符类型进行粗分类;其次,选择正面红外和正面彩色图像中较清晰的图像作为字符分割的原图像,分别采用阈值法和改进的连通域分析方法对票据正面红外和正面彩色图像中的字符做分割;再次,根据字符笔墨颜色和形体特征,对字符进行颜色判定、基于阈值法的粗细判定、基于位置关系的手写体或打印体判定;最后,设计字符类型识别器,准确识别字符类型。经过实际银行票据图像测试,相比于现有方法,该文采用的方法不损坏票据样本,能够准确地识别出银行票据中的字符类型,具有较好的应用前景和商业价值。
关键词: 银行票据字符; 字符类型识别; 字符分割; 字符颜色判定; 识别器设计; 图像测试
中图分类号: TN911?34; TP391.41 文献标识码: 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 引 言
银行票据是一种特殊文档,已被广泛应用在现代经济、生活的各个方面。利用计算机技术对票据中要素进行识别、验证,对于确保业务安全,提高工作效率有重要意义。票据中用户填写的内容非常重要,银行规定用户使用黑色的碳素笔来填写票据上的信息,但实际操作中很多用户信息填写不规范,如用户使用红色/蓝色的碳素笔或铅笔或圆珠笔填写等,导致票据涂改、文书变造等案情的发生。目前,对书写的各种票据中字符类型的检测大多是检测字符的字迹种类、不同笔迹的色痕、字迹的书写墨水等[1?2]。使用方法有显微分光光度分析法,高效液相色谱法,傅里叶变换显微红外光谱法等,这些方法大多使用显微镜等精细仪器,对字符的化学特性、显微红外光谱图等进行检查,在特定约束条件下能取得一定效果,但其共同缺陷是损坏票据样品,特别对纸张上微量字迹的检测受到一定的限制。
观察银行提供的大量填写完整信息的票据正面彩色和正面红外图像,发现书写的字符使用的笔的类型(碳素笔/圆珠笔/铅笔)不同,颜色(黑色/蓝色/红色)不同,票据影像上字符存在情况不同,两种票据图像中存在像素情况统计表如表1所示。
作为票据自动处理识别系统中的一部分,为了在不损坏票据样本的前提下,能够准确和快速识别出规范的使用黑色碳素笔书写的字符,本文提出一种能应用于实际的字符类型识别方法。首先,对字符颜色进行判定,并对字符类型进行粗分类;其次,选择正面红外和正面彩色图像中较清晰的图像作为字符分割的原图像,分别采用阈值法和改进的连通域分析方法对两种图像中的字符做分割;再次,根据字符笔墨颜色和形体特征,对字符进行颜色判定、粗细判定、手写体或打印体判定;最后,设计字符类型识别器,准确识别字符类型,取得较理想的效果。本文提出的票据字符类型识别方法流程如图1所示。
1 票据字符的分割
银行票据字符分割的质量直接影响字符类型识别的准确性。对于票据正面红外图像,图像中除红外下能显示的字符外,几乎没有干扰,唯一的缺点是显示的字符在有些情况下可能比较浅。对于票据正面彩色图像,其背景复杂,有由多条固定长度的红色线条组成的区域,有由浅绿色的底纹组成的区域,根据底纹不同,将背景分为红水线区域和非红水线区域,如图2所示。本文将票据正面彩色图像中的字符分割方法分为红水线区域字符分割方法和非红水线区域字符分割方法。
使用最大类间方差法(OTSU)对票据的正面红外图像进行二值化处理,判断票据的正面红外图像中是否存在字符,若存在,则分割其字符;若不存在,则分割票据正面彩色图像下的字符。
分割正面红外图像下的字符算法是利用前景模型的水下圖像增强算法[3]增强票据中字符的颜色,同时降低字符周围噪点的影响;使用OTSU对增强后的图像进行二值化处理,精确地分割出图像中的字符。分割票据正面红外图像下的深色字符结果如图3b)所示,浅色字符结果如图3d)所示。
票据正面彩色图像红水线区域字符分割方法步骤如下:
1) 使用多尺度Retinex方法[4]对红水线区域图像进行预处理。遍历预处理后图像,若某像素点蓝色分量值小于阈值B,且蓝、绿、红三色分量两两组合,差值均小于阈值T时,将满足上述条件下像素点的像素值置为白色(字符),其他位置像素值置为黑色(背景),粗略分割出字符。其中Retinex方法中最大尺度为200,尺度数量为3,对比度为2。经实验统计,B取值为50,T取值为50。
2) 对步骤1)中得到的图像进行高斯滤波,然后采用固定阈值法进行二值化处理,阈值取40。
3) 对步骤2)中得到图像使用3×3的椭圆结构进行1次膨胀操作,然后进行1次开运算处理。
4) 将步骤1)中图像与步骤3)中图像进行与运算。
5) 采用连通域标记算法[5]标记图像步骤4)中独立小区域,并去噪,精细地分割出字符。
分割票据红水线区域中的字符结果如图4b)、图4d)所示。
票据正面彩色图像中非红水线区域字符分割方法是首先使用基于局部标准差的自适应对比度增强算法对此区域图像进行预处理,水平和垂直分块数均为8,裁剪限幅为0.01,对比度控制为1.5,不进行通道分离;然后,对预处理后图像进行灰度化和二值化处理;最后采用连通域标记算法标记图像中独立小区域,并去噪,同时去除待检测区域的边框直线,分割出非红水线区域中的字符。
分割非红水线区域中字符结果如图5b)所示。
2 票据字符的颜色判定
票据正面彩色图像上的字符颜色一般为灰色/黑色/蓝色/红色。分析其有效信息(数字和汉字)的颜色,以便对字符类型识别进行粗分类。设票据正面彩色图像上某像素点(i,j),其红、绿、蓝三基色的分量对应的灰度值分别为R,G,B。
灰色字符的判定步骤是采用基于局部标准差的自适应对比度增强算法对待检测区域进行图像增强;然后采用图像的R,G,B颜色分量信息对字符进行分割,遍历每一个像素点,提取出同时满足:B 蓝色字符的判定步骤是首先提取待检测字符图像蓝色通道图像,并采用OTSU方法进行二值化处理,得图像A;其次使用图像的RGB颜色分量信息对字符进行分割,遍历每一个像素点,提取出同时满足(B-R)>T1,(B-G)>T2的像素点,得到图像B,经实验统计,阈值T1,T2分别取30,20;最后将图像A和图像B相与,得到的图像即为分割出的蓝色字符图像。 蓝色碳素笔和蓝色圆珠笔两种蓝色区分方法是提取待检测字符区域的蓝色通道图像,采用固定阈值法对图像进行二值化处理,并统计圆珠笔蓝和碳素笔蓝像素点个数,分别记为b1,b2。由实验统计,若b1>T1(取400),或b1>T2(取400),则表明字符为蓝色碳素笔;否则,字符为蓝色圆珠笔。 3 票据字符的粗细判定和手写体或打印体判定 观察银行提供的大量票据样本发现黑色圆珠笔和黑色碳素笔在颜色上差别小,但使用黑色圆珠笔书写字符比碳素笔书写字符细,本文提出一种比较字符粗细的方法来判定字符为黑色圆珠笔或黑色碳素笔。具体步骤是首先使用本文提出的票据字符分割方法,对待检测区域中字符进行分割,统计分割后的字符像素点个数a;其次对图像A进行细化处理[6],统计细化后图像像素个数b;然后获得a与b的比值R;最后将比值R与阈值T比较,如果R>T,则说明字符较粗,判定字符为黑色碳素笔;如果R≤T,则说明字符较细,判定字符为黑色圆珠笔。由实验验证和统计,得出阈值T取2.0。 在实际用户填写信息的票据中,有一种情况是用户填写信息处的内容为机器打印,且打印的字符颜色往往比手写的黑色碳素笔字符颜色浅很多,为避免将颜色较浅的灰色打印碳素笔误识别为铅笔,本文提出一种基于位置关系的手写体或打印体判定方法。算法具体步骤如下: 1) 精确提取分割出的字符轮廓,并提取长度和宽度均大于阈值Th的外接矩形。由实验验证和统计,阈值Th取15。 2) 去除和待检测区域一样大的外接矩形,并将切分出的字符按顺序排列和输出。 3) 比较各字符外接矩形的y坐标值、高度、宽度、两字符间间距是否同时满足两两外接矩形的y坐标值之差小于Y,高度之差小于H,宽度之差小于W,三字符中两间距之差小于D。若满足,则初步判定此单字符为打印字体,并计数;若不满足,则初步判定此单字符为手写字体,并计数。重复上述操作,直至遍历完所有字符,最终打印和手写字体个数分别记为a和b。由实验统计,阈值Y,H,W,D分别取8,10,6,5。 4) 将A/B与阈值T比较,若比值大于T,则判定字符为打印字体;若比值小于T,则判定字符为手写字体。由实验验证和统计,阈值T取0.65。 4 票据字符类型的识别器设计 复杂背景下的票据字符类型识别器设计过程如下: 1) 采用本文提出的票据字符颜色判定方法,分别统计正面彩色图像中待判定字符的黑色、蓝色、红色像素点个数black,blue,red,同时统计正面红外图像中待判定字符像素点个数p。 2) 由于银行票据底纹不同,故识别器判定条件不同。对于非红水线区域,若black>T1,blue ① 如果p ② 如果p≥T1(取100),表明正面红外图像中待判定区域字符存在,此种情况字符类型为黑色碳素笔或铅笔。接下来,根据正面彩色图像中待判定字符的颜色,及字符是手写体或打印体判定,区分出具体字符类型。首先,使用正面彩色图像固定阈值法,统计出字符像素点个数A,初步区分出待检测字符颜色为灰色,还是黑色;其次,根据字符粗细判断,获得字符粗细的量ball,如果A>T2且ball 3) 如果blue>T(取55),表明待判断字符为蓝色碳素笔或蓝色圆珠笔。若p≥T(取400),表明正面红外图像中待判定区域字符存在,则字符类型为蓝色碳素笔;若p 对于字符类型为红色碳素笔、红色圆珠笔的判断,过程与步骤3)相似,只需修改阈值red>T1(取800),p< T2(取400)。 5 实验结果及分析 实验样本图像为银行提供的用户填写完整信息的票据,票据类型主要包括支票、转账支票、银行汇票、现金支票、进账单、银行承兑汇票等11种。其中票据中字符类型有黑色/红色/蓝色的碳素笔、铅笔、黑色/红色/蓝色的圆珠笔。样本图像是使用深圳辰通智能股份有限公司的A4凭证扫描模块进行采集。首先,通过使用模板匹配方法定位用户填写的收款人、出票人账号、人民币、用途、密码、行号、票号、签发日期、账号等票面要素信息;然后,使用本文提出的识别方法对其进行识别;最后,得出识别结果。表2为识别结果。 实验结果表明,本文提出的算法取得了较好效果,适用于识别银行票据中颜色较深的汉字和数字;适用于识别部分浅色汉字和数字。同时,对误识别的票据进行了分析,发现原因多种多样。如图6a)中的误识票据1,本方法将铅笔误识为黑色碳素笔,原因是在用铅笔写的字符上使用黑色碳素笔覆盖写了一层,使铅笔颜色加深,检查出很多黑色像素点,导致误报。而图6(b)中的误识票据2,黑色碳素笔误识为铅笔,原因是数字“0”都连在一起,两个数字“0”没有分割开来,将打印体识别为手写体,导致误判为铅笔。 笔者相信,当进一步优化图像预处理方法,会获得更好的识别率。