图像文本擦除无痕迹!复旦提出EAFormer:最新场景文本分割新SOTA!(ECCV`24)

文章链接:https://arxiv.org/pdf/2407.17020

git链接:https://hyangyu.github.io/EAFormer/

亮点直击

  • 为了在文本边缘区域实现更好的分割性能,本文提出了边缘感知Transformer(EAFormer),该方法明确预测文本边缘,并利用这些边缘来引导后续的编码器。
  • 针对COCO_TS和MLT_S数据集的注释质量较低的问题,对这些数据集进行了重新标注,以提高EAFormer在这两个数据集上的实验结果的可靠性。
  • 在六个场景文本分割基准上的广泛实验表明,所提出的EAFormer能够达到最先进的性能,尤其在文本边缘区域表现更佳。

场景文本分割旨在从场景图像中裁剪文本,这通常用于帮助生成模型编辑或去除文本。现有的文本分割方法通常涉及各种文本相关的监督以获得更好的性能。然而,大多数方法忽略了文本边缘的重要性,而文本边缘对下游应用至关重要。本文提出了边缘感知Transformer(Edge-Aware Transformers),简称EAFormer,以更准确地分割文本,特别是文本的边缘。

具体而言,首先设计了一个文本边缘提取器,以检测边缘并滤除非文本区域的边缘。然后,提出了一个边缘引导编码器,使模型更加关注文本边缘。最后,采用了一个基于MLP的解码器来预测文本mask。在常用基准上进行了广泛的实验,以验证EAFormer的有效性。实验结果表明,所提出的方法在文本边缘的分割上优于以前的方法。考虑到一些基准数据集(如COCO_TS和MLT_S)的注释不够准确,无法公平评估本文的方法,重新标注了这些数据集。通过实验观察到,当使用更准确的注释进行训练时,本文的方法能够获得更高的性能提升。

方法

本节详细介绍了所提出的EAFormer。首先,介绍EAFormer的提出动机。然后,详细说明EAFormer的每个模块,包括文本边缘提取器、边缘引导编码器和文本分割解码器。最后,介绍了本文方法的损失函数。

动机

不可否认,文本边缘对场景文本分割任务至关重要,尤其是对于其下游任务如文本擦除。准确分割文本边缘可以为文本擦除模型提供更多的背景信息,以填补文本区域。如下图1所示,利用一个预训练的修复模型,输入不同类型的文本mask,以在场景图像中擦除文本。通过实验观察到,文本边界框mask过于粗糙,无法为修复模型提供更多的背景信息。此外,边缘分割不准确的文本mask使得修复模型错误地将属于文本的像素视为背景,导致擦除效果不佳。只有提供具有准确边缘分割的文本mask时,修复模型才能生成令人满意的文本擦除结果。

尽管PGTSNet已经意识到文本边缘的重要性,并使用了二元交叉熵损失来检测文本边缘的像素,但它未能明确地将易于获取的文本边缘信息作为输入信息之一。为了验证其感知文本边缘的能力,对主干网络输出的特征进行了K均值聚类,其中K设置为3,分别代表背景、文本边缘和文本中心。通过下图2中的可视化结果,观察到该方法在感知文本边缘方面仍存在一定的不足。

此外,研究者们发现传统的边缘检测算法可以获得准确的文本边缘,这可能有助于场景文本分割任务。然而,由于传统的边缘检测方法无法区分文本区域和非文本区域,因此大多数边缘都被检测到了非文本区域。如果直接将边缘检测结果作为输入来辅助文本分割,可能会使文本分割模型产生混淆,从而对其性能产生不利影响。

边缘感知Transformer(EAFormer)

如下图3所示,所提出的EAFormer由三个模块组成:文本边缘提取器、边缘引导编码器和文本分割解码器。给定输入的场景文本图像 X ∈ R 3 × H × W X \in \mathbb{R}^{3 \times H \times W} XR3×H×W,文本边缘提取器用于获得文本区域的边缘 E t E_t Et。然后,文本图像 X X X 和检测到的文本边缘 E t E_t Et 被输入到边缘引导编码器中,以提取边缘感知特征。最后,文本分割解码器以编码器生成的特征作为输入,生成相应的文本mask M t M_t Mt

文本边缘提取器。 由于文本边缘对场景文本分割任务至关重要,研究者们提出了一个文本边缘提取器以获得文本区域的边缘。首先,使用传统的边缘检测算法Canny来获取整个输入图像的边缘 E w E_w Ew。如前所述, E w E_w Ew 中的非文本区域的边缘可能对文本分割产生负面影响。因此,在文本边缘提取器中引入了一个轻量级的文本检测模型来执行边缘过滤。具体而言,首先使用类似ResNet的[16] 主干网络提取多级视觉特征 F d = { F 1 d , F 2 d , F 3 d , F 4 d } F^d = \{F^d_1, F^d_2, F^d_3, F^d_4\} Fd={F1d,F2d,F3d,F4d},其中 $F^d_i \in \mathbb{R}^{C_i \times H_i \times W_i} $表示ResNet-like主干网络第 i i i-层的特征(有关文本检测主干网络的更多细节介绍见补充材料)。然后,采用文本检测头来预测文本区域的mask M a M_a Ma,可以表示为

其中, Conv 1 × 1 ( ⋅ ) \text{Conv}_{1 \times 1}(\cdot) Conv1×1() Concat ( ⋅ ) \text{Concat}(\cdot) Concat() 分别表示1 × 1卷积层和拼接操作。借助文本区域的mask $M_a $,可以通过对文本区域mask M a M_a Ma 和检测到的边缘 E w E_w Ew 进行逐像素相乘,过滤掉非文本区域的边缘。因此,文本区域的边缘 E t E_t Et 可以通过以下方式获得:

值得一提的是,在进行乘法操作之前对 E w E_w Ew施加了软argmax操作,因为联合优化文本检测和分割分支可以实现更好的文本检测性能。然后,经过过滤的文本边缘 E t E_t Et 被输入到接下来的边缘引导编码器中,以增强其区分文本边缘周围像素的能力。

边缘引导编码器。 由于SegFormer在语义分割中表现出色,采用它作为边缘引导编码器的基础框架。如前面图3所示,边缘引导编码器由四个阶段组成,过滤后的文本边缘在第一个阶段被合并。每个编码阶段包含三个子模块:重叠补丁embedding、有效自注意力和前馈网络。重叠补丁embedding用于提取每个补丁周围的局部特征。随后,这些特征被输入到自注意力层中,以挖掘像素之间的相关性。基本自注意力层的公式如下:

其中, Q Q Q K K K V V V 是通过对相同特征应用不同的embedding层获得的。为了减少计算成本,遵循 [43] 引入了空间降维操作来处理 K K K V V V。有关空间降维的更多细节见补充材料。最后,对于第 i i i 阶段,使用前馈网络生成输出特征 F i s F^s_i Fis。与此不同的是,在第一个阶段的前馈网络之后额外引入了一个对称交叉注意力层,以融合提取的边缘引导 E t E_t Et。具体而言,对称交叉注意力层包括两个交叉注意力操作,分别在第一个阶段的特征 F 1 s F^s_1 F1s和边缘引导 E t E_t Et 之间进行。一方面, E t E_t Et 被视为查询(Query),以提取边缘感知的视觉信息 F e v F^{ev} Fev,其中 F 1 s F^s_1 F1s 被视为键(Key)和值(Value);另一方面, F 1 s F^s_1 F1s 被用作查询(Query),进一步挖掘有用的文本边缘信息 F t e F^{te} Fte,其中 E t E_t Et 被视为键(Key)和值(Value)。

因此,第一个阶段的最终输出 F ^ 1 s \hat{F}^s_1 F^1s 可以表示为:

其中, SA ( ⋅ ) \text{SA}(\cdot) SA() 代表上述的自注意力操作, ⊕ \oplus 表示逐像素相加。随后, F ^ 1 s \hat{F}^s_1 F^1s和其他阶段的输出被输入到文本分割解码器中。

文本分割解码器。 类似于之前的方法,采用几个MLP层来融合特征并预测最终的文本mask M t M_t Mt。首先,通过相应的MLP层统一四个阶段输出的通道维度。然后,这些特征被上采样到相同的分辨率,并通过一个MLP层进一步融合。最后,融合后的特征用于预测文本mask。假设第 i i i 阶段特征的分辨率为 H i × W i × C i H_i \times W_i \times C_i Hi×Wi×Ci,解码过程可以表示为:

其中, MLP ( C in , C out ) ( ⋅ ) \text{MLP}(\text{C}_{\text{in}}, \text{C}_{\text{out}})(\cdot) MLP(Cin,Cout)()表示MLP中输入特征和输出特征的通道数分别为 C in \text{C}_{\text{in}} Cin C out \text{C}_{\text{out}} Cout Fuse ( ⋅ ) \text{Fuse}(\cdot) Fuse()表示输入特征首先被拼接在一起,然后通过MLP层在通道维度上进行降维。

损失函数

以前的文本分割方法通常引入各种损失函数来提高性能,这可能会带来选择适当超参数的困难。在所提出的EAFormer中,仅使用了两种交叉熵损失:文本检测损失 L det L_{\text{det}} Ldet 和文本分割损失 L seg L_{\text{seg}} Lseg 进行优化,它们可以表示为:

其中, λ \lambda λ 是用于平衡 L det L_{\text{det}} Ldet L seg L_{\text{seg}} Lseg 的超参数; M ^ a \hat{M}_a M^a M ^ t \hat{M}_t M^t 分别是 M a M_a Ma M t M_t Mt 的真实标注。请注意,用于 M a M_a Ma 的边界框级别监督可以从语义级别的标注中获得,这意味着所提出的方法与之前的方法一样,仅需要语义级别的标注。

实验

实施细节

所提出的方法使用PyTorch实现,所有实验都在8个NVIDIA RTX 4090 GPU上进行。采用AdamW优化器,所有实验中的初始学习率设置为 6 × 1 0 − 5 6 \times 10^{-5} 6×105,权重衰减设为0.01。批量大小设置为4。与之前的方法 [32,41,45] 一样,在训练阶段也采用了一些数据增强操作,如随机裁剪和翻转。不同于现有方法使用预训练模型来检测文本区域或识别字符,所提出的EAFormer中的所有模块都是联合训练的。换句话说,训练EAFormer时没有使用额外的数据集。Canny边缘检测的两个阈值分别设置为100和200。为了评估所提出方法的性能,同时使用前景交并比(fgIoU)和前景像素F值。fgIoU的度量标准采用百分比格式,F值采用小数格式。

实验结果

定量比较。 为了全面评估EAFormer,研究者们在英文和双语文本分割数据集上进行了实验。下表2显示了在五个英文文本分割数据集上的实验结果。

与之前的方法相比,EAFormer在大多数基准测试中在前景交并比(fgIoU)和F值上都有明显的提升。例如,在TextSeg数据集上,EAFormer在fgIoU和F值上分别超越了之前的SOTA方法TextFormer 0.64% 和0.6%。尽管原始的COCO_TS和MLT_S数据集有粗糙的注释,所提出的EAFormer仍然能表现出更好的性能,例如在COCO_TS数据集上比 TFT 提升了7.63%的fgIoU。考虑到基于不准确注释的实验结果不够令人信服,重新标注了COCO_TS和MLT_S的训练数据集和测试数据集。基于重新标注的数据集的实验结果显示在下表3中。实验表明,当使用注释更准确的数据集进行训练和测试时,EAFormer仍然能够实现显著的性能提升。与原始数据集的结果相比,重新标注数据集上的性能似乎下降了很多。

以下两个原因可能解释了这一现象:

  1. 数据集中有许多模糊的文本,这确实给模型处理文本边缘带来了挑战;
  2. 重新标注的测试数据集更为准确,评估中没有忽略的区域。

此外,还在双语文本分割数据集BTS上进行了实验,结果显示在下表4中。尽管PGTSNet不公平地引入了一个预训练的文本检测器,EAFormer在fgIoU/F值上仍然能实现1.6%/2.8%的提升,这验证了所提出方法的有效性。由于引入了一个轻量级的文本检测头,不可避免地增加了更多参数。评估了参数数量和推理速度。与之前的SOTA方法TextFormer(85M参数和每张图像0.42秒)相比,所提出的模型有92M参数,平均每张图像需要0.47秒。虽然参数数量略有增加,但本文的方法仍能显著提升性能。

定性比较。 研究者们还通过可视化将EAFormer与之前的方法在分割质量上进行了比较。如图5所示,所提出的EAFormer在文本边缘的表现优于之前的方法,这得益于引入的边缘信息。此外,对于COCO_TS和MLT_S,比较了基于原始和修改后注释的分割结果。尽管上表3表明,当使用重新标注的数据集进行训练和测试时,本文的方法性能有所下降,但下图5中的可视化结果表明,本文的模型在重新标注的数据集上能够实现更好的分割结果。

消融研究

超参数 λ \lambda λ 在训练EAFormer时,使用了两种损失函数进行优化。超参数 λ \lambda λ 用于平衡 L det L_{\text{det}} Ldet L seg L_{\text{seg}} Lseg 的权重,适当的 λ \lambda λ 可能会带来更好的性能。因此,进行了几次实验来选择 λ \lambda λ,范围为 {0.1, 0.5, 1.0, 5.0, 10.0},实验结果见下表5。当 λ \lambda λ 设置为1.0时,EAFormer在TextSeg数据集上达到了最佳性能,相比于基线模型,其fgIoU/F值分别提高了3.47% 和2.3%。表5的结果表明,当 λ \lambda λ 范围在 {0.5, 1.0, 5.0, 10.0} 时,对性能的影响较小。然而,如果 λ \lambda λ 设置为0.1,则EAFormer的性能不佳,这可能是由于过小的 λ \lambda λ 使得文本检测模块难以收敛,从而进一步影响文本分割的性能。因此,在本文中,将 λ \lambda λ 设置为1.0。

边缘过滤和边缘引导。 在所提出的EAFormer中,文本边缘提取器中的边缘过滤和边缘引导编码器中的边缘引导是两个关键组件。为了评估这两种策略的性能提升效果,进行了消融实验,结果见下表6。请注意,当仅使用边缘过滤时,提取的边缘信息与输入图像拼接后输入到基于SegFormer的编码器中。如表6所示,引入边缘过滤可以显著提升性能。然而,如果仅引入边缘引导,本文的方法性能较差。一个可能的原因是非文本区域的边缘引入了更多的干扰信息,导致模型无法有效利用提取的边缘来辅助文本分割。因此,边缘过滤和边缘引导对本文的方法都是必要的,当两者都被采用时,EAFormer能够实现SOTA性能。

讨论

过滤非文本区域的边缘。 在文本边缘提取器模块中,提出了过滤非文本区域边缘信息的方法,以避免这些信息对模型性能的负面影响。在消融实验部分中,可以得知,过滤非文本区域的边缘信息可以明显提高性能。通过可视化(见补充材料),观察到,当所有边缘信息用于辅助分割时,模型会错误地认为具有边缘信息的区域应该被分类为前景。因此,为了给模型提供明确的边缘引导,所提出的方法仅保留文本区域的边缘信息作为输入。

在不同层引入文本边缘。 在边缘引导编码器中,通过对称交叉注意机制仅在第一阶段提取增强的边缘特征信息。众所周知,低层特征对文本边缘信息更为敏感。在下图6中对不同阶段的特征进行聚类结果的可视化,结果表明只有第一阶段的特征关注边缘信息。因此,在早期阶段引入检测到的边缘是合理且有效的。还尝试在其他阶段引入边缘引导进行实验。实验结果表明,检测到的边缘引入的阶段越高,EAFormer的性能提升越小。特别是,当在第三或第四阶段引入检测到的边缘时,EAFormer的性能甚至低于基线。

利用现成的文本检测器。 在文本边缘提取器中,采用了一个轻量级的文本检测器,包括一个基于ResNet的骨干网络和一个MLP解码器。实际上,可以利用一个在文本检测数据集上预训练的现成文本检测器,这可以帮助EAFormer在实际应用中取得更好的性能。由于这可能对之前的方法不公平,只探讨了EAFormer的性能上限。在实验中,使用预训练的DBNet 替换轻量级文本检测器模块,EAFormer在TextSeg上的性能可以达到新的SOTA水平(fgIoU/F值分别为90.16%和95.2%)。

与之前边缘引导方法的区别。 实际上,将边缘信息融入分割中是一个被广泛探索的策略。然而,本文的方法与之前的工作仍有一些区别。首先,BCANet和 BSNet需要边缘监督,而本文的方法直接使用Canny提取边缘。尽管EGCAN也使用Canny,但本文的方法额外引入了边缘过滤以保留有用的边缘信息,这特别为文本分割设计。此外,EGCAN在所有编码器层中融合边缘信息,而本文的方法通过设计的对称交叉注意机制仅在第一层融合边缘信息。

局限性。 为了过滤非文本区域的边缘,引入了一个轻量级的文本检测器,这可能会略微增加可学习参数的数量。此外,仅利用了现成的边缘检测算法Canny来提取文本边缘,而没有使用更先进的深度学习边缘检测方法。引入SOTA边缘检测方法可能会进一步提高本文方法的性能。

结论

本文提出了边缘感知Transformer(Edge-Aware Transformers),称为EAFormer,以解决文本边缘处文本分割不准确的问题。具体而言,采用传统的边缘检测算法Canny来提取边缘。为了避免涉及非文本区域的边缘,引入了一个轻量级文本检测模块,用于过滤掉无用的边缘,以进行文本分割。此外,基于SegFormer,提出了一个边缘引导编码器,以增强其感知文本边缘的能力。考虑到某些数据集的低质量注释可能影响实验结果的可信度,对这些数据集进行了重新标注。在公开可用的基准测试上进行了广泛的实验,SOTA结果验证了EAFormer在文本分割任务中的有效性。

参考文献

[1]EAFormer: Scene Text Segmentation with Edge-Aware Transformers

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值