现阶段在纸质资料数字化的大背景下, 传统的纸质资料由于占空间、不便保存、查找繁琐、易丢失等缺点正被数字化的资料所取代, 然而传统的数字化大量采用的是扫描方式, 以图像的形式进行各种资料的存档保存. 在实际应用中如何快速从大量的数字化图像文件中找出中文印刷体文本图像文件进行OCR (Optical Character Recognition) 识别是一个现实存在的实际需求.
针对图像文本的检测技术目前主要有以下5种: (1)基于边缘的方法; (2)基于连通域的方法; (3)基于纹理的方法; (4)基于深度学习的方法; (5)基于上述混合的方法. 其中Epshtein等人[1]提出的笔画宽度变换算法(Stroke Width Transform, SWT)由于利用了文字特有的笔画宽度特征, 因而在文本检测算法中被广泛使用, Yao等人[2]在SWT算法的基础上提出了一种检测自然场景下任意倾斜角度的文本, 但该算法处理时间较长, 不太适合在批量文本图像文件检测中使用. Chen等人[3]在SWT算法基础之上, 提出了一种利用边缘增强的MSER技术[4], 该方法较好的提取极值区域, 但在倾斜文本的检测上, 效果不太理想并且处理耗时长. 还有最近这几年由于深度学习技术[5]的快速发展, 基于深度学习的技术也开始应用在图像文本检测中, 其中Zhou等人[6]提出了利用全卷积网络(FCN)模型来检测文本, 在ICDAR2015[7]测试数据集上, 取得了F值为0.8072的效果. Tian 等人[8]提出了一种应用卷积模型VGG16结合双向长短时记忆网络(Bi-LSTM)的方法, 在ICDAR2011, ICDAR2013, ICDAR2015测试数据集上, 分别取得了0.84, 0.88, 0.61的F值效果, 然而由于神经网络的训练, 往往需要大量的训练数据, 才能有比较好的训练效果, 有时各种数据的获取难度也较大, 故也不好利用在本文的检测算法中.
在中文文本检测方面, 缪裕青等人[9]根据汉字的结构特征, 通过分别改进MSER和SWT的方法来检测中文, 在自建的中文环境自然场景图像数据库上, 取得了F值为0.794的效果. Ren等人[10]通过在CNN卷积神经网络的基础之上, 设计了一种适合中文文本结构组件的检测器(TSCD)层来增加检测中文的正确率. Jiang等人[11]通过采用Harris角点检测的方法来选择初始的文字候选区域, 然后基于区域特征、文本笔画宽度、颜色信息过滤非文本区域, 最后再结合行扫描的方法来检测中文, 在自建的中文图像数据库上, 取得了F值为0.703的效果.
传统的SWT算法因为是以英文文字为研究对象, 而中文相较英文而言, 在字符笔画, 结构上都更加复杂, 因而在检测中文的效果上, SWT效果并不十分理想, 同时我们研究发现, 在有倾斜的文本检测效果中, SWT算法由于一般以检测水平文本为目标, 在倾斜文本的检测上, 效果也不太理想.
通过非固定式移动相机或者扫描仪对文本图像文件进行数字化扫描的过程中, 由于相机的抖动或者扫描文本放置角度的偏斜, 数字化后的文本图像难免会存在着一定的倾斜角度, 传统的OCR识别技术对待识别图像是否存在倾斜角度, 有着较强的敏感性, 倾斜角度的存在不仅影响着文本图像检测的准确性, 也会降低后续文本图像文件进行OCR识别的性能.
Sakila等人[12] 通过对比实验, 研究了现有的4种常见的文档图像倾斜校正的方法: (1)基于霍夫变换的方法; (2)基于互相关的方法; (3)基于K近邻的方法; (4)基于傅里叶变换的方法. 其中基于傅里叶变换的方法由于利用了傅里叶变换的旋转不变性, 从而在对文档图像的倾斜校正方面, 拥有较好的鲁棒性. 实验结果也表明, 上述方法中基于傅里叶变换[13,14]的图像倾斜校正方法在校正正确率以及处理时间上效果都是最优的.
由于本文算法只是用于是否是文本图像文件的识别, 因此识别时不需要检测出所有的文字区域, 我们只需判断检测图像是否带有中文即可, 同时利用中文印刷体图像文本行与空白行交替变化的水平投影分布特征, 运用水平投影技术快速提取第一行文本, 在SWT算法中新增前景文本像素数所占的特定比率特性, 来检测文本行连通域, 即可判断图像是否带有中文, 以便决定是否进行OCR识别.
1 算法设计本文图例所示的文本图像均以政府部门、企事业单位所使用的红头文件[15]为主, 提出的算法基本流程如图1所示, 主要步骤分为图像预处理、图像倾斜检测、水平投影、边缘检测、SWT变换这5个步骤.
a) 图像预处理. 首先对图像宽度大于650像素且高度大于850像素的图像, 缩放到650×850像素, 以加快图像检测速度.
b) 图像倾斜检测. 由于基于傅里叶变换的图像倾斜校正方法具有时间短、准确率高的优点. 本文对每一幅待检测图像, 进行二维离散傅里叶变换, 根据图像高低频谱交换频谱象限区域, 移频到图像中心、然后采用大津阈值法对图像进行二值化处理, 同时利用霍夫线检测方法检测出倾斜直线与水平直线相交的倾斜角度θ, 根据此倾斜角度θ, 校正倾斜图像.
c) 水平投影. 将进行倾斜校正后的图像, 进行水平投影, 根据文本区域与空白区域的水平投影直方图投影分布区间来快速提取出识别区域.
d) 边缘检测. 利用canny算子, 提取文本行的边缘检测图.
e) 改进的SWT算法. 首先根据文本特有的固定笔画宽度特征, 计算每个像素的笔画宽度(欧式距离), 得到包含文字笔画宽度信息的SWT图像, 然后查找文字候选区域, 对其中明显不符合中文文字的区域基于改进的SWT文本启发式规则进行过滤, 得到字符连通域. 对满足相关聚类条件的字符候选区域聚类成行, 形成文本行连通域, 最后对文本行连通域进行基于启发式规则的检测, 从而识别出待检测的图像是否是中文印刷体图像.
2 离散傅里叶变换 2.1 图像频谱成分对于一副图像, 变换域的图像能量主要集中在低频部分, 其频谱分布示例图如图2所示.
图2中, 图2(a)为红头文件倾斜图; 图2(b)为图2(a)带有倾斜角度的红头文件对应的傅里叶变换频谱图.
2.2 图像傅里叶变换平移效果图图3为图像傅里叶变换平移效果图, 其中, 图3(a)为倾斜的红头文件; 图3(b)为傅里叶频谱平移图; 图3(c)为傅里叶频谱平移二值化图; 图3(d)为根据平移效果图计算出的倾斜角度θ.
通过对倾斜图像采用二维离散傅里叶变换, 来对倾斜图像在[–90,90]度之间进行校正, 从而获得更好的文本检测效果.
3 图像水平投影与切割印刷体文本图像, 包括红头文件等一些文本图像,文本行与空白行之间有着明显的明亮交替特征, 由此我们根据图像水平投影直方图的原理, 对中文印刷体图像进行水平投影处理, 提取我们的ROI(感兴趣区域), 提高文本检测效率.
图4是图像水平投影直方图, 其中, 图4(a)为Lena图; 图4(b)为图4(a)的水平投影图; 图4(c)为红头文件; 图4(d)为图4(c)对应的水平投影直方图.
4 改进的笔画宽度算法
基于自然场景的文本检测, 一直是国内外的研究热点, 传统的自然场景文本检测算法, 基本上都是以英文文本为检测对象, 对于像中文这种笔画多样, 结构复杂的象形类文字, 检测效果往往不太理想, 本文基于SWT算法的基础之上, 利用了该算法将文本笔画宽度作为文字一个固有特征来提取文本文字, 同时结合中文固有的笔画结构特征, 设计了以下4点启发性规则:
(a)增加文本行前景像素数占连通区域的占有比, 来进一步过滤掉强干扰噪点, 使检测中文文本的效果更加鲁棒, 经测定当前景像素数占整体文本行连通域的比值SwtRule1>0.6时, 效果最优. 公式如(1)所示:
$SwtRule1 = \frac{{{S_{\rm{text}}}}}{{{S_{\rm {rect}}}}} > 0.6$ | (1) |
其中, Stext为前景像素数面积, Srect为整体文本行连通域面积.
(b)增加文本行连通域高宽比, 公式如(2)所示:
$SwtRule2 = ((s(h) \ge 10\text{且}s(w) \ge 30)\text{且}\frac{{s(w)}}{{s(h)}} \ge 3)$ | (2) |
其中, s(h), s(w)分别为文本行连通域的高与宽.
(c)针对原算法对查找文字笔画宽度的方向阈值π/6, 进行了适当的修正, 我们在检测研究的过程中发现, 原算法阈值π/6, 在针对英文文本这类文字形态变换简单的语言上, 效果尚可, 在针对中文这类形态复杂的文字上, 该阈值设定过于严格, 导致检索笔画宽度方向的过程中常常出现笔画越界现象, 经我们针对中文印刷体图像的研究发现, 当检测笔画宽度方向阈值为π/3时, 效果最优, 公式如(3)所示:
$SwtRule3 = \left| {{d_x} + {d_y}} \right| < \frac{\pi }{3}$ | (3) |
其中, x为笔画边缘像素点, dx为其梯度方向; y为对应检索方向上边缘像素点, dy为其梯度方向.
(d)针对中文的笔画特征, 重新设定了字符连通域笔画的方差与连通域均值的比值, 公式如(4)所示.
$SwtRule4 = \frac{{SwtVariance}}{{SwtMean}} > 3.4$ | (4) |
其中, SwtVariance为字符连通域笔画的方差, SwtMean为字符连通域笔画的均值.
5 针对中文印刷体的检测算法改进对于中文印刷体图像, 我们采取通过水平投影直方图的方法来快速提取检测文本行, 同时我们设定规则排除中文印刷体中明显不是文本的投影区域(类似红头文件固有的红线), 公式如下所示:
$Result1 = proEindex - proSindex > = 20$ | (5) |
其中, proEindex为水平投影图的文本行结束索引, proSindex为文本行开始索引.
为了提高检测速度, 我们分别对输入图像的大小以及检测的文本区域进行了设定优化, 经研究发现把输入图像宽高(W×H)大于650×850像素的图像按公式(6)设定时, 检测效果最优.
$imageSize = \left\{ \begin{array}{l} 650 \times 850,inputSize > 650\times 850 \\ inputSize,inputSize \leqslant 650\times 850 \\ \end{array} \right.$ | (6) |
其中, 650和850分别为图像的宽与高, 单位为像素; inputSize为输入图像大小; imageSize为处理图像大小.
在检测文本区域上, 我们采取优先选取首行文本为检测对象, 同时为了保证对于倾斜角度过大的文本, 图像校正之后出现文字消失, 我们追加了正文头三行为检测感兴趣区域, 保证了图像倾斜角度过大时, 图像文字区域的文字消失给检测带来的干扰, 同时也避免了对整个文本的检测, 也加快了算法检测速度.
文本图像文件检测具体流程图如图5所示.
图5中, 图5(a)为待文字检测的水平图与倾斜图; 图5(b)为经过傅里叶变换的倾斜校正图; 图5(c)为经过水平投影直方图提取到的检测ROI区域; 图5(d)为经过Canny边缘检测的效果图; 图5(e)为包含像素笔画宽度信息的SWT图; 图5(f)为基于启发式规则过滤的文本行; 图5(g)为文字检测结果输出图; 图5(f)与图5(g)是我们为了更好的说明我们的检测流程, 实体化的效果图, 在我们实际的检测算法中图5(f)与图5(g)的过程我们合为一步, 最终是否是文本图像文件的检测结果记入到日志当中.
6 实验与结果分析 6.1 中文文本图像样本库建立本文采用的图像测试样本集为我们自己建立的红头文件样本库, 我们以每2度为一个倾斜角度对测试图像在[–90,90]度上进行旋转, 测试集含有水平, 以及上述倾斜角度的红头文件图像, 共计1106张. 同时为了验证在自然场景下对图像文件的识别效果, 我们从ImageNet2012[16]视觉识别挑战赛50 000张测试集中挑选出500张图作为非文本类场景测试集. 上述测试集图像库共计1606张图像.
6.2 图像倾斜校正对比实验为了验证倾斜图像的倾斜角度与基于二维离散傅里叶变换方法检测得到的倾斜角度之间的正确性, 我们从1106张倾斜图像测试集中选取了1092张图, 按每10度区间作为一个测试分组, 共计18个分组对倾斜图像校正进行对比实验, 测试结果如表1、表2.
表1与表2的实验结果表明, 通过基于二维离散傅里叶变换对倾斜图像进行倾斜校正, 在各个测试分组, 常见的文本倾斜角度[–50,50]区间上, 以及在整体倾斜角度[–90,90]区间上, 都有较好的校正效果.
6.3 文本检测结果对比规则实验采用文本检测领域常用的以准确率、召回率和F值为主要指标, 来评价文本检测方法的效果, 具体计算公式如下(7), (8), (9)所示.
准确率(P)的公式如下:
$P = \frac{{TP}}{{TP + FP}}$ | (7) |
召回率(R)的公式是:
$R = \frac{{TP}}{{TP + FN}}$ | (8) |
F值计算公式如下:
$F = \frac{{2PR}}{{P + R}}$ | (9) |
其中, (1) TP: 为正确检测到的文本文件数; (2) FN: 为漏检的文本文件数; (3) FP: 为错误检出的文本文件数.
我们比较了Epshtein[1], Chen[3], 以及Zhou[6]的算法. 测试结果如表3, 图6, 表4, 图7所示.
7 结束语
本文通过采用二维离散傅里叶变换的方法, 对倾斜中文印刷体文本图像文件在[–90,90]度上进行倾斜校正, 通过水平投影直方图快速提取ROI区域, 最后通过改进的SWT算法, 来对文本图像进行中文的检测. 通过上述的实验对比, 可以发现本文针对中文印刷体图像文件的识别结果, 无论在检测准确率、召回率和F值上, 还是在识别文本图像的处理时间上, 效果都是最优的, 这也表明本文的算法具有较好的实用价值.
[1] |
Epshtein B, Ofek E, Wexler Y. Detecting text in natural scenes with stroke width transform. Proceedings of 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Francisco, CA, USA. 2010. 2963–2970.
|
[2] |
Yao C, Bai X, Liu WY, et al. Detecting texts of arbitrary orientations in natural images. Proceedings of 2012 IEEE Conference on Computer Vision and Pattern Recognition. Providence, RI, USA. 2012. 1083–1090.
|
[3] |
Chen HZ, Tsai SS, Schroth G, et al. Robust text detection in natural images with edge-enhanced maximally stable extremal regions. Proceedings of the 2011 18th IEEE International Conference on Image Processing. Brussels, Belgium. 2011. 2609–2612.
|
[4] |
Matas J, Chum O, Urban M, et al. Robust wide-baseline stereo from maximally stable extremal regions. Image and Vision Computing, 2004, 22(10): 761-767. DOI:10.1016/j.imavis.2004.02.006 |
[5] |
Tang YB, Wu XQ. Scene text detection using superpixel-based stroke feature transform and deep learning based region classification. IEEE Transactions on Multimedia, 2018, 20(9): 2276-2288. DOI:10.1109/TMM.2018.2802644 |
[6] |
Zhou XY, Yao C, Wen H, et al. EAST: An efficient and accurate scene text detector. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA. 2017. 2642–2651.
|
[7] |
Yao C, Wu JN, Zhou XY, et al. Incidental scene text understanding: Recent progresses on ICDAR 2015 robust reading competition challenge 4. arXiv: 1511.09207, 2015.
|
[8] |
Tian Z, Huang WL, He T, et al. Detecting text in natural image with connectionist text proposal network. Proceedings of the 14th European Conference on Computer visIon. Amsterdam, The Netherlands. 2016. 56–72.
|
[9] |
缪裕青, 刘水清, 张万桢, 等. 自然场景图像中的中文文本检测算法. 计算机工程与设计, 2018, 39(3): 804-807. DOI:10.16208/j.issn1000-7024.2018.03.036 |
[10] |
Ren XH, Chen K, Yang XK, et al. A novel text structure feature extractor for Chinese scene text detection and recognition. Proceedings of the 2016 23rd International Conference on Pattern Recognition. Cancun, Mexico. 2016. 3380–3385.
|
[11] |
Jiang XY, Lian J, Xia ZQ, et al. Fast Chinese character detection from complex scenes. Proceedings of the 2016 6th International Conference on Image Processing Theory, Tools and Applications. Oulu, Finland. 2016. 1–4.
|
[12] |
Sakila A, Vijayarani DS. Skew detection and correction in the document image. International Journal of Innovative Research in Science, Engineering and Technology, 2017, 17457–17465.
|
[13] |
Singh R, Kaur R. Improved skew detection and correction approach using discrete Fourier algorithm. International Journal of Soft Computing and Engineering, 2013, 3(4): 5-7. |
[14] |
Kaur M, Jindal S. An integrated skew detection and correction using fast Fourier transform and DCT. International Journal of Scientific & Technology Research, 2013, 2(12): 164-169. |
[15] |
李秀勤. 我国红头文件现状分析. 合作经济与科技, 2010(11): 60-61. DOI:10.13665/j.cnki.hzjjykj.2010.11.004 |
[16] |
Russakovsky O, Deng J, Su H, et al. Imagenet large scale visual recognition challenge. International Journal of Computer Vision, 2015, 115(3): 211-252. DOI:10.1007/s11263-015-0816-y |