【读点论文】ABCNet v2: Adaptive Bezier-Curve Network for Real-time End-to-end Text...,模块分解实现端到端的不规则文本识别

ABCNet v2: Adaptive Bezier-Curve Network for Real-time End-to-end Text Spotting

Abstract

  • 端到端文本识别旨在将检测和识别集成在一个统一的框架中,由于这两个互补任务的简单性而受到越来越多的关注。这仍然是一个悬而未决的问题,特别是在处理任意形状的文本实例时。以前的方法大致可以分为两类:基于字符和基于分割,由于输出非结构化,它们通常需要字符级注释和/或复杂的后处理。 在这里,我们通过提出自适应贝塞尔曲线网络 v2(ABCNet v2)来解决端到端文本识别问题。我们的主要贡献有四个方面:1)我们首次通过参数化的贝塞尔曲线自适应地拟合任意形状的文本,与基于分割的方法相比,它不仅可以提供结构化输出,还可以提供可控的表示。2)我们设计了一个新颖的 BezierAlign 层,用于提取任意形状的文本实例的精确卷积特征,与以前的方法相比,识别精度显着提高。 3)与以前的方法不同,这些方法通常需要复杂的后处理和敏感的超参数,而我们的 ABCNet v2 保持了一个简单的管道,只使用后处理非最大抑制 (NMS)。4)由于文本识别的性能与特征对齐密切相关,ABCNet v2 进一步采用了简单而有效的坐标卷积来编码卷积滤波器的位置,从而以可忽略不计的计算开销实现了显着的改进。在各种双语(英语和中文)基准数据集上进行的综合实验表明,ABCNet v2 可以在保持非常高效率的同时实现最先进的性能。更重要的是,由于对文本识别模型的量化研究很少,我们对模型进行了量化以改善所提出的 ABCNet v2 的推理时间。这对于实时应用非常有价值。代码和模型可在以下位置获得:https://git.io/AdelaiDet || GitHub - aim-uofa/AdelaiDet: AdelaiDet is an open source toolbox for multiple instance-level detection and recognition tasks.
  • 论文地址:[2105.03620] ABCNet v2: Adaptive Bezier-Curve Network for Real-time End-to-end Text Spotting (arxiv.org)
  • OCR中一般有两种思路,一是文本检测和识别分开训练,分别是两个模型;一种是用一个统一的模型。前者可能更加准确,可以单独优化;后者速度会更快。

INTRODUCTION

  • 自然环境中的文本识别引起了计算机视觉和图像理解领域越来越多的研究关注,其目的是在不受约束的条件下检测和识别文本实例。 恢复的文本信息已被证明对图像检索、照片自动组织和视觉辅助等很有价值。到目前为止,它仍然具有挑战性,原因如下:1)文本实例在形状、颜色、字体和语言方面通常表现出不同的模式。数据中这些不可避免的变化通常需要启发式设置才能获得令人满意的性能;2)实时应用要求算法在效率和有效性之间取得更好的平衡。虽然深度学习的出现显著提高了场景文本识别任务的性能,但目前的方法在解决一般的现实世界应用方面仍然存在相当大的差距。

  • 以前的方法通常涉及两个独立的场景文本识别模块:文本检测和识别,它们是按顺序实现的。其中许多方法只解决一个任务,并直接借用另一个任务中表现最好的模块。这种简化的方法不太可能充分发挥深度卷积网络的潜力,因为两个任务是孤立的,没有可共享的特征

  • 最近,端到端场景文本识别方法 正受到越来越多的关注,该方法直接在统一框架中建立输入图像和单词转录集之间的映射。与将检测和识别作为两个独立模块的模型相比,设计端到端框架的优势如下。首先,单词识别可以显著提高检测的准确性。文本最显著的特征之一是序列属性。然而,在无条件环境中,如街区、建筑物和栏杆,会出现显示序列外观的误报。

  • 为了使网络具有区分不同模式的判别能力,一些方法 提出在两个任务之间共享特征并以端到端的方式训练网络。此外,由于共享特征,端到端框架通常在推理速度上表现出优势,更适合实时应用。最后,当前的独立识别模型通常采用完美裁剪的文本图像或启发式合成图像进行训练。端到端模块可以强制识别模块适应检测输出,从而使结果更加稳健

  • 现有的端到端文本识别方法大致可分为两类:基于字符的和基于分割的。基于字符的方法首先检测和识别单个字符,然后通过应用额外的分组模块输出单词。虽然有效,但需要费力的字符级注释。此外,分组算法通常需要一些预定义的超参数,显示出有限的鲁棒性和泛化能力。另一类研究是基于分割的,其中文本实例由非结构化轮廓表示,这使得后续识别步骤变得困难。例如,[All you need is boundary: Toward arbitrary-shaped text spotting] 中的工作依赖于 TPS 或 STN 步骤将原始基本事实扭曲为矩形。请注意,字符可能会严重扭曲,如图 1 所示。此外,与检测相比,文本识别需要大量的训练数据,导致统一框架中的优化困难

    • 在这里插入图片描述

    • 图 1 – 扭曲结果比较。在图 (a) 中,我们遵循之前的方法,使用 TPS 和 STN 将弯曲的文本区域扭曲为矩形。在图 (b) 中,我们使用生成的贝塞尔曲线和建议的 BezierAlign 来扭曲结果,从而提高了准确性。

  • 为了解决这些限制,我们提出了自适应贝塞尔曲线网络 v2 (ABCNet v2),这是一个端到端可训练框架,用于实时任意形状场景文本识别。ABCNet v2 通过简单而有效的贝塞尔曲线自适应实现任意形状场景文本检测,与标准矩形边界框检测相比,其计算开销可以忽略不计。此外,我们设计了一种新颖的特征对齐层,称为 BezierAlign,用于精确计算曲线形状文本实例的卷积特征,从而实现高识别准确率。我们首次成功采用参数空间(贝塞尔曲线)进行多方向或曲线文本识别,从而实现非常简洁高效的流程。

  • 受到 [Efficientdet]、[An intriguing failing of convolutional neural networks and the coordconv solution]、[Solov2] 中近期研究的启发,我们在会议版本 [Abcnet] 中从四个方面对 ABCNet 进行了改进:特征提取器、检测分支、识别分支和端到端训练。由于尺度不可避免的变化,提出的 ABCNet v2 结合了迭代双向特征以实现更好的准确率和效率权衡。 此外,根据我们的观察,检测分支中的特征对齐对于后续的文本识别至关重要。为此,我们采用一种计算开销可忽略不计的坐标编码方法来明确编码卷积滤波器中的位置,从而显着提高准确率。对于识别分支,我们集成了一个字符注意模块,它可以递归地预测每个单词的字符而无需使用字符级注释。为了实现有效的端到端训练,我们进一步提出了一种自适应端到端训练(AET)策略来匹配检测以进行端到端训练。这可以迫使识别分支对检测行为更具鲁棒性。

  • 因此,与以前的最先进方法相比,所提出的 ABCNet v2 具有几个优势,总结如下:

    • 我们首次使用贝塞尔曲线引入了一种新的、简洁的曲线场景文本参数表示。与标准边界框表示相比,它引入的计算开销可以忽略不计。
    • 我们提出了一种新的特征对齐方法,即 BezierAlign,因此识别分支可以无缝连接到整体结构。通过共享骨干特征,识别分支可以设计为轻量级结构,以实现高效推理
    • ABCNet v2 的检测模型通过考虑双向多尺度金字塔全局文本特征,对于处理多尺度文本实例更加通用
    • 据我们所知,我们的方法是第一个能够同时以单次方式检测和识别水平、多方向和任意形状的文本的框架,同时保持实时推理速度。
    • 为了进一步加快推理速度,我们还利用了模型量化技术,结果表明 ABCNet v2 可以达到更快的推理速度,而准确度仅略有降低。
    • 在各种基准上进行的综合实验证明了所提出的 ABCNet v2 在准确性和速度方面具有最先进的文本识别性能。

RELATED WORK

  • 场景文本识别需要同时检测和识别文本,而不是只涉及一项任务。早期的场景文本识别方法通常由独立的检测和识别模型简单连接。两个模型分别使用不同的架构进行优化。最近,端到端方法(§2.2)通过将检测和识别集成到一个统一的网络中,显著提高了文本识别的性能。

Separate Scene Text Spotting

  • 在本节中,我们简要回顾文献,重点关注检测或识别。
Scene Text Detection
  • 通过检测的灵活性可以观察到文本检测的发展趋势,从以水平矩形检测边界框为代表的聚焦水平场景文本检测,到以旋转矩形或四边形边界框为代表的多方向场景文本检测,再到以实例分割蒙版或多边形为代表的任意形状场景文本检测。
  • 早期基于水平矩形的方法可以追溯到 Lucas 等人 ,他们构建了开创性的水平 ICDAR’03 基准。ICDAR’03 及其后续数据集(ICDAR’11 和 ICDAR’13 )在水平场景文本检测研究中吸引了大量研究成果 。
  • 2010 年之前,大多数方法仅仅关注规则的水平场景文本,这限制了其推广到实际应用中,而多方向场景文本在实际应用中无处不在。为此,Yao 等人 提出了一个实用的检测系统以及用于多方向场景文本检测的多方向基准 (MSRA-TD500)。 该方法和数据集都使用旋转矩形边界框来检测和注释多方向文本实例。除了 MSRA-TD500,其他多方向数据集的出现,包括 NEOCR 和 USTBSV1K ,进一步促进了许多基于旋转矩形的方法。自 2015 年以来,ICDAR’15 开始对每个文本实例使用基于四个点的四边形注释,这促进了许多方法的出现,这些方法成功地证明了更紧密、更灵活的四边形检测方法的优越性。
  • SegLink 方法 通过有向线段预测文本区域,并学习连接链接以重新组合结果。DMPNet 观察到旋转后的矩形仍可能包含不必要的背景噪声、不完美匹配或不必要的重叠,因此提出使用四边形边界框通过辅助预定义的四边形滑动窗口来检测文本。EAST 采用密集预测结构直接预测四边形边界框。WordSup 提出了一种自动生成字符区域的迭代策略,在复杂场景中表现出很强的鲁棒性。ICDAR 2015 的成功尝试激发了许多基于四边形的数据集的出现,例如 RCTW’17 、MLT 和 ReCTS 。
  • 最近,研究重点从多方向场景文本检测转向任意形状文本检测。任意形状主要以自然界中的弯曲文本为代表,这在现实世界中也很常见,例如柱状物体(瓶子和石堆)、球形物体、褶皱平面(衣服、飘带和收据)、硬币、徽标、印章、招牌等。第一个弯曲文本数据集 CUTE80 于 2014 年构建。但该数据集主要用于场景文本识别,因为它仅包含 80 张干净图像,文本实例相对较少。
  • 对于任意形状场景文本的检测,最近提出了两个基准测试集:Total-Text 和 SCUT-CTW1500 ,从而推动了许多有影响力的工作 。TextSnake 设计了一个 FCN 来预测文本实例的几何属性,然后将它们分组到最终输出中。 CRAFT 预测文本的字符区域及其相邻区域之间的亲和力。SegLink++ 提出了一个实例感知的组件分组框架,用于密集和任意形状的文本检测。PSENet 提出学习文本核,然后将其扩展以覆盖整个文本实例。PAN 基于 PSENet ,通过预测像素的相似性向量,采用了一种可学习的后处理方法。 Wang 等人 提出学习自适应文本区域表示,以检测任意形状的文本。DRRN 提出首先检测文本组件,然后通过图网络将它们组合在一起。ContourNet 采用自适应 RPN 和额外的轮廓预测分支来提高精度。
Scene Text Recognition
  • 场景文本识别旨在通过裁剪的文本图像识别文本。许多先前的方法遵循自下而上的方法,首先通过滑动窗口分割字符区域并对每个字符进行分类,然后将它们分组为一个单词以考虑与邻居的依赖关系。它们在场景文本识别中取得了良好的效果,但仅限于昂贵的字符级注释进行字符检测。如果没有大量的训练数据集,此类别的模型通常无法很好地概括。Su 和 Lu 提出的工作通过使用 HOG 特征和循环神经网络 (RNN) 提出了一种场景文本识别系统,这是成功将 RNN 引入场景文本识别的先驱工作之一。后来,提出了基于 CNN 的循环神经网络方法以自上而下的方式执行,可以端到端地预测文本序列而无需任何字符检测。 Shi 等人 将连接主义时间分类 (CTC) 应用于一个集成了 CNN 和 RNN 的网络,称为 CRNN。 在 CTC 损失的指导下,基于 CRNN 的模型可以有效地转录图像内容。除了 CTC,注意力机制 也用于文本识别。

  • 上述方法主要应用于规则文本识别,对不规则文本的鲁棒性不够。 近年来,针对任意形状文本的识别方法逐渐成为主流,可分为基于校正的方法和无需校正的方法。 对于前者,STN 和 Thin-Plate-Spline (TPS) 是两种广泛使用的文本校正方法。Shi 等 [Robust scene text recognition with automatic rectification] 首次引入 STN 和基于注意机制的解码器来预测文本序列。[Aster: An attentional scene text recognizer with flexible rectification] 中的工作使用迭代文本校正取得了更好的效果。 此外,Luo 等 提出了 MORAN,它通过回归位置偏移的偏移量来校正文本。Liu 等 提出了一种字符感知神经网络 (CharNet),它首先检测字符,然后分别将它们转换为水平字符。 ESIR 提出了一种迭代校正流程,可以将文本的位置从透视扭曲转换为规则格式,从而可以构建有效的端到端场景文本识别系统。Litman 等人 [SCATTER: selective context attentional scene text recognizer] 首先在输入图像上应用 TPS,然后堆叠多个选择性注意解码器以获取视觉和上下文特征。

  • 在免校正方法类别中,程等人 提出了一种任意方向网络 (AON) 来提取四个方向的特征和字符位置线索。李等人 应用 2D 注意力机制来捕获不规则文本特征并取得了令人印象深刻的效果。为了解决注意力漂移问题,岳等人 在识别模型中设计了一种新的位置增强分支。此外,一些免校正方法基于语义分割。廖等人 [Scene text recognition from two-dimensional perspective] 和万等人 [Textscanner] 都提出通过视觉特征来分割字符并对其类别进行分类。

End-to-End Scene Text Spotting

Regular End-to-end Scene Text Spotting
  • Li 等人 [Towards end-to-end text spotting with convolutional recurrent neural networks] 可能是第一个提出端到端可训练场景文本识别方法的人。该方法成功地使用 RoI Pooling 通过两阶段框架连接检测和识别特征。它被设计用于处理水平和聚焦文本。它的改进版本 [Towards end-to-end text spotting in natural scenes] 显着提高了性能。Busta 等人 也提出了一种端到端深度文本识别器。何等人 和刘等人 采用无锚机制来提高训练和推理速度。他们分别使用类似的采样策略,即 Text-Align-Sampling 和 RoI-Rotate,以便从四边形检测结果中提取特征。请注意,这两种方法都不能识别任意形状的场景文本。
Arbitrarily-shaped End-to-end Scene Text Spotting
  • 为了检测任意形状的场景文本,Liao 等人 提出了一种 Mask TextSpotter,它巧妙地改进了 Mask RCNN,并使用字符级监督同时检测和识别字符和实例掩码。 该方法显著提高了识别任意形状场景文本的性能。其改进版本 大大减轻了对字符级注释的依赖。Sun 等人 提出了 TextNet,它预先生成四边形检测边界框,然后使用区域提议网络将检测特征输入到识别中。

  • 最近,Qin 等人 提出使用 RoI Masking 来聚焦任意形状的文本区域。请注意,需要额外的计算来拟合多边形。[Convolutional Character Networks] 中的工作提出了一种任意形状的场景文本识别方法,称为 CharNet,需要字符级训练数据和 TextField 来对识别结果进行分组。[TextDragon] 的作者提出了一种新颖的采样方法 RoISlide,它使用来自文本实例预测段的融合特征,因此它对长任意形状的文本具有鲁棒性。

  • 王等[All you need is boundary]首先检测任意形状的文本边界点,通过TPS对检测到的文本进行矫正后送入识别分支;廖等[Mask textspotter v3]提出一个分割提议网络(SPN)来精准提取文本区域,并参照[Mask textspotter]得到最终结果。

OUR METHOD

  • 图 2 显示了我们方法的直观流程。 我们采用单次、无锚卷积神经网络作为检测框架。移除锚框显著简化了我们任务的检测。在这里,检测是在检测头的输出特征图上进行密集预测的,检测头由 4 个堆叠的卷积层构成,步幅为 1,填充为 1,核为 3×3。接下来,我们将提出的 ABCNet v2 分为六个部分:1)贝塞尔曲线检测;2)坐标卷积模块;3)BezierAlign;4)轻量级注意识别模块;5)自适应端到端训练策略;6)文本识别量化。
    • 在这里插入图片描述

    • 图 2 – 所提出的 ABCNet v2 的框架。我们使用三次贝塞尔曲线和 BezierAlign 来提取贝塞尔曲线检测结果中的多尺度曲线序列特征。我们连接坐标通道以对 FPN 输出特征中的位置坐标进行编码,然后将其发送到 BezierAlign。整个框架是端到端可训练的,效率很高。这里紫色的点代表三次贝塞尔曲线的控制点。

    • 整个结构可以分为6部分:Backbone部分、BiFPN部分、CoordConv部分、BezierAlign对齐部分CRNN部分基于Attention解码部分

Bezier Curve Detection

  • 与基于分割的方法 相比,基于回归的方法更适合任意形状的文本检测,如 [Curved scene text detection via transverse and longitudinal sequence connection]、[Arbitrary Shape Scene Text Detection with Adaptive Text Region Representation] 所示。这些方法的缺点是流程复杂,通常需要复杂的后处理步骤才能获得最终结果。

  • 为了简化任意形状的场景文本实例的检测,我们建议通过回归几个关键点来拟合贝塞尔曲线。贝塞尔曲线表示以伯恩斯坦多项式为基础的参数曲线 c(t)。 定义如公式 (1) 所示:

    • c ( t ) = ∑ t = 0 n b i B i , n ( t ) , 0 ≤ t ≤ 1 c(t)=\sum^n_{t=0}b_iB_{i,n}(t),0\leq t\leq 1 c(t)=t=0nbiBi,n(t),0t1

    • 其中,n表示次数,bi表示第i个控制点,Bi;n(t)表示Bernstein基多项式,如公式(2)所示:

    • B i , n ( t ) = ( n i ) t i ( 1 − t ) n − i , i = 0 , . . . , n B_{i,n}(t)=\binom{n}{i}t^i(1-t)^{n-i},i=0,...,n Bi,n(t)=(in)ti(1t)ni,i=0,...,n

    • 其中 ( n i ) \binom n i (in) 是二项式系数。为了用贝塞尔曲线拟合任意形状的文本,我们检查了现有数据集中的任意形状的场景文本,并通过经验表明三次贝塞尔曲线(即 n = 3)足以拟合不同格式的弯曲场景文本,尤其是在具有单词级注释的数据集上。更高阶的贝塞尔曲线可能在文本行级数据集上效果更好,因为在一个实例中可能会出现多个波。我们在实验部分提供了贝塞尔曲线阶数的比较。图 3 显示了三次贝塞尔曲线的图示。

    • 在这里插入图片描述

    • 图 3 – 三次贝塞尔曲线。bi 表示控制点。 绿线形成控制多边形,黑色曲线为三次贝塞尔曲线。请注意,贝塞尔曲线只有两个端点 b1 和 b4,因此退化为直线。

  • 基于三次贝塞尔曲线,我们可以将任意形状的场景文本检测公式化为类似于边界框回归的回归问题,但总共有八个控制点。请注意,具有四个控制点(四个顶点)的直文本是任意形状场景文本的典型情况。为了保持一致性,我们在每个长边的三分点中插入了另外两个控制点。

  • 为了学习控制点的坐标,我们首先生成 §3.1.1 中描述的贝塞尔曲线标注,并遵循与 [Deep matching prior network: Toward tighter multi-oriented text detection] 类似的回归方法来回归目标。对于每个文本实例,我们使用

    • ∆ x = b i x − x m i n ; ∆ y = b i y − y m i n ; ∆x = bix − xmin; ∆y = biy − ymin; x=bixxmin;y=biyymin;

    • 其中 xmin 和 ymin 分别表示 4 个顶点的最小 x 和 y 值。预测相对距离的优点是它与贝塞尔曲线控制点是否超出图像边界无关。 在检测头内部,我们仅使用一个具有 4(n+1)(n 是贝塞尔曲线阶数)输出通道的卷积层来学习 ∆x 和 ∆y,这几乎是免费的,同时结果仍然可以准确。我们将在§4 中讨论细节。

Bezier Ground-truth Generation
  • 在本节中,我们简要介绍如何基于原始注释生成贝塞尔曲线真实值。任意形状的数据集(例如 Total-text 和 SCUTCTW1500 )对文本区域使用多边形注释。给定曲线边界上的注释点 { p i } i = 1 n \{p_i\}^ n _{i=1} {pi}i=1n,其中 pi 表示第 i 个注释点,主要目标是获得方程 (1) 中三次贝塞尔曲线 c(t) 的最优参数。为此,我们可以简单地应用标准最小二乘拟合,如下所示:
    • 在这里插入图片描述

    • 这里 m 表示曲线边界的注释点数。对于 Total-Text 和 SCUT-CTW1500,m 分别为 5 和 7。t 通过使用折线的累积长度与周长的比率来计算。根据公式 (1) 和公式 (4),我们将原始折线注释转换为参数化的贝塞尔曲线。请注意,我们直接使用第一个和最后一个注释点分别作为第一个 (b0) 和最后一个 (bn) 控制点。图 1 显示了可视化比较,从中可以看出生成的结果在视觉上甚至比原始注释更好。此外,由于结构化输出,可以通过应用我们提出的 BezierAlign(参见 §3.3)轻松地制定文本识别任务,它将弯曲的文本扭曲为水平表示。图 4 显示了更多贝塞尔曲线生成的结果。 我们的方法很简单,可以以统一的表示格式处理各种形状。

    • 在这里插入图片描述

    • 图 4 – 贝塞尔曲线生成示例结果。绿线为最终贝塞尔曲线结果。红色虚线表示控制多边形,4 个红色端点表示控制点。放大后可获得更好的可视化效果。

CoordConv

  • 如 [An intriguing failing of convolutional neural networks and the coordconv solution] 中指出的,传统卷积在学习 (x; y) 笛卡尔空间中的坐标与独热像素空间中的坐标之间的映射时会表现出局限性。通过将坐标连接到特征图可以有效地解决这个问题。最近对相对坐标进行编码的实践 [Solov2] 也表明,相对坐标可以为实例分割提供信息线索。

  • f o u t s f_{outs} fouts 表示 FPN 不同尺度的特征, O i ; x O_{i;x} Oi;x O i ; y O_{i;y} Oi;y 分别表示 FPN 第 i 级的所有位置(即生成过滤器的位置)的绝对 x 和 y 坐标。 所有 O i ; x O_{i;x} Oi;x O i ; y O_{i;y} Oi;y 均由两个特征图 fox 和 foy 组成。 我们只需将 fox 和 foy 沿通道维度连接到 fouts 的最后一个通道即可。因此,形成了具有额外两个通道的新特征 fcoord,随后将其输入到三个卷积层,其中内核大小、步幅和填充大小分别设置为 3、1 和 1。我们发现使用这种简单的坐标卷积可以显著提高场景文本识别的性能

BezierAlign

  • 为了实现端到端训练,之前的大部分方法采用各种采样(特征对齐)方法来连接识别分支。通常,采样方法表示网络内区域裁剪过程。换句话说,给定一个特征图和感兴趣区域(RoI),使用采样方法提取 RoI 的特征并有效地输出固定大小的特征图。然而,之前基于非分割的方法的采样方法,例如 RoI Pooling 、RoIRotate 、Text-Align-Sampling 或 RoI Transform 无法正确对齐任意形状文本的特征。通过利用结构化贝塞尔曲线边界框的参数化特性,我们提出了 BezierAlign 用于特征采样/对齐,它可以看作是 RoIAlign 的灵活扩展。与 RoIAlign 不同,BezierAlign 的采样网格的形状不是矩形。相反,任意形状的网格的每一列都与文本的贝塞尔曲线边界正交,采样点在宽度和高度上等距间隔,并相对于坐标进行双线性插值。

  • 正式地,给定一个输入特征图和贝塞尔曲线控制点,我们处理大小为 hout × wout 的矩形输出特征图的所有输出像素。以位置为 (giw; gih) 的输出特征图中的像素 gi 为例,我们按如下方式计算 t:

    • t = g i w w o u t t=\frac{g_{iw}}{w_{out}} t=woutgiw

    • 然后根据公式(1)计算出上贝塞尔曲线边界点tp和下贝塞尔曲线边界点bp,利用 tp 和 bp,我们可以通过公式(6)线性索引采样点 op:

    • o p = b p ⋅ g i h h o u t + t p ⋅ ( 1 − g i h h o u t ) op=bp·\frac{g_{ih}}{h_{out}}+tp·(1-\frac{g_{ih}}{h_{out}}) op=bphoutgih+tp(1houtgih)

    • 有了 op 的位置,我们可以轻松地应用双线性插值来计算结果。由于特征的精确采样,文本识别的性能得到了显着提高。我们将 BezierAlign 与其他采样策略进行了比较,如图 5 所示。

    • 在这里插入图片描述

    • 图 5 – 以前的采样方法与 BezierAlign 的比较。提出的 BezierAlign 可以更准确地对文本区域的特征进行采样,这对于实现良好的识别精度至关重要。请注意,对齐过程应用于中间卷积特征。

Attention-based Recognition Branch

  • 得益于共享主干特征和 BezierAlign,我们设计了一个轻量级识别分支(如表 1 所示),以便更快地执行。它由 6 个卷积层、1 个双向 LSTM 层和一个基于注意的识别模块组成。在会议版本 [abcnet] 中,我们将 CTC 损失 应用于预测和真实值之间的文本字符串对齐,但我们发现基于注意的识别模块 更强大,可以带来更好的结果。在推理阶段,RoI 区域被检测到的贝塞尔曲线替换,如 §3.1 所示。请注意,在 [abcnet] 中,我们仅在训练期间使用生成的贝塞尔曲线来提取 RoI 特征。在本文中,我们还利用了检测结果(参见 §3.5)。

    • 在这里插入图片描述

    • 表 1 – 识别分支的结构,它是 CRNN 的简化版本。对于所有卷积层,填充大小限制为 1。n 表示批量大小。c 表示通道大小。h 和 w 表示输出特征图的高度和宽度,nclass 表示预测类别的数量。

  • 注意机制采用零 RNN 初始状态和初始符号的嵌入特征进行顺序预测。在每个步骤中,c 类别 softmax 预测(代表预测字符)、先前隐藏状态和裁剪贝塞尔曲线特征的加权和被递归地用于计算结果。预测持续到预测出序列结束 (EOS) 符号。对于英语,类别数量设置为 96(不包括 EOS 符号),而对于包括中文和英文的双语任务,类别数量设置为 5462。正式地,在时间步骤 t,注意权重通过以下方式计算:

    • e t ; s = K T t a n h ( W h t − 1 + U h s + b ) ; ( 7 ) e_{t;s} = K^T tanh(W h_{t−1} + Uh_s + b); (7) et;s=KTtanh(Wht1+Uhs+b);(7)

    • 其中, h t − 1 h_{t−1} ht1 是最后一个隐藏状态,K、W、U 和 b 是可学习的权重矩阵和参数。顺序特征向量的加权和公式如下:

    • c t = ∑ s = 1 n a t , s h s c_t=\sum^n_{s=1}a_{t,s}h_s ct=s=1nat,shs

    • 其中 at;s 定义为:

    • a t ; s = e x p ( e t ; s ) ∑ s = 1 n e x p ( e t ; s ) : ( 9 ) a_{t;s} =\frac {exp(e_{t;s})} {\sum^n _{s=1} exp(e_{t;s})} : (9) at;s=s=1nexp(et;s)exp(et;s):(9)

    • 然后,可以更新隐藏状态,如下所示:

    • h t = G R U ( ( e m b e d t − 1 ; c t ) ; h t − 1 ) : ( 10 ) ht = GRU((embed_{t−1}; c_t); h_{t−1}): (10) ht=GRU((embedt1;ct);ht1):(10)

    • 这里 embedt−1 是上一个解码结果 yt 的嵌入向量,由分类器生成:

    • y t = w h t + b y_t=wh_t+b yt=wht+b

  • 因此,我们使用softmax函数来估计概率分布p(ut)。

    • u t = s o f t m a x ( V T h t ) u_{t}=softmax(V^Th_t) ut=softmax(VTht)

    • 其中 V 表示要学习的参数。为了稳定训练,我们还使用教师强制策略 ,该策略在预定义概率设置为 0.5 的情况下,为下一个预测提供真实字符而不是 GRU 的预测。

Adaptive End-to-End Training

  • 在我们发布的会议版本 [abcnet] 中,我们仅在训练阶段将真实值用于 BezierAlign 的文本识别分支。而在测试阶段,我们使用检测结果进行特征裁剪。根据观察,当检测结果不如真实值 Bezier 曲线边界框准确时,可能会出现一些错误。为了缓解此类问题,我们提出了一种简单而有效的策略,称为自适应端到端训练 (AET)。

  • 形式化地讲,首先对检测结果进行置信度阈值抑制,然后使用NMS剔除冗余的检测结果,再根据控制点坐标距离总和的最小值,为每个检测结果赋予对应的识别依据:

    • r e c = a r g min ⁡ r e c ∗ ∈ c p ∗ ∑ i = 1 n ∣ c p x i , y i ∗ − c p x i , y i ∣ rec=arg\min_{rec*\in cp*}\sum^n_{i=1}|cp^*_{xi,yi}-cp_{xi,yi}| rec=argreccpmini=1ncpxi,yicpxi,yi

    • 其中 cp∗ 是控制点的真值。n 是控制点的数量。将识别注释分配给检测结果后,我们只需将新目标连接到原始真值集即可进行进一步的识别训练。

Text Spotting Quantization

  • 场景文本读取应用通常需要实时性能;然而,很少有研究尝试使用量化来完成场景文本识别任务。模型量化旨在将全精度张量离散化为低位张量,而不会对网络性能造成太大影响。可用的表示级别(量化级别)数量有限。假设量化位宽为 b 位,则量化级别数为 2 b 2 ^b 2b 。很容易看出,随着量化位宽变低,深度学习模型的性能可能会大幅下降。为了保持准确性,离散化误差应最小化:

    • Q ∗ ( x ) = a r g min ⁡ Q ∑ ( Q ( x ) − x ) 2 ; Q ∗ (x) = arg \min_Q \sum(Q(x) − x) ^2 ; Q(x)=argQmin(Q(x)x)2;

    • 其中 Q(x) 是量化函数。受 LSQ 启发,我们在本文中采用以下方程作为激活量化器。具体而言,对于来自激活张量 Xa 的任何数据 x a x^a xa ,其量化值 $Q(x ^a ) $通过一系列变换计算得出。

  • 首先,如 PACT 所述,并非所有全精度数据都应线性映射到量化值。发现一些异常大值是很常见的,但在全精度张量中很少出现。我们进一步在图 6 中可视化了 ABCNet v2 中某些层的数据分布,并观察到了类似的现象。因此,分配了一个可学习参数 α a α^a αa 来动态描述离散化范围,超出范围的数据被剪裁到边界

    • y a = m i n ( m a x ( x a ; 0 ) ; α a ) ; ( 15 ) y^a = min(max(x^a ; 0); α^a ); (15) ya=min(max(xa;0);αa);(15)
  • 其次,将截断范围内的数据(即所谓的量化间隔)线性映射到附近的整数,如公式(16)所示:

    • z a = ⌊ y a α a ⋅ ( l − 1 ) ⌉ ; ( 16 ) z ^a = \lfloor \frac {y ^a} {α^a} · (l − 1)\rceil; (16) za=αaya(l1)⌉;(16)

    • 其中 l = 2 b l = 2^b l=2b 是上面提到的量化级别数, ⌊ ⋅ ⌉ \lfloor·\rceil 是最接近舍入函数。第三,为了保持量化前后数据幅度相似,我们对 z a z ^a za 应用相应的比例因子,通过以下公式获得 Q(x a ):

    • Q ( x a ) = z a ⋅ α a l − 1 ; ( 17 ) Q(x ^a ) = z ^a ·\frac {α ^a} {l − 1} ; (17) Q(xa)=zal1αa;(17)

  • 总之,激活的量化可以写成:

    • 在这里插入图片描述

    • 与激活不同,权重参数通常包含正值和负值,因此在离散化之前引入额外的线性变换,如下所示:

    • 在这里插入图片描述

    • 模型量化的一个问题是轮函数 ⌊ ⋅ ⌉ \lfloor·\rceil 导致的梯度消失。这是因为轮函数几乎处处都有零梯度。采用直通估计器 (STE) 来解决这个问题。具体来说,我们不断覆盖轮函数的导数为 1 ( θ ⌊ ⋅ ⌉ = 1 ) 1(\theta\lfloor·\rceil=1) 1(θ=1) 。我们使用小批量梯度下降优化器来训练每一层中的量化相关参数 α a α ^a αa α w α ^w αw 以及来自网络的原始参数。

    • 在这里插入图片描述

    • 图 6 – ABCNet v2 中的数据分布,图中标记了最大值。我们可以看到异常大值的出现频率较低。

  • 需要注意的是,对于每个卷积层,其量化引入的参数 α a α ^a αa α w α ^w αw 分别由输入激活张量 Xa 和权重张量 Xw 中的所有元素共享。因此,可以在网络前向传播期间交换计算顺序,如公式 20 所示,以提高效率。通过交换,耗时的卷积计算仅以整数格式运行(所有元素 z a ∈ Z a z ^a \in Z^ a zaZa z w ∈ Z w z ^w \in Z^ w zwZw 都是 b 位整数)。因此,与相应的浮点对应项相比,可以在延迟、内存占用和能耗方面获得优势。

    • Q ( X a ) ⋅ Q ( X w ) = ( Z a ⋅ ( 2 ⋅ Z w − ( l − 1 ) ) ) ⋅ ( α a ⋅ α w ( l − 1 ) 2 ) Q(X^a)·Q(X^w)=(Z^a·(2·Z^w-(l-1)))·(\frac{\alpha^a·\alpha^w}{(l-1)^2}) Q(Xa)Q(Xw)=(Za(2Zw(l1)))((l1)2αaαw)

    • 理论上,对于 b 位量化网络,输入激活和权重可节省 32 b \frac{32} b b32 × 内存。对于能耗,我们在表 2 中列出了芯片上不同类型的每个操作的估计能耗成本。我们可以看出,浮点 ADD 和 MULT 的能耗成本远高于定点运算。此外,与 ALU 操作相比,DRAM 访问所需的能耗要高出一个数量级。因此,很明显,与全精度模型相比,量化模型有潜力节省大量能耗

    • 在这里插入图片描述

    • 表 2 – 45nm CMOS 工艺中不同操作的能量消耗。

  • 在推理延迟方面,量化模型相对于全精度模型的实际加速比取决于平台上定点算法与浮点算法的计算能力。表 3 显示了 Nvidia Turing 架构上每个 SM 的每个周期的运算次数。从表 3 中我们可以了解到,8 位网络有可能比平台上的全精度模型实现 2 倍的加速。更令人印象深刻的是,4 位网络和二进制神经网络(1 位)的运行速度分别比全精度模型快 4 倍和 16 倍。

    • 在这里插入图片描述

    • 表 3 – Nvidia Turing 架构的计算能力(每个 SM 每周期的操作数)比较。

EXPERIMENTS

  • 为了评估 ABCNet v2 的有效性,我们在各种场景文本基准上进行了实验,包括多方向场景文本基准 ICDAR’15 、MSRA-TD500 、ReCTS 以及两个任意形状的基准 Total-Text 和 SCUT-CTW1500 。在 Total-Text 和 SCUT-CTW1500 上进行了消融研究,以验证我们提出的方法的每个组件。

Implementation Details

  • 除非另有说明,本文的研究主干遵循与大多数先前研究相同的设置,即 ResNet-50 和特征金字塔网络 (FPN) 。对于检测分支,我们在输入图像的 1/8、1/16、1/32、1/64 和 1/128 分辨率的 5 个特征图上应用 RoIAlign,而对于识别分支,我们在三个特征图上进行 BezierAlign,大小分别为 1/4、1/8 和 1/16,采样网格的宽度和高度分别设置为 8 和 32。对于仅限英语的数据集,预训练数据是从公开的基于英语单词级别的数据集中收集的,包括下一节中描述的 150K 合成数据、7K ICDARMLT 数据 以及每个数据集的相应训练数据。然后在目标数据集的训练集上对预训练模型进行微调。请注意,我们之前的手稿 [abcnet] 中的 15k COCO-Text 图像未在此改进版本中使用。对于 ReCTS 数据集,我们采用 LSVT 、ArT 、ReCTS 和合成预训练数据来训练模型。

  • 此外,我们还采用了数据增强策略,例如随机尺度训练,短尺寸从 640 到 896(间隔 32)唯一选择,长尺寸小于 1600;随机裁剪,我们确保裁剪图像不会剪切文本实例(对于一些难以满足条件的特殊情况,我们不应用随机裁剪)。

  • 我们使用 4 个 Tesla V100 GPU 训练模型,图像批次大小为 8。最大迭代次数为 260K;初始化学习率为 0.01,在第 160K 次迭代时降低为 0.001,在第 220K 次迭代时降低为 0.0001。

Benchmarks

  • 贝塞尔曲线合成数据集 150k。对于端到端场景文本识别方法,始终需要大量免费的合成数据。然而,现有的 800k SynText 数据集 仅为大多数直文本提供了四边形边界框。为了多样化和丰富任意形状的场景文本,我们努力使用 VGG 合成方法 合成 150K 幅图像的数据集(94,723 幅图像包含大多数直文本,54,327 幅图像主要包含弯曲文本)。

  • 具体来说,我们从 COCO-Text 中筛选出 40K 张无文本的背景图像,然后为接下来的文本渲染准备每张背景图像的分割蒙版和场景深度。为了扩大合成文本的形状多样性,我们修改了 VGG 合成方法,合成具有各种艺术字体和语料库的场景文本,并为所有文本实例生成多边形注释。然后,注释用于通过§3.1.1 中描述的生成方法生成贝塞尔曲线基本事实。我们合成的数据示例如图 8 所示。对于中文预训练,我们按照与上述相同的方法合成了 100K 张图像,一些示例如图 9 所示。

    • 在这里插入图片描述

    • 图 8 – 英文贝塞尔曲线合成数据的示例。

    • 在这里插入图片描述

    • 图 9 – 中文贝塞尔曲线合成数据示例。

  • Total-Text 数据集 是 2017 年提出的最重要的任意形状场景文本基准之一,该数据集收集自各种场景,包括文本类场景复杂度和低对比度背景。它包含 1,555 张图像,其中 1,255 张用于训练,300 张用于测试。 为了模拟真实场景,该数据集的大多数图像包含大量常规文本,同时保证每张图像至少有一个弯曲文本。文本实例基于 wordlevel 使用多边形进行注释。其扩展版本 通过按照文本识别序列为每个文本实例标注固定的十个点,改进了对训练集的标注。数据集仅包含英文文本。为了评估端到端结果,我们遵循与以前方法相同的指标,即使用 F 度量来衡量单词准确率。

  • SCUT-CTW1500 数据集 是 2017 年提出的另一个重要的任意形状场景文本基准。与 Total-Text 相比,该数据集同时包含英文和中文文本。此外,标注是基于文本行级别的,还包含一些文档类文本,即许多小文本可能堆叠在一起。SCUT-CTW1500 包含 1k 张训练图像和 500 张测试图像。

  • ICDAR 2015 数据集 提供在现实世界中偶然捕获的图像。与之前的 ICDAR 数据集不同,其中的文本干净、捕捉良好且在图像中水平居中。该数据集包括 1000 张训练图像和 500 张背景复杂的测试图像。一些文本也可能出现在任何方向和任何位置,尺寸较小或分辨率较低。注释基于单词级别,仅包含英文样本

  • MSRA-TD500 数据集 包含 500 张多方向的中文和英文图像,其中 300 张用于训练,200 张用于测试。大多数图像是在室内拍摄的。为了弥补训练数据的不足,我们使用上面提到的合成中文数据进行模型预训练。

  • ICDAR’19-ReCTs 数据集 包含 25k 张带注释的招牌图像,其中 20k 张图像用于训练集,其余图像用于测试集。与英文文本相比,中文文本通常具有非常多的类别,有超过 6k 个常用字符,布局复杂且字体多样。该数据集主要包含店铺招牌的文本,并且还为每个字符提供了注释。

  • ICDAR’19-ArT 数据集 是目前最大的任意形状场景文本数据集。它是 Total-text 和 SCUT-CTW1500 的组合和扩展。 新图像还包含每幅图像至少一个任意形状的文本。文本方向的多样性很高。ArT 数据集分为一个包含 5,603 张图像的训练集和 4,563 张用于测试集的图像。所有英文和中文文本实例都用紧密的多边形注释。

  • ICDAR’19-LSVT 数据集 提供了数量空前的街景文本。它总共提供了 45 万张包含丰富真实场景信息的图像,其中 5 万张带有完整注释(3 万张用于训练,其余 2 万张用于测试)。与 ArT 类似,该数据集还包含一些弯曲文本,这些文本用多边形注释

Ablation Study

  • 为了评估所提组件的有效性,我们对两个数据集 Total-Text 和 SCUT-CTW1500 进行了消融研究。我们发现由于初始化不同,存在一些训练误差。此外,文本识别任务要求正确识别所有字符。为了避免此类问题,我们对每种方法进行了三次训练并报告了平均结果。结果如表 5 所示,表明所有模块都可以在两个数据集上比基线模型产生明显的改进。

    • 在这里插入图片描述

    • 表 5 – Total-Text 和 SCUT-CTW1500 数据集上的消融研究。注意:注意力识别模型。4O:使用 4 阶贝塞尔曲线。

  • 我们可以看到,使用基于注意机制的识别模块,在Total-Text上的结果可以提高2.7%,在SCUT-CTW1500上的结果可以提高7.9%。然后,我们使用基于注意力的识别分支评估所有其他模块。一些结论如下:

    • 使用 biFPN 架构,结果可以额外提升 1.9% 和 1.6%,而推理速度仅降低 1 FPS。因此,我们在速度和准确率之间实现了更好的平衡。

    • 使用§3.2中提到的坐标卷积,在两个数据集上,结果可以分别显著提高2.8%和2.9%。值得注意的是,这种改进不会带来明显的计算开销。

    • 我们还测试了第 3.5 节中提到的 AET 策略,结果分别提高了 1.2% 和 1.7%。

    • 最后,我们进行实验来展示贝塞尔曲线阶数的设置如何影响结果。具体来说,我们使用 4 阶贝塞尔曲线为相同的合成图像和真实图像重新生成所有基本事实。然后我们通过回归控制点并使用 4 阶 BezierAlign 来训练 ABCNet v2。其他部分保持与 3 阶设置相同。表 5 所示的结果表明,增加阶数有利于文本识别结果,尤其是在采用文本行注释的 SCUT-CTW1500 上。我们进一步使用 5 阶贝塞尔曲线在 Totaltext 数据集上按照相同的实验设置进行实验;然而,与基线相比,我们发现 E2E Hmean 的性能从 66.2% 下降到 65.5%。根据观察,我们假设下降可能是因为极高的阶数可能导致控制点的剧烈变化,从而加剧回归的难度。图 10 显示了一些使用 4 阶贝塞尔曲线的结果。我们可以看到检测边界框可以更紧凑,从而可以更准确地裁剪文本特征以供后续识别。

    • 在这里插入图片描述

    • 图 10 – 三次贝塞尔曲线(左)与四阶贝塞尔曲线(右)的比较。它们之间存在一些细微的差异。

  • 我们通过将 BezierAlign 与以前的采样方法进行比较来进一步评估它,如图 5 所示。为了公平快速地进行比较,我们使用了较小的训练和测试规模。 表 4 所示的结果表明,BezierAlign 可以显著改善端到端结果。 定性示例如图 11 所示。进行了另一项消融研究以评估 Bezier 曲线检测的时间消耗,我们观察到与标准边界框检测相比,Bezier 曲线检测仅引入了可忽略不计的计算开销。

    • 在这里插入图片描述

    • 表 4 – BezierAlign 的消融研究。水平采样遵循 [Towards end-to-end text spotting with convolutional recurrent neural networks],四边形采样遵循 [An endto-end textspotter with explicit alignment and attention]。

    • 在这里插入图片描述

    • 图 11 – 四边形采样方法和 BezierAlign 的定性识别结果。左:原始图像。右上:使用四边形采样的结果。右下:使用 BezierAlign 的结果。

Comparison with State-of-the-art

  • 我们将我们的方法与以前的方法在检测和端到端文本识别任务上进行了比较。使用网格搜索确定包括推理阈值和测试规模在内的最佳设置。对于检测任务,我们在四个数据集上进行了实验,包括两个任意形状的数据集(Total-Text 和 SCUT-CTW1500)、两个多方向数据集(MSRA-TD500 和 ICDAR 2015)和一个双语数据集 ReCTS。表 6 中的结果表明,我们的方法可以在所有四个数据集上实现最先进的性能,超越以前最先进的方法。

    • 在这里插入图片描述

    • 表 6 – Total-text、SCUT-CTW1500、MSRA-TD500 和 ICDAR 2015 数据集上的检测结果。

  • 对于端到端场景文本识别任务,ABCNet v2 在 SCUT-CTW1500 和 ICDAR 2015 数据集上取得了最佳性能,显著优于以前的方法。结果如表 7 所示。虽然我们的方法在 ReCTS 数据集上的 1-NED 方面比 Mask TextSpotter 差,但我们认为我们没有使用提供的字符级边界框,我们的方法在推理速度方面显示出明显的优势。另一方面,根据表 6,ABCNet v2 仍然可以比 Mask TextSpotter 实现更好的检测性能。

    • 在这里插入图片描述

    • 表 7 – Total-Text 和 SCUT-CTW1500 上的端到端文本识别结果。* 表示结果来自 [TextDragon]。“None”表示无词典。“Strong Full”表示我们使用测试集中出现的所有单词。“S”、“W”和“G”分别表示使用“强”、“弱”和“通用”词典进行识别。FPS 仅供参考,因为它可能因不同的设置和设备而异。这里 * 表示多尺度结果。

  • 测试集的定性结果如图 7 所示。从图中我们可以看到,ABCNet v2 对各种文本(包括水平、多方向和弯曲的文本,或长而密集的文本呈现样式)都实现了强大的回忆能力。

    • 在这里插入图片描述

    • 图 7 – ABCNet v2 在各种数据集上的定性结果。检测结果以蓝色边界框显示。 还显示了预测置信度分数。在屏幕上观看效果最佳。

Comprehensive Comparison with Mask TextSpotter v3

  • 使用少量数据进行比较。我们发现,仅使用少量训练数据,所提出的方法就可以实现令人满意的识别结果。为了验证有效性,我们使用 Mask TextSpotter v3 的官方代码,并按照相同设置进行实验,仅使用 TotalText 的官方训练数据训练模型。 具体来说,我们方法的优化器和学习率(0.002)设置为与 Mask TextSpotter v3 相同。批量大小设置为 4,两种方法都经过 230K 次迭代训练。为了确保两种方法的最佳设置,Mask TextSpotter v3 的最小尺寸为 800、1000、1200 和 1400,最大尺寸为 2333。 测试以最小尺寸 1000 和最大尺寸 4000 进行。我们的方法以最小尺寸从 640 到 896 进行训练,间隔为 32,最大尺寸设置为 1600。为了稳定训练,AET 策略不用于小样本训练。测试以最小尺寸 1000 和最大尺寸 1824 进行。我们还进行网格搜索以找到 Mask TextSpotter v3 的最佳阈值。不同迭代次数的结果如图12所示,我们可以看到,虽然Mask TextSpotter v3在一开始收敛得更快,但我们的方法最终的结果更佳(56.41% vs. 53.82%)。

    • 在这里插入图片描述

    • 图 12 – 仅使用 TotalText 训练集与 Mask TextSpotter v3 进行比较。MTSv3:Mask TextSpotter v3

  • 使用大规模数据进行比较。我们还使用了足够的训练数据,以便与 Mask TextSpotter v3 进行更彻底的比较。正式地,我们使用与我们的方法完全相同的贝塞尔曲线合成数据集 (150k)、MLT (7k) 和 TotalText 仔细训练 Mask TextSpotter v3。训练规模、批次大小、迭代次数等均设置为与第 4.1 节中提到的相同。还使用网格搜索为 Mask TextSpotter v3 找到最佳阈值。结果如表 8 所示,从中我们可以看出 Mask TextSpotter v3 在 F 度量方面比 ABCNet v1 高出 0.9,而 ABCNet v2 可以胜过 Mask TextSpotter v3(65.1% vs. 70.4%)。在相同的测试规模(最大尺寸设置为1824)和设备(RTX A40)下测量了推理时间,进一步证明了我们方法的有效性。

    • 在这里插入图片描述

    • 表 8 – 使用大规模训练集与 Mask TextSpotter v3 的比较。MTSv3:Mask TextSpotter v3 。

Limitations

  • 我们进一步对错误预测的样本进行错误分析。我们观察到两种常见的错误可能会限制 ABCNet v2 的场景文本识别性能。

  • 第一种情况如图 13 所示。文本实例包含两个字符。对于每个字符,阅读顺序是从左到右。但对于整个实例,阅读顺序是从上到下。由于贝塞尔曲线是在文本实例的较长边上插值的,因此 BezierAlign 特征与其原始特征相比将是一个旋转的特征,这可能导致完全不同的含义。另一方面,这种情况只占整个训练集的少数,很容易被错误地识别或预测为看不见的类别,如第二个字符的“ ”所示。

    • 在这里插入图片描述

    • Fig. 13 – Error analysis of ABCNet v2.

  • 第二个错误发生在不同的字体中,如图 13 中间所示。前两个字符是用不常见的书法字体书写的,很难识别。 一般来说,只有使用更多的训练图像才能缓解这一挑战。我们还发现 CTW1500 测试集中存在一种极其弯曲的情况,即同一文本实例中存在三个以上的波峰,如图 13 第三行所示。在这种情况下,三次贝塞尔曲线等低阶曲线可能会受到限制,因为由于形状表示不准确,字符“i”被错误地识别为大写字母“I”。但是,这种情况很少见,尤其是对于那些使用单词级边界框的数据集。

Inference Speed

  • 为了进一步测试所提方法的潜在实时性能,我们利用量化技术显著提高推理速度。基线模型采用与表 5 中所示的基于注意机制的识别分支的基线相同的设置。主干被 ResNet-18 取代,这显著提高了速度,而准确率仅略有降低。

  • 表 9 报告了具有各种量化位配置(4/1 位)的量化网络的性能。还列出了全精度性能以供比较。为了训练量化网络,我们首先在合成数据集上预训练低位模型。然后,我们在专用数据集 TotalText 和 CTW1500 上对网络进行微调以获得更好的性能。

    • 在这里插入图片描述

    • 表 9 – ABCNet v2(ResNet-18 作为主干)的量化结果。“A/W”分别表示激活和权重的位宽配置。† 表示该案例采用渐进式训练策略进行训练。FPS 基于单个 Nvidia 2080TI GPU 上的分析数据。

  • 报告了预训练模型和微调模型的准确率结果。在预训练过程中,训练了 260K 次迭代,批量大小为 8。初始学习率设为 0.01,在 160K 和 220K 次迭代时除以 10。对于 TotalText 数据集的微调,批量大小保持为 8,初始学习率设为 0.001。仅微调了 5K 次迭代。在 CTW1500 数据集上微调时,批量大小和初始学习率相同。但总迭代次数设为 120k,在迭代 80k 时将学习率除以 10。与之前的量化工作类似,我们量化了网络中除输入层和输出层之外的所有卷积层。如无特别说明,网络均使用全精度对应层初始化。

  • 从表 9 中我们可以看出,采用我们量化方法的 4 位模型能够获得与全精度模型相当的性能。例如,在合成数据集上预训练的 4 位模型的端到端 hmean 甚至比全精度模型更好(57.6% vs. 58.9%)。经过微调后,TotalText 和 CTW1500 上的 4 位模型的端到端 hmean 仅比全精度模型低 0.7%(67.2% vs. 66.5%)和 0.8%(53.0% vs. 52.2%)。

  • 4 位模型的性能几乎没有下降(在图像分类和异议检测任务中也观察到了同样的结果 ),这表明全精度场景文本识别模型存在相当大的冗余。

  • 然而,二值网络的性能下降幅度较大,端到端 hmean 仅为 44.3%。为了弥补这一缺陷,我们建议采用渐进式训练来训练 BNN(二值神经网络)模型,其中量化位宽逐渐减小(例如,4 位→2 位→1 位)。使用新的训练策略(表中带有 † 的策略),二值网络的性能得到显著提升。例如,BNN 模型在合成数据集上训练的端到端 hmean 仅比全精度模型低 1.8%(57.6% vs. 55.8%)。

  • 除了性能评估之外,我们还将量化模型与全精度模型的整体速度进行了比较。实际上,只有量化卷积层会与其他层(例如 LSTM)一起加速,同时保持全精度。从表 9 可以看出,在性能下降有限的条件下,ABCNet v2 的二元网络能够实时运行 TotalText 和 CTW1500 数据集。

CONCLUSION

  • 我们提出了 ABCNet v2——一种使用贝塞尔曲线进行任意形状场景文本识别的实时端到端方法。通过使用参数化的贝塞尔曲线重新表述任意形状的场景文本,ABCNet v2 可以使用贝塞尔曲线检测任意形状的场景文本。与标准边界框检测相比,我们的方法引入的计算成本可以忽略不计。借助这种贝塞尔曲线边界框,我们可以通过新的 BezierAlign 层自然地连接轻量级识别分支,这对于准确的特征提取至关重要,尤其是对于弯曲的文本实例。
  • 在各种数据集上进行的综合实验证明了所提出的组件的有效性,包括使用注意力识别模块、biFPN 结构、坐标卷积和新的自适应端到端训练策略。最后,我们建议应用量化技术将我们的模型部署到实时任务中,显示出广泛应用的巨大潜力。还有一点,对于长文本的文本提取效果较差
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

羞儿

写作是兴趣,打赏看心情

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

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

打赏作者

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

抵扣说明:

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

余额充值