[论文翻译]Scene text recognition from two-dimensional perspective

二维视角下场景文字识别

摘要

受到语音识别的启发,最近最先进算法认为场景文字识别是一个序列预测问题。尽管达到极好的性能,这些方法通常忽视了一个重要的事实,图像中的文本实际上分布在二维空间。这是一种与语音截然不同的性质,语音本质是一维信号。原则上,直接把文本特征压缩成一维形式可能会失去有用信息和引入额外噪声。文本中,我们从二维角度来处理场景文本识别。一个简单但有效的模型,Character Attention Fully Convolutional Network(CA-FCN),被设计用于识别不同形态的文本。场景文字识别用一个语义分割网络实现,其中采用了一个针对字符的注意力机制。结合一个构词模块,CA-FCN能同时识别文本并预测每个字符的位置。实验证明提出算法在规则和不规则文本数据集上均比以往方法表现优异。并且,在文本检测阶段,它被证明对在实践中非常常见的不精确定位更加鲁棒。

1 引言

场景文本识别是计算机视觉中一个活跃的研究领域,因为它是真实应用中的重要元素,比如无人驾驶的路灯识别,人机交互,盲人引导牌识别辅助技术(Rong, Yi, and Tian 2016;Zhu等人2018)。与文档识别的成熟度相比,具有大量变体的文本形态、字体、颜色、背景的场景文字识别仍然是一个具有挑战性的工作。

大多数最近工作将场景文字识别转化成序列识别,这极大地简化了问题,并在常规文本上带来了出色的性能。如图1a,它们首先编码输入图像成一个特征序列,然后应用解码器如RNN和CTC来解码成目标序列。当图像中的文本是水平或接近水平时,这些方法能产生好的效果。然而,不同于语音,场景图象中的文本本质分布在二维空间。比如,字符分布可以是分散的,任意方向的,甚至曲型,如图1。这些情况下,粗糙地将图像编码成一维序列可能会损失重要信息,或带来不期望的噪声。(Shi 等人,2016)尝试使用空间变换网络(STN)矫正文本形状来缓解这个问题。然而,(Shi等人)仍然使用基于序列的模型,所以正畸的效果受到了限制。
在这里插入图片描述
图1 一维空间和二维空间的文本识别图解。(a)展示了基于序列方法的识别流程。(b)展示了提出的基于分割的方法。不同颜色表示不同字符类别。

如上所述,基于序列方法的限制主要由于特征序列的一维分布和场景图象文字的二维分布的不同导致的。为了克服这些限制,我们以一中新的、自然的角度解决场景文字识别问题。受FCN灵感,提出Character Attention Fully Convolutional Network(CA-FCN)来像素级预测字符。接着单词,与字符定位相同,可以通过构词模块得到,如图1b。这样,可以避免广泛使用在基于序列方法中的压缩和切片特征处理。从更高维角度受益来看,就文本形状、背景噪声,和检测阶段的不精确定位来看提出的方法比以往基于序列的方法更具有鲁棒性。本方法需要字符级别标注。然而,字符标注可解放人力,因为只在训练阶段使用了合成数据集,标注容易获得。

本文的贡献可以总结为以下:
1)提出一个全新不同角度来识别场景字符。不同于最近将文字识别问题当成一维空间序列识别问题的工作,我们提出在二维空间解决问题。
2)我们设计了字符注意FCN用于场景文字识别。据我们所知,本方法可以处理任意宽高的图像,不同形状的自然识别文本,包含但不限于定向和曲型文本。
3)提出的方法在规则数据集上达到了SOTA性能,并在不规则数据集上优于现存方法一大截。
4)我们第一次调研了文本检测阶段产生不准确定位时网络的鲁棒性。该问题在现实应用中非常重要,但以往都被忽略。实验证明提出方法对于不准确定位具有更强的鲁棒性(见消融研究)。

2 相关工作

传统场景文字识别系统首先检测每个字符,使用二值化或滑窗操作,然后识别这些字符作为一个单词。基于二值化的方法,比如Extremal Regions,和Niblack的自适应二值化,二值化后找到字符像素。然而,自然场景图象的文本可能有不同的背景,字体,颜色,甚至光照等等,这是基于二值化方法难以处理的。滑窗方法时多尺度滑窗策略来直接从文本图像中定位字符,比如Random Ferns,Integer Programming,和 Convolutional Neural Network。对于单词识别阶段,常见方法是利用字符分类分数整合上下文信息,例如Pictorial structure 模型,Bayesian inference,和Conditional Random Field(CRF)。

受语音识别灵感,近年的工作设计了一个编码-解码框架,将图像中的文本编码成特征序列,然后解码成字符。伴随深度神经网络的发展,编码阶段提取卷积特征,然后经过RNN或CNN解码,最后使用CTC生成最后单词。这个框架由(Shi 2017)提出。接着,他们提出了一个基于注意力的STN来矫正文本畸形,对于识别曲型场景文字非常有效。基于该框架,一系列工作都把注意力放在不规则场景文本。

编码-解码框架主导了当前的文本识别工作。许多基于该框架的系统已经达到了SOTA性能。然而,场景图象中的文本分布在二维空间,这与语音不同。编码-解码框架仅把它们当作一维序列,带来了一些问题。比如,压缩文本图像成特征序列可能损失重要信息,带来额外噪声,尤其当文本为曲型或严重畸变。

有一些尝试改善编解码框架缺陷的工作。(Bai等人 2018)发现当在基于注意力的编解码下考虑场景文字识别问题时,由缺失或多余字符引起的GT串和注意输出的概率分布序列之间的不对准,会混淆和误导训练过程。为了解决这样的问题,他们提出了一种叫编辑概率(edit probability)的方法,能够考虑包含概率分布和缺失/多余字符可能性的损失。(Cheng等人 2018)目标于处理定向文本并发现对于当前编解码框架捕捉定向文本的深层特征很困难。为了解决这个问题,他们编码输出图像成4个方向的4个特征序列来提取这些方向的场景文本特征。(Lyu等人 2018)提出了一个用于单词识别的实例分割模型,在其识别部分使用基于FCN的方法。但是,它着重于端到端单词识别任务,没有讨论验证识别部分。

本文,我们从二维视角考虑文本识别,并设计了一个字符注意力FCN来处理文本识别问题,能自然避免编码解码框架的缺陷。比如,压缩文本图像成特征序列可能损失重要信息,增加额外损失,尤其当文本是曲型或严重变形的。提出的方案在规则与不规则文本都得到了高准确率。同时,对于文本检测阶段不精确定位也具有鲁棒性。

3 方法

总览

提出方法的整体架构包含两部分。第一部分是Character Attention FCN(CA-FCN),以像素级预测字符。另一部分是一个构词模块,分组排列像素来组成最终单词结果。
在这里插入图片描述
图2 CA-FCN图解。左侧的蓝色特征图由VGG16骨干网得到;右侧的黄色特征图是额外层。 H , W H,W H,W表示输入图像的高和宽。 C C C是类别数。

字符注意FCN

CA-FCN架构基本上是一个完全卷积网络,如图2。我们使用VGG-16作为骨干网,同时删除全连接层,和stage4和stage5的池化层。除此之外,采用一个类似金字塔结构(Lin等人 2017)处理不同尺度的字符。最终输出尺寸为 H 2 × W 2 × C \frac H 2 ×\frac W 2×C 2H×2W×C H , W H,W HW分别表示输入图像的高和宽, C C C是类数包含字符类别和背景。本结构可通过二维空间预测字符来处理不同形状的文本。

Character attention module。注意力模块在网络中非常重要。自然场景文本识别遭受复杂背景、阴影、不无关符号等影响。并且,自然图像中的字符通常拥挤,难以分离。为了处理这些问题,受(Wang 2017)的启发,我们提出了一个字符注意力模块来强调前景字符,弱化背景,以及分离相邻字符。如图2。注意力模块加入到VGG16的每个输出层。低级注意力模型主要集中在外观上,比如边、颜色、纹理。高级模块可以提取更多的语义信息。字符注意模块表达如下:

F o = F i ⊗ ( 1 + A ) F_o=F_i\otimes(1+A) Fo=Fi(1+A)

F i F_i Fi F o F_o Fo分别是输入输出特征图。 A A A是注意力图; ⊗ \otimes 表示元素级乘法。注意力图由两个卷积层和一个两类(字符为1和背景为0)Softmax函数产生。注意力图 A A A 传播(broadcast)到与 F i F_i Fi相同的大小以实现元素级乘法。与(Wang 2017)相比,我们字符注意模块使用了一个更简单的网络结构,从字符监督中受益。字符注意模块的有效性在消融研究章节讨论。
在这里插入图片描述
图3 可变卷积的图解。a)常规卷积。b)带有3*1卷积的可变卷积。绿色框表示卷积核。黄色框表示感受野覆盖区域。超出图片的感受野会被修剪。

Deformable convolution。如图2示,可变卷积用在stage-4和stage-5。可变卷积学习卷积核的偏置,为字符预测提供更灵活的感受野。可变卷积的核大小默认为 3 × 3 3×3 3×3。可变卷积后的卷积核大小为 3 × 1 3×1 3×1。在图3,有正常卷积、和带有 3 × 1 3×1 3×1卷积核的可变卷积以及它们感受野的描述。图3中的图像是扩展的文本图像,更多地包含背景。因为大多数训练图像是用贴近边框截取,并且由于固定感受野常规卷积包含大量字符信息,因此它更趋向于把额外背景预测成字符。但是,如果使用可变卷积和 3 × 1 3×1 3×1卷积核,感受野会更灵活更好,额外背景也会被正确预测。值得注意的是,额外背景在现实应用中检测结果通常都是不准确的。因此,在扩展文本图像上的鲁棒性非常重要。可变卷积的有效性在消融研究章节通过实验讨论。

训练

Label generation。令 b = ( x m i n , y m i n , x m a x , y m a x ) b=(x_{min},y_{min},x_{max},y_{max}) b=(xmin,ymin,xmax,ymax)表示字符原始边框,可以用覆盖字符的最小轴对齐矩形框表示。GT字符区域 g = ( x m i n g , y m i n g , x m a x g , y m a x g ) g=(x_{min}^g,y_{min}^g,x_{max}^g,y_{max}^g) g=(xming,yming,xmaxg,ymaxg)可以如下计算:

w = x m a x − x m i n h = y m a x − y m i n x m i n g = ( x m i n + x m a x − w × r ) / 2 y m i n g = ( y m i n + y m a x − h × r ) / 2 x m a x g = ( x m i n + x m a x + w × r ) / 2 y m a x g = ( y m i n + y m a x + h × r ) / 2 w=x_{max}-x_{min}\\h=y_{max}-y_{min}\\ x_{min}^g=(x_{min}+x_{max}-w×r)/2\\ y_{min}^g=(y_{min}+y_{max}-h×r)/2\\ x_{max}^g=(x_{min}+x_{max}+w×r)/2\\ y_{max}^g=(y_{min}+y_{max}+h×r)/2 w=xmaxxminh=ymaxyminxming=(xmin+xmaxw×r)/2yming=(ymin+ymaxh×r)/2xmaxg=(xmin+xmax+w×r)/2ymaxg=(ymin+ymax+h×r)/2

其中, r r r是字符区域的收缩率。因为相邻字符有可能会重合,所以我们收缩字符区域。收缩处理可以降低构词难度。具体来说,在注意力监督和输出监督, r r r分别设为0.5和0.25。
在这里插入图片描述
图4 GT生成图解。(a)原始边框;(b)字符注意GT;©字符预测GT,不同颜色表示不同字符类别。

Loss function。损失函数是字符预测损失函数 L p L_p Lp和字符注意损失函数 L a L_a La的加权和:

L = L p + α ∑   2 ≤ s ≤ 5 L a s L=L_p+\alpha \sum_{\mathclap ~2≤s≤5 }L_a^s L=Lp+α 2s5Las

s s s表示第几阶段,如图2; α \alpha α经验值为1.0。

CA-FCN最终输出的尺寸为 H 2 × W 2 × C \frac H 2 ×\frac W 2×C 2H×2W×C H H H W W W分别为输入图像的高宽。 C C C是包含字符类别和背景的类数。假设 X i , j , c X_{i,j,c} Xi,j,c是输出图中的一个元素, i ∈ { 1 , … , H 2 } i\in \{1,…,\frac H 2\} i{1,,2H} j ∈ { 1 , … , W 2 } j\in \{1,…,\frac W 2\} j{1,,2W} c ∈ { 0 , 1 , … , C − 1 } c\in \{0,1,…,C-1\} c{0,1,,C1} Y i , j ∈ { 0 , 1 , … , C − 1 } Y_{i,j}\in \{0,1,…,C-1\} Yi,j{0,1,,C1}表示对应的类标签。预测损失可以如下计算:

L p = − 4 H × W ∑   1 ≤ i ≤ H 2 ∑   1 ≤ j ≤ W 2 W i , j ( ∑   0 ≤ c ≤ C − 1 ( Y i , j = = c ) l o g ( e X i , j , c ∑   0 ≤ k ≤ C − 1 e X i , j , k ) ) L_p=-\frac 4 {H×W}\sum_{\mathclap ~1≤i≤\frac H 2}\sum_{\mathclap ~1≤j≤\frac W 2}\\W_{i,j}(\sum_{\mathclap ~0≤c≤C-1}(Y_{i,j}==c)log(\frac {e^{X_{i,j,c}}} {\sum_{\mathclap ~0≤k≤C-1}e^{X_{i,j,k}}})) Lp=H×W4 1i2H 1j2WWi,j( 0cC1(Yi,j==c)log( 0kC1eXi,j,keXi,j,c))

W i , j W_{i,j} Wi,j是每个像素对应的权重。假设 N = H 2 × W 2 N=\frac H 2×\frac W 2 N=2H×2W N n e g N_{neg} Nneg为背景像素的数量。则权重可如下计算:

W i , j = { N n e g / ( N − N n e g ) if    Y i , j > 0 1 otherwise  W_{i,j} = \begin{cases} N_{neg}/(N-N_{neg}) &\text{if }~~Y_{i,j}>0 \\ 1 &\text{otherwise } \end{cases} Wi,j={Nneg/(NNneg)1if   Yi,j>0otherwise 

字符注意损失函数是二元交叉熵损失函数,所有字符标签为1,背景标签为0。

L a s = − 4 H s × W s ∑   1 ≤ i ≤ H s 2 ∑   1 ≤ j ≤ W s 2 ( ∑   0 ≤ c ≤ 1 ( Y i , j = = c ) l o g ( e X i , j , c ∑   0 ≤ k ≤ 1 e X i , j , k ) ) L_a^s = -\frac 4 {H_s×W_s}\sum_{\mathclap ~1≤i≤\frac {H_s} 2}\sum_{\mathclap ~1≤j≤\frac {W_s} 2}(\\ \sum_{\mathclap ~0≤c≤1}(Y_{i,j}==c)log(\frac {e^{X_{i,j,c}}} {\sum_{\mathclap ~0≤k≤1}e^{X_{i,j,k}}})) Las=Hs×Ws4 1i2Hs 1j2Ws( 0c1(Yi,j==c)log( 0k1eXi,j,keXi,j,c))

H s H_s Hs W s W_s Ws是对应阶段 s s s特征图的高和宽。

构词模块

在这里插入图片描述
图5 构词模块的图释

构词模块将CA-FCN预测的准确二维字符图转化成字符序列。如图5所示。我们首先利用阈值将字符预测图转化为二值图,以便提取对应字符区域;然后,对计算每个区域对应 C C C类的平均值并给分配每个区域最大值的类别;最后,通过排序区域,从左到右进行构词。这样,单词以及每个字符的位置都能得到。构词模块假设单词大致从左到右排序,这也许在一些特定场景不合适。但是,如有必要,CA-FCN可以加入一个可学习组件。构词模块简单但有效,只有一个超参(二值化的阈值),实验中设为 240 / 255 240/255 240/255

4 实验

数据集

我们提出的CA-FCN单纯在合成数据集上训练,没有真实图像。训练的模型没有经过进一步微调,在4个基准(benchmarks,包含规则与不规则文本数据集)评估。

SynthText是(Gupta 等 2016)提出的一个合成数据集。包含80w张用于文本检测的训练图像。我们基于单词标注框剪裁它们,产生了约7百万张文本识别图像。这些图形均字符级标注。

IIIT5k-Words(IIIT)(Mishra等人2012b)包含3k张来源网络的测试图像。它为数据集中的每个图像提供了两个词典,分别包含200个词和1k个词。

Street View Text(SVT)(Wang等人2011)来源于谷歌街景视图,测试集包含647张图。由于低分辨率与噪声使得它非常具有挑战性。每个图象有一个50词的字典。

ICDAR 2013(IC13)(Karatzas等人2013)包含1015张图像,无字典。遵循以往工作,我们删除了包含非字母数字以及少于3个字符的图像。

CUTE(Risnumawan等人2014)是由带有大量曲型文本的288张图像构成。因为形状千差万别,该数据集很有挑战性。无词典提供。

实施细节

训练 由于本网络全卷积,对输入图像的大小没有限制。我们采用多尺度训练来使得模型更加鲁棒。输入图像随机改变大小成 32 × 128 , 48 × 192 , 64 × 256 32×128,48×192,64×256 32×12848×19264×256。除此之外,训练阶段同样应用了数据增强,包括随即旋转,色调,亮度,对比度,和模糊。具体来说,我们在[-15°, 15°]角度范围随机旋转图像。使用Adam优化器,初始学习率为 1 0 − 4 10^{-4} 104。并在epoch3和epoch4的时候衰减10倍。字符类别数设为38,包括26字母、10数字,1代表非数字和字母的特殊字符,1背景。

测试 运行时,图像重新调整大小为 H t × W t H_t×W_t Ht×Wt H t H_t Ht固定为64, W t W_t Wt计算如下:

W y = { W ∗ H t / H if    W / H > 4 256 otherwise  W_y = \begin{cases} W*H_t/H &\text{if }~~W/H>4 \\ 256 &\text{otherwise } \end{cases} Wy={WHt/H256if   W/H>4otherwise 

H H H W W W分别是原始图像的高和宽。

在IC13数据集上batch_size为1时的运行速度约为45FPS,平均CA-FPN占用0.018秒/图,构词模块占用0.004秒/图。当batch_size增加时,速度也更快。模型测试在单个Titan Xp GPU。

基准上的表现

在一些基准上评估本方法来显示其优越性。IIIT和CUTE的一部分结果可视化在图6。可以看到,本方法可以处理各种形状的文本。
在这里插入图片描述
图6 可视化IIIT和CUTE上字符预测图。字符预测图由CA-FCN产生,用彩色可视化。

定性结果列在表1中。与以往方法比较,我们提出的方法在大多数基准上达到了SOTA。更具体地说,“我们的“在IIIT没有词典情况下, 优于以往SOTA算法3.7%。在不规则数据集CUTE,”我们的“提高了3.1%。值得注意的是,没有额外针对曲型文本训练就达到了这样的性能。在其他数据集如SVT,IC13,也有类似结果。

(Cheng等人2017)的训练数据由两个合成数据集Synth90k和SynthText构成。前者是根据包含SVT和ICDAR词典的大词典生成的,而后者使用的是一个正常的语料库,词的分布并不均衡。为了公平地与(Cheng2017)比较,我们用Synth90k的词典和SynthText算法生成同样的额外4百万张图像。如表1,用额外数据微调后,”我们的+数据“在SVT上同样优于(Cheng2017)。
在这里插入图片描述
表1 不同方法和数据集的结果。”50“和”1k“表示词典大小。”0“没有词典。”data“表示使用额外合成数据来微调模型。

(Bai2018)改善了(Cheng2017;Shi2016)的方法,通过解决了其不对其问题并在规则文本识别上达到了极好的结果。然而,由于一维角度,它在CUTE这样的不规则文本基准上表现不佳。此外,我们认为如果(Bai2018)妥善使用本构词模块,那么可以进一步提高。尽管如此,我们方法在大多数基准上由于(Bai2018)如表1,尤其IIIT和CUTE。

(Cheng2018)着重通过自适应地引入不同方向的4个单维度特征序列来处理任意方向的文本。我们方法在识别不规则形状比如曲型文本时更更加优越。如表1所示,本方法在所有基准优于(Cheng2018)。

消融研究

场景文本识别通常是场景检测的后续步骤,检测结果通常不如期望中准确。因此,真实应用里文本识别系统的性能严重受到在扩展图像上文本识别算法鲁棒性的影响。我们在扩展的数据集上进行了实验,展示了文本包围盒变化幅度对识别的影响,证明了该方法的鲁棒性。

对于有原始背景的数据集,如IC13,我们扩展边框并剪裁下来。如果没有提供额外背景如IIIT,重复边界像素的填充应用于这些图像。扩展数据集描述如下:
III-p 通过重复边界像素额外填充竖直10%高和水平10%宽IIIT图像。

IIIT-r-p 以高达20%的随机高宽比例,分别拉伸IIIT中图像的四个顶点;重复边界像素以填充四边形图像;图像被转换回轴向排列的矩形。

IC13-ex 剪裁前,额外扩展10%高和宽扩展IC13中图像的边界框来扩展矩形。

IC13-r-ex 以最大20%的宽度和高度随机扩展IC13图像的边框来产生扩展的四边形;这些图像的轴对齐外切矩形中的像素被裁剪。

图7 可视化扩展数据集的字符预测图。红色:错误结果。绿色:正确结果。

我们比较了本方法与两个代表性基于序列模型CRNN和Attention Convolutional Sequence Model(ACSM)。CRNN模型由其作者提供,ACSM模型是我们自己复现,训练的数据集与本方法相同。三种方法的定性结果在图7中可视化。可以发现,基于序列的模型在图像扩展时通常预测到额外字符,而CA-FCN仍然稳定鲁棒。
在这里插入图片描述
表2 在扩展数据集上的实验结果。”ac“:准确率。”gap“:与原始数据集的差距。”ratio“表示与原始数据集准确率的下降比例。”a”:字符注意力;“d“可变形卷积。

定性结果列在表2。与基于序列的模型相比,我们提出的方法在扩展数据集中更加鲁棒。比如,在IIIT-p数据集,CRNN的差距比例为6.4%,但我们的只有2.6%。值得注意的是,即使我们的性能在标准数据集上更好,我们的差距仍然比CRNN更小。如表2所示,可变模块和注意力模块都能改善性能,前者还对模型鲁棒性有帮助。这表明了可变形卷积和字符注意模块的有效性。

我们方法比以往基于序列的模型在扩展图像上更加鲁棒的可能原因是:基于序列的模型是单维角度,优于背景噪声容易编码进特征序列而难以接受额外背景。相反,我们的方法在二维空间预测字符,字符与背景都为目标预测对象。所以额外背景误导字符的预测可能性更小。

5 结论

本文中,我们提出了一种叫CA-FCN的场景文本识别方法,以二维方式对问题建模。通过在每个像素上实施字符分类,算法能有效识别不规则实例,像规则文本一样。实验说明了提出模型在规则与不规则文本上表现优于现存方法。我们同样分析了不准确文本定位对识别算法表现的影响,并证明了本方法更加的鲁棒。对于未来研究,使构词模块变得可学习,并搭建一个端到端文本识别系统。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值