热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《ASTER:AnAttentionalSceneTextRecognizerwithFlexibleRectification》论文阅读笔记

ASTER:AnAttentionalSceneTextRecognizerwithFlexibleRectification重点在于实验部分,看看人家围绕创新点都是怎么样做实验的




ASTER: An Attentional Scene Text Recognizer with Flexible Rectification

重点在于实验部分,看看人家围绕创新点都是怎么样做实验的。


文章目录


  • ASTER: An Attentional Scene Text Recognizer with Flexible Rectification
  • Abstract
  • 1. Introduction
  • 2. RELATED WORK
    • 2.1
    • 2.2 文本校正
    • 2.3 文字检测和端到端识别

  • 3. Model
    • 3.2 识别网络

  • 4 Experiments
    • 4.1 实验设置
      • 4.1.1 数据集
      • 4.1.2 文本校正网络
      • 4.1.3 文本识别网络
      • 4.1.4 优化器
      • 4.1.5 实现细节

    • 4.2 文本校正实验
      • 4.2.1 校正效果
      • 4.2.2 对与初始化权重的敏感性

    • 4.3 文本识别实验
      • 4.3.1 注意力分析
      • 4.3.2 双向解码器
      • 4.3.3 准确度和字长的关系

    • 4.4 与现有的技术比较

  • 5 END-TO-END RECOGNITION
  • 6 Conclustion
  • 参考




Abstract

目的: 处理扭曲或不规则布局的文本(如自然场景中的透视文本和弯曲文本,很难识别)提出了ASTER模型,一个端到端的神经网络模型,包括一个校正网络和一个识别网络。


  • 校正网络: 自适应的将输入图像转换成新图像,校正其中的文本。它由a flexible Thin-Plate Spline transformation 所驱动,在没有去人工注释的情况下去训练各种不规则性的文本。
  • 识别网络: an attentional sequence-to-sequence model,能够直接从校正后的图像中预测字符序列。

通过大量的实验,验证了校正的有效性,并展示了ASTER的SOTA识别性能,并证明ASTER是在端到端的识别模型中一个强大组件。

Q1:怎样通过实验来证明其校正有效性以及识别性能的?


1. Introduction

介绍了使用卷积神经网络(CNN)通过字符识别文本的方法,使用CNN对单词进行分类的方法[24],[26],以及使用CNN和递归神经网络的组合来识别字符序列的方法(RNN) [54]。但是没有解决不规则的文本的问题,不规则文本指的是:非水平和正面、具有弯曲布局等的文本。
提出了ASTER,它是具有灵活校正的注意力场景文本识别器,用于场景文本识别。ASTER通过清晰的纠正机制来解决不规则文本问题。
创新点:


  1. 通过校正网络来实现文本校正,这个变换是: parameterized Thin-Plate Spline (TPS),一种 灵活的变换,可以处理各种文本不规则性。该机制在没有额外注释的情况下显著提高了识别性能。
  2. 识别网络通过以an attentional sequence-tosequence 的方式从校正后的图像预测字符序列。并且将传统的单向解码器扩展为双向解码器。双向解码器由两个解码方向相反的解码器组成。它合并了两个解码器的输出,利用了两个方向的依赖性。
  3. 提出了一种利用ASTER的文本校正和识别能力来增强文本检测器的方法。

2. RELATED WORK

2.1

在这里插入图片描述

我们的方法属于结构化学习的范畴。它基于注意序列对序列的学习模型[3],[13]。这种模型学习从输入序列中预测输出序列,最初被提出用于机器翻译和语音识别任务。这篇论文的会议版[55]是第一个,与[36]并行,在场景文本识别任务中探索这样的模型。这项工作进一步扩展了双向解码器[55]。


2.2 文本校正

场景文本通常以单个单词的形式被识别,现在的方法不是很适用,作者的方法在概念上更简单,因为它不需要显式的字符检测。此外,与[64]和[11]相比,我们的方法不需要额外的字符级注释。


2.3 文字检测和端到端识别


  • TextBoxes应用SSD检测器来对文本进行检测
  • EAST使用FCN全卷积神经网络对字符进行分割检测
  • Deep TextSpotter 将基于FCN的检测器和基于CTC的识别器结合成一个端到端的可训练框架。
  • [63] [27]首先生成文本建议,然后用独立的单词识别模型进行识别。

虽然本文的重点是文本识别,但我们表明ASTER有助于实现最先进的端到端性能,即使没有最强的检测器。此外,我们还证明了ASTER可以通过其整流机制增强探测器。这些特性使ASTER成为端到端识别系统中一个有吸引力的识别器。


3. Model

该模型由文本校正网络和文本识别网络两部分组成。在接下来的章节中,我们首先分别描述第3.1节和第3.2节中的两个部分。然后,我们在第3.3节中描述了培训策略。


3.2 识别网络

只使用图像和它们的基本文本注释进行训练,这个模型的核心是CTC算法。CTC提供了一个对水平字符位置和间距不敏感的可微分损失函数,实现了端到端的可训练序列识别。尽管CTC很有效,但它没有一种机制来模拟其输出字符之间的依赖关系。因此,,[54]依赖于外部语言模型,如词典,将语言优先纳入其识别。我们使用双向解码器扩展的序列到序列模型来解决识别问题。由于序列到序列模型的输出是由RNN生成的,它捕获了字符相关性,因此将语言模型(language modeling)纳入了识别过程。此外,双向解码器捕捉两个方向上的字符相关性,利用更丰富的上下文并提高性能。


4 Experiments

用大量的实验来证明作者模型的每个部分的有效性,并将其性能与其他最先进的方法进行比较在本节中,我们从第4.1节中的实验设置开始。然后,我们在第4.2节和第4.3节中进行了一些消融研究,每个研究都针对一个模型零件,以证明其有效性并分析其行为。最后,在第4.4节中,我们评估了公共数据集上的ASTER,并将其与其他最先进的方法进行了比较。


4.1 实验设置


4.1.1 数据集

该模型在两个合成数据集上进行训练,而不需要在其他数据集上进行微调。该模型在5个标准数据集上进行了测试,以评估其总体识别性能。此外,我们在两个特殊的不规则文本数据集上测试了该模型,以验证其校正能力。按照标准,我们使用不区分大小写的单词准确度来评估识别性能。
Synth90k是[24]中提出的合成文本数据集。该数据集包含900万张由一组90k个常用英语单词生成的图像。文字通过随机变换和效果呈现在自然图像上。Synth90k中的每个图像都用一个基本事实词进行注释。该数据集中的所有图像都是为训练而拍摄的。
SynthText是在[19]中提出的合成文本数据集。生成过程与[24]相似。但与[24]不同的是,SynthText是针对文本检测的。因此,文字被渲染到完整的图像上。我们使用基本单词边界框来裁剪单词。
IIIT5k-word(IIIT5k)[44]包含从网络上收集的3000张测试图像。每个图像都与一个50字的短词典和一个1000字的长词典相关联。词典由基本词汇和其他随机词汇组成。
==‘街景T ext (SVT) ==[60]收集自谷歌街景。该测试集包含647张裁剪单词的图片。SVT中的许多图像被噪声、模糊和低分辨率严重破坏。每个图像都与一个50个单词的词典相关联。
ICDAR 2003 (IC03) [42]包含860张过滤后的裁剪词图像。在[60]之后,我们丢弃包含非字母数字字符或少于三个字符的单词。每个图像都有一个在[60]中定义的50个单词的词典。
ICDAR 2013 (IC13) [32]继承了IC03的大部分图像,并通过新图像对其进行了扩展。通过删除包含非字母数字字符的单词来过滤数据集。数据集包含1015幅图像。没有提供词典。
ICDAR 2015 Incidental Text(IC15)是ICDAR 2015 Robust Reading大赛的挑战4[31]。这项挑战以附带的文本图像为特色,这些图像是由一副谷歌眼镜在没有仔细定位和聚焦的情况下拍摄的。因此,数据集包含大量不规则文本。测试图像是通过使用基本单词边界框裁剪单词获得的。
SVT-Perspective (SVTP) 被提出用于评估识别透视文本的性能。SVTP的图像是从谷歌街景的侧视图像中挑选出来的。其中许多被非正面视角严重扭曲。该数据集由639幅用于测试的裁剪图像组成,每幅图像都有一个从支持向量机数据集继承而来的50个单词的词典。
CUTE80 (CUTE) 数据集侧重于弯曲文本。它包含80幅在自然场景中拍摄的高分辨率图像。CUTE80最初是为探测任务而提出的。我们裁剪注释过的单词,得到一个包含288张图片的测试集。没有提供词典。


4.1.2 文本校正网络

图像在进入校正网络之前被调整到64 × 256。我们使用大的输入尺寸,以便在校正采样之前保留高分辨率。采样器输出大小为32 × 100的图像,这也是识别网络的输入大小。定位网络对下采样到32×64的输入图像起作用。它由6个卷积层组成,核大小为3 × 3。前5层中的每一层后面都有一个2 × 2最大池层。输出滤波器的数量分别为32、64、128、256、256和256。卷积层后面是两个完全连接的层。它们的输出单元数量分别为512个和2K个,其中K为控制点数量。在整个实验过程中,我们将K设置为20。K的其他值导致类似的结果。


4.1.3 文本识别网络

识别网络,使用45层残差网络作为卷积特征提取器。每个残差单元由1 × 1卷积和3 × 3卷积组成,最近的工作[23]表明了这种方案的效率。在前两个残差块中,通过2 × 2步卷积对特征图进行下采样。在第四个和第五个剩余块中,步幅变为2×1。为了区分相邻字符,2 × 1下采样步幅沿水平轴保留了更高的分辨率。

剩余网络之后是两层双向LSTM。每一层由一对具有256个隐藏单元的LSTMs组成。在进入下一层之前,LSTMs的输出被连接并线性投影到256维。

解码器是 attentional LSTMs。注意单位和隐藏单位的数量都是256。解码器可识别94个字符类别,包括数字、大写和小写字母以及32个ASCII标点符号

当评估不区分大小写且忽略标点符号时,我们将解码器输出标准化为小写,并移除所有预测的标点符号。

在这里插入图片描述


4.1.4 优化器

模型是从头开始训练的。我们采用ADADELTA [69]作为优化器。带有动量的更简单的SGD优化器也将成功地训练模型,但精度稍低。该模型由64个例子分批训练,迭代100万次。每一批都是由32个来自Synth90k的例子和另外32个来自SynthText的例子构成的。以这种方式训练的模型明显优于仅在Synth90k上训练的模型(例如[54],[55])。学习速率最初设置为1.0,在步骤0.6M和0.8M分别衰减为0.1和0.01。虽然ADADELTA中的学习速率是自适应的,但是我们发现经典的学习速率调度对性能是有益的。


4.1.5 实现细节

我们使用TensorFlow实现了所提出的模型[1]。该型号在一个12GB内存的NVIDIA TITAN Xp显卡上训练。训练速度约为6.5次迭代/秒,用时不到2天即可达到收敛。当测试批量为1时,每幅图像的推理速度为20毫秒。这种速度可以通过更大的批量来提高


4.2 文本校正实验

我们研究文本校正网络的两个方面。首先,我们从定量和定性两个方面研究文本校正的效果。其次,对于定位网络,我们研究了它对权重初始化的敏感性。


4.2.1 校正效果

为了分析校正的效果,我们研究了所提出模型的两个变体。
第一种变型仅由识别网络组成,不执行校正。为了避免其他模型部分的影响,我们还将双向解码器改为单向解码器。
第二种变体是第一种加上校正网络。两种变体都是从头开始训练的,使用第4.1节中描述的相同训练设置。在六个测试数据集上评估了它们的性能,即IIIT5k、SVT、IC03、IC13、SVTP和CUTE。
表2列出了两种变体的结果。可以看出,校正后的模型在所有数据集上都优于未校正的模型,尤其是在SVTP (+4.7%)和CUTE (+3.1%)数据集上。由于这两个数据集都由不规则文本组成,因此校正显示出显著的效果。
在这里插入图片描述
通过构建一系列不规则性水平递增的数据集。(不同的比例混合SVTP+CUTE和IIIT5k来实现的。所有数据集有933个例子。)图9绘制了校正改进(有矩形框和无矩形框的精度差异)对比部分不规则文本。可以看出,校正效果随着不规则程度单调增加,显现出了对不规则文本的校正效果。
在这里插入图片描述
为了进行定性比较,表4显示了来自CUTE80和SVTPerspective的一些示例的校正结果。即使没有对控制点位置的直接监督,校正网络也学会将控制点放置在文本的上下边缘附近。这些点以均匀的间距排列在平滑的曲线上,在校正后的图像中几乎没有失真或伪影。
在这里插入图片描述


4.2.2 对与初始化权重的敏感性

正确的权重初始化是训练校正网络顺利进行的必要条件。如第3.3节所述,我们用零权重和特定值的偏差初始化最后一个完全连接的层。我们将这个初始化方案命名为identity
为了演示权重初始化的效果,图10将identity与另一个称为random的初始化方案进行了比较,其中所有模型层都是随机初始化的。可以看出,identity导致更快的收敛和更稳定的训练过程。同时,一个随机初始化的模型仍然可以通过更多的训练迭代训练成功,最终达到非常接近identity的精度。我们观察到,一个随机初始化的模型最初会产生垃圾校正的图像,但在几千次训练迭代后会恢复正常。


  • 不同模型初始化方案下的单词准确度(左)和训练损失(右)。
    在这里插入图片描述
    在[55]中,一些精心设计的权重初始化方案是成功训练模型所必需的。随机初始化训练完全失败。相比之下,本文的模型对权重初始化不太敏感。即使随机初始化,也能成功训练。

4.3 文本识别实验

在这一部分,我们研究了文本识别网络的几个关键方面,包括它的注意机制、双向解码器以及识别性能与字长的关系。


4.3.1 注意力分析

注意机制在识别网络中起着核心作用。根据等式5,局部特征被加权组合以识别字符。这表明注意机制执行隐含的字符检测。
在这里插入图片描述
为了理解解码器的行为,我们提取了注意权重,即等式5中的αt,并在图11所示的几个示例中对其进行可视化。在每张图片上,一个注意力权重矩阵在2D图上被可视化。图的第t行对应于第t解码步骤的注意力权重。除了非常短的单词,我们可以观察到注意力权重和字符之间的清晰对齐。这展示了由识别网络执行的隐式字符检测。


4.3.2 双向解码器

为了评估双向解码器的有效性,我们创建了三个模型变量,即L2R,它以从左到右的顺序识别文本;R2L,按照从右到左的顺序识别文本;Bidirectional,双向解码器。这些变体也是使用第4.1节中描述的相同训练设置从头开始训练的。表5比较了它们的识别精度。

在这里插入图片描述
总的来说,L2R和R2L具有相似的精度。L2R在IIIT5k、IC03和SVTP方面表现出色,而R2L在其他方面表现出色。这表明这两种变体可能倾向于不同的数据分布。同时,双向在所有数据集上都优于两种变体,只有一个例外,双向等于更好的变体。特别是在支持向量机上,双向解码器的性能分别优于其他两种变体2.8%和1.6%,验证了双向解码器的有效性。


4.3.3 准确度和字长的关系

识别网络将固定大小的图像作为输入。虽然将图像大小调整到固定大小不可避免地会导致图像失真,但我们认为它对性能的影响很小。主要原因是失真同样影响训练和测试数据。因此,我们的模型被训练来处理拉长和压缩的例子。


  • 识别精度与字长的关系(在IIIT5k上测试)
    在这里插入图片描述
    图12显示了识别精度和字长之间的关系。可以看出,对于长度等于或小于11的单词,识别精度相当均匀。超过这个长度,观察到精度下降。然而,这在一定程度上是因为在全词准确性的衡量下,长词天生更难正确预测。我们也尝试过用比例调整大小加上填充来代替固定大小的调整大小,但是在大多数情况下,它会导致更差的性能。

4.4 与现有的技术比较

最后,我们比较了我们的模型和其他最先进的模型的性能。一些数据集提供用于约束识别输出的词汇。当给定一个词典时,我们只需在编辑距离的度量下用最近的词典词替换预测词。


  • 识别结果比较。“50”、“1k”、“Full”都是词汇。“0”表示没有词典。*本文的会议版本。“90k”和“ST”分别是Synth90k和SynthText数据集。“ST+”表示包括字符级注释。“Private”指私人训练数据。

在这里插入图片描述


5 END-TO-END RECOGNITION
6 Conclustion

针对不规则文本识别问题,提出了一种基于STN框架和TPS变换的显式校正机制。生成的文本识别器称为ASTER,在裁剪文本识别和端到端识别任务上表现出卓越的性能。
此外,由于其校正机制,ASTER在增强文本检测器方面显示出额外的优点,甚至能够对为水平文本设计的检测器进行定向文本检测。在这项工作中,端到端的文本识别是以两阶段的方式进行的,这意味着检测是在另一个网络中使用单独的特征进行的。正如我们所展示的,ASTER执行隐式文本检测。但是这种检测能力仅限于目标文本附近的小范围。将这个范围扩展到整个图像将产生一个单阶段、端到端的识别系统,并且是一个值得进一步研究的方向。


参考

博客1



推荐阅读
  • td{border:1pxsolid#808080;}参考:和FMX相关的类(表)TFmxObjectIFreeNotification ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • DirectShow Filter 开发指南
    本文总结了 DirectShow Filter 的开发经验,重点介绍了 Source Filter、In-Place Transform Filter 和 Render Filter 的实现方法。通过使用 DirectShow 提供的类,可以简化 Filter 的开发过程。 ... [详细]
  • 本文介绍了如何利用OpenCV库进行图像的边缘检测,并通过Canny算法提取图像中的边缘。随后,文章详细说明了如何识别图像中的特定形状(如矩形),并应用四点变换技术对目标区域进行透视校正。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 处理Android EditText中数字输入与parseInt方法
    本文探讨了如何在Android应用中从EditText组件安全地获取并解析用户输入的数字,特别是用于设置端口号的情况。通过示例代码和异常处理策略,展示了有效的方法来避免因非法输入导致的应用崩溃。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 使用TabActivity实现Android顶部选项卡功能
    本文介绍如何通过继承TabActivity来创建Android应用中的顶部选项卡。通过简单的步骤,您可以轻松地添加多个选项卡,并实现基本的界面切换功能。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 本文探讨了一种统一的语义数据模型,旨在支持物联网、建筑及企业环境下的数据转换。该模型强调简洁性和可扩展性,以促进不同行业间的插件化和互操作性。对于智能硬件开发者而言,这一模型提供了重要的参考价值。 ... [详细]
  • SDWebImage第三方库学习
    1、基本使用方法异步下载并缓存-(void)sd_setImageWithURL:(nullableNSURL*)urlNS_REFINED_FOR_SWIFT;使用占位图片& ... [详细]
  • 在执行市场篮子分析时遇到性能瓶颈,尤其是在设定频繁项集的支持度阈值为1%时。本文探讨了如何通过调整代码和参数来提高分析效率。 ... [详细]
author-avatar
瘦瘦的胖菇凉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有