赞
踩
几乎所有的场景文本定位(检测和识别)方法都依赖于昂贵的框注释(例如,文本行框、字级框和字符级框)。我们首次演示了训练场景文本定位模型可以通过每个实例的单点注释来实现。我们提出了一种端到端场景文本定位方法,它将场景文本定位作为一个序列预测任务来处理,如语言建模。给定一个图像作为输入,我们将期望的检测和识别结果表示为一个离散标记序列,并使用一个自回归transformer来预测序列。我们在几个水平的、多方向的、任意形状的场景文本基准测试上取得了很有希望的结果。最重要的是,我们展示了性能对点注释的位置不是非常敏感,这意味着它可以比需要精确位置的边界框更容易被注释和自动生成。我们相信,这样一个先驱性的尝试表明了一个重要的机会,场景文本定位应用比以前可能的规模。
在过去的几十年里,现代光学字符识别(OCR)算法能够从复杂场景的图片中读取文本内容,这是一个令人难以置信的发展,引起了学术界和工业界的巨大兴趣。现有方法的局限性,特别是它们在任意形状的场景文本上的性能较差,已经被反复识别。这可以从对曲线形状、不同字体、扭曲等情况的预测较差的趋势中看出。
OCR社区的研究焦点已经从水平和多方向文本[40,42]到近年来任意形状的文本,伴随着从水平矩形、四边形和多边形的注释格式。规则边界框容易涉及噪声的事实在以往的工作中得到了很好的研究(见图1),证明了字符级和多边形标注可以有效地提高模型性能。此外,人们已经努力开发更复杂的表示,以适应任意形状的文本实例(见图2)。例如,ABCNet 将多边形注释转换为Bezier曲线,以表示曲线的文本实例,而Text Dragon 利用字符级边界框生成中心线,以启用局部几何属性的预测。然而,这些新的表示主要是由专家基于先验知识精心设计的。
为了降低数据标记的成本,一些研究人员探索了以弱监督的方式使用粗注释来训练OCR模型。这些方法主要可以分为两类,即(1)引导标签到更细的粒度,(2)使用部分注释进行训练。前者通常从单词或行级注释中获得字符级标签;因此,模型可以在不引入开销成本的情况下享受字符级监督的良好优势。后者致力于以更少的训练样本来实现竞争激烈的表现。然而,这两种方法仍然依赖于昂贵的边界框注释。
阻止用更简单的注释格式替换单点边界框的潜在问题之一是,大多数文本监视器依赖于类似roi的采样策略来提取共享的主干特性。例如,掩码文本监控器需要在RoI中进行掩码预测;ABCNet提出了BezeirAlign,而TextDragon引入了RoISlide来统一检测和识别头部。在本文中,受最近基于序列的对象检测器Pix2Seq [4]的成功的启发,我们展示了文本监视器可以用一个单点进行训练,也被称为指示点(见图1e)。由于这种简洁的注释形式,标记时间可以显著节省,例如,与注释字符级边界框相比,标记图1中所示的样本图像所需不到五分之一的时间,这是非常曲折的,特别是对于小而模糊的文本实例。选择点注释的另一个激励因素是可以开发一个干净高效的OCR管道,丢弃复杂的后处理模块和采样策略,RoIs引入的模糊性(见图1中红色虚线区域)迄今可以得到缓解。据我们所知,这是第一次尝试在OCR社区中将边界框简化为单点监督信号。本工作的主要贡献总结如下:
第一次,我们证明了文本监视器可以通过一个简单而有效的单点表示来监督。这种简单的注释格式可以大大降低标签成本,使其在未来访问大规模的OCR数据成为可能。
我们提出了一种基于自回归transformer的场景文本检测器,它将文本定位作为一种语言建模任务。给定一个输入图像,我们的方法预测一个离散的标记序列,包括检测和识别结果。从这种简洁的管道中,基于先验知识设计的复杂的后处理和采样策略迄今为止可以被丢弃,显示出巨大的泛化能力潜力。
为了评估所提出的方法的有效性,在四个广泛使用的OCR数据集上进行了广泛的实验和消融,即ICDAR 2013,ICDAR 2015,toxt和SCUT-CTW1500,包括水平和任意形状的文本;以及对通用目标检测数据集Pascal VOC 的定性实验。结果表明,与现有的SPTS方法相比,所提出的SPTS可以达到具有竞争力的性能。
在过去的几十年里,人们提出了各种使用不同注释风格的场景文本数据集,重点关注各种场景,包括用矩形描述的水平文本(图1a)、用四边形表示的多方向文本(图1b)和用多边形标记的任意形状的文本(图1d)。这些形式的注释促进了相应的OCR算法的开发。例如,早期的作品通常使通用的对象检测器适应场景文本定位,其中特征映射通过RoI模块在检测头和识别头之间共享。这些方法遵循为通用目标检测而设计的采样机制,并利用矩形来表达文本实例,从而在非水平目标上表现更差。后来,一些方法通过修改规则的区域提案网络(RPN)来生成四边形的边界框,从而为多面向文本具有更好的性能。最近,随着弯曲场景文本数据集[5,6,24]的呈现,OCR社区的研究兴趣已经转向了更具挑战性的任意形状的文本。一般来说,有两种被广泛采用的解决方案,任意形状的文本定位任务,即基于分割的和基于回归的方法。前者首先预测掩码来分割文本实例,然后对文本区域内的特征进行采样并分组,以便进一步识别。例如,[18]提出了一个分割建议网络(SPN),而不是常规的RPN来准确地解耦相邻的文本实例,从而显著提高了性能。此外,基于回归的方法通常将文本实例参数化为一个坐标序列,并随后学习预测它们。ABCNet 将多边形转换为Bezier曲线,显著提高了弯曲场景文本的性能。Wang等首先将文本实例的边界点进行定位,然后将薄板样条修正的特征输入识别分支,在任意形状的实例上显示出很好的精度。此外,邢等人,通过使用字符级注释来提高文本定位性能,其中可以同时预测字符边界框以及类型分割映射,从而实现令人印象深刻的性能。尽管上述方法采用了不同的表示方式来描述文本实例,但它们实际上都是来自于矩形、四边形或多边形边界框中的一个。这种注释必须由人类仔细标记,因此相当昂贵,限制了训练数据集的规模。
在本文中,我们提出了单点文本定位(SPTS),据我们所知,这是第一个完全不依赖于边界框注释的场景文本监视器。具体来说,每个文本实例都用一个单点(见图1e)表示,但成本很低。这一点不需要准确标记(例如在文本的中心)的事实进一步证明了以弱监督的方式学习的可能性,大大降低了标签成本。
大多数现有的文本定位算法将该问题视为两个子任务,即文本检测和识别,尽管整个网络可能是端到端优化的。需要定制的模块,如BezierAlign 、RoISlide 和 RoIMasking来连接检测和识别块,其中主干特征被裁剪并在检测和识别头之间共享。在这种设计类型下,识别和检测模块是高度耦合的。例如,在训练阶段,由于第一次迭代检测结果不够好,通常从 ground-truth边界框中裁剪特征;因此,在测试阶段,识别结果容易受到检测到的边界框的干扰。
最近,Pix2Seq 率先将通用的对象检测问题转换为一个语言建模任务,基于一个直观的假设,即如果一个深度模型知道目标是什么以及在哪里,就可以教它通过所需的序列来告诉结果。由于简洁的管道,具有不同属性的标签,如位置坐标和对象类别,可以集成到一个序列中,使端到端可训练的框架,没有任务特定模块(如区域提案网络和RoI池层),因此可以自然地适应文本定位任务。受此启发,我们提出了单点文本定位(SPTS)。SPTS将文本检测和识别作为一个序列预测任务来处理,可以通过一个更直接的管道来解决。现在,输入的图像被转换为一个包含位置和识别结果的序列,真正地同时实现了文本检测和识别任务。受此启发,我们提出了单点文本定位(SPTS)。SPTS将文本检测和识别作为一个序列预测任务来处理,可以通过一个更直接的管道来解决。现在,输入的图像被转换为一个包含位置和识别结果的序列,真正地同时实现了文本检测和识别任务。
具体来说,如图3所示,每个输入图像首先由CNN和transformer编码器进行编码,以提取视觉和上下文特征。然后,捕获的特征被transformer解码器解码,其中令牌以自回归的方式预测。与之前的算法不同,我们进一步将边界框简化为位于第一个字符左上角或文本实例中心的一个角点,如图7中的文本实例所示。得益于这种简单而有效的表示,可以避免基于先验知识精心设计的模块,如基于分割的方法中使用的分组策略和基于方框的文本跟踪器中配备的特征采样块。因此,识别精度不会受到检测结果差的限制,显著提高了模型的鲁棒性。
一个序列可以携带具有多个属性的信息,这一事实自然使文本定位任务成为可能,其中文本实例同时被本地化和识别。要用序列表示目标文本实例,需要将连续描述(例如,边界框)转换为离散空间。为此,如图4所示,我们遵循Pix2Seq来构建目标序列。
我们的方法的不同之处在于,我们将边界框进一步简化为一个单点。具体来说,文本实例第一个字符的左上角的连续坐标(简称左上角点)均匀离散为 [ 1 , n b i n s ] [1,n_{bins}] [1,nbins]之间的整数,其中 n b i n s n_{bins} nbins控制离散的程度。例如,一个长边为800像素的图像只需要 n b i n s n_{bins} nbins = 800就可以实现零量化误差。到目前为止,一个文本实例可以由三个标记的序列表示,即 [ x , y , t ] [x,y,t] [x,y,t],其中t是转录文本。值得注意的是,转录本质上是离散的,即每个字符代表一个类别,因此可以很容易地附加到序列中。然而,不同于一般的对象检测有一个相对固定的词汇(每个 t t t代表一个对象类别,如行人), t t t可以任何任何长度的自然语言文本在我们的任务,导致可变长度的目标序列,这可能进一步导致错位问题,可以消耗更多的计算资源。
为了消除这些问题,我们将文本填充或截断到一个固定长度的 l t r l_{tr} ltr,其中 < P A D > <PAD> <PAD>令牌用于填补较短的文本实例的空缺。此外,与其他语言建模方法一样, < S O S > <SOS> <SOS>和 < E O S > <EOS> <EOS>标记分别插入到序列的头部和尾部,分别表示序列的开始和结束。因此,给定一个包含 n t i n_{ti} nti文本实例的图像,构造的序列将包括 ( 2 + l l r ) × n t i (2 + l_{lr})×n_{ti} (2+llr)×nti离散标记,其中每个文本实例将是随机排序的,按照以前的工作。假设有 n c l s n_{cls} ncls的字符类别(例如,97个英语字符和符号),用于标记序列的字典的词汇量大小可以计算为 n b i n s + n c l s + 3 n_{bins} +n_{cls} + 3 nbins+ncls+3,其中额外的三个类是为 < P A D > <PAD> <PAD>、 < S O S > <SOS> <SOS>和 < E O S > <EOS> <EOS>标记。根据经验,在我们的实验中,我们将 l t r l_{tr} ltr和 n b i n s n_{bins} nbins分别设置为25和1000。
序列增强 如图3所示,SPTS解码器以自回归的方式预测序列,其中使用 < E O S > <EOS> <EOS>标记来决定生成的终止。然而,在实践中, < E O S > <EOS> <EOS>标记容易导致序列预测任务提前终止,导致低召回率,这一事实已经在之前的工作中被发现。这个问题的原因可能是由于注释噪声和差异样本。因此,我们采用了序列增强策略来推迟 < E O S > <EOS> <EOS>令牌的出现。具体来说,如图5所示,将由随机生成的位置和转录组成的噪声实例插入到输入序列中。对于输出序列,每个噪声文本实例对应于几个“N/A”令牌、一个噪声令牌和一个 < E O S > <EOS> <EOS>令牌。在训练过程中,噪声标记将帮助模型区分噪声文本实例,从而延迟了 < E O S > <EOS> <EOS>的采样。值得注意的是,在优化中排除了“N/A”令牌的损失。
训练目标 由于SPTS被训练来预测令牌,所以它只需要在训练时最大化可能的可能性损失,这可以写成:
m
a
x
i
m
i
z
e
∑
i
=
1
L
w
i
l
o
g
P
(
s
~
i
∣
I
,
s
1
:
i
)
maximize\sum_{i=1}^{L}w_ilogP(\tilde{s}_i|I,s_{1:i})
maximizei=1∑LwilogP(s~i∣I,s1:i)
其中
I
I
I为输入图像,
s
~
\tilde{s}
s~为目标序列,
s
s
s为输入序列,
L
L
L为序列的长度,
w
i
w_i
wi为第
i
i
i个标记的似然值的权重,根据经验设置为1。
在推理阶段,SPTS自动回归预测标记,直到序列标记
<
E
O
S
>
<EOS>
<EOS>出现结束。预测的序列随后将被划分为多个片段,每个片段包含
2
+
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。