最近,端到端场景文本识别已成为一个流行的研究主题,因为它具有全局优化的优点和在实际应用中的高可维护性。大多数方法试图开发各种感兴趣的区域(RoI)操作,以将检测部分和序列识别部分连接到两阶段的文本识别框架中。然而,在这样的框架中, 识别部分对检测到的结果高度敏感(例如,文本轮廓的紧凑性)。 为了解决这个问题,在本文中,我们提出了一种新颖的“Mask Attention Guided One-stage”文本识别框架,称为MANGO,在该框架中无需RoI操作就可以直接识别字符序列。具体而言:
值得注意的是,MANGO自有地适应于任意形状的文本识别,并且仅使用粗略的位置信息(例如矩形边界框)和文本注释就可以进行端到端的训练。实验结果表明,该方法在规则和不规则文本识别基准(即ICDAR 2013,ICDAR 2015,Total-Text和SCUT-CTW1500)上均达到了有竞争力甚至最新性能。
场景文本识别由于其各种实际应用而备受关注,例如发票/收据理解中的关键实体识别,电子商务系统中的产品名称识别以及智能运输系统中的车牌识别。传统的场景文字识别系统通常分三步进行:定位文字区域,从原始图像中裁剪文字区域并将其识别为字符序列。然而尽管这种文本识别模型带来了许多可考虑的问题,例如: (1)错误将在多个单独的任务之间累 (2)维护多个单独的模型的成本很高 (3)该模型难以适应各种应用程序。
因此,提出了许多工作以端到端的方式来最终优化文本识别过程。这些方法通常使用各种兴趣区域(RoI)操作以可微分的方式桥接文本检测和识别部分,从而形成了两阶段框架。粗略地说,早期的端到端方法将轴对齐的矩形RoI用作连接模块。这些方法处理不规则的(例如,透视图或弯曲的)文本实例能力有限,因为这种类型的RoI可能会带来背景或其他文本的干扰。为了解决这个问题,后来的方法(设计了一些形状自适应RoI机制来提取不规则物体。文本实例并将其校正为规则形状。
图1:传统的两阶段文本识别过程和提出的MANGO的图示。 图(a)显示了通过RoI操作连接检测和识别部分的两阶段文本识别策略。 图(b)是一种提出的单阶段文本识别方法,它可以直接输出最终的字符序列。
在两阶段方法中,识别部分高度依赖于定位结果,这就要求检测部分必须能够捕获准确的文本边界以消除背景干扰。因此,训练鲁棒的文本检测模型依赖于准确的检测注释,例如在不规则文本识别中使用的多边形或蒙版注释。自然地,标记这种注释是费力且昂贵的。另一方面,要确保紧紧封闭的文本区域(由检测注释进行监督)对于以下识别任务而言是最佳形式,这并不容易。例如,在图1(a)中,紧密的文本边界可能会擦除字符的边缘纹理并导致错误的结果。 通常,需要手动扩展这些严格的检测结果,以适应实际应用中的识别。 此外,在proposals之后执行带有非极大抑制(NMS)的复杂RoI操作也很耗时,尤其是对于任意形状的区域。尽管(Xing et )提出了一种单阶段采用字符分割策略的字符级别的识别框架, 但很难扩展到具有更多字符类别(例如汉字)的情况。 它还会丢失角色之间的关键上下文信息。
实际上,当人们阅读时,他们不需要描绘文本实例的准确轮廓。通过视觉注意力关注的粗略文本位置来识别文本实例就足够了。在这里,我们将场景文本识别重新考虑为注意力和阅读的问题,即,一次直接读出粗略注意的文本区域的文本内容。
在本文中,我们提出了一种名为MANGO的“Mask Attention Guided One stage”文本监视程序,称为MANGO,这是一种紧凑而强大的单阶段框架,可直接从图像中同时预测所有文本,而无需进行任何RoI操作。具体来说,我们引入了一个位置感知蒙版注意力(PMA)模块以在文本区域上生成空间注意力,该模块包含实例级蒙版注意力(IMA)部分和字符级蒙版注意力(CMA)部分。 IMA和CMA分别负责感知图像中文本和字符的位置。可以通过位置感知注意力谱直接提取文本实例的特征,而不必进行显式的裁剪操作,这尽可能保留了全局空间信息。 在这里,使用动态卷积将不同文本实例的特征映射到不同的特征谱通道(Wang等人,2020c),如图1(b)所示。之后,应用轻量级序列解码器一次批量生成字符序列特征。
请注意,MANGO可以仅使用粗略的位置信息(例如,矩形边界框,甚至是文本实例的中心点)进行端到端优化,还可以使用序列注释。 受益于PMA,该框架可以自适应地识别各种不规则文本,而无需任何纠正机制,并且还能够了解任意形状的文本的阅读顺序。
本文的主要贡献如下: (1)我们提出了一种名为MANGO的紧凑而强大的一阶段文本识别框架, 该框架可以以端到端的方式进行训练。 (2)我们开发了位置感知蒙版注意力模块,以将文本实例特征生成为一个batch,并与最终字符序列建立一对一的映射。 只能使用粗略的文本位置信息和文本注释来训练该模块。 (3)广泛的实验表明,我们的方法在规则和不规则文本基准上均获得了有竞争甚至最新的性能。
早期场景文本发现方法(Liao,Shi,and Bai 2018; Liao et ; Wang et )通常首先使用训练有素的检测器来定位每个文本,例如(Liao et ; Zhou et ; He et ; Ma et ; Xu et ; Baek et ),然后使用序列解码器识别裁剪后的文本区域(Shi et ; Shi,Bai和Yao 2017; Cheng et ; Zhan and Lu 2019; Luo,Jin and Sun 2019)。为了充分利用文本检测和文本识别之间的互补性,已经提出了一些工作以端到端的方式优化场景文本发现框架,其中使用了模块连接器(例如RoI Pooling(Ren等人,2015a))在(Li,Wang,and Shen 2017; Wang,Li,and Shen 2019)中,(He等人2018)中使用的RoI-Align和(Liu等人2018)中使用的RoI-Rotate的开发是为了文本检测和文本识别部分。请注意,这些方法无法发现任意形状的文本。 为了解决不规则问题,已经提出了许多最近的工作来设计各种自适应RoI操作以发现任意形状的文本。 Sun等人(2018年)采用了透视图RoI转换模块来纠正透视图文本,但是该策略仍然难以处理弯曲度较大的文本。 (Liao et )提出了受两阶段Mask-RCNN启发的mask textspotter,用于逐个字符地检测任意形状的文本,但是这种方法会丢失字符的上下文信息,并且需要字符级位置注释。 Qin等人(2019)直接采用Mask-RCNN和基于注意力的文本识别器,该模型使用RoI-Masking模块在识别之前消除了背景干扰。 (Feng et )将文本实例视为一组特征块,并采用RoI-Slide操作来重建直线特征图。 (Qiao et al。2020)和(Wang et al。2020a)都检测到文本周围的关键点,并应用薄板样条变换(Bookstein 1989)纠正不规则实例。为了获得弯曲文本的平滑特征(Liu et ),使用Bezier曲线表示文本实例的上下边界,并提出了Bezier-Align操作以获取校正后的特征图。 上述方法在两阶段框架中实现了端到端场景文本点,其中需要设计基于RoI的连接器(例如RoI-Align,RoI-Slide和Bezier-Align等),以实现以下目的:明确裁剪特征图。 在两阶段框架中,性能很大程度上取决于RoI操作获得的文本边界精度。但是,这些复杂的多边形注释通常很昂贵,并且并不总是适合识别部分,如前所述。
在一般的对象定位领域,许多最新进展证明了在对象检测中研究的一阶段框架的效率和有效性(Redmon等人2016; Liu等人2016; Lin等人2017b; Tian等人2019;段等人(2019)或实例分割(Wang等人2019b; Tian,Shen和Chen 2020; Wang等人2020c; Xie等人2020; Chen等人2020)。但是,场景文本发现是一项更具挑战性的任务,因为它涉及序列识别问题而不是单个对象分类。这是因为场景文本具有许多特殊特征:任意形状(例如,曲线,倾斜或透视图等),数百万个字符组合,甚至是不受限制的阅读顺序(例如,从右到左)。最近,(Xing et )提出了一种通过直接分割单个字符的一种舞台场景文本识别方法。但是,它丢失了各个字符之间的序列上下文信息,并且很难传递给更多的字符类。据我们所知,以前没有工作可以在一个阶段的框架中处理序列级别的场景文本发现任务。
图2:MANGO的工作流程。 我们以S = 6为例。 将输入特征输入到位置感知蒙版注意力模块中,以将实例/字符的不同特征映射到不同通道。 识别器最终一次全部输出字符序列。 Centerline Segmentation分支用于生成所有文本实例的粗略位置。 前缀“ R-”和“ C-”分别表示网格的行和列。
我们提出了一个名为MANGO的单阶段场景文本查找器,如图2所示。其深层特征是通过ResNet-50(He等人,2016)和特征金字塔网络(FPN)(Lin等人,2017a)的主干提取的。 然后将生成的特征图馈送到三个可学习的模块中: (1)用于学习单个文本实例的位置感知蒙版注意力(PMA)模块,其中包括实例级蒙版注意力( IMA)子模块和字符级掩码注意力(CMA)子模块。 (2)识别器用于将注意力实例特征解码为字符序列。 (3)全局文本中心线分割模块,用于在推理阶段提供粗略的文本位置信息。
单阶段的文本识别问题可以视为原始图像中的纯文本识别任务。关键步骤是在文本实例到最终字符序列之间以固定顺序建立直接的一对一映射。在这里,我们开发了位置感知注意力(PMA)模块,以便为接下来的序列解码模块一次捕获所有表示文本的特征。受(Wang等人2019b)中使用的网格映射策略的启发,我们发现可以将不同的实例映射到不同的特定通道中,并实现实例到特征的映射。也就是说,我们首先将输入图像划分为S×S的网格。然后,通过提出的PMA模块将网格周围的信息映射到特征图的特定通道中。
具体来说,我们将特征提取后获得的特征图表示为x∈R C×H×W ,其中C,H和W分别表示为特征图的通道数量,宽度和高度。然后我们将特征图x送入PMA(包括IMA和CMA模块)模块,以生成文本实例的特征表示(如下所述)。
Instance-level Mask Attention MA负责生成实例级注意力蒙版遮罩,并将不同实例的特征分配给不同的特征图通道。 它是通过在切片网格上操作一组动态卷积内核(Wang等人2020c)来实现的,表示为G S×S×C 。卷积核大小设置为1×1。
因此可以通过将这些卷积核应用于原始特征图来生成实例级注意力掩码:
Character-level Mask Attention 正如许多工作 (Chenget等人2017; Xing等人2019)所表明的那样, 字符级位置信息可以帮助提高识别性能。 这激励我们设计全局字符级注意力子模块, 以为后续的识别任务提供细粒度的特征。
如图2所示,CMA首先将原始特征图x和实例级注意力蒙版x ins 连接在一起,然后是两个卷积层(卷积核大小= 3×3)遵循下式来预测字符级注意力蒙版:
由于将不同文本实例的注意蒙版分配给不同的特征通道,因此我们可以将文本实例打包为一批。 一个简单的想法是进行(Wang等人2020b)中使用的注意力融合操作,以生成批处理的连续特征x seq ,即
该模型现在能够分别输出S 2 网格的所有预测序列。 但是,如果图像中有两个以上的文本实例,我们仍然需要指出哪个网格对应于那些识别结果。
由于我们的方法不依赖准确的边界信息,因此我们可以应用任何文本检测策略(例如RPN(Ren等人2015b)和YOLO(Redmon等人。 2016)),以获取文本实例的粗略的几何信息。 考虑到场景文本可能是任意形状的,我们遵循大多数基于分割的文本检测方法(Long等人2018; Wang等人2019a)来学习单个文本实例的全局文本中心线区域分割(或缩小ground truth)。
IMA和CMA模块都用于使网络聚焦于特定的实例和字符位置,这在理论上只能通过最后的识别部分来学习。 但是,在复杂的场景文本场景中,如果没有位置信息的辅助,网络可能难以收敛。 但是,我们发现,如果模型已经在合成数据集上进行了预先的字符级监督,则可以轻松转移模型。 因此,可以分两步对模型进行优化。
首先,我们可以将IMA和CMA的学习视为纯分割任务。 结合中心线区域分割,所有分割任务都使用二进制Dice系数损失进行训练(Milletari,Navab和Ahmadi 2016),而识别任务仅使用交叉熵损失。 全局优化可以写成
请注意,预训练步骤实际上是一次性的任务,然后将主要学习CMA和IMA以适应该识别任务。 与以前需要平衡检测和识别权重的方法相比,MANGO的端到端结果主要由最终识别任务监督。
在推断阶段,网络输出一批(S×S)概率矩阵(L×M)。 根据中心线分割任务的预测,我们可以确定哪些网格应视为有效。 我们首先进行“广度优先搜索”(BFS),以找到各个相连的区域。 在此过程中,可以过滤许多类似文本的纹理。 由于每个连接区域可能与多个网格相交,因此我们采用字符加权投票策略来生成最终的字符串,如图3所示。
具体来说,我们计算连接区域i与网格j之间的连接率o i,j 作为每个字符的权重。 对于实例i的第k个字符,其字符加权投票结果通过
我们列出了本文使用的数据集如下:训练数据。我们使用SynthText 800k(Gupta,Vedaldi和Zisserman 2016)作为预训练数据集。利用实例级注释和字符级注释对PMA模块进行预训练。在微调阶段,我们旨在获得一个支持常规和非常规场景文本读取的通用文本点。在这里,我们构建了一个用于微调的通用数据集,其中包括来自Curved SynthText的150k图像(Liu等人2020),从COCO-Text过滤的13k图像(Veitet等人2016),从ICDAR-MLT过滤的7k图像(Nayefet等人2019)以及ICDAR2013(Karatzas等人2013),ICDAR2015(Karatzas等人2015)和Total-Text(Ch'ng and Chan 2017)中的所有训练图像。请注意,这里我们仅使用实例级别的注释来训练网络。测试数据集。我们在两个标准文本点标基准ICDAR2013(Karatzas等人2013)(IC13)和ICDAR2015(Karatzas等人2015)(IC15)中评估了我们的方法,其中主要包含水平和透视文本,以及两个不规则的基准Total-Text(Ch'ng和Chan 2017)和SCUT-CTW1500(Liu等人2019)(CTW1500),其中包含许多弯曲文本。车牌识别数据集CCPD中我们方法的能力(Xuet )。
所有实验均在Pytorch中使用8×32 GB-Tesla-V100 GPU进行。网络详细信息。特征提取器使用ResNet-50(He等人2016)和FPN(Lin等人2017a)从不同的特征图中获取融合特征水平。这里,C = 256的(4×)特征图用于执行后续的训练和测试任务.Lis设置为25以覆盖大多数场景文本单词。 BiLSTM模块有256个隐藏单元,训练详细信息,所有模型均由SGDoptimizer进行训练,批处理大小= 2,动量= 和重量衰减= 1×10−4。在预训练阶段,以10个周期的初始学习比率1×10-2训练网络。每3个周期将学习率除以10.在微调阶段,初始学习率设置为1×10-3。为了平衡每批中的合成图像和真实图像的数量,我们将Curved SynthText数据集与其他真实数据集的采样比率保持为1:1。微调过程持续250k次迭代,其中学习率在120k迭代和200k迭代时除以10.我们还对所有训练过程进行数据扩充,包括1)将输入图像的较长边随机缩放为长度在[720,1800]范围内,2)将图像随机旋转[-15°,15°]范围内的角度,以及3)对输入图像应用随机的亮度,抖动和对比度。在不同的数据集中,我们将IC15的评估值设置为S = 60,将IC13,Total-Text和CTW1500的评估值设置为S = 40。我们将所有权重参数简单地设置为λ1=λ2=λ3=λ= 1。测试细节。由于输入图像的尺寸是重要的重要影响性能,因此我们将报告不同输入比例下的性能,即保持原始比例和将图像的较长边调整为固定值。所有图像都在单一尺度上进行测试。由于当前的实现方式仅提供了粗略的定位,因此,我们通过考虑IoU> 的所有检测结果,修改(Wang,Babenko和Belongie 2011)的端到端评估指标。在这种情况下,由于某些低等级的建议匹配而导致精度下降,先前方法的性能甚至会下降。
常规文本的评估我们首先根据常规评估指标(Karatzas等,2015)对IC13和IC15的方法进行评估,然后基于三种不同的lexi-cons(强)对两个评估项目( 端到端''和 单词斑点'')进行评估,弱和通用)。表1显示了评估结果。与使用常规词典评估的先前方法相比,我们的方法在“通用”项目上获得了最佳结果(除了IC15的端到端通用结果之外),并在其余评估项目上获得了竞争结果(强”和“弱”)。与最近使用特定词典的最新MaskMaskTextSpotter(Liao et )相比,我们的方法在所有评估项目上均明显优于该方法。尽管推理速度很高,但FOTS的FPS最高(帧数第二),它无法处理不正常的情况。与基于不规则的方法相比,我们的方法获得了最高的FPS。不规则文本的评估我们在Total-Text上测试了我们的方法,如表2所示。我们发现我们的方法比最先进的方法高出%和 “无”和“满”指标中的百分比。请注意,即使没有明确的纠正机制,我们的模型也只能在识别监督的驱动下才能很好地处理不规则文本。尽管在1280的测试规模下,推理速度约为ABCNet的1/2,但我们的方法取得了显着的性能提升。我们还在CTW1500上评估了我们的方法。报告端到端结果的作品很少,因为它主要包含行级文本注释。为了适应这种情况,我们在CTW1500的训练集上对检测分支进行了重新训练,以学习线级中心线分割,并确定主干和其他分支的权重。请注意,识别不会受到影响,仍然会输出单词级序列。最终结果将根据推断的连接区域简单地从左到右连接起来。汉字设置为NOT CARE。结果如表3所示。我们发现,在“无”和“满”度量标准下,我们的方法明显比以前的提升了%和%。因此,我们相信,如果只有行级注解的数据足够多,我们的模型就可以很好地适应这种情况。
图4可视化了IC15和Total-Text上的端到端文本发现结果。 我们详细显示了字符投票之前每个正网格(oi,j> )的预测结果。 我们看到我们的模型可以正确地专注于相应的位置并学习任意形状(例如弯曲或垂直)文本实例的字符序列的复杂读取顺序。 采取字符投票策略后,将生成具有最高置信度的单词。我们还用可视化的CMA演示了CTW1500的一些结果,如图5所示。请注意,我们仅根据数据集的位置微调线级分割部分 标签,同时固定其余部分。在这里,我们通过将所有网格的注意图覆盖在相同的字符位置(k)上来可视化CMA的特征图:
网格编号的消除网格编号S2是影响最终结果的关键参数。如果太小,则占据相同网格的文本太多。否则,太大的S会导致更多的计算成本。在这里,我们进行实验以找到不同数据集的S的可行值。从表4中,我们发现IC13和TotalText的bestS均为40。 IC15的值为60。这是因为IC15包含更多密集和较小的实例。总而言之,当S> = 40时,总体性能随沙的增加而稳定。当然,FPS随S的增加而略有下降。信息。为了证明这一点,我们还进行了实验,以矩形边框的形式转移所有本地化注释。我们仅采用RPN头作为检测分支。表5显示了IC15和Total-Text的结果。即使进行严格的位置监控,MANGO的性能也只能降低0%到3%,并且可以与最新技术相比。请注意,粗略位置仅用于网格选择,因此可以根据特定任务的要求尽可能简化它。
为了证明模型的泛化能力,我们进行了实验以评估CCPD公共数据集上的端到端车牌识别结果(Xu et )。为了公平起见,我们遵循相同的实验设置,并使用带有250k图像的数据集的初始版本。 CCPD-Base数据集分为两个相等的部分:用于训练的100k样本和用于测试的100k样本。有6个复杂的测试集(包括DB,FN,旋转,倾斜,天气和挑战)用于评估算法的鲁棒性,总共有50k张图像。由于CCPD中的每个图像仅包含一个板,因此可以通过删除来进一步简化我们的模型检测分支直接预测最终字符序列。因此,网格数减少为S = 1,最大序列长度设置为L =8。我们直接对模型进行微调(已通过SynthText进行了预训练)在CCPD训练集上仅使用序列级注释,然后评估上述七个测试数据集的最终识别准确性。测试阶段是对尺寸为720×1160的原始图像执行的。 表6显示了端到端识别结果。尽管所提出的方法不是为车牌识别任务设计的,但仍然可以轻松地转移到这种情况下。我们看到,提出的模型在7个测试集中的5个中优于以前的方法,并达到了最高的平均精度。图6显示了CCPD测试集的一些可视化结果。故障样本主要来自图像太模糊而无法识别的情况。该实验表明,在许多情况下,只有一个文本实例(例如,工业印刷识别或仪表拨盘识别),可以使用良好的端到端模型无需检测注释即可获得。
在本文中,我们提出了一种名为MANGO的新颖的单阶段场景文本查找器。 该模型删除了RoI操作,并设计了位置感知注意模块来粗略定位文本序列。 之后,应用轻量级序列解码器以将所有最终字符序列成批获取。 实验表明,我们的方法可以在流行基准上获得具有竞争力的,甚至最先进的结果。
场景文本检测器由文本检测和识别模块组成。已经进行了许多研究,以将这些模块统一为端到端的可训练模型,以实现更好的性能。典型的结构将检测和识别模块放置在单独的分支中,并且RoI pooling通常用于让分支共享视觉特征。然而,当采用识别器时,仍然有机会在模块之间建立更互补的连接,该识别器使用基于注意力的解码器和检测器来表示字符区域的空间信息。这是可能的,因为两个模块共享一个共同的子任务,该任务将查找字符区域的位置。基于这些见解,我们构建了紧密耦合的单管道模型。通过使用检测输出作为识别器输入,并在检测阶段传播识别损失来形成此结构。字符得分图的使用有助于识别器更好地关注字符中心点,并且识别损失传播到检测器模块会增强字符区域的定位。此外,增强的共享阶段允许对任意形状的文本区域进行特征校正和边界定位。大量实验证明了公开提供的直线和曲线基准数据集的最新性能。
场景文本定位,包括文本检测和识别,由于在即时翻译,图像检索和场景解析中的各种应用,最近引起了广泛的关注。尽管现有的文本检测器和识别器在水平文本上很有效,但是在场景图像中发现弯曲的文本实例时,仍然是一个挑战。
为了在图像中发现弯曲的文本,一种经典的方法是将现有的检测和识别模型进行级联,以管理每一侧的文本实例。检测器[32、31、2]尝试通过应用复杂的后处理技术来捕获弯曲文本的几何属性,而识别器则应用多向编码[6]或采用修正模块[37、46、11]来增强弯曲文本上识别器的准确性。
随着深度学习的发展,已经进行了将检测器和识别器组合成可共同训练的端到端网络的研究[14,29]。拥有统一的模型不仅可以提高模型的尺寸效率和速度,还可以帮助模型学习共享功能,从而提高整体性能。为了从该属性中受益,还尝试使用端到端模型[32、34、10、44]处理弯曲文本实例。但是,大多数现有的工作仅采用RoI pooling 在检测和识别分支之间共享底层特征。在训练阶段,不是训练整个网络,而是使用检测和识别损失来训练共享特征层。
如图1所示,我们提出了一种新颖的端到端字符区域注意文本定位模型,称为CRAFTS。而不是将检测和识别模块隔离在两个单独的分支中,我们通过在模块之间建立互补连接来建立一个单一的pipline。我们观察到,使用基于注意力的解码器的识别器[1]和封装字符空间信息的检测器[2]共享一个公用的子任务,该子任务用于定位字符区域。通过将两个模块紧密集成,检测级的输出可帮助识别器更好地识别字符中心点,并且从识别器传播到检测器级的损失会增强字符区域的定位。而且,网络能够使在公共子任务中使用的特征表示的质量最大化。据我们所知,这是构建紧密耦合损失的首个端到端工作。 我们的贡献总结如下: (1)我们提出了一种可以检测和识别任意形状的文本的端到端网络。 (2)通过利用来自修正和识别模块上检测器的空间字符信息,我们在模块之间构造互补关系。 (3)通过在整个网络的所有特征中传播识别损失来建立单个pipline。 (4)我们在包含大量水平,弯曲和多语言文本的IC13,IC15,IC19-MLT和TotalText [20、19、33、7]数据集中实现了最先进的性能。
文本检测和识别方法 检测网络使用基于回归的[16、24、25、48]或基于分割的[9、31、43、45]方法来生成文本边界框。诸如[17,26,47]之类的一些最新方法将Mask-RCNN [13]作为基础网络,并通过采用多任务学习从回归和分割方法中获得了优势。就文本检测的单元而言,所有方法还可以依赖单词级别或字符级别[16,2]预测的使用进行子分类。
文本识别器通常采用基于CNN的特征提取器和基于RNN的序列生成器,并按其序列生成器进行分类。连接主义的时间分类(CTC)[35]和基于注意力的顺序解码器[21、36]。 检测模型提供了文本区域的信息,但是对于识别器而言,要提取任意形状的文本中的有用信息仍然是一个挑战。 为了帮助识别网络处理不规则文本,一些研究[36、28、37]利用 空间变换器网络(STN) [18]。而且,论文[11,46]通过迭代执行修正方法进一步扩展了STN的使用。这些研究表明,递归运行STN有助于识别器提取极端弯曲文本中的有用特征。在[27]中,提出了循环RoIWarp层, 在识别单个字符之前对其进行裁剪。这项工作证明,找到字符区域的任务与基于注意力的解码器中使用的注意力机制密切相关。
构造文本定位模型的一种方法是依次放置检测和识别网络。众所周知的两阶段结构将TextBox ++ [24]检测器和CRNN [35]识别器耦合在一起。简单来说,该方法取得了良好的效果。
端到端的使用基于RNN的识别器 EAA [14]和FOTS [29]是基于EAST检测器[49]的端到端模型。这两个网络之间的区别在于识别器。 FOTS模型使用CTC解码器[35],而EAA模型使用注意力解码器[36]。两项工作都实现了仿射变换层来合并共享功能。提出的仿射变换在水平文本上效果很好,但在处理任意形状的文本时显示出局限性。 TextNet [42]提出了一种在特征池化层中具有透视RoI变换的空间感知文本识别器, 网络保留RNN层以识别2D特征图中的文本序列,但是由于缺乏表现力的四边形,在检测弯曲文本时,网络仍然显示出局限性。
Qin等[34]提出了一种基于Mask-RCNN [13]的端到端网络。给定box proposals,从共享层合并特征,并使用ROI遮罩层过滤掉背景杂波。提出的方法通过确保注意力仅在文本区域中来提高其性能。Busta等提出了Deep TextSpotter [3]网络,并在E2E-MLT [4]中扩展了他们的工作。该网络由基于FPN的检测器和基于CTC的识别器组成。该模型以端到端的方式预测多种语言。
端到端的使用基于CNN的识别器 在处理任意形状的文本时,大多数基于CNN的模型在识别字符级文本都具有优势。 MaskTextSpotter [32]是使用分割方法识别文本的模型。尽管它在检测和识别单个字符方面具有优势, 但由于通常不会在公共数据集中提供字符级别的注释,因此很难训练网络。 CharNet [44]是另一种基于分割的方法,可以进行字符级预测。该模型以弱监督的方式进行训练,以克服缺乏字符级注释的问题。在训练期间,该方法执行迭代字符检测以创建伪ground-truths。
尽管基于分割的识别器已经取得了巨大的成功,但是当目标字符的数量增加时,该方法会受到影响。随着字符集数量的增加,基于分割的模型需要更多的输出通道,这增加了内存需求。journal版本的MaskTextSpotter [23]扩展了字符集以处理多种语言,但是作者添加了基于RNN的解码器,而不是使用他们最初提出的基于CNN的识别器。 基于分割的识别器的另一个限制是识别分支中缺少上下文信息。 由于缺少像RNN这样的顺序建模,在嘈杂的图像下,模型的准确性下降。
TextDragon [10]是另一种基于分割的方法,用于定位和识别文本实例。但是, 不能保证预测的字符段会覆盖单个字符区域。为了解决该问题,该模型合并了CTC来删除重叠字符。 该网络显示出良好的检测性能,但是由于缺少顺序建模而在识别器中显示出局限性。
由于CRAFT检测器[2]具有表示字符区域语义信息的能力,因此被选作基础网络。 CRAFT网络的输出表示字符区域以及它们之间的连接的中心概率。由于两个模块的目标是定位字符的中心位置,我们设想此字符居中信息可用于支持识别器中的注意模块。 在这项工作中,我们对原始的CRAFT模型进行了三处更改;骨干替换,连接表示和方向估计。
骨干置换 最近的研究表明,使用ResNet50可以捕获检测器和识别器定义的明确的特征表示[30,1]。因此,我们将骨干网络由VGG-16 [40]换成ResNet50 [15]。
连接表示 垂直文本在拉丁文本中并不常见,但是在东亚语言(例如中文,日语和韩语)中经常出现。在这项工作中,使用二进制中心线连接顺序字符区域。进行此改变的原因是,在垂直文本上使用原始的亲和力图经常会产生不适定的透视变换,从而生成无效的框坐标。为了生成 ground truth连接图,在相邻字符之间绘制一条粗细为t的线段。这里,t = max((d 1 + d 2)/ 2 *α,1),其中d 1和d 2是相邻字符盒的对角线长度,α是缩放系数。使用该方程式可使中心线的宽度与字符的大小成比例。我们在实现中将α设置为。
方向估计 重要的是获取文本框的正确方向,因为识别阶段需要定义明确的框坐标才能正确识别文本。为此,我们在检测阶段增加了两个通道的输出,通道用于预测字符沿x轴和y轴的角度。为了生成定向图的 ground truth.
共享阶段包括两个模块:文本纠正模块和字符区域注意力( character region attention: CRA)模块。为了纠正任意形状的文本区域,使用了薄板样条(thin-plate spline:TPS)[37]转换。受[46]的启发,我们的纠正模块结合了迭代式TPS,以更好地表示文本区域。通过有吸引力地更新控制点,可以改善图像中文本的弯曲几何形状。 通过实证研究,我们发现三个TPS迭代足以校正。
典型的TPS模块将单词图像作为输入,但是我们提供了字符区域图和连接图,因为它们封装了文本区域的几何信息。我们使用二十个控制点来紧密覆盖弯曲的文本区域。为了将这些控制点用作检测结果,将它们转换为原始输入图像坐标。我们可以选择执行2D多项式拟合以平滑边界多边形。迭代TPS和最终平滑多边形输出的示例如图4所示。
识别阶段的模块是根据[1]中报告的结果形成的。 识别阶段包含三个组件:特征提取,序列建模和预测。 由于特征提取模块采用高级语义特征作为输入,因此它比单独的识别器更轻便。
表1中显示了特征提取模块的详细架构。提取特征后,将双向LSTM应用于序列建模,然后基于注意力的解码器进行最终文本预测。
在每个时间步,基于注意力的识别器都会通过屏蔽对特征的注意力输出来解码文本信息。 尽管注意力模块在大多数情况下都能很好地工作,但是当注意点未对齐或消失时,它无法预测字符[5,14]。 图5显示了使用CRA模块的效果。 适当放置的注意点可以进行可靠的文本预测。
用于训练的最终损失L由检测损失和识别损失组成,取L = Ldet + Lreg。 识别损失的总体流程如图6所示。损失在识别阶段流经权重,并通过字符区域注意模块传播到检测阶段。 另一方面,检测损失被用作中间损失,因此使用检测和识别损失来更新检测阶段之前的权重。
English datasets IC13 [20]数据集由高分辨率图像组成,229张图像用于训练和233张图像用于测试。 矩形框用于注释单词级文本实例。 IC15 [20]包含1000个训练图像和500个测试图像。 四边形框用于注释单词级文本实例。 TotalText [7] 拥有1255个训练图像和300张测试图像。与IC13和IC15数据集不同,它包含弯曲的文本实例,并使用多边形点进行注释。
Multi-language dataset IC19 [33]数据集包含10,000个训练和10,000个测试图像。 数据集包含7种不同语言的文本,并使用四边形点进行注释。
我们联合训练CRAFTS模型中的检测器和识别器。为了训练检测阶段,我们遵循[2]中描述的弱监督训练方法。通过在每个图像中进行批随机采样的裁剪单词特征来计算识别损失。每个图像的最大单词数设置为16,以防止出现内存不足错误。检测器中的数据增强应用了诸如裁剪,旋转和颜色变化之类的技术。对于识别器来说,ground truth框的角点在框的较短长度的0%到10%之间的范围内受到干扰。
该模型首先在SynthText数据集[12]上进行了50k迭代训练,然后我们进一步在目标数据集上训练了网络。使用Adam优化器,并应用在线困难样本挖掘On-line Hard Negative Mining(OHEM) [39]来在检测损失中强制使用正负像素的1:3比例。微调模型时,SynthText数据集以1:5的比例混合。我们采用94个字符来覆盖字母,数字和特殊字符,对于多语言数据集则采用4267个字符。
水平数据集(IC13,IC15) 为了达到IC13基准,我们采用在SynthText数据集上训练的模型,并在IC13和IC19数据集进行微调。在;推理过程中,我们将输入的较长边调整为1280。 结果表明,与以前的最新技术相比,性能显着提高。
然后在IC15数据集上对在IC13数据集上训练的模型进行微调。在评估过程中,模型的输入大小设置为2560x1440。请注意,我们在没有通用词汇集的情况下执行通用评估。表2中列出了IC13和IC15数据集的定量结果。
使用热图来说明字符区域图和连接图,并且在HSV颜色空间中可视化了加权的像素角度值。 如图所示,网络成功定位了多边形区域并识别了弯曲文本区域中的字符。左上角的两个图显示成功识别了完全旋转和高度弯曲的文本实例。
由字符区域注意辅助的注意力 在本节中,我们将通过训练没有CRA的单独网络来研究字符区域注意(CRA)如何影响识别器的性能。
表5显示了在基准数据集上使用CRA的效果。没有CRA,我们观察到在所有数据集上性能均下降。特别是在远景数据集(IC15)和弯曲数据集(TotalText)上,我们观察到与水平数据集(IC13)相比,差距更大。这意味着在处理不规则文本时,送入字符注意力信息可以提高识别器的性能。(?表格中的实验数据是对远景文本更有效,不知道这个结论如何得出来的?)
方向估计的重要性 方向估计很重要,因为场景文本图像中有许多多方向文本。我们的逐像素平均方案对于识别器接收定义良好的特征非常有用。当不使用方向信息时,我们比较模型的结果。在IC15数据集上,性能从%下降到%(%),在TotalText数据集上,h-mean值从%下降到%(%)。 结果表明,使用正确的角度信息可以提高旋转文本的性能。
推理速度 由于推理速度随输入图像大小而变化,因此我们在不同的输入分辨率下测量FPS,每个分辨率的较长边分别为960、1280、1600和2560。测试结果得出的FPS分别为、、和。对于所有实验,我们使用Nvidia P40 GPU和Intel®Xeon®CPU。与基于VGG的CRAFT检测器的 FPS [2]相比,基于ResNet的CRAFTS网络在相同大小的输入上可获得更高的FPS。而且,直接使用来自修正模块的控制点可以减轻对多边形生成进行后期处理的需要。
粒度差异问题 我们假设 ground-truth与预测框之间的粒度差异导致IC15数据集的检测性能相对较低。 字符级分割方法倾向于基于空间和颜色提示来概括字符连接性,而不是捕获单词实例的全部特征。 因此,输出不遵循基准测试要求的框的注释样式。图9显示了IC15数据集中的失败案例,这证明了当我们观察到可接受的定性结果时,检测结果被标记为不正确。
在本文中,我们提出了一种将检测和识别模块紧密耦合的端到端可训练单管道模型。 共享阶段中的字符区域注意力充分利用了字符区域图,以帮助识别器纠正和更好地参与文本区域。 此外,我们设计了识别损失通过在检测阶段传播并增强了检测器的字符定位能力。 此外,共享阶段的修正模块可以对弯曲的文本进行精细定位,并且无需开发手工后期处理。 实验结果验证了CRAFTS在各种数据集上的最新性能。
275 浏览 2 回答
85 浏览 7 回答
136 浏览 2 回答
141 浏览 5 回答
329 浏览 2 回答
327 浏览 1 回答
94 浏览 2 回答
330 浏览 2 回答
148 浏览 1 回答
170 浏览 5 回答
234 浏览 2 回答
260 浏览 3 回答
159 浏览 7 回答
154 浏览 3 回答
346 浏览 4 回答