一种实用的金融票据框线去除算法
2016-11-02卜飞宇胡奇光汪彦
卜飞宇 胡奇光 汪彦
摘要:字线交叠严重干扰对字符的切分与识别。基于二值图像的表格框线去除算法,只能在一定程度上排除表格框线对字符识别的干扰。随着计算机运算速度和存储容量的迅速提高,表格识别系统的扫描输入图像开始采用灰度图像和彩色图像。该文提出了一种基于彩色图像的表格框线去除算法,由于利用了图像中的彩色和灰度信息,能更好地排除表格框线对字符识别的干扰。该方法目前已成功地应用于银行票据识别系统中。
关键词:字符识别; 金融票据; 框线去除; 色差
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)23-0148-03
Abstract: Characters often overlap form frame lines. Such overlapping seriously deteriorates the recognition of characters. Almost all form frame line removal algorithms based on binary image, and these algorithms have some limitations. A new form frame line removal algorithm based on color images is presented in this paper. Because of using color and gray information of images, this method can avoid the effect of overlapping better. The effectiveness of this method is proved by application of financial document recognition system.
Key words: Financial Document; Frame Line Removal; OCR; Color Aberration
随着票据处理任务日趋繁重,银行、税务、工商、财政等部门开始借助OCR系统来进行票据录入。但目前一些票据自动识别系统识别率尚不能很好地满足应用需求。造成识别率较低的一个最主要原因,就是字线交叠。在去除检测到的表格框线时完整保留字符笔画,一直是表格自动识别的一个重要环节。
1 传统的表格框线去除算法简介
1.1 二值图像上的表格框线去除
字线交叠分为三种情况(图1):粘连,相交,重合 [1]。粘连时直接抹去框线,不会影响字符的识别。而对相交和重合的情况,则必须做进一步的图像分析。
现有的框线去除算法分成两类:第一类先抹去框线,再根据框线附近字符笔画的局部特性将缺损笔画补齐。如YU B[2]等利用被框线截断的笔画的两个残留游程进行线性内插将断裂部分补齐。刘长松[3]等则通过框线检测时得到的有向单连通链信息,对笔画与框线的相交角度进行分析,在去除框线后再对字符笔画进行相应修整。
第二类算法,对字线交叠处的局部区域做分析,只抹去属于框线的像素,保留属于笔画的像素。如CHUNG Y[4]将交叠区域分成三类:需恢复部分,不恢复部分和无法判断部分。对于需恢复部分做字符修整,不恢复部分作为字符笔画保留,而对无法判断部分,由识别核心判断是否应该去除。文献[5]的算法则是在不提取表格框线的前提下,采用图像分块和连通域分析,实现字线分离。
1.2 灰度图像上的表格框线去除
WANG YANG[6]用像素的邻域灰度均值和方差作为一对参数来描述其邻域特性,邻域特性相似的像素点聚类成一连通域。利用两个相交连通域交汇点处的相关参数对的特征差别来进行字线分离。YE X[7]提出一种基于数学形态学的表格框线去除算法,先提取并去除表格框线,再对字符作形态学修复。张艳[8]等人则采用一种连通链结构描述叠加后的框线区域,然后对交叠进行判断和标记,根据标记保留字符笔划去除框线干扰。
以上框线去除算法,都有其局限性。尤其是对字符笔画与表格框线重合的情况,不能取得满意的去线效果。
2 彩色票据图像表格框线去除
2.1 彩色增透方法的局限性
彩色增透原理:设图像上某像素的红、绿、蓝分量值分别为r、g、b,以红色增透为例。当[r>g]且[r>b]时,令[p=3×r-g-b],若[p>255],则令[r=g=b=255];否则令[r=g=b=p]。
对印刷质量较好且无颜色失真的票据图像,采用彩色增透能有效地去除表格框线,完整的保留待识别字符。但由于印刷不规范及扫描后压缩,常造成彩色票据图像颜色失真。对这样的图像,彩色增透技术就无法有效的去除表格框线,或在去除框线时会导致与框线重叠的字符残缺断裂(图2b),这会导致字符切分与识别错误。
2.2 彩色票据的特点及框线去除整体思路
经分析,彩色票据图像有如下几个特点:
1)票据上打印字符和手写字符为灰黑色,在票据上不同的区域,打印字符的灰度有时会不一致。手写字符与打印字符的灰度区别往往较明显。2)往往有字符打印在框线上(字线交叠),也存在少量打印字符与印章重叠(图2a)。3)在同一条表格线的不同像素行上,颜色的深浅也有不同,但同一像素行颜色的一致性较好。
据此,提出彩色票据表格框线去除算法的整体思路:
1)检测出票据图像上的表格框线。2)寻找票据上的待识别字符区域,包括打印字符和手写字符。3)找出有哪些待识别字符区域与检测出的表格框线相交,并求出字线交叠区域。4)对每个字线交叠区域,结合彩色信息和灰度信息来去除表格框线,完整地保留字符。
本方法的关键:一是正确找出每个待识别字符区域及字线交叠区域,二是在字线交叠区域中去除框线时根据什么原则来保留同时属于框线和笔画的像素。
2.3 表格框线检测
表格框线的检测,采用的是基于“有向单连通链”的自底向上的表格框线检测算法[3]。为避免字线交叠对框线检测的干扰,可先滤除填写域的灰黑色字符。例如票据印刷部分为红色,则只保留偏红色的像素,就能滤去填写域字符。然后在其二值图像上再检测表格框线时,就能排除因字线交叠导致的表格框线漏检,准确而完整地检测出所有表格框线。
2.4 待识别字符区域的搜寻
先对票据图像滤色再二值化,然后通过进行连通域分析来寻找待识别字符区域。具体过程分如下三步:
2.4.1 对整个票据图像进行滤色
则保持该像素三颜色分量值不变,否则将该像素置成白色。滤色处理可能导致字符残缺断裂(图3),为避免此种情况影响到提取完整的字符连通域,将在后面的字符连通域合并时再采取补救措施。
2.4.2 对整个票据图像进行二值化
因字符在票据上占一定比例(大于1%小于20%),我们在这里采取一种取字符平均灰度和背景平均灰度两者平均值作阀值的快速二值化方法。
将滤色后的票据图像灰度化后,去掉25%灰度值最大的像素。对剩下的像素,取1%灰度值最小的像素的灰度平均值作为字符平均灰度,再取25%灰度值最大的像素的灰度平均值作为背景平均灰度,最后取字符平均灰度和背景平均灰度两者的平均值作为二值化阀值。
2.4.3 提取字符连通域并合并邻近的连通域
我们只需得到每个字符连通域的外接矩形(包围盒),因此采用一种改进的种子点生长算法。设(x ,y)为字符连通域C上的任意一点,定义连通域C的“外接矩形”为以下四个边界坐标构成的矩形:
对一个种子点,先记录一个长、宽均为零的初始外接矩形,该外接矩形的四条边均通过种子点。由种子点开始向上、下、左、右四个方向生长,若新生长的点超过原来记录的外接矩形的范围,则修正外接矩形的四条边的位置,以保证所有生长出来的点仍然在外接矩形内。当一个字符连通域生长完成后,就得到了它的外接矩形。
得到所有的字符连通域外接矩形后,再将邻近的字符连通域合并到一起。考虑到2.4.1中滤色造成的字符断裂,而票据中的表格框线的宽度一般不超过8个像素,我们将得到的每个字符连通域的外接矩形向四周各扩充4至5个像素,然后合并相交的外接矩形。这样,就将断裂或上下、左右相邻较近的字符连通域合并到了同一个区域里,从而得到若干个相对独立的待识别字符区域,每个区域包含一个或多个字符(图4)。
2.5 表格框线去除
对上面搜寻到的每个待识别字符区域,依次判别该区域是否与检测出的表格框线相交,若相交,求出相应的字线交叠区域(图5)。
字线交叠区域中,每一个像素均位于表格框线上。因此,只需判断哪些像素没有位于字符笔画上,将其滤除,即可去除表格框线,而完整地保留下笔画。下面以红色水平框线为例,采用一种简便快速的基于色差的平均值统计方法来去除表格框线。
对于一个字线交叠区域,考虑到表格线上同一像素行颜色一致性较好的特点,我们以像素行为单位来进行处理。先统计出该行内所有像素的红色分量的平均值AverRed及灰度平均值AverGray,然后再依次检查每个像素,设像素的红色分量值为r,灰度值为p,若有:[p 2.6 去除印章干扰 若一个待识别字符区域中还存在着红色印章,则统计其中所有红色像素的红色分量平均值AverRed及灰度平均值AverGray。对每个红色像素,若其红色分量值小于AverRed且灰度值小于AverGray,则保留该像素,否则将其置成白色。 3 实验结果分析 选择了400张待识别字符与表格框线重叠的彩色银行票据作测试样本,其中162张有待识字符和印章重叠。下面列出了用几种不同的方法对这些票据图像去除框线后再进行识别的结果。其中二值图像上的去线算法采用的是文献[3]中的算法。因目前的识别核心仍是基于二值图像的,因此送入识别核心的图像,为去线后再二值化或二值化后再去线的图像。若一张票据的所有待识别字符区域都识别成功,称为整张识别通过。 从表1可以看出,对存在字线交叠和字印交叠的票据,不去线直接二值化后进行识别,则整张识别通过率极低。彩色增透去线再二值化后进行识别,也无法达到实用要求,且其整张识别通过率比二值图像上去线后再识别的还低,这是因为彩色增透对颜色失真的票据图像无法取得好的效果。用本方法去线后并二值化,再进行识别时,整张识别通过率有明显提高。 4 结束语 本文提出了一种基于色差的彩色票据图像表格框线去除算法,根据检测到的表格框线和搜索到的待识别字符区域找出所有字线交叠区域,然后对找到的每个字线交叠区域依次进行去线处理。通过在局部区域上利用彩色和灰度信息对图像进行分析,本方法能有效地去除表格框线的干扰,是一种更能满足实用需求的方法。 参考文献: [1] Satoshi N, Yabuki M, Asakawa A, et al. Global interpolation in the segmentation of handwritten characters overlapping a border[J]. IEICE transactions on Information and Systems, 1995, 78(7): 909-916. [2] Yu B, Jain A K. A generic system for form dropout[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1996, 18(11): 1127-1134. [3] 刘长松, 潘世言, 郑冶枫, 等. 一种表格框线检测和字线分离算法[J]. 电子与信息学报, 2002, 24(9):1190-1196. [4] Chung Y, Lee K, Paik J, et al. Extraction and Restoration of Digits Touching or Overlapping Lines[J]. Journal of Molecular Biology, 1996, 3(4):541-552. [5] 刘为, 平西建, 郭戈. 基于字线分离的表格识别预处理算法[J]. 计算机工程与设计. 2008,(19):5066-5068. [6] Wang Y, Bhattacharya P. On parameter-dependent connected components of gray images[J]. Pattern Recognition, 1996, 29(8): 1359-1368. [7] Ye X, Cheriet M, Suen C Y, et al. Extraction Of Bankcheck Items By Mathematical Morphology[J]. Document Analysis & Recognition, 2004, 2(2-3):53-66. [8] 张艳, 郁生阳, 张重阳, 等. 表格型票据中框线检测与去除算法[J]. 计算机研究与发展,2008(5):909-914.