LOMO Look More Than Once: An Accurate Detector for Text of Arbitrary Shapes —— 论文阅读笔记

Paper : https://arxiv.org/abs/1904.06535v1

LOMO由直接回归器(DR),迭代优化模块(IRM)和形状表示模块(SEM)组成。

首先,DR分支生成四边形形式的文本建议框。 接下来,IRM基于提取的初步建议功能块,通过迭代细化逐步感知整个长文本。 最后,通过考虑文本实例的几何属性(包括文本区域,文本中心线和边界偏移),引入了SEM来重构不规则文本的更精确表示。

贡献

  1. 提出了一种迭代优化模块,可以提高长的场景文本检测的性能;
  2. 引入实例级形状表达模块,以解决检测任意形状的场景文本的问题;
  3. 具有迭代细化和形状表达模块的 LOMO 可以以端到端的方式进行训练,并在多个基准(包括不同形式(定向,长,多语言和弯曲)的文本实例)上达到最先进的性能
    在这里插入图片描述

首先,提取三个分支的共享特征图(原图的1/4,通道数128);然后,采用一个类似于 EAST 和 Deep Regress 的直接回归网络作为直接回归器(DR)分支,以像素为单位预测单词或文本行的矩形框,一般,DR 分支由于感受野的限制无法检测到极长的文本;因此,采用下一个分支 IRM 解决这个问题,IRM 可以细化从 DR 或者它自己输出的建议框,以使它们更接近真实边框,在IRM的帮助下,初步文本建议框更加完善,可以更全面地涵盖文本实例;最后,为了获得紧密的表示,特别是对于不规则的文本(四边形的建议形式很容易覆盖很多背景区域),SEM 通过学习其几何属性来重建文本实例的形状表示,几何属性包括文本区域,文本中心线和边框偏移量(中心线与上下边界线之间的距离)。

Direct Regressor(DR)

与EAST相似,预测出 score map 和 bbox map(8通道)。

score map : dice-coefficient loss 的尺度不变性版本:
L c l s = 1 − 2 ∗ s u m ( y ⋅ y ^ ⋅ w ) s u m ( y ⋅ w ) + s u m ( y ^ ⋅ w ) L_{cls} = 1 - \frac{2 * sum(y \cdot \hat{y} \cdot w)}{sum(y \cdot w) + sum(\hat{y} \cdot w)} Lcls=1sum(yw)+sum(y^w)2sum(yy^w)
其中 y y y 是一个 0/1 标签图, y ^ \hat{y} y^ 是预测分数图, s u m sum sum 是2D 空间的累加函数, w w w 是 2D 权重图。正像素位置的值由归一化常数 l l l 除以它们所属的四边形的较短边而得出,而负位置的值设置为 1.0 。文中 l l l 设置为 64。

bbox map : smooth L1 loss s m o o t h L 1 ( x ) = { 0.5 x 2 if  ∣ x ∣  < 1 ∣ x ∣ − 0.5 otherwise, \mathrm{smooth}_{L_1}(x) = \begin{cases} 0.5x^2 & \text{if $|x|$ < 1} \\ |x| - 0.5 & \text{otherwise,} \end{cases} smoothL1(x)={ 0.5x2x0.5if ∣x∣ < 1otherwise,
L d r = λ L c l s + L l o c L_{dr} = \lambda L_{cls} + L_{loc} Ldr=λLcls+Lloc
其中超参数 λ \lambda λ 平衡两项,文中设置为 0.01。

Iterative Refinement Module(IRM)

与 Faster RCNN 的边界框回归部分类似。使用 RoI 转换层代替 RoI pooling 层或者 RoI align 层提取输入文本矩形框的特征块。和后两个相比,前者可以保持长宽比不变提取四边形建议框的特征块。此外,在相同的感受野内,靠近拐角的位置可以感知到更准确的边界信息。 因此,引入了拐角注意机制以回归每个拐角的坐标偏移。

在这里插入图片描述

把 DR 预测出的四边形和共享特征图一起作为 RoI Transform 的输入,得到 1 × 8 × 64 × 128 1×8×64×128 1×8×64×128 的特征块。接下来跟着三个 3 × 3 3×3 3×3 的卷积层提取富文本 f r f_r fr 。然后使用 1 × 1 1×1 1×1 的卷积层和一个 sigmoid 层自动学习 4 交点注意力图 m a m_a ma 。在每个角点注意力图的值都代表对应交点的偏移回归的贡献权重。 使用 f r f_r fr m a m_a ma 可以通过 group dot production 和 sum reduction operation 提取 4 交点的回归特征:
f c i = r e d u c e _ s u m ( f r ⋅ m a i , a x i s = [ 1 , 2 ] ) i = 1 , … , 4 f_c^i = reduce\_sum(f_r \cdot m_a^i, axis=[1, 2]) \quad i=1, \dots, 4 fci=reduce_sum(frmai,axis=[1,2])i=1,,4
其中 f c i f_c^i fci 表示第 i i i 个角点回归特征( 1 × 1 × 1 × 128 1×1×1×128 1×1×1×128), m a i m_a^i mai 是第 i i i 个学习到的角点注意力图。最后,基于角点回归特征 f c f_c fc ,使用 4 个头部(每个都包含两个 1 × 1 1 × 1 1×1 的卷积层)预测输入四边形和真实文本框 4 个角点之间的偏移。

在训练阶段,我们从 DR 保留 K K K 个初步检测到的四边形,并且角回归损失可以表示为
L i r m = 1 K ∗ 8 ∑ k = 1 K ∑ j = 1 8 s m o o t h L 1 ( c K j − c k j ^ ) L_{irm} = \frac{1}{K * 8} \sum_{k=1}^K \sum_{j=1}^8 smooth_{L_1} (c_K^j - \hat{c_k^j}) Lirm=K81k=1Kj=18smoothL1(cKjckj^)
其中 c k j c_k^j ckj 表示在第 k k k 对检测四边形和真值四边形的第 j j j 个坐标偏移, c k j ^ \hat{c_k^j} ckj^ 表示对应的预测值。

在测试过程中,如果 IRM 可以连续带来收益,那么它可以执行一次或多次优化。

Shape Expression Module(SEM)

在这里插入图片描述

受 Mask R-CNN 的启发,使用 SEM 检测不规则形状的文本。SEM 是一个有 RoI transform 层的全卷积网络,预测出三种文本几何属性,包括文本区域,文本中心线和边界偏移(在文本中心线和上/下边框线的偏移),然后构建文本实例的精确形状表示。

文本区域 是一个二值图,前景像素(在多边形标注内的像素)标记为 1,背景像素为 0。

文本中心线 是一个基于多边形标注的缩小版本的二值图。

边界偏移 是 4 通道图,在文本线图的相应位置上的正响应区域内具有有效值。在上图 (a) 中,通过中心线样本(红色点)绘制了一条垂直于其切线的法线,该法线与上下边界线相交以获得两个边界点(即 ,粉红色和橙色的)。 对于每个红点,通过计算从其自身到其两个相关边界点的距离来获得4个边界偏移。

在 RoI transform 层后有两个卷积(每一个包含一个上采样层和两个 3×3 卷积层),然后使用一个 6 个输出通道 1×1 的卷积层回归所有的属性图。
L s e m = 1 K ∑ K ( λ 1 L t r + λ 2 L c t l + λ 3 L b o r d e r ) L_{sem} = \frac{1}{K} \sum^K (\lambda_1 L_{tr} + \lambda_2 L_{ctl} + \lambda3 L_{border}) Lsem=K1K(λ1Ltr+λ2Lctl+λ3Lborder)
其中 K K K 表示从 IRM 得到的文本四边的数量, L t r L_{tr} Ltr L c t l L_{ctl} Lctl 表示文本区域和文本中心线的 dice-cofficient loss, L b o r d e r L_{border} Lborder 表示 smooth L1 Loss。权重 λ 1 , λ 2 , λ 3 \lambda_1, \lambda_2, \lambda_3 λ1,λ2,λ3 分别设置为 0.01 , 0.01 , 1.0 0.01, 0.01, 1.0 0.01,0.01,1.0

文本多边形生成

文本中心线采样: 在预测的文本中心线图上从左到右以等距间隔采样 n 个点。对不同的数据集取不同的 n n n,对于SCUT-CTW500 的弯曲文本,为 7;对于四边形标注设置为 2。

边界点生成:根据采样的中心点,可以决定对应的边界点。

多边形生成:通过顺时针连接全部的边界点,可以得到完整的文本多边形表示,最后计算在多边形内的相应的文本区域的均值作为新的置信度分数。

Training and Inference

L = γ 1 L d r + γ 2 L i r m + γ 3 L s e m L = \gamma_1 L_{dr} + \gamma_2 L_{irm} + \gamma_3 L_{sem} L=γ1Ldr+γ2Lirm+γ3Lsem

γ \gamma γ 全部设置为 1.0。

warming-up : 在合成数据上训练 DR 分支 10 epochs。

fine-tuning : 在真实数据上训练全部分支 10 epochs。

IRM 和 SEM 使用 DR 分支生成的相同的 proposal,NMS 保留前 K 个 proposals,由于DR最初的效果不佳,这会影响 IRM 和 SEM 分支的融合,因此在训练中,我们用随机干扰的 GT 文本四边形替换了前 K 个 proposals 中的50%。IRM 在训练期间只一次。

猜你喜欢

转载自blog.csdn.net/m0_38007695/article/details/112235462