【读点论文】Scene Text Recognition with Permuted Autoregressive Sequence Models,引入语言模型纠正字符串识别结果

Scene Text Recognition with Permuted Autoregressive Sequence Models

Abstract.

  • 上下文感知STR方法通常使用内部自回归语言模型(LM)。AR模型的固有局限性激发了采用外部LM的两阶段方法。外部LM对输入图像的条件独立性可能导致它错误地纠正正确的预测,从而导致显著的低效率。我们的方法PARSeq使用置换语言建模(Permutation Language Modeling)学习具有共享权重的内部AR lm集合。它统一了上下文无关的非AR和上下文感知的AR推理,并使用双向上下文进行迭代细化。使用合成训练数据,PARSeq在STR基准测试(准确率91.9%)和更具挑战性的数据集中实现了最先进的(SOTA)结果。当对真实数据进行训练时,建立了新的SOTA结果(准确率为96.0%)。PARSeq在精度、参数数量、FLOPS和延迟方面是最佳的,因为它的简单、统一的结构和并行令牌处理。由于它广泛使用了注意力,它对现实世界图像中常见的任意导向的文本具有鲁棒性。代码、预训练的权重和数据可在https://github.com/baudm/parseq上获得。
  • 论文地址:[2207.06966] Scene Text Recognition with Permuted Autoregressive Sequence Models (arxiv.org)
  • 识别这个检测出来的任务就是STR(Scene Text Recognition)。和OCR(Optical Character Recognition)在文档识别的不同在于:STR中识别的文字,会有光照,大小,方向,遮挡等更复杂的场景。STR主要是一个视觉任务,但是当出现部分文字被遮挡的时候,通常会使用语义模型帮助识别(可以理解为纠错)。就需要一个序列模型。就是2阶段的模型(识别+LM的语义)。

Introduction

  • 机器在自然场景中读取文本,首先检测文本区域,然后识别这些区域中的文本。从裁剪区域中识别文本的任务称为场景文本识别(STR)。STR可以读取道路标志,广告牌,纸质账单,产品标签,徽标,印刷衬衫等。它在自动驾驶汽车、增强现实、零售、教育和视障人士设备等领域都有实际应用。与文本属性更加统一的文档中的光学字符识别(OCR)相比,STR必须处理不同的字体样式、方向、文本形状、照明、遮挡量和不一致的传感器条件。在自然环境中拍摄的图像也可能有噪声、模糊或扭曲。实质上,STR是一个重要但非常具有挑战性的问题。

  • STR主要是一项视觉任务,但在部分文本无法读取的情况下,例如由于遮挡物,仅凭图像特征不足以做出准确的推断。在这种情况下,通常使用语言语义来帮助识别过程。上下文感知STR方法结合了来自单词表示模型或字典的语义先验,或者使用序列建模从数据中学习到的语义先验

  • 序列建模具有学习端到端可训练语言模型(LM)的优势。带有内部LMs的STR方法联合处理图像特征和语言上下文。它们是通过对语言上下文实施自回归(AR)约束来训练的,其中未来的标记以过去的标记为条件,而不是相反,从而产生模型 P ( y ∣ x ) = ∏ i = 1 T P ( y t ∣ y < T , x ) P(y|x) =\prod_{i=1}^T P(y_t|y< T, x) P(yx)=i=1TP(yty<T,x),其中y是图像x的T长度文本标签。AR模型有两个由这个约束引起的固有限制。首先,模型只能学习一个方向上的令牌依赖关系——通常是从左到右(LTR)方向。这种单向性导致AR模型偏向于单一的读取方向,导致后缀的虚假添加或方向依赖的预测(见附录a)。其次,在推理过程中,AR模型只能用于在用于训练的相同方向连续输出token。这被称为下一个标记或单调AR解码。

  • 为了解决这些限制,之前的研究结合了从左到右和从右到左(RTL)的AR模型,或者选择使用上下文无关的STR模型与独立或外部LM的集成的两阶段方法。LTR和RTL组合AR模型仍然受到单向上下文的影响,但通过执行两个独立的解码流(每个方向一个)来解决它,然后选择具有更高可能性的预测。这自然会增加解码时间和复杂性。同时,如下图a所示的两阶段集成方法使用并行非 AR 解码获得初始预测。使用无上下文模型 P ( y ∣ x ) = ∏ i = 1 T P ( y t ∣ x ) P(y|x) = \prod_{i=1}^T P(y_t|x) P(yx)=i=1TP(ytx) 直接从图像解码初始的无上下文预测。

    • 在这里插入图片描述

    • (a)最先进的方法ABINet结合了上下文无关的视觉和上下文感知的语言模型。语言模型的功能是作为拼写检查器,但由于其对图像特征的条件独立,容易对正确的初始预测进行错误纠正。(b)我们提出的方法通过联合处理图像和上下文特征进行初始解码和迭代细化,从而产生单一的整体输出。这避免了对单独的语言和融合模型的需求,从而产生更有效和健壮的STR方法PARseq阅读和代码 - 知乎 (zhihu.com)

    • 第一个阶段:图片预测文字(context-free model);第二个阶段:语言模型(语法检测,纠错):这个拼写本来就是错的,那么纠错其实就改错了。如果这个单词出现频率低,也可能会改错,改成高频词。

  • 这使得外部LM(例如ABINet中的 P ( y ) = ∏ i = 1 T P ( y t ∣ Y ≠ t ) P(y) = \prod^T_{i=1}P(y_t |Y\neq t) P(y)=i=1TP(ytY=t) 可以使用双向上下文,因为所有字符都是同时可用的。LM充当拼写检查器并校正初始预测,生成基于上下文的输出。LM对输入图像的条件独立性可能导致它错误地纠正正确的预测,如果它们出现拼写错误,或者存在更高可能性的类似单词。当作为拼写检查器使用时,LM在SRN(27.6%)和ABINet(41.9%)中的单词准确率很低,这一点很明显[Read like humans: Autonomous, bidirectional and iterative language modeling for scene text recognition]。因此,使用单独的融合层将初始预测和LM预测的特征结合起来,得到最终的输出。仔细研究一下ABINet的LM(附录B),就会发现它对于STR来说效率很低。相对于它的参数计数,它没有得到充分利用,尽管使用了完整ABINet模型的大量总体计算需求,但它表现出令人沮丧的单词准确性。

  • 在序列模型文献中,最近对序列生成的广义模型产生了兴趣。各种神经序列模型,如AR和基于细化的非AR,在Mansimov等人提出的广义框架中被证明是特殊情况。这一结果表明,同样的泛化可以在STR模型中完成,统一上下文无关的STR和上下文相关的STR。虽然这种统一的优势并不明显,但我们将在后面展示,这样的泛化模型可以使用内部LM,同时保持外部LM的细化能力。

  • 排列语言建模(PLM)最初是为大规模语言预训练而提出的,但最近的作品已将其用于学习基于transformer的通用序列模型,该模型具有不同的解码方案。在这项工作中,我们将PLM应用于STR。PLM可以被认为是AR建模的泛化,PLM训练的模型可以被视为具有共享架构和权重的AR模型的集合。通过使用注意掩码动态指定令牌依赖关系,如下图所示的模型可以在给定输入上下文的任意子集的情况下学习和使用条件字符概率,从而支持单调AR解码、并行非AR解码,甚至迭代细化。

    • 在这里插入图片描述

    • 对于带有三元素文本标签y的图像x,说明了与AR模型集成相关的NAR和迭代细化(完形)模型。显示了P(y|x)的四种不同的分解(六种可能),每种分解顺序由下标中显示的分解顺序决定

  • 总之,最先进的(SOTA) STR方法选择了两阶段集成方法,以使用双向语言上下文。尽管增加了训练和运行时需求,但他们的外部LMs的单词准确性较低,这突出了对更有效方法的需求。为此,我们提出了一种置换自回归序列(PARSeq)模型。通过PLM训练,PARSeq是一种结构简单的统一STR模型,但能够进行上下文无关和上下文感知的推理,以及使用双向(完形)上下文的迭代细化。PARSeq在STR基准上对所有字符集的合成和真实训练数据都取得了SOTA结果,同时在参数、FLOPS和运行时的使用上是最佳的(下图)。

    • 在这里插入图片描述

    • 平均单词准确度(94字符)vs计算成本。P-S和P-Ti分别是PARSeq-S和PARSeq-Ti的简写。对于TRBA和PARSeqA, FLOPS和时延对应于基准测试中测量的平均值

  • 为了进行更全面的比较,我们还对包含遮挡和任意导向文本的更大、更困难的真实数据集进行基准测试。PARSeq同样在这些数据集中实现SOTA结果。

Related Work

  • Long等人和Chen等人最近的调查对STR中的不同方法进行了全面的讨论。在本节中,我们将重点关注语言语义在STR中的使用。上下文无关STR方法直接从图像特征中预测字符。输出字符在条件上相互独立。最突出的方法是基于ctc的[Connectionist temporal classification]方法[An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition,Star-net: a spatial attention residue network for scene text recognition,Gated recurrent convolution neural network for ocr,Rosetta],还有一些使用不同的方法,如自关注将特征池化到字符位置,或将STR转换为多实例分类问题。集成方法使用注意机制来产生初始的无上下文预测。由于上下文无关的方法仅依赖于图像特征进行预测,因此它们对遮挡或不完整字符等损坏的鲁棒性较差。这种限制促使使用语言语义使识别模型更加健壮

  • 上下文感知的STR方法通常使用从数据中学习到的语义来帮助识别。大多数方法使用带有注意力的rnn或transformer使用标准AR训练来学习内部LMs。这些方法仅限于单调的AR解码。集成方法通过外部LM使用双向上下文进行预测细化。外部LM对图像特征的条件独立性使得它容易出现错误纠正,限制了有用性,同时产生了巨大的开销。VisionLAN通过在训练过程中选择性地屏蔽单个字符的图像特征来学习语义,类似于去噪自动编码器和掩码语言建模(MLM)。与之前的工作相反,PARSeq使用PLM而不是标准AR建模来学习内部LM。它通过使用参数化来支持灵活的解码,该参数化将目标解码位置与输入上下文解耦,类似于双流关注的查询流。与ABINet使用完形上下文进行训练和推理不同,PARSeq仅将其用于迭代细化。此外,如前所述,ABINet的细化模型是有条件地独立于输入图像的,而PARSeq在细化过程中同时考虑输入图像和语言上下文。

  • 从序列模型生成可以分为两种不同的模式:自回归(一次一个标记)和非自回归(一次预测所有标记)。Mansimov等提出了一种统一上述方案的广义序列生成框架。BANG将两流注意力用于MLM,而不是我们使用的PLM。PMLM是用一种一般化的MLM来训练的,其中掩蔽比是随机的。使用统一先验的变体被证明与plm训练的模型等效。与我们的工作最接近的是Tian等人,他们通过分散来自不同层的内容和查询流,将双流注意力参数化应用于解码器。相比之下,我们的解码器不使用自我注意,也不分散两个流。这允许我们的单层解码器只使用查询流,并避免未使用的内容流的开销。

Permuted Autoregressive Sequence Models

  • 在本节中,我们首先介绍PARSeq的基于transformer的模型体系结构。接下来,我们讨论了如何使用排列语言建模来训练它。最后,我们通过讨论不同的解码方案和迭代改进过程来展示如何使用训练好的模型进行推理。

Model Architecture

  • 多头注意(Multi-head Attention, MHA)被PARSeq广泛使用。我们将其记为MHA(q, k, v, m),其中q, k, v分别表示所需的参数query, key, value, m表示可选的注意掩码。我们在附录C中提供了MHA的背景资料。PARSeq遵循编码器-解码器架构,如下图所示,通常用于序列建模任务。编码器有12层,而解码器只有一层。这种深浅配置是经过深思熟虑的设计选择,可以最大限度地减少模型的总体计算需求,同时对性能的影响可以忽略不计。详情见附录D。

    • 在这里插入图片描述

    • PARSeq架构和训练概述。由于空间限制,省略了LayerNorm和Dropout层。[B], [E]和[P]分别代表序列开始(BOS),序列结束(EOS)和填充令牌。T = 25产生26个不同的位置标记。位置标记既可以作为输入上下文的查询向量,也可以作为位置嵌入。对于[B],没有添加位置嵌入。注意掩码是从给定的排列中生成的,并且仅用于上下文注意。Lce是指交叉熵损失

    • 这个Multi-head attention是有12层组成的encode,decode只有1层。这种前面很深,后面很浅(deep-shallow)的设置,可以降低整体的运算量。图片部分就是一个VIT的编码,所有的token都是输入。图像-语言的解码器:包括了位置,文本和图片的token。在训练的时候,mask是随机的组合。在预测的时候,可能是从左到右的mask,可能是完形填空的mask,也可能没有mask。最后通过linear,来预测每个输出。

  • ViT Encoder. Vision Transformer (ViT)是Transformer对图像的直接扩展。一个ViT层包含一个用于自关注的MHA模块,即q = k = v。编码器是一个没有分类头和[CLS]令牌的12层ViT。图像 X ∈ R W × H × C X∈\R^{W×H×C} XRW×H×C,宽度为W,高度为H,通道数为C,通过将其均匀划分为 p w × p h p_w ×p_h pw×ph 块,将每个块 flattening ,然后使用块嵌入矩阵 $Wp∈\R{p_wp_hC×d_{model}} $ 将它们线性投影到 d m o d e l d_{model} dmodel 维令牌中,从而得到 ( W H ) / ( p w p h ) (W H)/(p_wp_h) (WH)/(pwph) 令牌。在第一个ViT层处理之前,将学习到的等维位置嵌入添加到标记中。与标准ViT相反,所有输出令牌z都用作解码器的输入:

    • z = E n c ( x ) ∈ R W H p w p h ∗ d m o d e l z=Enc(x)\in \R^{\frac{WH}{p_wp_h}*d_{model}} z=Enc(x)RpwphWHdmodel
  • Visio-lingual Decoder.。解码器遵循与preLayerNorm相同的架构,但使用两倍的注意头数量,即 n h e a d = d m o d e l / 32 n_{head }= d_{model}/32 nhead=dmodel/32它有三个必需的输入,包括位置、上下文和图像标记,以及一个可选的注意力掩码。在下面的等式中,为了简洁起见,我们省略了LayerNorm和Dropout。第一个MHA模块用于上下文位置注意:

    • h c = p + M H A ( p , c , c , m ) ∈ R ( T + 1 ) ∗ d m o d e l h_c=p+MHA(p,c,c,m)\in \R^{(T+1)*d_{model}} hc=p+MHA(p,c,c,m)R(T+1)dmodel

    • 其中T为上下文长度, p ∈ R ( T + 1 ) × d m o d e l p∈\R ^{(T +1)×d_{model}} pR(T+1)×dmodel 为位置标记, c ∈ R ( T + 1 ) × d m o d e l c∈\R^ {(T +1)×d_{model}} cR(T+1)×dmodel 为包含位置信息的上下文嵌入, m ∈ R ( T + 1 ) × ( T + 1 ) m∈\R ^{(T +1)×(T +1)} mR(T+1)×(T+1) 为可选的注意掩码。请注意,使用特殊分隔符令牌([B]或[E])将总序列长度增加到T + 1。

  • 位置标记对要预测的目标位置进行编码,每个位置标记都与输出中的特定位置直接对应。这种参数化类似于双流注意力的查询流。它将上下文与目标位置解耦,允许模型从PLM中学习。如果没有位置令牌,也就是说,如果上下文令牌被用作查询本身,就像在标准的 Transformer 中一样,模型将不会从PLM中学到任何有意义的东西,而只是像标准的AR模型一样工作。

  • 所提供的掩码取决于如何使用模型。在训练期间,掩码是从随机排列生成的(第3.2节)。在推理(第3.3节)中,它可以是标准的从左到右的前向掩码(AR解码),完形掩码(迭代优化),或者根本没有掩码(NAR解码)。第二个MHA用于图像位置注意:

    • h i = h c + M H A ( h c , z , z ) ∈ R ( T + 1 ) + d m o d e l h_i=h_c+MHA(h_c,z,z)\in \R^{(T+1)+d_{model}} hi=hc+MHA(hc,z,z)R(T+1)+dmodel

    • 没有使用注意 mask 的地方。最后一个解码器隐藏状态是MLP的输出, h d e c = h i + M L P ( h i ) ∈ R ( T + 1 ) × d m o d e l h_{dec} = h_i + MLP(h_i)∈R^{(T +1)×d_{model}} hdec=hi+MLP(hi)R(T+1)×dmodel 。最后,输出logits是 y = L i n e a r ( h d e c ) ∈ R ( T + 1 ) × ( S + 1 ) y = Linear(h_{dec})∈\R^ {(T +1)×(S+1)} y=Linear(hdec)R(T+1)×(S+1),其中S是用于训练的字符集(charset)的大小。额外的字符属于[E]标记(它标志着序列的结束)。总而言之,给定一个注意掩码m,解码器是一个函数,其形式为:

    • y = D e c ( z , p , c , m ) ∈ R ( T + 1 ) ∗ ( S + 1 ) y=Dec(z,p,c,m)\in \R^{(T+1)*(S+1)} y=Dec(z,p,c,m)R(T+1)(S+1)

Permutation Language Modeling

  • 给定一个图像x,我们想最大化它的文本标签 y = [ y 1 , y 2 , … , y T ] y = [y_1, y_2,…, y_T] y=[y1,y2yT] 的可能性。在模型参数集合θ下。在标准AR建模中,根据正则排序,使用链式法则对似然进行因式分解[1,2,…, T],得到模型 l o g p ( y ∣ x ) = ∑ i = 1 T l o g p θ ( y t ∣ y < t , x ) logp (y|x) = \sum^T_{i=1}logp_θ(y_t|y_{< t}, x) logp(yx)=i=1Tlogpθ(yty<t,x)。但是,transformer并行处理所有令牌,允许输出令牌访问所有输入令牌,或者以条件依赖于所有输入令牌。为了拥有一个有效的AR模型,过去的令牌不能访问未来的令牌。在 Transformer 中,AR属性是通过使用注意 mask 来实现的。例如,三元素序列y的标准AR模型将具有表a所示的注意掩码。PLM背后的关键思想是在所有T!可能性的分解:

    • 在这里插入图片描述
  • 其中 Z T Z_T ZT 表示索引序列[1,2,…, T] 的所有可能排列的集合。 z t z_t zt z < t z_{< t} z<t 分别表示排列 z ∈ z t z∈z_t zzt 的第T个元素和前T−1个元素。每个排列z指定了一种顺序,该顺序对应于可能性的不同因数分解。

  • 为了在Transformers中实现PLM,我们不需要实际排列文本标签y。相反,我们制作注意掩码来强制执行z指定的顺序。作为一个具体的例子,下表显示了一个三元素序列的四种不同排列的注意掩码。注意,虽然输入和输出序列的顺序保持不变,但这四个序列都对应于由给定的排列或分解顺序指定的不同AR模型。考虑到这一点,可以看出标准AR训练只是PLM的一个特殊情况,其中只有一个排列,[1,2,…, T],是常用的。

    • 在这里插入图片描述

    • 每个排列的AR注意掩模的插图。表头(带有[B]标记)属于输入上下文,而头列(带有[E]标记)对应于输出标记。1表示输出令牌有条件依赖于相应的输入令牌。0表示没有信息从输入流向输出

    • Transformer是并行的,一次就能看到所有的token,为了变成一个自回归模型。那么过去的token就不能去处理未来的token。那么就需要需要通过attention mask来实现。用只有3个元素的序列来举例:第一列,就是输入。第一行,就是输出。1表示能看见,0表示看不见。比如用(a)举例: 第2行,y1:就是输出时y1。输入是【B】。那么这样训练的好处就是,相当于所有的排列组合都用上了。当然作者只选取了k个,不是全部。

  • 在实践中,我们不能在所有的 T! 上训练由于计算需求呈指数增长而导致的因数分解。作为妥协,我们只使用K的可能的 T! 排列。我们不是均匀抽样,而是以一种特定的方式选择K个排列。我们使用K/2个排列对。前半部分由从左到右的排列组成,[1,2,…, T], K/2−1个随机抽样排列。另一半则是第一本的翻版。我们发现这种抽样方法可以得到更稳定的训练结果。对于K个排列和基真值标签 y ^ \hat y y^,完整的训练损失是每个排列衍生的注意掩码 m k m_k mk 的个体交叉熵损失的平均值:

    • L = 1 K ∑ i = 1 K L c e ( y k , y ^ ) L=\frac{1}{K}\sum_{i=1}^KL_{ce}(y_k,\hat y) L=K1i=1KLce(yk,y^)

    • 其中 y k = D e c ( z , p , c , m k ) y_k = Dec(z, p, c, m_k) yk=Dec(z,p,c,mk) 在损失计算中忽略填充令牌。更多PLM细节见附录E。

Decoding Schemes

  • PLM训练加上正确的参数化允许PARSeq与各种解码方案一起使用。在这项工作中,我们只使用了两种对比方案,尽管理论上支持更多方案。具体来说,我们详细阐述了单调AR和NAR解码的使用,以及迭代细化。自回归(AR)解码每次迭代生成一个新标记。总是使用从左到右的注意掩模(下表a)。对于第一次迭代,上下文被设置为[B],并且只使用第一个位置查询令牌p1。对于任何后续迭代i, position查询[p1,…, pi]被使用,而上下文被设置为前面的输出,argmax(y)加上[B]。

    • 在这里插入图片描述

    • 不同解码方案的信息流说明。约定如表1所示。在NAR解码中,不使用掩码;这相当于使用全一掩码。“……属于元素 y 3 y_3 y3 y T − 1 y_{T−1} yT1

  • 非自回归(NAR)解码同时生成所有输出令牌。所有位置查询[p1,…, pT +1],但不使用注意掩模(表b)。上下文始终是[B]。

  • 无论初始解码方法(AR或NAR)如何,都可以执行迭代细化。之前的输出(在[E]处截断)作为当前迭代的上下文,类似于AR解码,但所有位置查询[p1,…, pT +1]总是被使用。使用完形注意掩模(表c)。它是通过从一个全一掩码开始创建的,然后掩码匹配的令牌位置

Results and Analysis

  • 在本节中,我们首先讨论实验设置,包括数据集、预处理方法、训练和评估协议以及使用的指标。接下来,我们将展示我们的结果,并根据上述指标和常用的计算成本指标比较PARSeq和SOTA方法。

Datasets

  • 由于标记的真实数据相对稀缺,传统上STR模型是在大规模合成数据集上训练的[3]。然而,近年来,标记的真实数据量已经足够训练STR模型。事实上,在真实数据上的训练比在合成数据上的训练更具样本效率。因此,除了常用的合成训练数据集MJSynth (MJ)和SynthText (ST)外,我们还使用真实数据进行训练。具体来说,我们使用COCO- text (COCO)、RCTW17、Uber- text (Uber)、ArT、LSVT、MLT19和ReCTS。Baek等人对这些数据集进行了全面的讨论。此外,我们还使用了两个最近基于Open Images的大规模真实数据集:TextOCR和OpenVINO工具包中的标注信息。详情见附录F。
  • 根据前人的研究,我们使用IIIT 5k-word (IIIT5k)、CUTE80 (CUTE)、Street View Text (SVT)、SVT- perspective (SVTP)、ICDAR 2013 (IC13)和ICDAR 2015 (IC15)作为评估数据集。Baek等人对这些数据集进行了深入的讨论。我们使用Long和Yao对IIIT5k、CUTE、SVT和SVTP进行区分大小写的标注。请注意,IC13和IC15具有文献中常用的各自测试分割的两个版本——IC13的857和1015;IC15为1811和2077。为了避免混淆,我们将基准称为IIIT5k、CUTE、SVT、SVTP、IC13(1,015)和IC15(2,077)的联合。
  • 这6个基准数据集总共只有7672个测试样本。与其他视觉任务中使用的基准数据集相比,这个数量相形见绌,例如ImageNet(分类,50k样本)和COCO(检测,40k样本)。此外,上述数据集主要只包含水平文本,如下图a所示,除了SVT、SVTP和IC15 2077,它们包含许多旋转文本。在现实世界中,条件不太理想,捕获的文本很可能是模糊的、垂直方向的、旋转的,甚至是闭塞的。为了进行更全面的比较,我们还使用了较新的数据集的测试集,如下图b所示,如COCO-Text (9.8k样本;低分辨率,遮挡文本),ArT (35.1k样本;弯曲和旋转文本)和Uber-Text (80.6k样本;垂直和旋转文本)。
    • 在这里插入图片描述

    • 使用的数据集中的样本测试图像

Training Protocol and Model Selection

  • 所有模型都在混合精度,双gpu设置下使用PyTorch DDP进行169,680次迭代训练,批处理大小为384。每个模型的学习率各不相同。Adam优化器与1cycle学习率调度器一起使用。在迭代127,260(总迭代的75%)时,使用随机加权平均(SWA),并将1周期调度程序替换为SWA调度程序。每1000个训练步骤执行一次验证。由于SWA在每个epoch结束时平均权重,因此选择训练结束时的最后一个检查点。对于PARSeq,使用K = 6排列(第4.4节)。PARSeq和ViTSTR的patch大小为8 × 4。更多细节见附录G。
  • 标签预处理是在之前的工作基础上进行的。对于训练,我们设置最大标签长度为T = 25,并使用大小为S = 94的字符集,其中包含混合大小写的字母数字字符和标点符号。图像预处理是这样做的:首先对图像进行增强,调整大小,然后最后归一化到区间[−1,1]。增广操作集主要由RandAugment操作组成,不包括sharpeness操作。
  • 由于对门牌号数据的有效性,增加了Invert。由于高斯模糊和泊松噪声在STR数据增强中的有效性,也使用了它们。使用具有3层和大小为5的RandAugment策略。图像被无条件地调整为128×32像素。

Evaluation Protocol and Metrics

  • 所有实验均在NVIDIA Tesla A100 GPU系统上进行。报告的平均值±SD值来自每个模型的四个重复。采用 t 检验(α = 0.05)确定模型差异是否具有统计学意义。如果差异在统计上不显著,则一列中可能有多个最佳结果。PARSeq结果来自同一模型,使用两种不同的解码方案:PARSeqA表示AR解码,经过一次细化迭代,而PARSeqN表示NAR解码,经过两次细化迭代(参见附录H)。单词准确性是STR基准测试的主要指标。当且仅当所有位置的字符都匹配时,认为预测是正确的。字符集,在推断时可能会变化。训练集的子集可以用于评估。具体来说,使用以下字符集:36个字符(小写字母数字)、62个字符(混合大小写字母数字)和94个字符(混合大小写字母数字加上标点符号)。在Python中,这些对应于字符串的数组切片[:36],[:62]和[:94]。分别打印。

Ablation on training permutations vs test accuracy

  • 由于计算需求呈指数增长,对所有可能的排列进行训练在实践中是不可行的。相反,我们从所有可能的排列池中抽取一些排列。下表显示了所有解码方案的训练排列数量对测试精度的影响。当K = 1时,只使用从左到右排序,训练简化为标准AR建模。在这种设置中,NAR解码根本不起作用,而AR解码则像预期的那样工作得很好。同时,精化或填空精度仅为令人沮丧的71.14%(考虑到地面真实值本身被用作初始预测,这是非常低的)。所有解码方案只有在K >= 6时才开始令人满意地执行。这一结果表明,实现统一的STR模型确实需要PLM。直观地说,当仅在正向和/或反向排序(K <= 2)上进行训练时,NAR解码将无法工作,因为训练上下文的多样性不足。NAR解码依赖于每个字符的先验,只有当字符集中的所有字符自然地作为序列的第一个字符存在时,先验才能得到充分的训练。最终,K = 6提供了解码精度和训练时间之间的最佳平衡。我们的内部LM非常高的完形准确率(约94%)突出了联合使用图像特征和语言上下文进行预测细化的优势。毕竟,STR中的主要输入信号是图像,而不是语言上下文。
    • 在这里插入图片描述

    • 基准上的94字符单词准确度与用于训练PARSeq的排列数(K)。AR和NAR解码均未使用细化迭代。完形的acc。用于描述一次细化迭代的单词精度。它是通过使用地面真值标签作为初始预测来测量的

Comparison to state-of-the-art (SOTA)

  • 我们将PARSeq与流行的和最近的SOTA方法进行比较。除了已发表的结果外,为了进行公平的比较,我们重新选择了一些方法。在表6中,与原始结果相比,大多数复制方法获得了更高的精度。唯一的例外是ABINet(综合准确率下降约1.4%),它最初使用了更长的训练计划(LM和VM分别预训练80次和8次)和额外的数据(WikiText-103)。对于合成数据和真实数据,PARSeqA实现了最高的单词准确性,而PARSeqN始终排在第二或第三位。当使用真实数据时,与原始报告结果相比,所有复制模型的精度都要高得多,而PARSeqA则建立了新的SOTA结果。

  • 在下表中,我们显示了每个字符集的平均精度。当使用合成数据进行训练时,从36个字符集到62个字符集和94个字符集的准确性急剧下降。这表明在合成数据集中缺乏大小写字符的多样性。同时,PARSeqA在所有字符集大小上始终达到最高的准确性。

    • 在这里插入图片描述

    • 基准上的平均单词准确度与评估字符集大小

  • 最后,在下表中,PARSeq对遮挡和文本方向变化的鲁棒性最强。附录J包含了更多针对任意导向文本的实验。请注意,这些更大、更具挑战性的数据集更好地揭示了方法之间的准确性差距。

    • 在这里插入图片描述

    • 36字符字的准确性在更大和更具挑战性的数据集

  • 上图显示了在准确性和常用的成本指标(如参数计数、FLOPS和延迟)方面的成本-质量权衡。PARSeq- s是用于所有结果的基本模型,而-Ti是其缩小的变体(详见附录D)。请注意,对于PARSeq,无论解码方案如何,参数计数都是固定的。PARSeq-S实现了最高的平均单词准确性,并在三个指标中表现出非常有竞争力的成本-质量特征。与ABINet和TRBA相比,PARSeq-S使用的参数和FLOPS明显更少。在延迟方面(附录1),AR解码的PARSeq-S比TRBA稍慢,但仍然比ABINet快得多。与此同时,尽管参数计数和FLOPS相似,PARSeq-Ti实现了比CRNN更高的单词精度。PARSeq-S是帕累托最优的,而-Ti是低资源应用程序的一个引人注目的替代方案。

Conclusion

  • 为了学习PARSeq,我们将PLM用于STR, PARSeq是一种统一的STR模型,能够进行上下文无关和感知解码,并进行迭代改进。PARSeq通过联合调节图像和文本表示来实现不同字符集大小和真实数据集的SOTA结果。通过将不同的解码方案统一到一个模型中,并利用transformer中的并行计算,PARSeq在精度、参数计数、FLOPS和延迟方面是最佳的。由于其广泛使用的注意力,它也证明了鲁棒性垂直和旋转文本常见的许多现实世界的图像。

  • 在这里插入图片描述

  • 六个基准数据集(36字符)上的单词准确性。对于训练数据:合成数据集(S) - MJ和ST ;基准数据集(B) - SVT, IIIT5k, IC13和IC15;真实数据集® - COCO, RCTW17, Uber, ArT, LSVT, MLT19, ReCTS, TextOCR和OpenVINO;“*”表示使用字符级标签。在我们的实验中,粗体表示每列的单词准确率最高。1.与SCATTER连用。2 .无特殊字符的synthtext(550万个样本)。3LM在WikiText-103上预训练。综合精度值见附录K

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羞儿

写作是兴趣,打赏看心情

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值