PAN:Efficient and Accurate Arbitrary-Shaped Text Detection with Pixel Aggregation Network —— 论文阅读笔记

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

有低计算成本的分割部分和可学习的后处理。分割分割部分由特征金字塔增强模块(FPEM)和特征融合模块(FFM)组成。 FPEM是可级联的U形模块,可以引入多级信息来指导更好的分割。 FFM可以将不同深度的FPEM提供的特征收集到最终特征中进行分割。 可学习的后处理是通过像素聚合(PA)实施的,该算法可以通过预测的相似度矢量精确地聚合文本像素。
在这里插入图片描述

  1. 通过分割网络预测文本区域,内核和相似度向量。FPEM + FFM
  2. 从预测的内核重建完整的文本实例。

贡献

  1. 提出了一个轻量级的分割部分,它由特征金字塔增强模块(FPEM)和特征融合模块(FFM)组成,这是两个可以改善网络特征表示的高效模块。
  2. 提出像素聚合(PA),其中文本相似性矢量可以通过网络学习,并用于选择性地聚合文本内核附近的像素。
  3. 提出的方法在两个弯曲的文本基准上达到了最先进的性能,同时仍保持了58 FPS的推理速度。

整体架构

在这里插入图片描述

分割部分有两个关键模块:特征金字塔增强模块(FPEM)和特征融合模块(FFM)。

FPEM是可级联的,并且具有较低的计算成本,可以将其附加在主干网后面,以使不同比例尺的特征更深入,更具表达力。之后,使用特征融合模块(FFM)将不同深度的FPEM产生的特征融合到最终的特征中进行分割。PAN预测文本区域以描述文本实例的完整形状,并预测内核以区分不同的文本实例。 网络还预测每个文本像素的相似度矢量,因此同一文本实例中像素和内核的相似度向量之间的距离很小。

Lightweight Backbone是ResNet-18,由主干的conv2,conv3,conv4和conv5阶段生成4个特征图(相对于输入图像,它们具有4、8、16、32像素的步幅)。 我们使用1×1卷积将每个特征图的通道数减少到128,并获得瘦特征金字塔Fr。然后使用 n c n_c nc 个级联的FPEM增强这个特征金字塔。每一个FPEM产生一个增强的特征金字塔,因此有 n c n_c nc 个特征金字塔 F 1 , F 2 , ⋯   , f n c F^1, F^2, \cdots, f^{n_c} F1,F2,,fnc 。然后使用FFM把 n c n_c nc 个特征金字塔融合在一起得到 F f F_f Ff , 步长是4,通道数是512。使用 F f F_f Ff 预测出文本区域,内核和相似度向量。最后使用简单有效的后处理算法获得最终的文本实例。

特征金字塔增强模块(FPEM)

在这里插入图片描述

“+”, “2×”, “DWConv”, “Conv” 和 “BN” 分别代表 逐元素相加,2× 线性上采样,深度卷积,常规卷积和批量归一化

包含两个阶段:放大增强和缩小增强。放大增强作用在输特征金字塔上。 在此阶段,对步长分别为32、16、8、4个像素的特征图进行迭代增强。 在缩小阶段,输入是通过放大增强生成的特征金字塔,并且增强从4步进行到32步。与此同时,缩小增强的输出特征金字塔是FPEM的最终输出。

与FPN的不同 :首先,FPEM是可级联的模块。 随着级联数nc的增加,不同尺度的特征图被更充分地融合,特征的感受野变大。 其次,FPEM在计算上高效。 FPEM是通过可分解卷积构建的,它需要最少的计算。 FPEM的FLOPS约为FPN的1/5。

特征融合模块(FFM)

在这里插入图片描述

“ +”是逐元素加法。 “ C”是上采样和级联的操作。4×128通道

像素聚合(PA)

文本像素和相同文本实例的内核的距离是小的。聚合损失
L a g g = 1 N ∑ i = 1 N 1 ∣ T i ∣ ∑ p ∈ T i l n ( D ( p , K i ) + 1 ) L_{agg} = \frac{1}{N} \sum_{i=1}^N \frac{1}{|T_i|} \sum_{p \in T_i} ln(\mathcal{D}(p, K_i) + 1) Lagg=N1i=1NTi1pTiln(D(p,Ki)+1)

D ( p , K i ) = m a x ( ∣ ∣ F ( p ) − G ( K i ) ∣ ∣ − δ a g g , 0 ) 2 \mathcal{D} (p, K_i) = max(||\mathcal{F}(p) - \mathcal{G}(K_i)|| - \delta_{agg}, 0)^2 D(p,Ki)=max(F(p)G(Ki)δagg,0)2

其中, N N N 是文本实例的数量。 T i T_i Ti 是第 i i i 个文本实例。 D ( p , K i ) D(p, K_i) D(p,Ki) 定义了文本像素 p p p 和 文本实例 T i T_i Ti 的内核 K i K_i Ki 之间的距离。 δ a g g \delta_{agg} δagg 是一个常量,在实验中设置为 0.5,用来过滤一些简单的样本。 F ( p ) \mathcal{F}(p) F(p) 是 像素 p p p 的相似度向量。 G ( ⋅ ) \mathcal{G}(\cdot) G() 是内核 K i K_i Ki 的相似度向量,可以通过 ∑ q ∈ K i F ( q ) / ∣ K i ∣ \sum_{q \in K_i} \mathcal{F}(q) / |K_i| qKiF(q)/Ki 计算

此外,聚类中心需要保持区别。 因此,不同文本实例的内核应保持足够的距离。
L d i s = 1 N ( N − 1 ) ∑ i = 1 N ∑ j = 1 j ≠ i N l n ( D ( K i , K j ) + 1 ) \mathcal{L}_{dis} = \frac{1}{N(N-1)} \sum_{i=1}^N \sum_{j=1 \\ j \neq i}^N ln(\mathcal{D}(K_i, K_j) + 1) Ldis=N(N1)1i=1Nj=1j=iNln(D(Ki,Kj)+1)

D ( K i , K j ) = m a x ( δ d i s − ∣ ∣ G ( K i ) − G ( K j ) ∣ ∣ , 0 ) 2 \mathcal{D}(K_i, K_j) = max(\delta_{dis} - ||\mathcal{G}(K_i) - \mathcal{G}(K_j)||, 0)^2 D(Ki,Kj)=max(δdisG(Ki)G(Kj),0)2

L d i s L_{dis} Ldis尝试使内核之间的距离不小于我们所有实验中设置为3的 δ d i s δ_{dis} δdis

后处理步骤

  1. 在内核的分割结果中找到连接的组件,每个连接的组件都是一个内核。
  2. 对于每个核 K i K_i Ki,有条件地将其相邻文本像素(4向) p p p 合并在预测文本区域中,而它们的相似性向量的欧几里得距离小于d。
  3. 重复步骤2,直到没有合格的邻居文本像素。

损失函数

L = L t e x + α L k e r + β ( L a g g + L d i s ) \mathcal{L} = \mathcal{L}_{tex} + \alpha \mathcal{L}_{ker} + \beta(\mathcal{L}_{agg} + \mathcal{L}_{dis}) L=Ltex+αLker+β(Lagg+Ldis)

其中 L t e x \mathcal{L}_{tex} Ltex 是文本区域损失, L k e r \mathcal{L}_{ker} Lker 是内核损失。 α \alpha α β \beta β 是平衡因子,在所有实验中设置为 0.5 和 0.25。

dice loss
L t e x = 1 − 2 ∑ i P t e x ( i ) G t e x ( i ) ∑ i P t e x ( i ) 2 + ∑ i G t e x ( i ) 2 \mathcal{L}_{tex} = 1 - \frac{2 \sum_i P_{tex}(i) G_{tex}(i)}{\sum_i P_{tex}(i)^2 + \sum_i G_{tex}(i)^2} Ltex=1iPtex(i)2+iGtex(i)22iPtex(i)Gtex(i)

L k e r = 1 − 2 ∑ i P k e r ( i ) G k e r ( i ) ∑ i P k e r ( i ) 2 + ∑ i G k e r ( i ) 2 \mathcal{L}_{ker} = 1 - \frac{2 \sum_i P_{ker}(i) G_{ker}(i)}{\sum_i P_{ker}(i)^2 + \sum_i G_{ker}(i)^2} Lker=1iPker(i)2+iGker(i)22iPker(i)Gker(i)

其中 P t e x ( i ) P_{tex}(i) Ptex(i) G t e x ( i ) G_{tex}(i) Gtex(i) 分别是分割结果中和真实结果中文本实例中第 i i i 个像素的值。

在这里插入图片描述

猜你喜欢

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