中英文混排扭曲文本图像快速校正方法
2015-12-07王景中童立靖
王景中, 孙 婷, 童立靖
(北方工业大学计算机学院,北京 100144)
中英文混排扭曲文本图像快速校正方法
王景中, 孙婷, 童立靖
(北方工业大学计算机学院,北京 100144)
针对OCR在识别文本图像时,由于扭曲造成的中英文混排文本图像识别率不理想的情况,提出一种快速扭曲校正方法。图像经过预处理后,首先利用形态学膨胀定位文本行,得到各文本行上下边界;分别对每个文本行参考垂直投影信息进行文字切分,获得字符包围盒;然后根据中英文的不同特点在每个文本行中逐个对字符位置进行校正,最终实现图像重构。实验结果表明,该方法校正速度快、精度高,对于中英文混排扭曲文档图像有较好地校正效果,校正后图像OCR识别率有明显提高。
中英文混排;扭曲文档图像;文本行提取;字符切分
光学字符识别(optical character recognition,OCR)是通过数码设备采集图像,高效地提取图像中的文本信息,但其对采集到的图像质量要求很高,对已装订成册的文档或较厚的书籍进行扫描或拍摄时,容易发生几何变形,使采集到的文档图像发生扭曲,这种变形对OCR识别的效果有严重影响,需要对该种图像进行校正。随着国际技术以及文化交流的发展,多语言文档越来越普遍,高技术领域通常含有大量外文术语,多语言对照的文学著作与新闻也十分常见。在我国,尤其以中英文混排文档最为常见。
近年来,国内外对于扭曲文档图像的校正技术研究日趋增加。从校正方法上来讲,主要分为基于3D模型的校正技术和基于2D图像的校正技术。3D模型的获取主要有两种途径:直接使用特殊设备进行数据采集[1-2]和通过图像扭曲特征进行3D模型重建[3-6]。通过3D模型进行校正能够获得理想的校正效果,但需要特殊设备或进行复杂的数学建模计算,因此,基于3D模型的扭曲校正多作为研究,不易推广应用于实际设备。基于2D图像校正,可以分为:①基于文本线的处理[7-10],这类方法以文本行为最小单位,对其进行拟合和拉伸,校正速度快,但对文字来说,校正精度不高。②基于连通域的处理[11-13],以字为校正最小单位,处理过程精细,相对基于文本线的校正方法而言较为耗时,但校正效果较好。
经过分析知,基于2D的图像校正技术具有较高的实际应用性。其中,以字符为单位的校正方法能够获得更精准的校正效果。国外对扭曲的英文文档图像校正研究日趋成熟,国内对扭曲的中文文档图像的校正研究也在逐步增多。但是,应用到中英文混排文档图像上不易获得理想效果,其主要原因在于文字结构特征不同。针对英文的校正方法,通过迭代地横向合并相邻连通域,依据不同单词间较大的间隔切分出单词,若图像中有汉字,字与字之间发生粘连,校正的有效性大大降低。针对中文的矫正方法,利用汉字大小一致,尤其是宽度基本相同的特性,逐个对文字进行切分,文本中含有英文时,易切分失败导致校正失败。因此,如何在中英文混排的情况下实现有效地校正成为一种需要。
本文针对中英文混排的扭曲图像提出一种基于连通域的扭曲校正方法,实现了快速准确的文本行定位及文字切分,对文字逐行进行校正,最后获得校正后图像。该方法兼顾了中英文的结构特点,实现对中英文混排文本图像的有效校正,耗时短。目前市场上已出现许多实时的图像识别工具,在准确识别图像内容的同时要求有更快的速度,因此,本文方法可推广到一些文字图像识别设备中进行应用。
1 中英文混排扭曲图像特征及校正分析
在图像获取过程中,书籍的摆放尤其是较厚的书籍,会使获得的图像发生扭曲,进而导致OCR识别率大大降低(如图1所示)。
图1 中英文混排扭曲文档示意图
文字切分的经典思路为先获得行再获得字。平整的扫描图像可以通过对水平投影直方图的分析提取出各文本行,但对扭曲图像进行水平投影时行与行之间会产生交叠,无法正确获得每行的信息,因而对文本行的提取需要研究其他适应性更强的方法。对于获取的文本行,垂直投影的特征还在,可参考该信息对其进行初步切分。汉字的宽度一致,英文字符较窄,可以利用其不同的特点进行进一步地切分,并对扭曲进行校正。
2 中英文混排扭曲文本图像校正算法
对于中英文混排的扭曲文档图像,如何定位出各行文字,并对中英文字符分别实现精确的切分是研究的重点。本文就此提出一种基于连通域的中英文混排扭曲文本图像快速校正方法,如图2所示。2.1图像预处理
图2 本文解决方案示意图
图像的预处理包括灰度化和二值化,经过预处理的二值图像,清晰地区分出前景和背景,才能有效地对图片进行校正处理。
灰度化即通过式(1)将具有R、G、B分量的真彩色图像转换为灰度图像。
文字切分对图像的二值化要求较高,需要较好的二值效果。传统的二值化方法很多,如双峰法、大津法、Niblack法等。对比各种方法及其效果,在光照均匀的情况下大津法可以很好地处理本文研究的图像,得到较好处理效果,因此本文选用大津法对图像进行二值化处理。
2.2提取文本行
提取文本行即确定每行文字的上下边界,以便下一步在该范围内对该行文字进行切分。二值图像经过膨胀,每行文字成为一个连通域,之后对膨胀图像进行从下到上的扫描,获得每行文字大概的上下边界。具体步骤如下:
步骤1. 二值图像的膨胀处理。选择合适的膨胀模板,使每行文字成为一个连通域,且行与行之间没有相交的部分。膨胀效果如图3所示。
图3 膨胀效果(局部)
步骤2. 提取膨胀后图像各文本行的上下边缘。该步骤的整体思路为:对整幅图像进行从下向上的像素扫描,所遇到的第一排黑点即为最下方文本行的下边界,从该排像素开始,向上寻找白点,最先找到的一排白点即为该文本行的上边界;以此排白点为起始,继续向上寻找,最先遇到的一排黑点即为倒数第二行文字的下边界,以此类推,即可获得各文本行的上下边界。当找不到黑点时,说明已搜索完整幅图像,此时,所有文本行的上下边界均已获得。具体规则如下:
(1) 创建两个二位数组line_botton和line_top来存储各文本行的上下边界,设line_index为行序。
(2) 选取图像中间一列进行纵向扫描,获得平均行高STD_HEIGHT作为是否跨行的依据。
(3) 在扫描过程中若已获得文本行下边界,则向上必能找到上边界。但前一行较短时,本行的下边界寻找没有上一行的上边界作为参考,因此需设置扫描范围。第一次扫描即获取最下方一行的下边界时,扫描高度为图像高度,其余行设start和end分别为每次扫描的起点和终点。其规则如下:
其中,x为当前扫位置的横坐标,firstPix为上一行的第一个非零投影点的索引,lastPix为上一行最后一个非零投影点的索引。
(4) 文本行终点的确定。寻找第i行(i >0)下边界时,如果当前下边界与之前所找到的下边界距离偏大,满足line_bottom[i][x]−lastBottom >STD_HEIGHT时,视为出现阶跃,line_bottom[i][x]置为零,阶跃次数增一。当阶跃次数达到10次时,视为本行搜索结束,已获得该行下边界。其中,lastBottom为line_bottom[i]已找到的最后一个非零下边界。
(5) 在膨胀过程中,在段首可能出现锯齿的情况,导致上边界寻找失败,需要加以调整。因此需要增加判断条件,以第 i行(i >0)为例,当不满足line_top[i][x]−line_bottom[i][x]≥STD_HEIGHT时,继续向上寻找,直至满足上述条件。
步骤3. 图片恢复至膨胀前。膨胀过程是为了定位文本行,获取在文字切分时需要的垂直投影范围。校正的对象是含有文本信息的二值图像,因此在文本行提取后,需要将图像恢复至膨胀前。
通过本阶段的文本行提取,获得了各文本行的上下边界。效果如图 4所示。其中,浅色为文本行下边界,深色为文本行上边界。
图4 文本行提取效果(局部)
经过此步骤后,可以对每行文字单独提取和进行处理,为下一步的文字切分提供条件。
2.3文字切分
文本行提取完成后,已经获得了每行文字的上下边界line_top和line_bottom,因此可以依次提取出各行文字并进行切分。对图像内的一行文字进行垂直投影,利用字符之间的间隙,可以初步将文字切分。完成后,每一个字符视为一个连通域,得到每个连通域的左右边界。
创建连通域边框数组 rcChars来储存其各边界,左右初始值设为0,上下初始值分别设为Height和 0,其中 Height为图片高度。创建二维数组rc_num来存储每个文本行内连通域的编号。文字切分具体步骤如下:
步骤1. 获取字符的左右边界,初步确定上下边界。逐行对文字进行垂直投影。以第 i行(i >0)为例,投影范围为上一阶段获取的 line_bottom[i]和line_top[i]之间的部分。根据投影结果对文字进行切分,可获取字符的左右边界 rcChars.left和rcChars.right,由于计算边框时是根据视图的窗口坐标,原点在左上角,因此上边界 rcChars.top暂时取为:
其中,rcChars.left≤x≤rcChars.right 。同理,下边界暂为Height−line_bottom[i][x]在该范围内的最大值。
步骤2. 获取字符的上下边界。上一步中初步确定的字符上下边界与实际边界存在一定误差。为了校正的精度,需要更准确地获得字符的上下边界。对每个字符,在其连通域边框范围内,rcChars.left≤x≤rcChars.right ,rcChars.top≤y≤rcChars.bottom,以上边界rcChars.top为起始,自上向下逐行寻找黑色像素点,遇到的首个黑点所在纵坐标即为该字符的上边界,修改 rcChars.top的值。同理,在该范围内,自下向上逐行寻找黑色像素点,可重新获得字符的下边界rcChars.bottom。
此时,字符切分基本完成,各字符上下左右边界均已确定。统计各连通域高度,找出最大高度设为标准高度H,利用印刷体汉字宽高标准比例计算出标准宽度 W,标准宽度约等于汉字宽度。在汉字当中,还存在着一些左右结构的字,在此过程中可能会被切分为两部分。但相对于汉字的整体数量而言,该类字只占小部分,且矫正的最终目的是将属于同一行的文字水平对齐。因此对该部分文字的误切分不影响校正和识别效果。具体切分效果如图5所示。
图5 字符切分效果图
2.4扭曲校正
扭曲校正的最终目的,是将文本行从弯曲状态变为直线。在获得每个文字的位置时,按行对文字进行垂直方向上的平移,即可实现目的。
针对扭曲图像,从上到下逐行进行校正,校正时以每行最高位置的字符为标准,对该行内的连通域进行对齐。在印刷过程中,汉字中心对齐横向排列,英文大小写共52个字母中,除占中下两格的字母外,有47个为底线对齐。因此对符合标准宽度W的汉字按照连通域中心对齐,对小于标准宽度的英文和标点符号按照连通域下边界进行对齐。
以第i行为例(i >0),首先要找到该行最高位置字符,即找到最高位置连通域的编号。视图窗口原点在左上角,因此最高的连通域下边界 bottom最小,记为 minBottom。遍历属于第 i行编号为rc_num[i][j](j >0)的连通域,寻找最小bottom值,并记下其对应连通域的编号 topest。编号为rc_num[i][j]的连通域,其对应的rcChars边框坐标分别为(left,top,right,bottom)。计算各连通域的中心坐标和校正位移d。
计算完成后,对该行的连通域逐个按照各自的校正位移d进行平移。对于第[i]行,属于本行的连通域在一条水平线上,完成了校正。依此方法,逐行对文字进行处理,最终实现对整幅扭曲文档图像的校正。校正效果如图6所示。
3 方法测试及实验结果分析
3.1测试环境
本实验在VS2005环境下开发,使用的语言为C++。实验所用样张取自16开中英文混排书籍。拍摄摄像头为500 W像素。测试环境为:Inter(R) Core(TM) 2 Duo CPU E7400 @2.80 GHz,内存2 GB,操作系统为Windows 7。使用汉王OCR文字识别软件对文字进行识别。
图6 扭曲校正效果对比图
3.2校正效果对比
测试过程中,同时选取了近年来的一些有关扭曲文档图像的校正方法进行比较。文献[10]是针对中文扭曲文档图像的矫正方法,文献[12]是针对英文的校正方法。
本文选取了150个样本,分为3组,每组50张。其中,样本组1中的样张英文占比小于25%,样本组2中的样张英文占比为25%~75%,样本组3中的样张英文占比大于75%,统计结果如表1。
表1 各算法实验结果比较分析
比较3种方法在中英文所占比例不同时,校正的用时和处理前后识别率。可以看出,文献[10]在处理中文时有较好的效果,文献[12]在处理英文偏多的文档图像时,效果明显。但二者在处理另一种文字图像的时候,识别率均有所下降。本文方法虽然在单种文字处理时识别率低于文献方法,但不受识别内容影响,在 3种情况下,有稳定的校正效果。从校正所用时间上看,传统方法通过连通域搜索与合并进行文本行提取,需要对图像进行多次遍历,增加了算法的处理时间,大多需要3~4 s,本文方法对膨胀图像自下而上一次遍历即可得到各文本行位置,大大缩短了耗时,整个校正过程在1 s以内。
通过以上分析可以看出,本文方法在处理中英文扭曲文档图像时,不受中英文所占篇幅影响,能够获得较好地校正效果,具有很好的稳定性。以连通域为单位进行校正,校准精细,不会破坏文字内部结构,且整个矫正过程在1 s以内完成,可在实时的文字识别设备中进行推广应用。
4 结 束 语
本文针对扭曲的中英文混排文档图像,提出了一种快速扭曲校正方法。采用由行到字的思想,利用膨胀信息定位文本行后进行字符切分,根据中英文的不同特点逐行进行扭曲校正,最终实现图像重构。本文的扭曲校正方法对于中英文混排的文档图像,不受中英文所占比例的影响,有较好且稳定的校正效果,校正速度快,效率高,可推广到一些文字图像识别设备中进行应用。
本文方法适用于书本平摊时因厚度所产生的文本行扭曲,且假定书本水平放置。由于外力造成书本变形从而导致的文本图像严重扭曲,采用本文算法处理起来有一定难度。对于这类情况,算法有待改进。
[1] Ghods A R, Mozaffari S, Ahmadpanahi F. Document image dewarping using kinect depth sensor [C]//Iranian Conference on Electrical Engineering (ICEE), 2013: 1-6.
[2] Tong L J, Zhan G L, Peng Q Y, et al. Warped document image mosaicing method based on inflection point detection and registration [C]//International Conference on Multimedia Information Networking and Security (ICMINES), 2012: 306-310.
[3] Meng G F, Pan C H, Xiang S M, et al. Metric rectification of curved document images [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(4): 707-722.
[4] Brown M S, Brent S W. Image restoration of arbitrarily warped documents [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, 26(10): 1295-1306.
[5] Tang C Q, Dai X J. A rectification algorithm for distorted images from cone surface [C]//International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM), 2010: 1-4.
[6] 杨玲,成运. 应用经纬映射的鱼眼图像校正设计方法[J]. 工程图学学报, 2010, 31(6): 19-22.
[7] 张伟业, 赵群飞. 读书机器人的版面分析及文字图像预处理算法[J]. 微型电脑应用, 2011, 27(1): 58-61.
[8] Liu H, Ding R W. Restoring chinese document images based on text boundary lines [C]//International Conference on Systems, Man and Cybernetics (ICSMC), 2009: 571-576.
[9] Bukhari S S, Shafait F, Breuel T M. Coupled snakelets for curled text-line segmentation from warped document images [C]//International Journal on Document Analysis and Recognition(ICDAR), 2013: 748-752.
[10] 曾凡锋, 王晓, 吴飞飞. 基于文本行重构的扭曲文档快速校正方法[J]. 计算机工程与设计, 2014, 35(2): 573-577.
[11] Liu H, Lu Y. A Method to restore chinese warped document images based on binding characters and building curved lines [C]//International Conference on Systems, Man and Cybernetics (ICSMC), 2009: 984-990.
[12] Gatos B, Pratikakis I, Ntirogiannis K. Segmentation based recovery of arbitrarily warped document images [C]// International Conference on Document Analysis and Recognition (ICDAR), 2007: 989-993.
[13] 宋丽丽, 吴亚东, 孙波. 改进的文档图像扭曲校正方法[J]. 计算机工程, 2011, 37(1): 204-206.
A Fast Correcting Method for Warped Chinese and English Mixed Document Images
Wang Jingzhong,Sun Ting,Tong Lijing
(College of Computer, North China University of Technology, Beijing 100144, China)
Character recognition rate of OCR processing is not well for warped Chinese and English document image. To resolve this problem, a fast distortion correcting method is proposed in this paper. After the process of image preprocessing, the upper and lower boundary of each text line could be obtained by morphological dilation method. Then, the characters in each line are segmented one by one based on the vertical projection information. Every character can be described in a minimum bounding box. After that, the positions of the segmented characters are corrected according to the different structure characteristics between Chinese and English in each line. Finally, the image could be reconstructed. Experiments showed that this correction method could rectify the warped Chinese and English document image quickly and effectively. The OCR rate of the corrected images could be significantly improved.
mixture of chinese and english; warped document images; text line extraction; character segmentation
TP 391
A
2095-302X(2015)06-0920-06
2015-05-19;定稿日期:2015-09-08
国家自然科学基金资助项目(61371142)
王景中(1962–),男,内蒙古通辽人,教授,硕士。主要研究方向为数字图像处理与识别、计算机安全技术。E-mail:jingzhongwang@163.com