ABCNet
ABCNet(Adaptive Bezier Curve Network)是一个端到端的可训练框架,用于识别任意形状的场景文本。直观的pipeline如图所示。采用了单点无锚卷积神经网络作为检测框架。移除锚定箱可以简化我们任务的检测。该算法在检测头输出特征图上进行密集预测,检测头由4个步长为1、填充为1、3×3核的叠层卷积层构成。
接下来,分两部分介绍拟议的ABCNet的关键组成部分:
1) 贝塞尔曲线检测
2) bezier align和识别分支。
ABCNet算法原理:
Bezier Curve Detection
为了简化任意形状的场景文本检测,采用回归方法,我们认为贝塞尔曲线是曲线文本参数化的理想概念。Bezier曲线表示一个以伯恩斯坦多项式为基的参数曲线c (t)。其定义如式(1)所示。
式中,n表示度数,bi表示第i个控制点,表示伯恩斯坦基多项式,如式(2)所示:
其中是二项式系数。为了用贝塞尔曲线确定文本的任意形状,我们从现有的数据集中全面地观察任意形状的场景文本。在现实世界中,我们通过经验证明,三次贝塞尔曲线(即n为3)在实践中对不同类型的任意形状的场景文本是足够的。三次贝塞尔曲线如图所示。
Bezier Ground Truth Generation
在本节中,将简要介绍如何基于原始注释生成贝塞尔曲线地面真值。任意形状的数据集,例如Total text和CTW1500,对文本区域使用多边形注释。给定曲线边界上的注记点
,其中pi表示第i个注记点,主要目标是获得方程(1)中三次Bezier曲线c(t)的最佳参数。为此,可以简单地应用标准最小二乘法,如等式(4)所示:
这里m表示曲线边界的注释点数量。对于total-text和ctw1500,m分别为5和7。t是通过使用累积长度与多段线周长的比率来计算的。
根据方程(1)和方程(4),我们将原始的多段线注释转换为参数化的贝塞尔曲线。注意,我们直接使用第一个和最后一个注释点分别作为第一个(b0)和最后一个(b4)控制点。可视化比较如图5所示,其结果表明,生成的结果在视觉上甚至比原始地面真实性更好。此外,基于结构化的Bezier曲线边界框,可以很容易地使用前文中描述的Bezier对齐将曲线文本扭曲成水平格式,而不会产生明显的变形。Bezier曲线生成结果的更多示例如图所示。ABCNet方法的简单性允许它在实践中推广到不同类型的文本。
Bezier Curve Synthetic Dataset
对于端到端的场景文本识别方法,总是需要大量的自由合成数据,如表2所示。然而,现有的800k SynText数据集只为大多数直文本提供四边形边界框。为了丰富和丰富任意形状的场景文本,我们尝试用VGG合成方法合成了150k个合成数据集(94723个图像包含大部分直线文本,54327个图像包含大部分曲线文本)。特别地,从COCO文本中过滤出40k个无文本背景图像,然后用[32]和[17]准备每个背景图像的分割遮罩和场景深度,用于以下文本渲染。为了扩大合成文本的形状多样性,对VGG合成方法进行了改进,将场景文本与各种艺术字体和语料库合成,并对所有文本实例生成多边形标注。然后使用注释通过Bezier Ground Truth Generation中描述的生成方法生成Bezier Ground Truth 。综合数据的示例如图8所示。
Bezier Align
为了实现端到端训练,以往的大多数方法都采用了各种采样(特征对齐)的方法来连接识别分支。通常,一个采样方法表示一个网络内的区域裁剪过程。换句话说,给定一个特征图和感兴趣区域(RoI),使用抽样方法来选择RoI的特征,并有效地输出一个固定大小的特征图。
然而,以往基于非分割的方法的采样方法,如RoI Pooling , RoIRotate , Text-Align-Sampling or RoI Transform ,都不能正确地对齐任意形状文本的特征(RoISlide大量预测片段)。利用一个紧凑的贝塞尔曲线边界盒的参数化性质,ABCNet提出了用于特征采样的BezierAlign。Bezieralign是从RoIAlign 扩展而来的。与RoIAlign不同,BezierAlign的采样网格的形状不是矩形的。相反,任意形状的网格中的每一列都与文本的贝塞尔曲线边界正交。采样点的宽度和高度分别具有等距间隔,它们相对于坐标进行双线性插值形式化地给出输入特征映射和Bezier曲线控制点,同时处理hout×wout大小的矩形输出特征映射的所有输出像素。以具有位置(giw,gih)的像素gi(来自输出的特征图)为例,通过公式(5)计算t:
然后用t和方程(1)计算上Bezier曲线的边界点tp和下Bezier曲线的边界点bp。利用tp和bp,我们可以通过方程(6)对采样点op进行线性索引:
利用op的位置,可以很容易地应用双线性插值来计算结果。 识别分支
得益于共享的主干特性和BezierAlign,设计了一个轻量级的识别分支,如表1所示,以便更快地执行。
它由6个卷积层、1个双向LSTM 层和1个全连接层组成。基于输出分类分数,使用一个经典的CTC Loss 来进行文本字符串(GT)对齐。请注意,在训练过程中,直接使用生成的Bezier曲线GT来提取RoI特征。因此,检测分支并不影响识别分支。在推理阶段,RoI区域被检测Bezier曲线所取代。实验部分的消融研究表明,所提出的BezierAlign可以显著提高识别性能。
实验结果:
ABCNets在两个最近引入的任意形状的场景文本基准上评估了方法,即Total-Text和CTW1500,它们也包含大量的连续文本。ABCNets还在Total-Text进行了简化研究,以验证方法的有效性。数据集。Total-Text数据集是在2017年提出的最重要的任意形状场景文本基准之一。它收集了各种场景,包括类文本复杂场景和低对比度的背景。它包含1555张图像,其中1255张用于训练,300张用于测试。为了模拟真实的场景,这个数据集的大多数图像都包含大量的常规文本,同时保证每个图像至少有一个弯曲文本。文本实例使用多边形进行单词级注释。它的扩展版本改进了训练集的注释,按照文本识别序列为每个文本实例添加了一个固定的10点注释。数据集只包含英文文本。为了评估端到端的结果,我们使用与以前相同的度量方法,即使用F-measure来测量单词的准确性。简化研究:BezierAlign。为了评估提出的组件的有效性,实验对这个数据集进行简化研究。首先对采样点的数量如何影响端到端的结果进行敏感性分析,如表4所示。从结果中可以看出,采样点的数量对最终的性能和效率有很大的影响。实验发现在(7,32)F-measure与FPS之间达到最佳平衡,在接下来的实验中作为最后的设置。进一步评估BezierAlign,表3中显示的结果表明,BezierAlign可以显著改善端到端结果。定性的例子如图9所示
简化研究:
贝塞尔曲线检测。
另一个重要的组成部分是贝塞尔曲线检测,它可以实现任意形状的场景文本检测。因此,也进行了实验来评估的时间消耗贝塞尔曲线检测。表5中的结果表明与标准边界盒检测相比,贝塞尔曲线检测没有引入额外的计算。
先进性对比。ABCNet的一些结果质量如图10所示。结果表明,该方法能准确地检测和识别任意形状的文本。此外,ABCNe的方法还可以很好地处理直文本,具有近似四边形的紧密边界框和正确的识别结果。图中也出现了一些错误,这些错误主要是由于错误地识别了其中一个字符。
CTW1500实验结果数据集。
CTW1500是2017年提出的另一个重要的任意形状场景文本基准。与Total-Text相比,该数据集包含中英文文本。此外,注释是基于文本行级别的,它还包括一些类似文档的文本,即,无数可以堆叠在一起的小文本。CTW1500包含1k训练图像,500张测试图像。实验。由于该数据集中中文文本的占用非常小,训练时直接将所有中文文本视为“未见”类。实验结果如表6所示,表明在端到端场景文本定位方面,ABCNet可以显著地超越以前最先进的方法。此数据集的示例结果如图11所示。从图中,可以看到一些长文本行实例包含许多单词,这使得完全匹配单词准确性变得非常困难。也就是说一个字符识别错误将导致整个文本零分。
结论:
提出了ABCNet,一种基于贝塞尔曲线的任意形状场景文本实时端到端定位方法。利用参数化的贝塞尔曲线重新构造任意形状的场景文本,ABCNet可以用贝塞尔曲线检测任意形状的场景文本,与标准边框盒检测相比引入的计算成本可以忽略不计。使用这种规则的Bezier曲线边框,可以通过一个新的BezierAlign层自然地连接一个轻量级的识别分支。 另外,通过利用Bezier curve 合成数据集和公开数据集,在两个任意形状的场景文本基准测试集(Total-Text和CTW1500)证明了ABCNet可以实现最先进的性能,同时也比以前的方法快得多。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。