【读点论文】ABCNet: Real-time Scene Text Spotting with Adaptive Bezier-Curve...通过线性插值的扩展版用8个点去拟合不规则文本框

ABCNet: Real-time Scene Text Spotting with Adaptive Bezier-Curve Network∗

Abstract

  • 场景文本检测与识别受到越来越多的研究关注。现有的方法大致可分为两类:基于字符的和基于分割的。这些方法要么字符标注成本高昂,要么需要维护复杂的管道,这通常不适合实时应用。在这里,我们通过提出自适应贝塞尔曲线网络(ABCNet)来解决这个问题。我们的贡献有三方面:1)我们首次通过参数化的贝塞尔曲线自适应地拟合任意形状的文本。2)我们设计了一种新颖的 BezierAlign 层,用于提取具有任意形状的文本实例的精确卷积特征,与以前的方法相比,精度显着提高。3)与标准边界框检测相比,我们的贝塞尔曲线检测引入的计算开销可以忽略不计,从而使我们的方法在效率和准确性方面都更具优势。
  • 在任意形状的基准数据集 Total-Text 和 CTW1500 上进行的实验表明,ABCNet 实现了最先进的准确率,同时显著提高了速度。特别是在 Total-Text 上,我们的实时版本比最近的最先进方法快 10 倍以上,并且具有竞争力的识别准确率。代码可以在 AdelaiDet 包中找到。GitHub - aim-uofa/AdelaiDet: AdelaiDet is an open source toolbox for multiple instance-level detection and recognition tasks.
  • 论文地址:[2002.10200] ABCNet: Real-time Scene Text Spotting with Adaptive Bezier-Curve Network (arxiv.org)
  • ABCNet(Adaptive Bezier Curve Network)是一个端到端的可训练框架,用于识别任意形状的场景文本。直观的pipeline如图所示。采用了单点无锚卷积神经网络作为检测框架。移除锚定箱可以简化我们任务的检测。该算法在检测头输出特征图上进行密集预测,检测头由4个步长为1、填充为1、3×3核的叠层卷积层构成。
  • ABCNet的最大亮点在于使用了贝塞尔曲线来构成文本框,而不是使用矩形文本框,这样一来模型可以预测任意形状的文本,而且并不会增加太多的参数。

Introduction

  • 场景文本检测和识别因其在计算机视觉中的众多应用而受到越来越多的关注。尽管最近取得了巨大进展,但由于文本在大小、长宽比、字体样式、透视失真和形状方面的多样性,在野外检测和识别文本仍未得到很大解决。虽然深度学习的出现大大提高了场景文本识别任务的性能,但目前的方法与现实世界的应用相比仍然存在相当大的差距,特别是在效率方面

  • 最近,许多端到端方法 显著提高了任意形状场景文本识别的性能。然而,这些方法要么使用基于分割的方法,维护复杂的流程,要么需要大量昂贵的字符级注释。此外,几乎所有这些方法的推理速度都很慢,阻碍了实时应用的部署。因此,我们的动机是设计一个简单而有效的端到端框架,用于识别图像中的定向或弯曲场景文本 ,确保快速推理时间,同时实现与最先进方法相当甚至更好的性能。

  • 为了实现这一目标,我们提出了自适应贝塞尔曲线网络 (ABCNet),这是一个端到端可训练框架,用于任意形状的场景文本识别。ABCNet 通过简单而有效的贝塞尔曲线自适应实现任意形状的场景文本检测,与标准矩形边界框检测相比,其计算开销可以忽略不计。此外,我们设计了一个新颖的特征对齐层 BezierAlign,以精确计算曲线形状的文本实例的卷积特征,从而以几乎可以忽略不计的计算开销实现高识别精度。我们首次用参数化的贝塞尔曲线表示有向或弯曲的文本,结果证明了我们方法的有效性。我们的识别结果示例如图 1 所示。

    • 在这里插入图片描述

    • 图 1. 基于分割的结果很容易受到附近文本的影响。非参数非结构化的分割结果使得它们很难为后续的识别分支对齐特征。基于分割的结果通常需要复杂的后处理,从而影响效率。得益于参数化的贝塞尔曲线表示,我们的 ABCNet 可以产生结构化的检测区域,因此 BezierAlign 采样过程可用于自然连接识别分支。

  • 请注意,之前的方法(例如 TextAlign 和 FOTS )可以看作是 ABCNet 的特例,因为四边形边界框可以看作是具有 4 条直线边界的最简单的任意形状边界框。此外,ABCNet 可以避免复杂的变换(例如 2D 注意力 ),从而使识别分支的设计变得相当简单。我们总结我们的主要贡献如下。

    • 为了准确定位图像中的定向和弯曲场景文本,我们首次引入了一种使用贝塞尔曲线的弯曲场景文本的全新简洁参数化表示。与标准边界框表示相比,它引入的计算开销可以忽略不计。
    • 我们提出了一种采样方法,即 BezierAlign,用于精确的特征对齐,因此识别分支可以自然地连接到整体结构。通过共享骨干特征,识别分支可以设计为轻量级结构
    • 我们的方法非常简单,因此可以实时进行推理。ABCNet 在两个具有挑战性的数据集 Total-Text 和 CTW1500 上实现了最先进的性能,在有效性和效率方面都表现出色。

Related Work

  • 场景文本识别需要同时检测和识别文本,而不是只涉及一项任务。 最近,基于深度学习的方法的出现大大提高了文本识别的性能。检测和识别的性能都得到了显着提高。我们将几种具有代表性的基于深度学习的场景文本识别方法总结为以下两类。图2显示了典型作品的概述。

    • 在这里插入图片描述

    • 图 2. 与我们最相关的一些端到端场景文本识别方法的概述。在 GT(ground-truth)框内,“W”、“R”和“C”分别代表单词级注释、文本内容和字符级注释。“H”、“Q”和“P”分别表示该方法能够检测水平、四边形和任意形状的文本。“RP”表示该方法可以识别四边形框内的弯曲文本。“R”:识别;“BBox”:边界框。虚线框表示该方法无法检测到的文本形状。

  • 常规端到端场景文本识别 Li 等 提出了第一种基于深度学习的端到端可训练场景文本识别方法。该方法通过两阶段框架成功利用 RoI Pooling 将检测和识别特征结合起来,但只能识别水平和聚焦的文本。其改进版本 [Towards end-to-end text spotting in natural scenes] 显著提高了性能,但速度有限。何等 和刘等 采用无锚机制来提高训练和推理速度。它们分别使用类似的采样策略,即 Text-Align-Sampling 和 RoI-Rotate,以便从四边形检测结果中提取特征。请注意,这两种方法都无法识别任意形状的场景文本

  • 任意形状端到端场景文本识别为了检测任意形状的场景文本,提出了一种 Mask TextSpotter,它巧妙地改进了 Mask R-CNN,并使用字符级监督同时检测和识别字符和实例掩码。该方法显著提高了识别任意形状场景文本的性能。然而,字符级基本事实成本高昂,并且在实践中使用免费的合成数据很难为真实数据产生字符级基本事实。它的改进版本 [Mask textspotterv2] 大大减轻了对字符级 GT 的依赖。该方法依赖于区域提议网络,这在一定程度上限制了速度。提出了 TextNet,它预先生成四边形检测边界框,然后使用区域提议网络将检测特征输入到识别中。虽然该方法可以直接从四边形检测中识别任意形状的文本,但性能仍然有限。

  • 最近, 提出使用 RoI Masking 来聚焦任意形状的文本区域,但结果容易受到异常像素的影响。另外,分割分支增加了计算负担,拟合多边形的过程也带来了额外的时间消耗,并且分组结果通常参差不齐、不平滑。[Convolutional Character Networks] 中的工作是第一个一阶段任意形状场景文本识别方法,需要字符级真实数据进行训练。[TextDragon] 的作者提出了一种新颖的采样方法 RoISlide,该方法使用来自文本实例的预测段的融合特征,因此对较长的任意形状文本具有很强的鲁棒性。

Adaptive Bezier Curve Network (ABCNet)

  • ABCNet 是一个端到端可训练框架,用于识别任意形状的场景文本。图 3 中可以看到一个直观的流程。我们采用单次、无锚卷积神经网络作为检测框架。移除锚框显著简化了我们任务的检测。在这里,检测是在检测头的输出特征图上进行密集预测的,检测头由 4 个堆叠的卷积层构成,步幅为 1,填充为 1,内核为 3×3。 接下来,我们将分两部分介绍所提出的 ABCNet 的关键组件:1)贝塞尔曲线检测;2)BezierAlign 和识别分支。
    • 在这里插入图片描述

    • 图 3. 所提出的 ABCNet 的框架。我们使用三次贝塞尔曲线和 BezierAlign 来提取贝塞尔曲线检测结果的曲线序列特征。整体框架是端到端可训练的,效率很高。紫色点表示三次贝塞尔曲线的控制点。

    • 其网络架构与FOTS非常相似,检测部分在骨干网络ResNet-50 FPN的基础上直接预测文本框位置,不过ABCNet使用的文本框是由贝塞尔曲线构成的。具体而言,对于每一个文本目标,其长边也就是文本行方向上,我们使用贝塞尔曲线包围文本,而短边依然是使用直线段。文章中使用了3阶贝塞尔曲线,需要4个支点可以唯一确定,因此上下边两条贝塞尔曲线共需要8个支点,这8个支点的坐标就是检测网络预测的目标。相比于FOTS等基于四边形文本框预测的模型,ABCNet并不需要额外的网络层,而只是需要多预测几个坐标点,对整体的推断速度并没有显著的影响。

Bezier Curve Detection

  • 与基于分割的方法 相比,基于回归的方法是任意形状文本检测的更直接解决方案。然而,以前基于回归的方法需要复杂的参数化预测来拟合文本边界,这在实践中对于各种文本形状来说并不是非常有效和稳健。

  • 为了简化任意形状场景文本检测,遵循回归方法,我们认为贝塞尔曲线是曲线文本参数化的理想概念。贝塞尔曲线表示以伯恩斯坦多项式为基础的参数曲线 c(t)。其定义如公式(1)所示。

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

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

    • B i , n ( t ) = ( n    i ) T t i ( 1 − t ) n − i ; i = 0 ; … … ; n ; B_{i,n}(t) = ( n~~ i )^T t^ i (1 − t) ^{n−i} ; i = 0; ……; n; Bi,n(t)=(n  i)Tti(1t)ni;i=0;……;n;

    • 其中 ( n    i ) T (n ~~i)^T (n  i)T 是二项式系数。为了用贝塞尔曲线拟合任意形状的文本,我们全面观察了现有数据集和现实世界中的任意形状场景文本,并通过经验证明三次贝塞尔曲线(即 n 为 3)足以在实践中拟合不同类型的任意形状场景文本。图 4 显示了三次贝塞尔曲线的图示。

    • 在这里插入图片描述

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

    • 为了用贝塞尔曲线确定文本的任意形状,我们从现有的数据集中全面地观察任意形状的场景文本。在现实世界中,我们通过经验证明,三次贝塞尔曲线(即n为3)在实践中对不同类型的任意形状的场景文本是足够的。

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

  • 为了学习控制点的坐标,我们首先生成 2.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 ; ( 3 ) ∆x = b_{ix} − x_{min}; ∆y = b_{iy} − y_{min}; (3) x=bixxmin;y=biyymin;(3)

    • 其中 xmin 和 ymin 分别表示 4 个顶点的最小 x 和 y 值。预测相对距离的优点在于它与贝塞尔曲线控制点是否超出图像边界无关。在检测头内部,我们只需要一个具有 16 个输出通道的卷积层来学习 ∆x 和 ∆y,这几乎是免费的,而结果仍然可以准确,这将在第 3 节中讨论。

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

    • 在这里插入图片描述

    • 这里 m 表示曲线边界的注释点数。对于 Total-Text 和 CTW1500,m 分别为 5 和 7。t 是使用累积长度与折线周长的比率计算的。

  • 根据公式 (1) 和公式 (4),我们将原始折线注释转换为参数化的贝塞尔曲线。请注意,我们直接使用第一个和最后一个注释点分别作为第一个 (b0) 和最后一个 (b4) 控制点。图 5 显示了可视化比较,从中可以看出生成结果在视觉上甚至比原始基本事实更好。

    • 在这里插入图片描述

    • 图 5. 贝塞尔曲线生成比较。在图 (b) 中,对于每个曲线边界,红色虚线形成一个控制多边形,红点表示控制点。扭曲结果如下所示。在图 (a) 中,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

羞儿

写作是兴趣,打赏看心情

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

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

打赏作者

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

抵扣说明:

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

余额充值