DPText-DETR: Towards Better Scene Text Detection with Dynamic Points in Transformer
Abstract
- 最近,基于 Transformer 的方法在场景文本检测中很流行,它们预测多边形点或贝塞尔曲线控制点以定位文本。然而,这些建立在检测 Transformer 框架上的方法可能会因为位置查询建模粗糙而导致训练效率和性能不佳。此外,以前的工作中利用的点标签形式暗示了人类的阅读顺序,这阻碍了我们观察的检测鲁棒性。为了应对这些挑战,本文提出了一个简洁的动态点文本检测 Transformer 网络,称为 DPText-DETR。具体来说,DPTextDETR 直接利用显式点坐标来生成位置查询并以渐进的方式动态更新它们。此外,为了改善 Transformer 中非局部自注意力的空间归纳偏差,我们提出了一个增强型分解自注意力模块,它为每个实例中的点查询提供圆形引导。此外,我们设计了一种简单而有效的位置标签形式来解决以前形式的副作用。为了进一步评估不同标记形式对现实场景中检测鲁棒性的影响,我们建立了一个包含 500 张手动标记图像的逆文本测试集。 大量实验证明了我们的方法在流行基准上的高训练效率、鲁棒性和最先进的性能。代码和逆文本测试集可在 https://github.com/ymy-k/DPText-DETR 上找到。
- 论文地址:[2207.04491] DPText-DETR: Towards Better Scene Text Detection with Dynamic Points in Transformer (arxiv.org)
- 基于轮廓的检测方法(预测多边形的点、贝塞尔曲线控制点),由于粗略的位置查询建模,可能会实现次优化的训练效率和性能。使用的点标签形式暗示了人类的阅读顺序,阻碍了我们观察到的检测稳健性。基于这两个问题,作者提出一种简洁的动态点文本检测 Transformer 网络:DPText-DETR
Introduction
- 由于自动驾驶等广泛实际应用,文本阅读和理解引起了计算机视觉界越来越多的研究兴趣。作为实现这一目标的先决条件,场景文本检测已得到广泛研究。然而,复杂风格和任意形状等场景文本的区分使得检测仍然具有挑战性。
- 最近,DETR 将 Transformer 引入到物体检测中,形成了一个简洁而精髓的端到端框架。继 DETR 之后,许多工作 进一步提高了训练收敛性和性能。例如,DAB-DETR 对可以由内容部分和位置部分组成的查询提供了见解,并证明了位置部分对于训练收敛至关重要。然而,上述预测轴对齐框的检测 Transformer 在处理任意形状的场景文本时存在不足。
- 为此,最近的一些类似 DETR 的方法遵循 ABCNet 预测多边形控制点或贝塞尔曲线控制点。具体来说,TESTR 使可变形 DETR 能够以微妙的方式预测多边形结果。TESTR 使用来自 Transformer 编码器的锚框提议来生成位置查询并为控制点内容查询提供位置先验,如图 1(a) 上部所示。然而,来自框信息的位置先验比较粗糙,与预测点的目标在一定程度上不匹配,从而影响训练效率。我们将其缩写为查询公式化问题。
-
图 1:(a) 粗略(顶部)和我们的明确(底部)位置查询建模的比较。(b) 原始标签暗示了人类的阅读顺序。© 原始标签诱导检测器隐式学习阅读顺序,导致一些缺陷,例如误报。绿点是顺时针阅读顺序的预测起点。(d) 即使进行大量旋转增强,检测器也无法很好地学习阅读顺序。
-
改进的点标签形式,从影像左上角开始,去除文本左上角开始(文本阅读顺序标注)对于模型的引导性
-
EFSA(Enhanced Factorized Self-Attention 增强的因子化自我注意):进行环形引导。通过循环卷积(环形卷积)引入局部关注
-
EPQM:显式点查询建模((Explicit Point Query Modeling),均匀采样点代替xywh的box
- 此外,虽然预测控制点的方案为场景文本检测提供了新颖的解决方案,但它也引入了一个与点的顺序有关的问题。具体来说,先前的相关工作采用了根据人类阅读顺序对控制点进行标记的形式,如图 1(b) 所示。 这种方案很简单,但我们很好奇是否有必要让检测器像人类一样定位文本以理解文本。先前的工作并没有研究这种控制点标签形式的影响。
- 然而有趣的是,我们发现当训练数据集中存在逆向文本时,这种形式会损害检测的鲁棒性,即使这类文本的比例很低,例如,在 Total-Text 中约为 2.8%,在 CTW1500 中为 5.2%,在 ICDAR2019 ArT 中为 5.3%。我们将其称为标签形式问题。此问题导致的一些检测缺陷如图 1© 所示。由于现有基准测试中反向文本很少,我们收集了一个反向文本测试集,以进一步研究这种标签形式对现实场景中检测鲁棒性的影响。收集的数据集包含 500 张场景图像,其中约 40% 为反向文本。 我们希望反向文本能够通过数据上的初步尝试,填补现有测试集中缺乏反向文本的空白,从而启发和促进未来的研究。
- 为了解决查询公式问题和标签形式问题,我们提出了一种新的动态点文本检测 Transformer 网络,称为 DPText-DETR。在查询公式问题方面,我们提出了一种显式点查询建模 (EPQM) 方法。具体来说,我们不使用框,而是直接利用点坐标来获取位置查询,如图 1(a) 底部所示。 通过显式和完整的点公式,该模型能够动态更新解码器层中的点。
- 此外,非局部自注意力在捕捉空间归纳偏差方面落后于卷积。因此,我们提出了一种增强分解自注意力 (EFSA) 模块,利用循环卷积 来显式建模多边形点的圆形形式并补充纯自注意力。在标签形式问题方面,我们设计了一种实用的位置标签形式,使起点独立于文本的语义内容。 通过这个简单的操作,它可以显着提高检测的鲁棒性。总的来说,我们的主要贡献有三方面:
- 我们提出了 DPText-DETR,通过利用 EPQM 和 EFSA 模块来提高训练收敛性和自注意力的空间归纳偏差。
- 我们研究了控制点标签形式的影响,并设计了一种实用的位置标签形式来提高检测的鲁棒性。我们还建立了一个新的 InverseText 测试集来填补现有数据集中缺乏逆向文本的空白。
- DPText-DETR 在代表性任意形状场景文本检测基准上创下了新纪录。它还具有快速收敛和良好的数据效率。
- DETR是 facebook 基于transformer做检测开山之作,Deformable DETR加速收敛并对小目标改进,TESTR实现了端到端的文本检测识别,DPText-DETR做了精度更高的文字检测。
- End-to-end 可理解为:端对端,即模型的正向训练和反向传播是 一个完整且连续 的过程。举个反例来帮助理解:人体关键点检测时往往需要先框出人体位置,再搜索关键点,分别在两个模型实现。如果这两个模型分别训练完成,那么整体就不是一个“端对端”的模型。
Related Work
Detection Transformers
- Transformer 起源于机器翻译,并很快在计算机视觉社区流行起来。最近,开创性的DETR将物体检测视为一个集合预测问题,并提出了一个简洁的端到端框架,无需复杂的手工制作的anchor生成和后处理。然而,DETR的训练收敛速度明显较慢,高分辨率特征的使用效率低下,这引发了检测Transformer的以下研究。例如,Deformable-DETR关注稀疏特征来解决上述问题。DE-DETR发现影响数据效率的关键因素是稀疏特征采样。 DAB-DETR使用动态锚框作为 Transformer 解码器中的位置查询,以促进训练。相比之下,在我们的研究中,我们以点公式重新构造查询,以处理任意形状的场景文本并加快训练速度。
Contour-based Text Detection and Spotting
- 从文本轮廓建模的角度来看,ABCNet 首次预测贝塞尔曲线控制点以自适应地拟合任意形状的文本。为了增强定位高度弯曲的文本的能力,FCENet 使用傅里叶轮廓拟合对文本实例进行建模。相比之下,TextBPN 及其扩展分割各种概率图并将其用作先验来生成粗边界提议,然后使用图卷积或 Transformer 编码器迭代细化边界点。考虑到分割可能对噪声敏感,PCR提出在卷积框架中以自上而下的方式逐步将初始文本提议演变为任意形状的轮廓。最近,受检测Transformer的启发,FSG 对一些代表性特征进行采样,并使用 Transformer 编码器层对它们进行隐式分组,然后预测贝塞尔曲线控制点进行定位。相比之下,TESTR 提出了一种用于文本轮廓建模的框到多边形方案,该方案利用来自 Transformer 编码器的框提议作为位置查询来指导可学习的控制点内容查询。我们推测,检测中点目标的框信息很粗糙,这阻碍了有效的训练。 因此,我们的工作研究了检测 Transformer 框架中明确而完整的点查询公式。
Methodology
- 本文通过开发一种高效的基于 Transformer 的解码器并研究控制点标签对检测鲁棒性的影响来研究场景文本检测问题。更详细地说,我们提出了一种显式点查询建模(包括先验点采样和点更新)方法和增强分解自注意力模块。在本节中,我们首先简要描述整体流程,然后详细介绍实现。
Overview
- 整体模型架构如图 2 所示。一般来说,给定一个场景文本图像,我们使用 CNN 主干,然后使用 Transformer 编码器来提取特征。在最后的编码器层之后,生成多个轴对齐的框作为提案。利用每个框的中心点和尺度信息,可以在顶部和底部均匀采样一定数量的初始控制点坐标。这样,这些点坐标可以作为可变形交叉注意模块的合适参考点。
-
图 2:DPText-DETR 的架构基于 Deformable-DETR,主要由 CNN 主干、Transformer 编码器和解码器组成。通过先验点采样计算显式点并将其编码为位置查询。点坐标逐渐细化以形成最终的多边形预测。
-
图像经过backbone(ResNet-50),展平后,加上二维位置编码,经编码器得到 N 个 box 和 score,取TOP,转成多点均匀采样,经过EFSA进行环形引导挖掘相关关系,再过解码器获得多点的 box 和 score。
- TESTR(Text Spotting Transformers)单编码器双解码器架构,两个解码器分别进行回归和识别。可进行弯曲文本检测识别。
- 在解码器中,点坐标被编码并添加到相应的控制点内容查询中以形成复合查询。复合查询首先被发送到 EFSA 以进一步挖掘它们的相对关系,然后输入到可变形交叉注意模块中。然后采用控制点坐标预测头逐层动态更新参考点,以更好地拟合任意形状的场景文本。最后,使用预测头为每个文本实例生成类置信度分数和 N 个控制点坐标。在训练期间,我们按照 (Text Spotting Transformers) 计算分类和控制点的损失。更多细节如下。
Positional Label Form
- 图 1(b) 所示的原始标签形式符合人类阅读顺序。然而,这种形式会诱导检测器隐式学习顺序,这会增加学习负担,并且在训练期间文本顺序不同时会使模型感到困惑。此外,即使在训练期间进行了足够的旋转增强,检测器也很难仅从视觉特征中正确预测阅读顺序,如图 1(d) 所示。
- 为了缓解困难,我们提出了一种位置标记形式,以引导检测器在纯空间意义上区分场景文本的上下侧,而不考虑文本的具体内容。如图 3 所示,位置标记形式主要遵循两个简单规则:顺时针顺序和与文本内容无关。具体而言,我们将所有原始点标记的顺序设为顺时针。如果文本实例原始顶侧位于底部位置,则将起点调整到另一侧。当两侧左右排列时,如果有一侧的最小 y 值较小(原点在左上角),则将起点调整到该侧,否则,则在固定的默认侧。
-
图 3:原始和位置标签形式。每个原始标签的点都是从适合注释多边形的贝塞尔曲线中采样的。
Explicit Point Query Modeling
-
先验点采样。值得注意的是,通过简洁而有效的操作将轴对齐的框预测转换为适合场景文本的多边形,即 TESTR 提出的框到多边形方案。在这里,我们简要回顾一下这个方案。具体来说,在最后的编码器层之后,由 top-K 提议生成器提供的每个锚框都被编码,然后由 N 个控制点内容查询共享。得到的复合查询 Q(i) (i = 1, . . . , K) 可以表述如下:
-
Q ( i ) = P ( i ) + C = φ ( ( x , y , w , h ) ( i ) ) + ( p 1 , . . . , p N ) , ( 1 ) Q ^{(i)} = P ^{(i)} + C = φ((x, y, w, h) ^{(i)} ) + (p_1, . . . , p_N ), (1) Q(i)=P(i)+C=φ((x,y,w,h)(i))+(p1,...,pN),(1)
-
其中 P 和 C 分别表示每个复合查询的位置部分和内容部分。φ 是正弦位置编码函数,后面跟着线性和归一化层。(x, y, w, h) 表示每个锚框的中心坐标和尺度信息。(p1, . . . , pN ) 是 K 个复合查询之间共享的 N 个可学习控制点内容查询。请注意,我们使用等式 (1) 中的查询公式将检测器设置为基线。从等式 (1) 中,我们可以发现,不同的控制点内容查询在每个实例中共享相同的锚框先验信息。虽然先验有助于预测控制点位置,但它在一定程度上与点目标不匹配。内容查询缺乏在框子区域中可以利用的各自明确的位置先验
-
-
受位置标签形式和形状先验的启发,场景文本的顶部和底部通常靠近边界框的相应边,我们分别在每个锚框的顶部和底部均匀采样 N/2 个点坐标 p o i n t n ( n = 1 , . . . , N ) point_n(n = 1, . . . , N) pointn(n=1,...,N):
-
利用(point1,…,pointN),我们可以使用以下完整点公式生成复合查询:
-
Q ( i ) = φ ′ ( ( p o i n t 1 , . . . , p o i n t N ) ( i ) ) + ( p 1 , . . . , p N ) . Q ^{(i)} = φ ′ ((point_1, . . . , point_N ) ^{(i)} ) + (p_1, . . . , p_N ). Q(i)=φ′((point1,...,pointN)(i))+(p1,...,pN).
-
这样,N 个控制点内容查询就享有各自的显式位置优先,从而实现优越的训练收敛。
-
点更新。有了点坐标,我们可以逐层细化点位置,并将更新后的位置用作可变形交叉注意的新参考点。相比之下,TESTR 直接采用锚框信息来生成位置查询。因此,很难在解码器层之间进行细化。具体来说,在我们的模型中,我们在预测头获得相应的偏移量(∆x,∆y)后更新每个解码器层中的控制点,如图 2 的解码器层部分所示。
-
讨论。我们还注意到,最近的工作 BoundaryFormer在实例分割任务中采用了类似的点查询公式。BoundaryFormer 旨在预测多边形,但使用实例掩码监督。在 BoundaryFormer 中,利用全卷积检测器 来预测对象框。接下来,为每个框初始化一个菱形。然后,使用 Transformer 解码器来细化顶点的位置。在解码器层之间,在现有点之间插入新点以产生精细多边形。
-
相比之下,我们旨在通过建模显式和完整的点查询来解决与训练相关的问题。在我们的模型中,根据文本仅用两条边即可定位的形状先验,在每个提议框的顶部和底部采样固定数量的点。显式点公式使解码器能够迭代地细化点,以便在 BoundaryFormer 和我们的模型中得到更精确的最终预测。然而,在我们基于 DETR 的模型中,我们进一步探索了显式点查询公式来解决相对较慢的收敛问题。
Enhanced Factorized Self-Attention
-
紧随其后,我们在基线中利用了分解自注意力 (FSA)。在 FSA 中,首先利用跨属于每个 Q(i) 的 N 个子查询的组内自注意力 ( S A i n t r a SA_{intra} SAintra) 来捕获每个文本实例中不同点之间的关系。在 S A i n t r a SA_{intra} SAintra之后,采用跨 K 个复合查询的组间自注意力 ( S A i n t e r SA_{inter} SAinter) 来捕获不同实例之间的关系。
-
我们推测非局部 S A i n t r a SA_{intra} SAintra 无法捕捉多边形控制点的圆形先验。因此,我们利用局部圆形卷积 来补充 FSA,形成增强型分解自注意力。具体来说,首先执行 SAintra 得到查询 Qintra = SAintra(Q),其中键与 Q 相同,而值不包括位置部分。同时生成局部增强查询:Qlocal = ReLU(BN(CirConv(Q)))。然后,可以得到融合查询:Qfuse = LN(FC(C + LN(Qintra + Qlocal))),其中 C 表示用作快捷方式的内容查询,F C 是全连接层,BN 是 BatchNorm,LN 是 LayerNorm。接下来,挖掘不同实例之间的关系:Qinter = SAinter(Qfuse)。之后,Qinter 被发送到可变形交叉注意模块。使用一个四邻域的循环卷积层可以实现性能和推理速度之间的最佳平衡。我们采用此设置进行实验。
Experiments
- 我们对三个任意形状场景文本基准进行了实验:Total-Text、CTW1500 和 ICDAR19 ArT。在 Total-Text 上进行了消融研究,以验证我们方法每个组件的有效性。
Datasets
- 首先,我们简要介绍一下所使用的数据集。SynthText 150K 是一个任意形状场景文本的合成数据集,包含 94,723 张多方向文本图像和 54,327 张弯曲文本图像。 Total-Text 由 1,255 张训练图像和 300 张测试图像组成。提供了单词级多边形注释。Rot.Total-Text 是从 Total-Text 测试集派生的测试集。由于原始标签形式会导致模型产生不稳定的预测(如图 1© 所示),我们对 Total-Text 测试集的图像应用较大的旋转角度(45◦、135◦、180◦、225◦、315◦)来检查模型的鲁棒性,得到包括原始测试集在内的 1,800 张测试图像。 CTW1500 包含 1,000 张训练图像和 500 张测试图像,提供了文本行级注释。ICDAR19 ArT 是一个大型任意形状场景文本基准。 它包含 5,603 张训练图像和 4,563 张测试图像。
- 本研究建立的 Inverse-Text 由 500 张测试图像组成。这是一个任意形状的场景文本测试集,其中约有 40% 的实例为逆向文本。少数实例因拍摄而镜像。部分图像选自现有基准测试集,例如 ICDAR19 ArT 中的 121 张图像、Total-Text 中的 7 张图像和 CTW1500 中的 3 张图像。其他图像则从互联网上收集而来。 提供了单词级多边形标注。部分样本如图 6 所示。
Implementation Details
-
我们采用 ResNet-50 作为骨干。我们使用 8 个头进行多头注意,使用 4 个采样点进行可变形注意。编码器和解码器层的数量均设置为 6。复合查询数 K 为 100,默认控制点数 N 为 16。我们遵循 (text spotting Transformer) 检测部分中使用的损失超参数设置。使用 4 个 NVIDIA A100 (40GB) GPU 训练模型,并使用 1 个 GPU 进行测试。
-
在消融研究中,我们没有预先训练模型来直观地揭示 Total-Text 上的训练收敛性。我们在 Total-Text 上训练模型 120k,没有使用旋转数据增强,并直接在 Rot.Total-Text 和 Inverse-Text 上测试它们以验证鲁棒性。为了帮助模型适应不同的文本顺序,我们另外用六个角度(-45°、-30°、-15°、15°、30°、45°)旋转 TotalText 训练图像代表正常情况,并将所有正常情况旋转 180° 代表逆情况。使用旋转数据时,我们对模型进行了 200k 次迭代训练。
-
完整的训练过程分为两个阶段:预训练阶段和微调阶段。批量大小设置为 8。对于 Total-Text 和 CTW1500,检测器在 SynthText 150K、MLT 和 Total-Text 的混合体上进行预训练,迭代次数为 350k。初始学习率 (lr) 为 1 × 10−4,在 280k 时衰减至 1 × 10−5。我们在 Total-Text 上对其进行微调,迭代次数为 20k,其中 lr 为 5 × 10−5,在 16k 时除以 10。对于 CTW1500,我们采用 13k 次微调迭代,其中 lr 为 2 × 10−5。对于 ICDAR19 ArT,我们在预训练期间采用 LSVT。我们混合使用 SynthText 150K、MLT、ArT 和 LSVT 对模型进行 400k 次迭代的预训练。lr 为 1 × 10−4,在 320k 时衰减为 1 × 10−5。然后,我们在 ArT 上对其进行 50k 次迭代的微调,其中 lr 为 5 × 10−5,在 40k 时除以 10。我们使用 AdamW 优化器,其中 β1 = 0.9、β2 = 0.999 和 10−4 的权重衰减。应用了随机裁剪、随机模糊、亮度调整和颜色变化等数据增强策略。注意,上述旋转数据仅用于每个基准的微调阶段。我们采用多尺度训练策略,最短边的范围从 480 到 832,最长边保持在 1600 以内。
Comparison with State-of-the-art Methods
- Text、CTW1500 和 ICDAR2019 ArT。此外,DPText-DETR 在三个基准测试中分别以 2.7%、2.9% 和 1.5% 的 F 值领先 I3CL。与 FSG 相比,我们的方法在 Total-Text 和 CTW1500 上的 F 值分别高出 0.9% 和 3.6%。在 Total-Text 和 CTW1500 上的 F 值方面,DPText-DETR 也比最先进的 SwinTextSpotter 高出 1.0% 和 0.8%。图 4 提供了一些视觉结果。它显示 DPTextDETR 在直线、曲线甚至密集的长文本上表现良好。还显示了一个失败案例,即 ICDAR19 ArT 中的右下方图像,其中多边形预测受到极其紧凑的弯曲文本的影响。
Ablation Studies
-
如前所述,本小节的所有实验均未使用预训练。主要消融结果报告于表 2 中。值得注意的是,与之前的预训练模型相比,未经预训练的 DPText-DETR 仍可实现具有竞争力的性能(F 值:86.79%)。
-
表 2:测试集上的消融。“Pos.Label”表示位置标签形式。没有 EFSA 表示改用 FSA。
-
位置标记形式。如表 2 所示,使用位置标记形式后,所有测试集上的 F 值得分均有所提高。例如,表中第 1 行和第 2 行的比较表明,Total-Text 上的 F 值提高了 0.68%,Rot.TotalText 上的 F 值提高了 3.90%,Inverse-Text 上的 F 值提高了 3.07%,验证了模型鲁棒性的有效性。此外,与原始形式相比,位置标记形式可以更好地与旋转增强协同,从而提高检测性能和鲁棒性。当使用旋转时,位置标记形式也有助于加快收敛速度,如图 5(a)所示。
-
图 5:Rot.Total-Text(左)和Total-Text(右)的收敛曲线。
-
EPQM。在表 2 中,我们研究了 EPQM 的有效性。如图 5(a)所示,EPQM 直观地提高了性能并对收敛做出了主要贡献。此外,EPQM 显著增强了少样本学习能力。如表 3 所示,当训练迭代次数和数据量减少时,基线模型的性能会大幅下降,而采用 EPQM 的模型受到的影响要小得多。
-
表 3:更少的迭代次数和训练数据测试。采用位置标签形式。“TD-Ratio”:与原始数据相比的训练数据比例。“Improv.”:F 度量的改进。在前三行中,模型仅在 Total-Text 上训练了 12k 次迭代,没有旋转增强,并直接在 Inverse-Text 上进行测试。在其余部分,我们根据 TDRatio 随机抽取训练数据,同时保持与前三行中使用的等效训练周期。我们对中间三个模型训练了 6k 次迭代,对最后几个模型训练了 3k 次迭代。
-
EFSA。在表2和表3中,我们验证了EFSA的有效性。表2中第5行和第6行的比较表明,EFSA可以将F值提高0.89%。 表3表明,EFSA可以使模型在更少的样本下更好地学习。例如,当训练数据量为25%时,与仅配备EPQM的模型相比,同时配备EPQM和EFSA的模型在Total-Text上获得了11.95%的F值,在Inverse-Text上获得了7.83%的F值。
-
此外,如图5(a)所示,EFSA可以进一步促进训练收敛,并且具有所有组件的模型在初始训练阶段比基线实现了大约6倍的收敛速度。 我们发现EFSA在预测多边形控制点时更有效。由于贝塞尔曲线控制点并不总是呈圆形,有时它们相距很远,因此对于贝塞尔变体,不适合将圆形卷积与自注意力结合起来。
-
综上所述,位置标签形式主要提升了模型鲁棒性,而 EPQM 和 EFSA 则提升了整体性能、训练收敛性和小样本学习能力。DPText-DETR 在性能提升和推理速度下降之间实现了理想的平衡。
What Makes Faster Training Convergence?
- 我们对 EPQM 进行了进一步的消融研究,以揭示是什么让收敛更快。定量结果和收敛曲线如表 4 和图 5(b) 所示。参考图 5(b) 中的蓝色曲线,当仅使用 Prior Points Sampling 时,初始阶段的收敛得到改善。参考红色曲线和表 4,Point Update 进一步大幅提高了收敛速度,并对性能做出了主要贡献。它说明了稀疏点的显式位置建模是更快收敛的关键。显式公式是动态更新解码器层中点的前提。动态更新为可变形交叉注意力提供了更精确的参考点,从而获得了更好的性能。先前的工作已经证明,框查询公式和 ROIAlign 提取的稀疏框区域特征可以提高基于 DETR 的模型的训练效率。在我们针对场景文本检测设计的DPText-DETR中,Prior Points Sampling方案可以看作是一种软网格采样操作,并且还证明了比框更稀疏的点查询公式更有利于训练。
Further Discussion
-
此外,我们进一步研究了一些任意形状场景文本识别器在 Inverse-Text 上的性能。最近的方法大致可以分为基于点的方法和基于分割的方法。对于基于点的方法,我们选择了 ABCNet-v2 和 TESTR ,它们利用双 Transformer 解码器进行并行检测和识别。对于基于分割的方法,我们选择 SwinTextSpotter 作为代表。我们对在 Total-Text 上训练的官方模型进行了微调,并使用了实现细节中提到的旋转增强,以更好地适应逆向文本。结果报告在表 5 中。对于 ABCNet-v2 和 TESTR,我们还测试了位置标签形式的影响。如表 5 所示,当使用位置标签形式时,检测 F 度量得到了改善,这验证了对检测的积极影响。
-
表 5:Inverse-Text 上检测员的结果。“repro.”和“None”表示我们使用官方发布的代码进行的实验以及不使用词典的端到端结果。
-
我们进一步用我们的解码器替换了 TESTR 的检测解码器,发现修改后的检测器仍然运行良好。这表明检测解码器可以使用显式点信息迭代细化控制点,而识别解码器仍然从粗文本锚框子区域学习语义。然而,修改后的检测器存在检测和识别之间收敛不同步的问题。我们计划在未来探索一种训练高效的基于 Transformer 的检测器。图 6 中展示了一些可视化效果。
Conclusion
- 我们提出了一个简洁而有效的场景文本检测 Transformer 网络,它将复合查询转换为明确而完整的点公式。我们研究了控制点标签对模型鲁棒性的影响,并指出了一种实用的位置标签形式。大量实验证明了我们提出的 DPText-DETR 的最先进的性能、训练效率和鲁棒性。我们还建立了一个逆文本测试集,以促进该领域的未来研究。
-
大多数这些用例都需要近乎实时的性能。常用的文本提取技术包括使用光学字符识别 (OCR) 系统。但是,大多数免费的商用 OCR 系统都经过训练,可以识别文档中的文本。在识别自然场景或带字幕的视频(如图像透视、反射、模糊等)中的文本方面存在许多挑战。文本提取过程涉及以下步骤:
- 通过文本检测算法从更大的场景中检测文本字段。
- 此文本使用自定义 OCR 技术进行提取和识别。
-
由于文本外观的可变性(例如曲率、方向和失真),识别自然场景图像中的不规则文本可能具有挑战性。为了克服这一问题,通常需要复杂的深度学习架构和细粒度注释。然而,在创建和部署这些算法时,这些问题可能会导致优化和延迟挑战。尽管存在这些挑战,计算机视觉的进步在文本检测和识别方面取得了重大进展,为各行各业提供了强大的工具。为了进一步优化推理,您可以使用专业的优化工具来降低延迟并提高性能。为了满足这些需求,我们使用了先进的深度学习算法和利用技术,例如针对特定用例的增量学习和微调。为确保低延迟,我们使用了以下模型推理优化工具:
- ONNX Runtime 是一个跨平台的机器学习模型加速器,它提供了与特定硬件库集成的灵活性。它可以与 PyTorch、TensorFlow 和 Keras、TensorFlow Lite、scikit-learn 以及其他框架中的模型一起使用。
- NVIDIA TensorRT SDK 用于高性能深度学习推理,提供深度学习推理优化器和运行时环境,确保推理应用程序具有低延迟和高吞吐量。
- NVIDIA Triton 推理服务器 旨在为云端、本地和边缘设备提供高性能的推理服务。
-
场景文本模型中存在准确性问题的主要原因是输入数据的变异数量。以下是一些数据变异。
- **文本大小比例模糊:**自然场景中的文本可能以各种大小和比例出现。文本与摄像头的距离对于文本的缩放同样起着重要作用。摄像头的角度可能会引入透视失真。此外,光照条件可能在文本周围产生反射和阴影。移动物体或摄像头的移动都有可能增加模糊效果。所有这些因素共同作用,可能会导致图像中文本的大小比例出现模糊失真。
- **文本方向、颜色和字体:**文本可能以水平、垂直、对角线甚至循环的方式显示。这种文本方向的变化会使算法难以正确检测和识别文本。如果训练数据未能反映实际使用中的颜色、透明度和字体风格,同样会带来挑战。
- **背景和叠加:**自然场景中的文本可能出现在各种背景之上,如建筑物、树木、车辆等,并且常常覆盖在玻璃、金属、塑料或贴纸等物体上。它还可能被浮雕或凹凸处理在不同的材质上。
- 多语言环境:真实世界的图像中常包含多种文字脚本和语言的文本。例如,标牌或餐厅菜单通常使用混合语言编写。
-
使用了PARseq 模型在各种数据集上进行训练MJSynth, SynthText,COCO 文本, RCTW17, Uber-Text, ArT, LSVT, MLT19以及ReCTS, TextOCR)并根据内部数据进行微调。通过使用推理计算图形简化、量化和降低精度等技术来优化推理性能。这些模型最初使用 PyTorch 库进行训练,随后导出为 torchScript 格式,再转换为ONNX格式,最终转换为NVIDIA TensorRT引擎。
-
为了执行 ONNX 到 TensorRT 的转换,我们使用了 TensorRT 版本 22.07 的 NGC 容器镜像。转换过程结束后,我们使用 NVIDIA Triton 推理服务器版本 22.07 部署了推理模型。系统性能在具有 16 GB GPU 显存的 NVIDIA A5000 笔记本电脑 GPU 上进行了基准测试。