ASTER

ASTER 是一个解决不规则排列文字的识别方法,其前身 RARE 文献[2] 发表在 CVPR 2016 上,改进后发表在 TPAMI 2018。

Motivation

场景文字中有许多 irregular text,如多方向文字(oriented text)、透视形变文字(perspective text)、曲线文字(curved text)等。在 text recognition 任务中,通常直接输入包含文本行的图像,显然,如果能够将图像中 irregular text 经过线性变换和透视变换矫正成线性排列的文本行,再送进识别模型中,效果应该有所提升。

Architecture

ASTER 包含两个模块:Rectification Network 和 Recognition Network,如下图所示:

Figure 1. Overview of the proposed model

Rectification Network

Rectification network 是通过预测 2D 变换参数来矫正图像的。与 STN 中使用 6 个参数来进行 2D 仿射变换不同,这里使用 Thin-Plate-Spline(TPS,wiki 百科)来进行变换。TPS 除了像 2D 仿射变换一样支持平移、缩放、旋转、翻转等 rigid 变形,还支持透视、曲线排列等non-rigid 变形。关于 TPS 更多的内容,请参考文献[3]。

Figure 2. The TPS transformation can rectify various types of irregular text

Rectification network 借鉴的是 STN 的结构,如 Figure 3 所示:

Figure 3. Structure of the rectification network

包括三个部分:
Localization Network:输入图像,输出 K 个 control points 的位置,该网络没有使用 K 个 control points 作为标注进行训练,而是联合识别网络,利用最后的结果进行端到端的训练。网络由 6 层卷积 + 5 个 max-pooling + 2 个 全连接组成。

Figure 4. Text rectification with TPS transformation

注:Location Network 的 FC 层权重初始化为0(防止矫正后的图扭曲非常厉害),其余所有网络层都采用随机初始化。

Grid Generator:通过 control points 使用 TPS 生成新图中每个像素点在原图中位置的映射关系;
Sampler:结合上一步得到 grid,从原图中采样生成矫正后的图像。

另外,论文用了一个技巧,将 Localization Network 最后一个全连接层中 tanh 激活函数去掉,这样能够加快网络的收敛,但同时会导致预测的 control points 落在图像外,Sampler 的时候,直接 clip,确保有效的采样。

注:原图在送进网络之前被 resize 成小图,然后在小图上预测 control points,这样做能够减少网络参数,降低计算量。那么,能不能将矫正网络和识别网络融合一下,共享卷积层,进一步提升效率呢?

Recognition Network

Recognition network 采用的是 sequence-to-sequence 结构,包括 Convnet + BiLSTM 组成的编码器和 Attention + LSTM 组成的解码器。推断时,每一步可以使用贪心策略,选择最大 softmax 的输出,或者使用 beam search。其基本架构如 Figure 5 所示:

Figure 5. Structure of the basic text recognition network

论文中做了些改进,使用双向的解码器,不光从左到右识别,还从右到左识别,推断时,选择概率高的结果。

Figure 6. Bidirectional decoder

Strategy

训练时,从数据集 Synth90k 和 SynthText 中各选择 32 张图像作为一个批次,一共训练 100 万步,优化器选择 ADADELTA,学习率1.0,0.1(0.6M), 0.01(0.8M)。图像在送进 rectification network 前resize 成 $64 \times 256$,送进 localization network 前 resize 成 $32 \times 64$,矫正后的图像大小为 $32 \times 100$。

Experiments

论文的实验对比做的非常好,很具有说服力,值得参考借鉴,下面直接列出得到的结论。

  • 矫正对regular text(IIIT5k,IC03,IC13)略有提高,对形变比较大的irregular text(SVT,SVTP,CUTE)提高3~4个点;
  • Attention 对字符的位置有隐性的定位功能;
  • Bidirectional Decoder 能够互补,提升一定的效果;
  • 字符小于11时,识别精度差不多,大于11后精度有所下降,长文字是个难点。

另外,一个值得引起注意的实验是,将 TextBoxes 和 ASTER 组成端到端的模型,对文字检测网络的效果有很大的提升,证明了端到端文字识别网络的优点。

Figure 7. Detection box rectification process

效果提高的原因是:

  • Control points 能够生成一个 oriented BBox,比原始的要精确,如 Figure 7 所示;
  • 识别网络的结果能够利用来过滤检测得到的 BBox。

Discussion

  • 论文中的矫正网络借鉴 STN 的结构,但是使用处理形变更为强大的 TPS;
  • 矫正网络的训练不需要额外的标注数据,训练技巧值得借鉴;
  • 论文比之前的 RARE 的效果,没有实验验证,可能很大原因是多用了 Synth90k。

References

  • [1] [2018-TPAMI] ASTER: An Attentional Scene Text Recognizer with Flexible Rectification paper code
  • [2] [CVPR-2016] Robust Scene Text Recognition with Automatic Rectification paper
  • [3] [TPAMI-1989] Thin-plate splines and the decomposition of deformations paper
请作者吃酒!