APP下载

基于改进TextBoxes++的多方向场景文字识别算法的研究

2019-01-23李伟冲

现代计算机 2018年36期
关键词:分支边界卷积

李伟冲

(四川大学计算机学院,成都 610065)

0 引言

自然场景文字识别有着诸多潜在的应用,例如文档分析、图像检索、情景理解以及机器导航等,因此其在计算机视觉已成为一个热点研究领域。传统光字符识别技术(OCR)主要面向高质量的文档图像。此类技术假设输入图像背景干净、字体简单且文字排布整齐,在符合要求的情况下能够达到很高的识别水平。与文档文字识别不同,自然场景中的文字识别则面临着图像背景复杂、分辨率底下、字体多样、分布随意等挑战,传统光学识别技术在此类情况下几乎无法被应用。近年来基于深度神经网络(DNN)技术在图像识别及计算机视觉各领域取得重大进展,相关方法也被逐步应用到自然场景文字识别中并大大提高识别的效率和精度。作为大量相关技术的基础工作,自然场景文字识别的不断发展和突破具有深远的研究意义和实际价值。

过去的研究通常将自然场景文字识别视为两个按顺序执行的单独的子任务:文字检测和文字识别。文字检测通常使用卷积神经网络提取场景图像特征,然后通过目标回归(例如文献[1、2、3])或使用基于语义分割的方法(例如文献[4、5])确定文字位置。而文字识别被视作序列标签问题,其中为了提高识别准确度有些方法加入了注意力机制,例如文献[6、7]。分别训练两个任务,会导致大量的时间开销,特别是对于具有多个文字区域的图像。此外,单独检测和识别不能共享卷积特征。

经上分析,本文通过改进TextBoxes++[1]算法,提出一种端到端可训练的多方向场景图像文字识别方法(即EX-TextBoxes++)。相比两阶段文字识别方法,本文提出的方法在检测和识别之间共享卷积特征,并通过多任务学习进一步提高检测和识别的精度。综上所述,本文的主要贡献如下:

(1)本文通过添加一个文字识别分支扩展TextBoxes++算法,提出一个端到端可训练的多方向场景图像文字识别算法。

(2)为了将检测和识别统一到端到端管道中,并从卷积特征映射中提取定向文字区域,本文引入RoIRotate模块。

(3)本文提出的方法在多方向文字数据集ICDAR 2015和ICDAR 2017 MLT上进行评估。实验结果表明:本文提出的方法在以上数据集上达到先进水平。

1 相关工作

TextBoxes++是基于SSD[9]改进的端到端全卷积网络,通过四边形或者倾斜的矩形来表示图像中文字框,因此具有检测任意方向文字的能力。TextBoxes++在数据集ICDAR 2015的检测F-measure值为0.829,属于最先进的多方向场景文字检测方法之一。其网络结构如下图1所示,Conv_n#c中的k,n和#c分别表示卷积层索引,卷积单元个数和网络输出特征图通道数。主干网络继承流行的VGG-16[10]架构,保持Conv1_1到Conv4_3,并用两个卷积层(Conv5_1和 Conv6_1)替换最后2个全连接层。在Conv6_1之后附加另外10个卷积层(Conv7_2到Conv10_2),以及6个连接到6个中间卷积层的文字框(text-box)层。文字框层的每个位置预测每个默认框的n维向量,包括文字存在分数(2维),水平边界矩形偏移(4维)和旋转矩形边界框偏移(5维)或四边形边界框偏移(8维)。在本文中剪除旋转矩形边界框偏移的维度,并添加对旋转角度的预测。改变后的文字框层的每个位置预测每个默认框的n维向量,包括文字存在分数(2维),水平边界框偏移(4维),四边形边界框偏移(8维度)和四边形边界框旋转角度(1维)。在测试阶段应用非最大抑制以合并所有6个文字框层的结果。网络受到SSD启发,使用多尺度输出以适应小目标检测。TextBoxes++是一个仅包括卷积和池化层的全卷积神经网络,因此,可以在训练和测试阶段适应任意大小的图像。

图1 TextBoxes++的网络体系结构

2 本文提出的方法

2.1 EX-TextBoxes++网络结构

如图2所示为本文提出的网络结构(EX-TextBoxes++),由图可知本文扩展了TextBoxes++的网络结构,添加了连接用于文字识别分支(recognition-branch)和检测分支与识别分支的RoIRotate模块,其中检测分支如图2所示。首先使用共享卷积提取图像特征,并在检测分支和识别分支共享特征。卷积特征经过检测分支输出文字的水平边界矩形框,四边形边界框及其旋转角度。RoIRotate模块结合检测分支的边界框信息提取文字区域对应的卷积特征,并通过仿射变换后输入到识别分支。由于网络中所有模块都是可区分的,因此可以对整个网络进行端到端的训练。

图2 EX-TextBoxes++的网络体系结构

2.2 RoIRotate

图3 RoIRotate作用解释图

RoIRotate首先由FOTS[8]提出,对定向的特征区域应用仿射变换来获得与坐标轴平行的特征图,如图3所示。在本文中使用固定的输出高度并保持纵横比不变以处理不同长度的文字。RoIRotate使用双线性插值来计算输出值,从而避免了提取的特征之间的未对准的情况。RoIRotate操作后输出特征的长度是可变的,这更适合于大小不定的文字识别。RoIRotate仿射变换的过程可分为两个步骤。首先,通过文字检测分支预测的水平边界框或真实边界框的坐标计算仿射变换参数。然后,对于每个区域,将仿射变换应用于共享特征图。由此,可获得文字区域对应的水平特征图。第一步的公式如下:

其中M为仿射变换矩阵,wt,ht表示仿射变换后特征映射的宽高(在本文的实验中ht设置为8),w,h表示预测或真实的文字水平边界框的宽高,tx,ty表示对于边界框内共享特征映射中的点的坐标,θ为文字框旋转的角度,在测试时w,h,θ由检测分支预测,在训练时取值为真实标注值。在得到仿射变换矩阵后,利用放射变形可以轻松生成最终的水平特征,其公式如下所示:

对∀i∈[1...ht],∀j∈[1...wt],∀c∈[1...C]有:

其中是通道 c中位置(i,j)的输出值是通道c中位置(n,m)的输入值。h,w表示输入的高度和宽度,Φx,Φy表示普通的采样核k()的参数,其定义了插值的方法。由于提取文字区域特征的宽度大小可能不同,因此本文使用最长宽度进行填充,对于小于最长宽度的部分填充0,而在识别时损失函数中则忽略补0的部分。

一节课的回顾总结同样也是一个提升学生数学交流的重要环节。教师引导学生回顾总结,唤起学生对整节课内容的回忆,帮助他们整理学习过程,理清新内容与旧知识之间的联系,让学生体会到学习数学的快乐。让学生谈收获与感受,有意识地交流,在交流中不断进步。

2.3 文字识别分支

表1 文字识别分支网络结构

文字识别分支旨在使用从共享卷积特征提取的,并由RoIRotate仿射变换的文字区域特征来预测文字标签,其网络结构如上表1所示,其中conv_bn_relu表示依次经过卷积,批量正则和ReLU函数激活的卷积单元,height_max_pool表示仅沿高度轴减小特征尺寸。首先,经过仿射变换的水平空间特征图依次通过卷积和池化。然后,将提取更高层的特征图L∈RC×H×W从宽度方向展开转换为时间序列l1...lw∈RC×H,并馈入双向RNN进行编码。本文使用双向LSTM,每个方向256个维度,以捕获输入特征间的长短依赖。接着,将在两个方向的每个时间步长的隐藏状态h1...hw∈RD相加并馈入|S|维的完全连接网络,其中|S|表示字符字典中字符的个数。完全连接网络每个节点输出每个状态在字符类S上的分布xt∈R|S|。最后,CTC(Connectionist Temporal Classification)[14]用于将网络输出的分类分数转换为标签序列。对于给定每个状态ht在字符类S上 的 概 率 分 布xt,及 真 实 标 签 序 列y*={y1,...,yT},T≤W,标签y*的条件概率是所有路径π的概率之和,可表示为下式:

其中β定义了从具有空白和重复标签到y*的可能标记集合中的多对一映射。训练阶段文字识别损失就是对于整个训练集取公式(4)的最大似然。本文采用文献[14]的损失函数如下式:

其中N为输入图像中文字区域的数量,y*n表示预测的字符标签。

2.4 损失函数

EX-TextBoxes++损失函数由检测损失和识别损失组成,如下式:

其中Lrecog由上式(5)给出,λ为检测和识别损失平衡因子,本文实验中λ取值为1。Ldetect的损失由置信度,几何框(水平矩形框和四边形框)和旋转角度损失组成。更具体地,令x为默认框和真实最小外接矩形框的匹配指示矩阵。对于第i个默认框和第j个真实框,xij=1表示两者重叠匹配(本文实验中IOU>0.5认为重叠匹配),否则xij=0,此时几何形状损失为0。让c表示置信度,l为预测位置,g为真实位置。检测损失函数定义为:

其中N是与真实框匹配的默认框的数量,∂设置为0.2以便快速收敛。对Lloc采用平滑L1损耗[15],对Lconf采用2分类Softmax损失。

3 实验及结果分析

3.1 实验数据集

ICDAR 2015[15]附带的文字数据集来自ICDAR 2015 Robust Reading Competition的挑战。该数据集有1000个训练图像和500个测试图像组成。这些图像由Google Glass以随机的方式拍摄,因此,场景中的文字可以处于任意方向,或者具有运动模糊和低分辨率。ICDAR 2015提供了3个特定的单词列表作为词典,分别为“Strong”,“Weak”和“Generic”。“Strong”词典每个图像提供100个单词,包括图像中出现的所有单词。“Weak”词典包括出现在整个测试集中的所有单词。而“Generic”词典是一个90k字的词汇。在训练中,首先使用ICDAR 2017 MLT[16]训练和验证集中的9000个图像训练本文的模型,然后使用1000张ICDAR 2015训练集的图像和229张ICDAR 2013[17]训练集图像来微调模型。

ICDAR 2017 MLT[16]是一个大型多语言文字数据集,包括7200张训练图像,1800张验证图像和9000张测试图像。数据集由来自9种语言的自然场景图像组成。该数据集中的文字区域可以处于任意方向,因此具有更加多样性和挑战性。该数据集没有文字识别任务,因此仅比较文字检测结果。

3.2 实现细节

本文使用ImageNet[11]数据集训练的模型作为我们预先训练的模型。训练过程包括两个步骤:首先使用Synth800k数据集[12]训练网络10次,然后采用对应的实验数据集对模型进行微调直到收敛,如3.1小节所述。数据增强能增强网络的鲁棒性,本文使用了与文献[8]类似的数据增强方式。首先,图像的较长边从640像素到2560像素调整大小。接着,图像随机旋转-10°到10°。然后,图像的高度以0.8到1.2的比例随机缩放,同时宽度保持不变。最后,从变换的图像中裁剪640×640个随机样本。为了解决目标的不均衡分布问题,本文采用Hard Negative Mining处理训练图像[13]。更确切地说,对相应数据集的训练分为两个阶段。第一阶段的负数和正数之间的比例设定为3:1,然后第二阶段的比例变为6:1。

本文的实验在配备单个Titan Xp GPU的PC上使用TensorFlow框架完成。使用Adam[18]对网络进行端到端的训练。为了加快训练速度,取最小批量的大小为24,学习率从1e-3开始,每训练27300个小批量学习率衰减十分之一,最终停在1e-5。在训练阶段输入文字识别分支的几何框和角度为真实标签值。在测试阶段输入文字识别分支的几何框和旋转角度为文字检测分支预测的并经过NMS提取的结果。

3.3 实验结果分析

图4-5为EX-TextBoxes++的部分测试样例,可以看出EX-TextBoxes++能够处理各种具有挑战性的场景,例如非均匀照明、低分辨率、任意方向和透视失真。

图4 EX-TextBoxes++在ICDAR 2015数据集上的测试样例

图5 EX-TextBoxes++在ICDAR 2017 MLT数据集上的测试样例

图6

表2-3分别为在ICDAR 2015和ICDAR 2017 MLT数据集的对比实验结果,单位为百分比,其中“P”,“R”,“F”分别代表精度,召回率和 F-measure。“S”,“W”,“G”分别表示对应数据集的“Strong”,“Weak”和“Generic”的 F-measure。ICDAR 2017 MLT没有文字识别任务,因此仅比较文字检测结果。在ICDAR 2015数据集的文字检测上本文提出的方法优于其他先进的单步检测方法,对此本文给出如下解析:如图6(b)所示为错误识别的结果。由于网络共享卷积特征,识别误差通过反馈传播辅助检测的修正。而在ICDAR 2015数据集的端到端的识别任务和ICDAR 2017 MLT的检测任务,本文的方法效果不如FOTS,但是优于其他先进的方法。经过分析,FOTS采用实例分割的方法进行检测,在对小文字的检测上优于本文采用的基于区域建议框的目标回归方法。综上分析,本文提出的方法在端到端文字识别上达到先进水平,而在检测方面优于其他先进的单步检测方法。

表2 在ICDAR 2015数据集的对比实验结果

表3 在ICDAR 2017 MLT数据集的对比实验结果

4 结语

本文通过改进目前先进的多方向场景文字检测算法TextBoxes++,提出一个统一的端到端可训练的多方向文字识别方法,用于文字的同时检测和识别。为了适应多方向文字的识别,在TextBoxes++文字检测分支添加了对四边形文字框角度的预测;并且通过添加文字识别分支扩展TextBoxes++的网络结构,用于文字的识别;最后本文引入RoIRotate以在检测和识别之间共享卷积特征。在公开数据集ICDAR 2015和ICDAR 2017 MLT上的实验证明本文提出的方法的有效性。

猜你喜欢

分支边界卷积
一类离散时间反馈控制系统Hopf分支研究
守住你的边界
软件多分支开发代码漏合问题及解决途径①
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
突破非织造应用边界
意大利边界穿越之家
巧分支与枝
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法