Multi-Oriented Scene Text Detection

华中科技大学白翔团队发在 CVPR 2018 的工作,提出一种基于角点定位和区域分割的多方向场景文本检测的方法。

Problems

场景文字检测的挑战有两个影响因素:

  • 外部因素,环境,如噪声,模糊和遮挡,也是一般目标检测的主要问题;
  • 内部因素,场景文字的属性和变化引起的。

与一般的目标检测相比,场景文字检测更为复杂:

  • 场景文字的方向可以是任意的;
  • 场景文字边界框的长宽比变化比较大;
  • 场景文字的形式可以是字符、单词或文本行的形式,定位边间的时候可能会混淆。

目前场景文字检测器可以分为两类:

  • Regression based:基于一般的目标检测器,直接预测候选的边界框;
  • Segmentation based:生成分割映射,然后通过后处理生成最终的文本边界框。

Contributions

该工作的贡献有如下几点:

  • 提出了一种融合目标检测和分割的场景文字检测器,并且能够端到端训练和测试;
  • 提出一种旋转的位置敏感 ROI 平均池化层,可以处理任意方向的候选框;
  • 能够同时处理多个挑战:旋转、长宽比变化等。

Pipeline

方法的处理流程如下图所示:



Figure 1. Overview of the method


  • Backbone:特征提取,不同分支特征共享;
  • Conner Detection:生成候选检测框;
  • Position Sensitive Segmentation:整张图逐像素打分,输出 4 个 socre map, 分别对应四个角点的得分;
  • Scoring + NMS:利用框和 score map 综合打分,去掉非文字框,再接 NMS。

Architectures

网络结构如下图所示:



Figure 2. Network Architecture


Backbone

采用 FPN/DSSD 的 backbone,VGG16(去掉 fc 层) + conv6 + conv7 + 4 conv + 6 deconv( with residual block)。

Corner Point Detection

首先找到四个框的角点,然后把整张图的角点放到一个集合中,把集合中的所有角点进行组合得到所有候选的框。

角点信息是一个正方形,中心是 ground truth 的顶点,边长是 ground truth 框的最短边。Conner detection 对每一种角点(4 种)单独输出角点信息。如下图 a 所示:



Figure 3. Label generation for corner points detection and position-sensitive segmentation


Corner Point Detection 从多个 deconv 的 feature map 上单独做检测得到候选框,然后多层的检测结果串起来作为最后的结果。

如图 2 中所示,w,h 是 feature map 大小,k 是 defalt box 的个数,q 表示角点类型,这里q = 4,即四个角点都能单独得到 2 个 score 和 4 个 offset。

Position-Sensitive Segmentation

把一个文字框划分成 g*g 个bin,每个 bin 做为一类,把一个 text/non-text 的二类问题变成 g*g 个二类问题。

网络结构如图 2 所示, 分类如图 3 所示。

Objective Function

请直接参看论文介绍。

Discussion

  • 表示角点信息的时候,为什么要加入边长?
  • 角点框和分割结构是如何融合打分的?

References

  • [1] Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation [2018-CVPR] paper
  • [2] 相关解读
请作者吃酒!