在自然场景目标的检测中,场景文本的检测是极其重要的一环,它经常出现在标识牌、商品标签、产品包装、许可证之上。能够自动识别场景文本对很多应用程序有着很大的帮助,例如基于图像标识的地理位置、无人机着陆点判断。不同于传统的光学字符识别(optical character recognition,OCR),由于多方向甚至非文本行的文字布局,场景文本的识别更具有挑战性。
由于文本识别过程中文本定位的复杂性,传统的文本检测方法涉及多个处理步骤,例如字符/候选字生成[1]、候选滤波和分组。为了使每个模块正常工作,需要在调整参数和设计启发式规则方面付出很多努力,但是这也降低了检测速度。而目前的目标检测方法也主要是基于水平文本的检测与识别[2-3]。受到目前语义分割方法[4-5]的处理任意方向甚至非文本行的启发,本文采用全卷积的神经网络直接对任意文本文字进行定位,采用全连接条件随机场进行文字提取,再进行最后的识别。
本文的贡献在于能够针对任意形状文本行进行定位和识别。为了适应文本行长宽比的巨大变化,本文设计了几种不规则卷积核去适应文本行的长宽比变化。在语义分割前端输出文本行的定位内容,然后将结果输入到后端全连接条件随机场中进行文字提取与学习,获得了文本行中文字的识别结果。能够将任意图片中任意方向的文字分离出来,再将其输入识别器中获取文本结果。
总而言之,本文的贡献主要有3个方面:第一,本文中方法能够针对任意方向的文本行及文字进行识别;第二,本文设计了一种用于场景文本检测的端到端神经网络模型;第三,本文可以针对任意大小的文字进行识别,而不会丢失目标。
场景文字识别可以进一步分为2个分任务:文字定位和文本识别。前者旨在获得文本在图像当中的位置,后者识别出机器可解释的字符序列。本文涵盖了这2个任务,但是更多是在获得定位的同时将文本转化为更容易解释的结果。
基于检测目标,文本检测的方法大致可以分为3类:
1)基于字符。首先检测到个体目标,然后组成单词[6-7]。例如文献[6]对检测到的字符通过遍历方法进行组词。
2)基于词。用类似于一般对象的检测方式直接获取词[1, 8-9]。文献[1]提出了一种基于R-CNN[10]的框架。首先,词类候选者是与类别无关的候选字符生成器生成的;然后,这些候选字符由随机森林分类器分类;最后,采用一种回归边界框的卷积神经网络来修正边框。
3)基于文本行。检测文本行,然后将其分解成单词[11-12]。例如,文献[11]提出利用其对称特征检测文本行。文献[12]提出了一种端对端的可训练快速场景文本检测器,它可以检测场景文本并与文本识别器相结合。
基于语义分割,文献[2]提出了一种串联的全卷积网络方法。在粗提取文本区域的基础上,针对文本所在区域再次进行卷积分割。但无法解决文本行重叠问题。
传统的文本识别方法需要针对每次的新任务手动建立复杂的特征提取模型,基于语义分割的方法在处理任意方向文本行有着极大的优势,然而目前基于语义分割进行文本定位与识别时,由于缺乏边缘约束,无法分割临近文本行。本文Text-deeplab的目标是通过整个卷积网络快速精准地定位文本行区域,在获得文本行的基础上,加入条件随机场进行文字切割,获得文字信息。
1 网络结构Text-deeplab网络建立在16层VggNet架构基础之上,由5个池化层隔开的16个卷积层构成。灵感来自于(FCN)的设计分割[4],本文使用1×1卷积层替换原始VggNet的全连接层。Text-deeplab网络结构如图1所示。保持了从conv1-1到conv4-3的层次。
![]() |
Download:
|
图 1 Text-deeplab网络结构 |
本文网络中将VGG-16网络的第4个和第5个池化层去掉。采用了带孔的卷积。但是在conv5-1增加了2层并联的卷积,卷积核的尺寸变成了更适用于不同长度文本行的长方形卷积核,最后采用了综合前层信息的msc(跳跃结构)。输出层也是卷积得出的。Text-deeplab只包括卷积和CRF层,因此可以适应于训练和测试中的任意大小的图像。
1.1 文本矩形内核本文将文本行作为检测对象。文字的外观线条有明显的特点。他们的形状通常是正方形(例如,1个字只包括1个或2个字符)、水平矩形或垂直矩形。为了处理这样特定的文本属性,本文设计具有多种内核的3个并行卷积层替代原来池化层4和池化层5之间的3个卷积层。在本文的文本网络,3个内核尺寸分别设置为3×3、3×7和7×3。不同于原来的顺序架构,本文并行化3层,设计不同的卷积核大小,它们输出3张相同尺寸的特征图。
1.2 多池化层融合只考虑最后一层信息的情况下,会得到相对粗糙的分割效果,这对后续的文字识别带来一定干扰,如图2所示。
![]() |
Download:
|
图 2 未加入前层信息网络结果输出 |
本文在前4层的池化层之后加入不同步长的卷积,使其输出分辨率降低到原来1/8的特征图,再通过1×1卷积层映射到输出类别数,最后与网络最后一层输出结果进行融合,如图3所示。
![]() |
Download:
|
图 3 多层融合处理结构 |
经过融合后的网络具有更强处理复杂背景及分割边界的能力,并且具有更大的平均重叠度(mean intersection over union,mIoU)。分割结果如图4所示。
![]() |
Download:
|
图 4 加入多层信息网络结果输出 |
前端网络的目标是通过整个低分辨率的图像快速精准地定位文本行区域,具有强大的辨别能力和对复杂背景信息的鲁棒性。大多数之前基于CNN的文本定位方法训练一个字符级别的CNN分类器,并将其应用于多尺度滑动窗口密集扫描图像,然后产生相应的特征图,指示文本的概率和位置[13-14]。这些方法建立在字符级别检测的基础之上,受到以下限制:1)从复杂的背景参数中强化区分特征是非常困难的;2)它需要一些复杂的后处理步骤来消除错误检测,并将检测到的字符从底部到文本行,使其系统非常复杂;3)有效处理字体大小的多样性是困难的,探索多尺度窗口大大增加了计算需求。为了规避这些问题,本文将文本行的定位和检测放在网络结构的前段完成。
在选择文本行区域标注是因为文本行像素的各个场肯定包括它们周围的有意义的局部文本信息。因此,本文使用像素方式的文本区域矩形框作为区域估计的监督信息,即标注信息。通过标记文本行边界框中的所有像素,可以方便地获得该信息。这种简单的标签方案允许检测器综合考虑局部邻近的信息,这使它超越了基于像素级别的检测器,例如笔画宽度变换(stroke width transformation, SWT)和区域特征提取(maximally stable extremal region, MSER)。
由于语义分割端到端的特点,在处理任意方向文本输入时,对属于文本的区域进行密集预测,获得文本行的位置。前3层的池化层的使用使输入图像的分辨率降低到了原来的1/8。例如输入321×321的原始图像,在终端会输出41×41的预测图像,再经过双线性插值使其重新调整到原图大小。预测结果如图5所示。
![]() |
Download:
|
图 5 文本行输出结果 |
本文选取网络最后一层输出特征图与标注图像下采样的标准结果之差作为损失函数值,并计算一个批次的平均损失函数作为结果,然后加入L2正则项以避免过拟合,最后再进行反向传播计算。
1.5 全连接条件随机场全卷积层的输出图像可以预测物体的存在并给予粗略的位置,但是并不能真正描绘出文字,目前也不存在这样直接区分文字的标注图像。在针对普通目标的语义分割中,有2种方法解决这一问题:第一种方法是利用卷积特征金字塔中的多层信息来更好地估计对象边界;另一种方法是采用超像素表示。本文中通过全卷积网络的识别能力和全连接CRF的精度分割能力,直接将前端输出的文本行中的文字给区分出来。
对于每个像素具有类别标签xi还有对应的观测值yi,这样以每个像素点作为节点,像素与像素间的关系作为边,即构成了一个条件随机场。而且本文通过观测变量yi来推测像素i对应的类别标签xi。
${{E}}\left( {{x}} \right) = \mathop \sum \limits_i {\theta _i}\left( {{x_i}} \right) + \mathop \sum \limits_{ij} {\theta _{ij}}\left( {{x_i},{x_j}} \right)$ |
式中的一元势函数即来自于全卷积网络的输出:
${\theta _i}\left( {{x_i}} \right) = - {\rm log}P\left( {{x_i}} \right)$ |
而二元势函数为
${\theta _{ij}}\left( {{x_i},{x_j}} \right) = \mu \left( {{x_i},{x_j}} \right)\left[ {{\omega _1}{\nabla _1} + {\omega _2}{\nabla _2}} \right]$ |
式中:
$\begin{aligned}& {\nabla _1} = \exp \left( { - \displaystyle\frac{{{{\left| {\left| {{p_i} - {p_j}} \right|} \right|}^2}}}{{2\sigma _\alpha ^2}} - \frac{{{{\left| {\left| {{I_i} - {I_j}} \right|} \right|}^2}}}{{2\sigma _\beta ^2}}} \right)\\& {\nabla _2} = \exp \left( { - \displaystyle\frac{{{{\left| {\left| {{p_i} - {p_j}} \right|} \right|}^2}}}{{2\sigma _\gamma ^2}}} \right)\end{aligned}$ |
二元势函数就是描述像素点与像素点之间的关系,鼓励相似像素分配相同的标签,而相差较大的像素分配不同标签,而这个“距离”的定义与颜色值和实际相对距离有关。所以这样CRF能够使图片尽量在边界处分割。而全连接条件随机场的不同就在于,二元势函数描述的是每一个像素与其他所有像素的关系,所以叫“全连接”。
2 实验结果为了充分比较所提出的方法与竞争能力,本文在ICDAR2015和MSRA-TD500这2个最近的标准集上评估本文的模型方法。
2.1 数据集评估本文方法的2个数据集,均是多向文本数据集。
MSRA-TD500数据集被公开收集和公开发布,作为评估文本检测算法的基准,目的是跟踪自然图像中文本检测领域的最新进展,特别是检测文本检测任意取向的进展。MSRA文本检测500数据库(MSRA-TD500)包含500个自然图像,采用袖珍相机从室内(办公室和商场)和户外(街道)场景中拍摄。室内图像主要是标志牌、门牌和警戒牌,而室外图像大多是导向板和复杂背景下的广告牌。图像的分辨率从1 296×864到1 920×1 280不等。文本的多样性和图像背景的复杂性增加了数据集的挑战性:文字可能是不同的语言(中文、英文或两者的混合)、字体、大小、颜色和方向;背景可能包含植被(例如树木和灌木丛)和重复的图案(例如窗户和砖块),这些图案与文本不能区分开;数据集包含训练集和测试集,训练集包含从原始数据集中随机选择的300张图像,其余200张图像构成测试集,此数据集中的所有图像都已完全注释。
ICDAR2015-随机场景文本数据集是ICDAR2015随机场景文本竞赛的基准。该数据集包含1 000个训练图像和500个测试图像。这些数据集集中在随机场景中,文本可能以任何方向出现,任何位置都具有小尺寸或低分辨率。与MSRA-TD500不同的是,地面事实标注在句子级别,ICDAR2015的注释是文字级。为了满足ICDAR2015测量的要求,本文根据本文的方法生成文本行。
2.2 数据增强不同的任务背景下,本文可以通过图像的几何变换,使用以多种数据增强变换来增加训练数据集。本文选择ICDAR2015的1 000张训练集图像以及MSRA-TD500的300张训练数据集并做了以下增强:
1)旋转变换。每18°旋转一次图像,获得了1 300×20=26 000张图片作为训练集。
2)翻转变换。将训练图片沿着水平以及垂直方向翻转图像,获得1 300×2=2 600张扩充图片作为训练集。
3)缩放变换。按照一定的比例放大或者缩小图像,本文进行0.5~1.5的随机缩放进行数据集扩充。每张图进行3次变换,获得了1 300×3=3 900张扩充图片作为训练集。
4)对比度变换。在图像的HSV颜色空间,改变饱和度S和V亮度分量,保持色调H不变。对每个像素的S和V分量进行指数运算(指数因子在0.25到4之间),增加光照变化。每张图进行3次变换,获得1 300×3=3 900张扩充图片作为训练集。
5)噪声扰动。对图像的每个像素RGB进行随机扰动,常用的噪声模式是椒盐噪声和高斯噪声,本文选择加入一定高斯噪声。每张图进行2次变换,获得1 300×2=2 600张扩充图片作为训练集。
最终本文选择1 300张原始训练图片的扩充集,即39 000张训练图片进行训练。
2.3 训练参数文本框使用随机梯度下降(stochastic gradient descent,SGD)进行随机321×321剪切图像训练。动量和权重衰减分别设定为0.9和5×10-4。学习率最初设定为10-3,并随着迭代步数的增加逐渐衰减。所有的实验都是在一台带有Titan K40的服务器上进行的,整个训练时间约为72 h,文本识别是在文献[5]基础上对CRF参数优化后进行文字提取。
2.4 文本行定位及识别结果在加入全池化融合之后边缘获得优化,更有利于之后的文字识别,mIoU更好。本文方法以及全连接网络(fully convolutional networks,FCN)系列方法针对MSRA数据集的定位结果如表1所示[4]。
![]() |
表 1 MSRA文本行定位结果 |
取FCN系列基本网络及最优网路,并与本文方法对比,针对碎片程度更大、不相关干扰更强、难度更大的ICDAR2015数据集的定位结果如表2所示。
![]() |
表 2 ICDAR文本行定位结果 |
在经过文本行定位之后,接下来数据经过CRF,得到结果如图6、7所示。
![]() |
Download:
|
图 6 MSRA文字分割结果 |
![]() |
Download:
|
图 7 ICDAR2015文字分割结果 |
结果显示了本文方法在文字分割上的结果,给文本检测与识别带来了新的思路和方法。
3 结论1)本文将语义分割方法用于文本行的定位,能够有效地定位任意方向的文本行。
2)本文将图像特征金字塔结构中多尺度特征进行融合,能够对不同大小的目标文本进行精确定位。
3)本文使用全连接条件随机场将文本行中的文字轮廓提取出来,可以直接送到识别器中进行识别。
4)本文提出了一个端到端神经网络模型Text-deeplab,避免了构建复杂特征提取模型。
最后实验结果表明:该网络相对于传统复杂的特征提取模型有着更高的精度和效果,相对于检测方法本文能够直接给出文字分割结果。这种方法可用于自然场景下不规则文本的识别。
[1] |
JADERBERG M, SIMONYAN K, VEDALDI A, et al. Reading text in the wild with convolutional neural networks[J]. International journal of computer vision, 2016, 116(1): 1-20. (![]() |
[2] |
ZHANG Z, ZHANG C, SHEN W, et al. Multi-oriented text detection with fully convolutional networks[C]//CVPR, Las Vegas, USA, 2016: 4159-4167.
(![]() |
[3] |
GÓMEZ L, KARATZAS D. Textproposals: a text-specific selective search algorithm for word spotting in the wild[J]. Pattern recognition, 2017, 70: 60-74. DOI:10.1016/j.patcog.2017.04.027 (![]() |
[4] |
LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 39(4): 640-651. DOI:10.1109/TPAMI.2016.2572683 (![]() |
[5] |
CHEN L C, PAPANDREOU G, KOKKINOS I, et al. DeepLab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 40(4): 834-848. DOI:10.1109/TPAMI.2017.2699184 (![]() |
[6] |
NEUMANN L, MATAS J. Real-time scene text localization and recognition[C]//Proceedings of 2012 Conference on Computer Vision and Pattern Recognition. Providence, RI, USA, 2012: 3538-3545.
(![]() |
[7] |
HUANG Weilin, QIAO Yu, TANG Xiaoou. Robust scene text detection with convolution neural network induced MSER trees[C]//Proceedings of the 13th European Conference on Computer Vision-ECCV 2014. Switzerland, 2014: 497-511.
(![]() |
[8] |
TIAN S, PAN Y, HUANG C, et al. Text flow: A unified text detection system in natural scene images[C]//Proceedings of the IEEE International Conference on Computer Vision. Santiago, Chile, 2015: 4651-4659.
(![]() |
[9] |
GUPTA A, VEDALDI A, ZISSERMAN A. Synthetic data for text localisation in natural images[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, United States, 2016: 2315-2324.
(![]() |
[10] |
REN Shaoqing, HE Kaiming, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031 (![]() |
[11] |
ZHANG Zheng, SHEN Wei, YAO Cong, et al. Symmetry-based text line detection in natural scenes[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, USA, 2015: 2558-2567.
(![]() |
[12] |
LIAO M, SHI B, BAI X, et al. TextBoxes: a fast text detector with a single deep neural network[C]//AAAI. San Francisco, USA, 2017: 4161-4167.
(![]() |
[13] |
JADERBERG M, VEDALDI A, ZISSERMAN A. Deep features for text spotting[C]//Proceedings of the 13th European Conference on Computer Vision. Zurich, Switzerland, 2014: 512-528.
(![]() |
[14] |
WANG Tao, WU D J, COATES A, et al. End-to-end text recognition with convolutional neural networks[C]//Proceedings of the 21st International Conference on Pattern Recognition. Tsukuba, Japan, 2013: 3304-3308.
(![]() |