Mask TextSpotter

论文启发于 Mask RCNN,提出一种 end2end 的场景文字检测和识别模型,能够检测和识别任意形状的文本。

论文认为文献[2]和[3]虽然提出了 end2end 模型,但是训练的时候还是分步骤训练的,不能完全达到一个 end2end的行为。另外,它们只聚焦于水平或旋转的文本,不能解决弯曲的文本。

Architecture

Figure 1. Model architecture

如 figure 1 所示,mask textspotter 由四部分组成:

  • Backbone:FPN + ResNet50,用来提取特征图。
  • RPN:生成 text proposals,然后使用 RoI Align 提取 RoI 特征。
  • Fast RCNN:对 text proposals 进行更精确地分类和回归。
  • Mask Branch:包含 text instance 分割和 character 分割任务。如 figure 2 所示,会输出一个 global word map,36 个 character maps 和一个 background map。

Figure 2. Mask branch

character 的 Bbox 被缩小成原来的四分之一。

Loss Function

损失函数可以定义为:
$$
L = L_{rpn} + \alpha_1 L_{rcnn} + \alpha_2 L_{mask}

L_{mask}=L_{global}+\beta L_{char}
$$
这里的 $\alpha_1,\alpha_2,\beta$ 都设为 1,其中 $L_{global}$ 是一个平均 binary cross-entropy 损失:
$$
L_{global}= - \frac{1}{N} \sum_{n=1}^{N} [y_n \times \log(S(x_n))+(1-y_n) \times \log(1-S(x_n))]
$$
这里的 $S(x)$ 是 sigmoid 函数。

$L_{char}$ 是一个加权的 soft-max 损失, $Y$ 是 $X$ 对应的 ground truth:
$$
L_{char}= - \frac{1}{N} \sum_{n=1}^{N} W_n \sum_{t=0}^{T-1} Y_{n,t} \log(\frac{e^{x_{n,t}}}{\sum_{k=0}^{T-1}e^{x_{n,k}}})
$$
记背景像素的数量为 $N_{neg}$,有:

Inference

测试将 Fast RCNN 产生的 Bbox 经过 NMS 后作为候选框输入 mask branch 生成 global maps 和 character maps。最后产生的 polygons 直接通过计算 global maps 得到。字符序列则通过 pixel voting 算法。

Pixel Voting 流程:

  • 将 background map 进行二值化得到所有的字符区域;
  • 对于所有的 character maps 求每个字符区域的像素得分均值,把得分最高的字符类别得分设为该区域输出的字符;
  • 把所有的字符从左到右连接得到字符序列。

论文发现如果使用普通的编辑距离去匹配单词,会有多个的编辑距离一样,因此提出 weighted edit distance。

My Thoughts

  • 个人认为直接 RPN ,后面的 Fast RCNN 完全可以不要,因为后面的定位和识别是基于目标分割的思想。
  • Mask TextSpotter 本质是用 Faster RCNN 进行目标定位,然后使用目标分割来识别字符,那么可以替换分割算法提升效果。
  • 前面的 RPN 也可以替换成 YOLO 网络,速度应该有所提升。
  • 数据集的标注需要 character-level ,对于没有这类标注的数据集,论文没有说明如何处理。
  • 之前的 text spotter 模型都是先分开训练,再联合训练,这个能直接联合训练。
  • Curved text 的处理是一个研究点。

References

  • [1] [2018-ECCV] Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes paper
  • [2] [2017-ICCV] Deep TextSpotter: An End-to-End Trainable Scene Text Localization and Recognition Framework papercode
  • [3] [2017-ICCV] Towards end-to-end text spotting with convolutional recurrent neural networks. paper
请作者吃酒!