【读点论文】PageNet Towards End2End Weakly Supervised Page-Level Handwritten Chinese Text Recognition

PageNet: Towards End-to-End Weakly Supervised Page-Level Handwritten Chinese Text Recognition

Abstract

  • 几十年来,手写体中文文本识别(HCTR)一直是一个活跃的研究课题。然而,以往的研究大多只关注裁剪文本行图像的识别,忽略了实际应用中文本行检测所带来的误差。尽管近年来提出了一些针对页面级文本识别的方法,但它们要么局限于简单的布局,要么需要非常详细的注释,包括昂贵的行级甚至字符级边界框。为此,我们提出了端到端弱监督页面级HCTR的PageNet。PageNet对字符进行检测和识别,并预测字符之间的阅读顺序,在处理包括多向和弯曲文本行在内的复杂布局时更加稳健和灵活。利用提出的弱监督学习框架,PageNet只需要对真实数据的文本进行标注;但是,它仍然可以在字符和行两个级别输出检测和识别结果,避免了标记字符和文本行边界框的人工和成本。在五个数据集上进行的大量实验表明,PageNet优于现有的弱监督和完全监督页面级方法。这些实验结果可能会引发进一步的研究,超越基于连接主义时间分类或注意力的现有方法的领域。源代码可从https://github.com/shannanyinxiang/PageNet获得。
  • 论文地址:[2207.14807] PageNet: Towards End-to-End Weakly Supervised Page-Level Handwritten Chinese Text Recognition (arxiv.org),2022年8月发表于IJCV
  • 该工作针对篇幅级手写中文文本识别问题,提出了端到端弱监督的方法PageNet。该方法的主要优势在于:(1)从一个新的角度(基于图学习)解决篇幅级中文文本识别问题——检测识别单字并预测单字间的阅读顺序。(2)模型可以弱监督地训练。对于真实数据仅需要标注文本,不需要任何边界框标注,极大地降低了数据的标注成本。(3)尽管只需要文本标注信息,模型却可以预测出单字级和文本行级的检测和识别结果。实验证明这种能力可以应用于对数据进行无需人工干预的高精度的自动标注。(4)该方法深入研究篇幅级文本识别中的阅读顺序问题,所提出的阅读顺序模块可以处理多方向文本、弯曲文本等复杂的阅读顺序。(5)实验证明该方法具有较强的泛化能力,适用于扫描、古籍、拍照和多语言等多种文档类型。IJCV 2022 | PageNet: 面向端到端弱监督篇幅级手写中文文本识别 - 智源社区 (baai.ac.cn)

Introduction

  • 手写体中文文本识别(HCTR)已经研究了几十年。然而,以往的大多数研究假设文本行检测是由标注提供的,并且只关注裁剪的文本行图像的识别。虽然这些行级方法与语言模型相结合时的精度似乎是足够的,但它们仅限于字符的一维分布,并且在实际应用中受到文本行检测精度的显著影响。因此,页级手写体文本识别具有重要的工业价值,近年来引起了人们极大的研究兴趣。一类页面级方法从整个页面中分割文本区域并识别文本区域,而其他区域利用连接主义时间分类(CTC) 或注意机制结合多维长短期记忆,以无分割或隐式分割的方式解决页面级文本识别问题

  • 但是,现有的页面级方法有几个限制。首先,它们中的大多数不能以弱监督的方式进行训练,即仅使用行级或页级转录本。额外的标注(例如文本行或字符的边界框)是必要的,但是注释它们的成本很高。有的研究可以在不使用相应标注的情况下生成字符边界框,但仍然需要文本行边界框注释。一些研究允许仅用成绩单对部分训练数据进行注释;然而,在剩余的训练数据中仍然需要昂贵的检测注释。虽然提出的方法可以在弱监督下进行训练,但它仅限于特定的布局,通过垂直投影将页面分割成文本行。此外,使用转录本进行训练,但不能显式输出字符或文本行的边界框。其次,阅读顺序问题是准确理解句子的一个非常重要的问题,但在以往的文献中很少讨论。回顾过去,大多数行级和页级方法从左到右输出识别结果。还有页面级方法,简单地将检测到的单词或字符聚类到基于特定设计规则的文本行中,这些规则不能推广到其他布局。然而,现实世界中的阅读顺序明显要复杂得多,比如繁体中文文本从上往下阅读,文本线条弯曲,难以检测和识别。第三,以前的大多数方法都不是端到端可训练的,这在一定程度上降低了准确性和效率。

  • 一些研究分别训练两个模型来定位和识别文本行;然而,它可能导致定位错误传播到识别部分。Start-Follow-Read模型由三个顺序执行的子网络组成,导致整个过程效率低下。最后,以前的大多数方法都不是针对中文文本设计的,因此效果不佳。虽然已经针对中文文档提出了一些方法,但它们仅限于特定的布局或需要详细的注释。

  • 为了解决上述限制,我们提出了一种名为PageNet的端到端弱监督页面级HCTR的新方法。PageNet从一个新的角度执行页级文本识别,即检测和识别字符并预测它们之间的阅读顺序。提出了三种新的PageNet组件。检测和识别模块检测和识别页面上的每个字符。读序模块决定字符之间的链接关系,以及一个字符是否是一行的开始/结束。最后,基于图的解码算法输出字符和行级的检测和识别结果。每个组件无缝集成到一个统一的网络中,使其端到端可训练,效率高。通常,训练这样的网络需要对字符和文本行进行昂贵的边界框注释。为此,提出了一种新的弱监督学习框架,包括匹配、更新和优化,使PageNet在弱监督下可训练。不再需要边界框标注,只需要为实际数据标注行级别的抄本

  • 据我们所知,PageNet是解决弱监督下页面级HCTR的第一种方法。虽然没有为真实数据提供边界框标注,但我们的模型仍然可以产生丰富的信息,包含字符和行两个级别的检测和识别结果。因此,我们的方法可以避免标注边界框的高成本。此外,弱标注数据很容易从互联网上获取,这使得数据收集几乎是免费的。所需标注与模型输出的比较如下表所示。与现有的页面级方法相比,我们的方法需要更少的注释,但输出更多的信息。据我们所知,PageNet也是第一个解决页面级HCTR中读取顺序问题的方法。读取顺序问题涉及到确定读取字符的顺序。利用所提出的阅读顺序模块和基于图形的解码算法,该模型可以处理任意弯曲和多向的文本。此外,虽然该模型是为中文文本设计的,但它也可以处理包括中文和英语在内的多语言文本。

    • 在这里插入图片描述

    • 所需标注与现有页面级方法的模型输出的比较(L:行级;W:句;C:字符级)

  • 为了验证我们方法的有效性,我们在CASIAHWDB 、ICDAR2013、MTHv2 、SCUT-HCCDoc 和JS-SCUT PrintCC五个数据集上进行了大量实验。由于我们的模型是弱监督的,我们进一步提出了两个评估指标,称为准确率* (AR*)和正确率* (CR*),用于只给出行级转录本的情况。实验结果表明,PageNet优于其他弱监督的页面级方法。与完全监督的方法相比,PageNet也可以获得具有竞争力或更好的性能。此外,对于直接识别裁剪文本行图像的HCTR, PageNet的性能优于现有的行级方法。综上所述,本文的主要贡献有:

    • 针对端到端弱监督页面级HCTR,提出了一种名为PageNet的新方法。PageNet从一个新的角度解决了页面级的文本识别,即检测和识别字符,预测阅读顺序。
    • 提出了一种新的弱监督学习框架,包括匹配、更新和优化,以使PageNet仅具有对真实数据注释的行级转录本即可训练。然而,它可以输出字符和行级的检测和识别结果。因此,可以显著降低手工标注的成本。
    • 据我们所知,PageNet是解决页面级HCTR中读取顺序问题的第一种方法。该模型可以处理具有多向阅读顺序和任意弯曲文本线的页面
    • 在五个基准测试上进行的大量实验证明了PageNet的优越性,表明它可能是迈向解决页面级HCTR问题的一种新的有效方法的重要一步。

Related Work

Line-level Handwritten Chinese Text Recognition

  • 行级HCTR方法的目的是识别文本行图像,可分为基于分割的方法和无分割的方法两类。基于分割的方法基于过分割或深度检测网络来解决这个问题。使用过分割的策略首先获得连续的过分割,然后通过整合分类器输出、几何上下文和语言上下文来搜索最优的分割识别路径。Wang等利用深度知识训练和异构卷积神经网络对过分割方法进行了改进。此外,Wu等人在过度分割方法的基础上探索了神经网络语言模型,Wang等人提出了一种弱监督学习方法。然而,这些方法难以识别触摸和重叠字符。因此,随着深度检测网络的普及,Peng等提出了一种分割和识别模块,以端到端方式检测和识别字符。
  • 此外,还有一些方法可以从无分割的角度解决行级HCTR。可以采用了基于隐马尔可夫模型的系统。Wang等进一步介绍了作者对这种方法的适应。结合长短期记忆递归神经网络(LSTM-RNN)和CTC 是另一个框架。Messina和Louradour使用多维LSTM-RNN来解决行级HCTR。Wu等人提出了一种可分离的多维LSTM-RNN,与之前基于lstm-rnn的方法相比,取得了显著的改进。除了专注于网络架构的方法外,Xie等人还探索了数据预处理和增强管道,并取得了最先进的结果。注意机制也可用于行级HCTR。Xiu等探索了基于注意力的解码器,并提出了一种多层多模态融合网络,以融合视觉和语言语义信息。此外,为了同时利用基于分割和无分割的方法,Zhu等人提出使用卷积组合策略将这两种方法结合起来。与这些行级方法相反,建议的PageNet模型以端到端的方式直接从整个页面中识别文本。

Page-level Handwritten Text Recognition

  • 页面级手写文本识别的目标是从整个页面中识别手写文本。一类方法检测文本区域,然后识别它们。Chung和Delteil为文本定位和识别开发了两个独立的组件。Carbonell等人提出了一个端到端文本检测和转录框架,其中这两个组件是联合训练的。Huang等人使用对抗特征增强网络进一步改进了端到端框架。Moysset等人提出回归左侧三联体而不是边界框的坐标,并使用带有额外行尾标签的识别器确定行尾。一些场景文本识别方法,如Mask TextSpotter 和FOTS也可以应用于页面级手写文本识别。对于中文文本,Ma等人提出了一种同时进行布局分析、字符检测和字符识别的历史文档处理系统。Yang等人提出了一种用于历史文献中严密汉字检测的识别导向检测器。
  • 但是,必须为上述方法提供检测注释,例如文本行或字符的边界框。因此,一些研究集中在弱监督页面级手写文本识别上,这种识别只需要进行模型训练的抄本。Xie等人提出了一种历史文献弱监督字符检测方法。然而,这种方法仅限于特定的布局,不能推广到无约束的情况。Wigington et al 提出了Start-Follow-Read模型,该模型只需要对一小部分数据进行完全标注,其余数据进行弱标注。Tensmeyer和Wigington进一步设计了一种新的对齐算法,并启用了使用不换行的转录本来训练Start-Follow-Read等方法。将多维LSTM-RNN与注意机制相结合是解决弱监督页面级手写文本识别的另一种方法。根据这一想法,Bluche等人和Bluche提出了转录段落的方法。此外,OrigamiNet表明,CTC也可以通过隐式地将二维输入信号展开为一维,用于页面级文本识别。
  • 与现有方法相比,本文提出的PageNet在训练时不需要对真实数据进行边界框标注,但同时输出字符和行级的检测和识别结果。PageNet也是第一个解决页面级HCTR中读取顺序问题的方法,使模型更加鲁棒和灵活。

Methodology

  • 大多数现有的方法解决页面级文本识别遵循自顶向下的管道,即文本行检测和识别。然而,弯曲的文本线已经成为这些方法的主要挑战,并且阅读顺序问题很少被研究。此外,与其他语言不同,汉字是直接构成句子的基本元素。因此,遵循自底向上的管道,我们提出了端到端弱监督页面级HCTR的PageNet。

  • PageNet从一个新的角度进行页级文本识别,即检测和识别字符,并预测字符之间的阅读顺序,这使得它能够处理多向阅读顺序和任意弯曲文本线的页面。如下图所示,PageNet由四部分组成:(1)用于特征提取的骨干网络,(2)用于字符检测和识别的检测识别模块,(3)用于预测字符之间阅读顺序的读取顺序模块,(4)基于图的解码算法,该算法输出的最终结果包含字符级和行级的检测和识别结果

    • 在这里插入图片描述

    • PageNet的整体架构。检测识别模块根据骨干网提取的特征对字符检测识别结果进行预测,读取顺序模块对字符之间的阅读顺序进行预测。结合这两种预测,基于图的解码算法输出最终结果,其中包含字符和行级别的检测和识别结果。

  • PageNet的详细网络架构如下图所示。用于字符检测、字符识别和读取顺序的组件集成到一个端到端优化的单个网络中。

    • 在这里插入图片描述

    • 详细的网络架构。

  • 以前的大多数方法都需要手动标注,包括昂贵的行级和字符级边界框。为此,我们提出了一种新的弱监督学习框架(下图),使PageNet只对真实数据进行行级别的文本注释,从而避免了标记字符和文本行边界框的人工和成本

    • 在这里插入图片描述

    • 弱监督学习的总体框架。

Backbone Network

  • 给定高H、宽W的图像,骨干网提取形状为 W 16 × H 16 × 512 \frac W{16} × \frac H{16} × 512 16W×16H×512 的高级特征图。下面为方便起见,我们将 W 16 \frac{W}{16} 16W 记为Wg,将 H 16 \frac{H}{16} 16H 记为Hg。

Detection and Recognition Module

  • 继我们之前的工作(Peng et al ., 2019)成功解耦合的三分支设计之后,我们提出了用于字符检测和识别的检测和识别模块,该模块由字符边界框(CharBox)、字符分布(CharDis)和字符分类(charcl)分支组成。我们首先对输入图像应用Wg × Hg网格,如下图左侧所示。表示第 i 列第 j 行处的网格为G (i;j)。然后,各分支机构的功能如下:

    • 在这里插入图片描述

    • CharBox分支输出 O b o x O_{box} Obox 与边界框坐标 B b o x B_{box} Bbox 之间的关系。

  • CharBox支路输出形状为Wg × Hg × 4的 O b o x O_{box} Obox。上图和Eq.(1)给出了 O b o x ( i ; j ) = ( x o ( i , j ) ; y o ( i , j ) ; w o ( i , j ) ; h o ( i , j ) ) O ^{(i;j)} _{box }= (x ^{(i,j)}_o;y ^{(i,j)}_o;w ^{(i,j)}_o;h ^{(i,j)}_o) Obox(i;j)=(xo(i,j);yo(i,j);wo(i,j);ho(i,j)),坐标 B b o x ( i ; j ) = ( x b ( i , j ) ; y b ( i , j ) ; w b ( i , j ) ; h b ( i , j ) ) B^{(i;j)} _{box }= (x ^{(i,j)}_b;y ^{(i,j)}_b;w ^{(i,j)}_b;h ^{(i,j)}_b) Bbox(i;j)=(xb(i,j);yb(i,j);wb(i,j);hb(i,j))为网格 G ( i , j ) G^{(i,j)} G(i,j) 的边界框。

    • 在这里插入图片描述
  • CharDis 分支产生形状为Wg ×Hg的字符分布 O d i s O_{dis} Odis,其中 O d i s ( i ; j ) O ^{(i;j)}_{dis} Odis(i;j) 为网格 G ( i ; j ) G ^{(i;j)} G(i;j) 包含字符。

  • CharCls 分支生成形状为 W g × H g × N c l s W_g × H_g × N_{cls} Wg×Hg×Ncls O c l s O_{cls} Ocls,其中 O c l s ( i ; j ) O ^{(i;j)}_ {cls} Ocls(i;j) 包含网格 G ( i ; j ) G ^{(i;j)} G(i;j) N c l s N_{cls} Ncls 类别的分类概率。

Reading Order Module

  • 对于行级识别器,从左到右排列被识别的字符是很自然的。然而,当字符可以沿二维任意分布时,情况就变得复杂得多。以往文献很少对阅读顺序问题进行研究,尤其是对HCTR任务的研究。然而,这个问题对于构建一个灵活和健壮的页面级别识别器是很重要的。因此,我们提出了阅读顺序模块来解决这个问题。
Problem Definition
  • 给定一组无序的字符,读取顺序问题是确定读取字符的顺序。通过将字符重新排列成多个行级转录本,我们只在行级而不是页级研究阅读顺序。这意味着一行级转录本中的字符按照阅读顺序排序,但我们不考虑不同行级转录本之间的页面级阅读顺序。当页面包含简单的布局时,例如只有一个段落,可以使用位置信息轻松确定页面级别的阅读顺序。然而,当一个页面包含复杂的布局时,通常很难确定页面级别的阅读顺序。不同的人可能会以不同的顺序阅读文本。此外,大多数数据集仅单独提供每行的转录本。
Our Solution
  • 以前的大多数方法只是通过检测文本行并从左到右识别它们来解决阅读顺序问题。然而,这些方法难以处理多向和弯曲的文本线。为了解决这些问题,如下图所示
    • 在这里插入图片描述

    • 通过三个预测来解决阅读顺序问题:(1) O s o l O_{sol} Osol :行首分布;(2) O r d O_{rd} Ord: 4向阅读顺序预测;(3) O e o l O_{eol} Oeol:行尾分布。

    • 我们将阅读顺序问题分解为三个步骤:(1)从行首开始,(2)根据字符之间的链接关系找到下一个字符,(3)在行尾停止。将链接关系进一步分解为从当前网格到相邻网格的逐级移动。这个管道使得处理具有任意方向和曲线的文本行成为可能。

  • 具体来说,我们通过三个预测来解决阅读顺序问题,即行起始分布Osol、4向阅读顺序预测Ord和行尾分布Oeol。读序模块的详细网络架构如网络结构 参数设置图©所示。Osol和Oeol的形状为Wg ×Hg,其中 O s o l ( i ; j ) O ^{(i;j)}_{sol} Osol(i;j) O e o l ( i ; j ) O ^{(i;j)} _{eol} Oeol(i;j) 为栅格 $G^{(i;j)} $ 分别为行起始和行结束。四向读序预测Ord的形状为Wg × Hg × 4,其中 O r d ( i ; j ) O ^{(i;j) }_{rd} Ord(i;j) 为网格 G ( i ; j ) G ^{(i;j)} G(i;j) 四个方向的概率。预定义的四个方向分别是上、右、下、左。如果栅格 G ( i ; j ) G ^{(i;j)} G(i;j) 为右,则下一个网格在其右侧,即下一个网格为 G ( i + 1 ; j ) G ^{(i+1;j)} G(i+1;j) 。其他三个方向也可以类似地定义。因此,从一个字符开始,我们可以按照最大概率从一个网格向下一个网格迭代移动,直到到达一个新字符,从而在阅读顺序中找到下一个字符,如上图搜索路径的可视化所示。

Graph-based Decoding Algorithm

  • 基于检测识别模块和读取顺序模块的预测,我们提出了一种新的基于图的解码算法,通过将字符和读取顺序视为一个图来产生包含字符和行级别检测和识别结果的最终输出。如下图所示,基于图的解码算法包括以下三个步骤:(1)由检测识别模块的输出导出字符检测识别结果;(2)根据读取顺序模块的输出生成读取顺序;(3)将读取顺序与字符检测识别结果结合得到包含字符和行两个层次的检测识别结果的最终结果。
    • 在这里插入图片描述

    • 基于图的流水线解码算法。基于图的解码算法根据检测识别模块和读序模块的输出,生成最终的解码结果。

Character Detection and Recognition
  • 检测识别模块预测边界框的坐标 B b o x B_{box} Bbox 、字符分布 O d i s O_{dis} Odis 和分类概率 O c l s O_{cls} Ocls。我们使用非最大抑制(NMS) 去除冗余的边界框,得到字符检测和识别结果,如上图中蓝色部分所示。字符检测和识别结果包含多个字符及其边界框和类别。
Reading Order
  • 生成读取顺序的管道如上图中橙色部分所示。这三个步骤如下。节点。每个字符检测和识别结果被视为一个节点。因此,每个节点对应一个网格,其中预测了相关字符的边界框和类别。边缘。基于4向阅读顺序预测Ord,找到每个节点的下一个节点。从一个节点对应的网格开始,按照顺序中概率最大的方向逐级移动到相邻的网格,如果到达一个有对应节点的网格,则成功找到下一个节点。但是,如果搜索路径超出网格边界或陷入循环,则下一个节点不存在。阅读顺序。我们根据行开始分布Osol和行结束分布Oeol来区分一个节点是行开始还是行结束。然后,读取顺序由从行首开始到行尾结束的路径表示。
Final Results
  • 在读取顺序中,每个路径代表一个文本行,每个节点对应一个字符。将字符检测识别结果按照阅读顺序进行重组后,得到最终结果为:

    • R = { R ( p ) ∣ 1 ≤ p ≤ N l n } R=\{R^{(p)}|1\leq p\leq N_{ln}\} R={R(p)∣1pNln}

    • 其中Nln为文本行数。 R ( p ) R ^{(p)} R(p) 包含第p行字符的类别和边界框,如式(3)所示。

    • R ( p ) = { ( c ( p , m ) , x ( p , m ) , y ( p , m ) , w ( p , m ) , h ( p , m ) ) ∣ 1 ≤ m ≤ N c h ( p ) } R^{(p)}=\{(c^{(p,m)},x^{(p,m)},y^{(p,m)},w^{(p,m)},h^{(p,m)})|1\leq m\leq N_{ch}^{(p)}\} R(p)={(c(p,m),x(p,m),y(p,m),w(p,m),h(p,m))∣1mNch(p)}

    • 其中 N c h ( p ) N^ {(p)}_{ch} Nch(p) 是第p行中的字符数。C (p;m)和(x (p;m);y (p;m), w (p;m), h (p;m))分别为第p行第m个字符的类别和边界框,定义为:

    • 在这里插入图片描述

    • 式中 ( α ( p ; m ) ; β ( p ; m ) ) (\alpha^{(p;m)};\beta^{(p;m)}) (α(p;m);β(p;m)) 为第p条路径的第m个节点对应的网格坐标。

Weakly Supervised Learning

  • 通常,训练PageNet需要完整的注释,包括边界框和字符类别。然而,标注页面上每个字符的边界框和类别的成本明显高于只标注每行的文本。此外,如果页面来自出版的书籍或历史文献,则几乎可以免费获得行级抄本。Internet上还有大量没有充分利用的弱注释数据。因此,在本节中,我们提出了一个弱监督学习框架,它由匹配、更新和优化组成,以使 PageNet 仅使用为真实数据标注的行级转录本进行训练。字符级和行级边界框不仅不再需要标记,甚至可以通过提出的弱监督学习框架自动标注。
Overview
  • 弱监督学习的总体框架如上文图所示。训练数据由合成样本和真实样本组成。如第4.1节所述,合成样例具有完整的标注;因此,模型可以正常优化。但是,实际示例的标注只包含行级转录本。因此,针对实际样本设计了三个步骤。(1)匹配:将PageNet的结果与标注中的行级转录本进行匹配,找到可靠的结果。(2)更新:利用可靠的结果更新伪标签。伪标签是文本标注中字符的边界框。(3)优化:利用更新后的伪标签计算损失,对参数进行优化。由于并非所有的字符都有相应的伪标签,因此在这种情况下有效地训练模型是一项挑战。
Definition of Symbols
  • 为方便起见,将符号定义如下。给定一个真实的图像,PageNet预测结果R,其中c (p;m)和(x (p;m);y (p;m);w (p;m);h (p;m))分别为第p行第m个字符的类别和边界框,如第3.4.3节所述。在预测结果的基础上,我们进一步定义第p条线的识别结果为 L ( p ) = { c ( p ; m ) ∣ 1 ≤ m ≤ N c h ( p ) } L ^{(p)} =\{c^{(p;m)}|1≤m≤N^{(p)}_{ch}\} L(p)={c(p;m)∣1mNch(p)}。定义 B s c o ( p ; m ) B^{(p;m)}_{sco} Bsco(p;m) 为第p行第m个字符的边界框得分。 P s c h ( P ; m ) P^{(P;m)}_{sch} Psch(P;m) 定义为从第P行第m个字符开始的搜索路径中网格的坐标。行级转录本标注记为 A = { A ( q ) ∣ 1 ≤ q ≤ N ^ l n } A = \{A^{(q) }|1≤q≤\hat N_{ln}\} A={A(q)∣1qN^ln},其中 A ( q ) = { c g t ( q ; N ) ∣ 1 ≤ N ≤ N ^ c h ( q ) } A^{(q)} = \{c^{(q; N)}_{gt} |1≤N≤\hat N^{(q)}_{ch} \} A(q)={cgt(q;N)∣1NN^ch(q)} 为第q行转录文本, N ^ l n \hat N_{ln} N^ln 为总行数。其中, c g t ( q ; n ) c^{(q;n)}_{gt} cgt(q;n) 为第q行第n个字符的类别, n c h ( q ) n^{(q)}_{ch} nch(q) 为第q行字符数。字符 c g t ( q ; n ) c^{(q;n)}_{gt} cgt(q;n) 的伪标签是其边界框 A p s ( q ; n ) = ( x p s ( q ; n ) ; y p s ( q ; n ) ; w p s ( q ; n ) ; h p s ( q ; n ) A^{(q;n)}_{ps} = (x^{(q;n)}_{ps};y^{(q;n)}_{ps}; w^{(q;n)}_{ps};h^{(q;n)}_{ps} Aps(q;n)=(xps(q;n);yps(q;n);wps(q;n);hps(q;n) 我们进一步表示 A p s ( q ; n ) A^{(q;n)}_{ps} Aps(q;n) 的分数为 γ ( q ; n ) \gamma ^{(q;n)} γ(q;n)
Matching
  • 给定结果R和行级转录本A,匹配的目的是找到可靠的字符级结果及其对应的基真字符。具体来说,匹配算法包括语义匹配和空间匹配

    • 语义匹配。通常,正确识别的字符也有准确的边界框。基于这种观察,语义匹配的目的是在结果中识别出正确识别的字符。如图5所示,语义匹配由以下两个步骤组成:
    • 行匹配:我们使用算法1以准确率(AR)匹配行级转录本A和识别结果L。该算法首先计算每对行级转录本与识别结果之间的AR,然后根据计算出的所有AR的降序得到匹配对Ml,其中AR的阈值用于过滤掉较差的识别结果。其中 ( p ; q ) ∈ M l (p;q)\in M_l (p;q)Ml 表示识别结果 L ( p ) L_{(p)} L(p) 与行水平转录本 A ( q ) A^{(q)} A(q) 匹配。
    • 在这里插入图片描述
  • 字符匹配:使用算法2按照编辑距离匹配每对行的字符,其中“E”、“S”、“I”、“D”分别表示“相等”、“替换”、“插入”、“删除”。算法输出字符匹配 M c M_c Mc 和连续等于 M c e M_{ce} Mce。其中 ( p ; m ; q ; n ) ∈ m c (p;m;q;n) \in m_c (p;m;q;n)mc 表示结果中的字符 c ( p ; m ) c ^{(p;m)} c(p;m) 与注释中的字符 c g t ( q ; n ) c^{(q;n)}_{gt} cgt(q;n) 匹配,Mce包含计算编辑距离连续两种状态“相等”的结果中字符的索引。

  • 空间匹配。如果在行级转录本A中出现几个相同或相似的句子,则识别结果 L 中的一行可能与这些句子中的任何一个相匹配。这种类型的匹配歧义不能用语义匹配来解决。因此,提出了空间匹配来解决这个问题。如果结果R中的字符 c ( p ; m ) c^{(p;m)} c(p;m) 与注释A中的字符 c g t ( q ; n ) c^{(q;n)}_{gt} cgt(q;n) 匹配,我们计算边界框 ( x ( p ; m ) ; y ( p ; m ) ; w ( p ; m ) ; h ( p ; m ) ) (x^{(p;m)};y^{(p;m)};w^{(p;m)};h^{(p;m)}) (x(p;m);y(p;m);w(p;m);h(p;m)) A p s ( q ; n ) A ^{(q;n)}_{ps} Aps(q;n)。如果IoU低于阈值 thIoU,则从字符匹配Mc中删除匹配对(p;m;q;n)。

Updating
  • 匹配完成后,使用算法3更新伪标签 A p s A_{ps} Aps其中伪标签要么从匹配字符的预测边界框中复制,要么更新为现有伪标签与匹配字符的预测边界框的加权和。具体来说,权重 l 是根据预测的边界框和现有伪标签的得分来计算的。由于预测的边界框或得分低的伪标签通常是不准确的,因此对更新的伪标签的影响应该小得多,因此在计算权重 l 时,使用指数函数和比例因子e来扩大 B s c o ( p ; m ) B^{(p;m)}_{sco} Bsco(p;m) γ ( q ; n ) \gamma^{(q;n)} γ(q;n)之间的差距 λ \lambda λ
    • 在这里插入图片描述
Optimization
  • 由于伪标签 A p s A_{ps} Aps 可能不包含行级转录本A中每个字符的边界框,因此有效地优化网络变得具有挑战性。在下文中,我们将介绍当伪标签不完整时如何计算模型的每个部分的损失。首先,我们将Sc定义为网格与现有伪标签之间的映射关系,由

    • 在这里插入图片描述

    • 其中 ( i ; j ; q ; n ) ∈ S c (i;j;q;n) \in S_c (i;j;q;n)Sc表示伪标号 A p s ( q ; n ) A^{(q;n)}_{ps} Aps(q;n) 存在,对应网格 G ( i ; j ) G^{(i;j)} G(i;j)

  • CharDis分支。对于CharDis分支,很容易从现有的伪标签中找到正样本(Sc)。然而,如果不是所有的伪标签都存在,确定负样本成为一个难题。在Eq.(7)中,我们将从连续相等字符开始的搜索路径中的网格视为负样本。因为这些搜索路径两端的字符被连续匹配为“相等”,所以在这些网格中没有字符。因此,使用Eq.(8)计算CharDis支路的损耗。

    • 在这里插入图片描述
  • CharBox分支。首先,利用反式(1)将每个现有伪标签 A p s ( q ; n ) A^{(q;n)}_{ps} Aps(q;n) 变换回 O p s ( q ; n ) O^{(q;n)}_{ps} Ops(q;n)。然后将CharBox分支的损失计算为由现有伪标签生成的每 O p s ( q ; n ) O^{(q;n)}_{ps} Ops(q;n) 与其相应输出 O ( i ; j ) O^{(i;j)} O(i;j) CharBox分支的箱体;

    • 在这里插入图片描述

    • 其中Wbox是一个对角矩阵。对角线上的元素是设置为(1;1;0.1;0.1)的权重(dx;dy;dw;dh)。

  • CharCls分支。对于每个已存在的伪标签 A p s ( q ; n ) A^{(q;n)}_{ps} Aps(q;n),我们可以得到字符分类概率 O ( i ; j ) O_{(i;j)} O(i;j) 对应网格 G ( i ; j ) G^{(i;j)} G(i;j) (Eq. 6)和基真字符类别 c g t ( q ; n ) c^{(q;n)}_{gt} cgt(q;n)。因此,CharCls分支的损失计算为它们之间的交叉熵损失:

    • 在这里插入图片描述
  • Start-of-Line。对于行开始分布Osol,如果存在一行中第一个字符的伪标签,则选择其对应的网格作为正样本。其他现有伪标签对应的网格作为负样本。因此,损失计算为

    • 在这里插入图片描述

    • 式(12)中的减法表示去掉 S s p S^p_s Ssp 中的元素.

  • 行尾。行尾分布 O e o l O_{eol} Oeol 的loss Leol与Lsol类似,将行尾伪标签对应的网格视为正样本,将其他伪标签对应的网格视为负样本

  • 四方向阅读顺序。对于4向阅读顺序预测 Ord,我们使用算法4在连续伪标签对应的网格之间随机生成路径Srd,其中 ( i ; j ; d ) ∈ S r d (i;j;d)\in S_{rd} (i;j;d)Srd 表示栅格 G ( i ; j ) G^{(i;j)} G(i;j) 与d方向在路径中。那么损失是

    • 在这里插入图片描述
  • 总损失。总损失 L t o t a l L_{total} Ltotal 由式(15)给出。对模型参数进行了优化,使损耗最小化。

    • L t o t a l = L b o x + L c l s + L d i s + L s o l + L e o l + L r d ; L_{total} = L_{box} +L_{cls} +L_{dis} +L_{sol} +L_{eol} +L_{rd}; Ltotal=Lbox+Lcls+Ldis+Lsol+Leol+Lrd;

    • 其中总损失是所有损失项的简单总和。虽然在目标数据集上仔细调整损失项的权重因子可能会提高性能,但我们以更通用的方式制定了我们的方法。

Experiments

Dataset

  • CASIA-HWDB是一个大型中文手写数据库。我们使用两个离线数据库,分别是CASIA-HWDB1.0-1.2和CASIA-HWDB2.02.2。CASIA-HWDB1.0-1.2包含3,895,135个分离字符样本。CASIA-HWDB2.0-2.2共5091页。
  • ICDAR2013 包括一个页面级数据集(ICDAR13)和一个单字符数据集(ICDAR13- sc)。ICDAR13有300页,ICDAR13- sc有224,419个字符样本。在CASIAHWDB和ICDAR2013上进行实验时,字符类别的数量为7356个。
  • MTHv2 包含3199页历史文档,其中2399页用于训练,800页用于测试。MTHv2中有6762个字符类别。
  • SCUT-HCCDoc包含12253个摄像头捕获的文档,包含6109个字符类别。训练集和测试集分别包含9801张图像和2452张图像。
  • JS-SCUT PrintCC是一个内部数据集,由398个打印文档的扫描图像组成。图像分为348张用于训练,50张用于测试。数据集中有2652个字符类。
  • 合成数据集。如下图所示,我们合成了CASIA-SR、MTH-SFB、HCCDocSFB和JS-SF四个数据集。“SR”和“SF”分别表示使用真正孤立的字符数据库和字体文件中的字符样本进行合成。名称以“B”结尾的数据集是使用背景图像而不是白色背景合成的。我们采用了101个字体文件和32个背景图片,它们都是从互联网上下载的,没有使用真实数据集的知识。具体来说,字体文件是从FounderType网站的免费字体中随机选择的。背景图像是通过在网上搜索“paper”获得的图片中选择的,因为我们的工作目标是文档识别。对于CASIA-SR数据集,使用CASIA-HWDB1.0-1.2的单字符样本。所有合成数据集都有完整的注释,即行级文本和字符的边界框。尽管实际数据集的布局不同,但所有四个合成数据集都遵循一个简单的合成过程。首先,我们用随机选择的字符和斜度合成文本行。请注意,在合成这些文本行时没有使用语料库。然后,将多个文本行组合成一个页面。也没有透视变换或照明应用到合成图像。
    • 在这里插入图片描述

    • 来自CASIA-SR、MTH-SFB、HCCDoc-SFB和JS-SF的示例图像。

Training Strategy

  • 使用提出的弱监督学习框架直接训练随机初始化的PageNet将导致性能不理想。这是因为模型的准确性较低,并且在早期迭代期间缺乏伪标签。为此,提出了一种改进的训练策略,该策略由预训练、初始化和训练三个阶段组成。首先,在预训练阶段,使用合成样本对模型进行预训练。然后,在初始化阶段,过程与图相同,但没有进行优化,即不使用伪标签来训练模型。然而,一部分伪标签在初始化阶段被初始化和更新

Implementation Details

Network Architecture
  • 骨干网的架构遵循了之前的工作(A fast and accurate fully convolutional network for end-to-end handwritten Chinese text segmentation and recognition),经验证对HCTR是有效的。它也可以很容易地改变为标准主干,如ResNet 。在检测与识别模块中,三个分支之间的相互作用与分割与识别模块中相同。首先,CharBox分支的特征Fbox和charcl分支的特征fcl各自经过1 × 1的卷积层。然后,将两个输出特征和CharDis分支的最后一个卷积层的特征按元素相加,得到特征Fdis。
Graph-based Decoding Algorithm
  • 边界框的得分。在3.4.1节中,使用NMS去除冗余的边界框。字符分布的置信度 O d i s O_{dis} Odis 可以作为边界框的分数。然而,在分割和识别模块之后,语义信息被整合到边界框的分数中。具体来说,分数是字符分布置信度和最大分类概率的加权和。字符分布置信度的权重设置为0.8。

  • 边缘。如图的搜索路径所示,下一个节点应该位于搜索路径中最终网格的下一个网格。然而,这太严格了,4向读序预测必须非常准确。因此,下一个节点只需要在搜索路径中最终网格的4个邻域内即可。此外,为了加速,我们限制了搜索路径中的最大步数

  • 行起始和行结束。在第3.4.2节中,如果Osol或Oeol的置信度大于0.9,则将节点标识为行首或行尾。图的特殊性质。在页级文档中,一个字符最多有一个前一个字符和一个后一个字符。因此,对于图中的一个节点,我们必须保证最多有一条边在里面,一条边在外面。如果在搜索路径中最终网格的4个邻域中有多个节点,并且最终网格的方向不指向其中任何一个节点,则选择其对应的边界框得分最高的节点。如果有多条边结束于同一节点,则保持路径中斜率最接近前几条边的边。

Weakly Supervised Learning
  • 将算法1中的阈值 t h A R th_{AR} thAR、空间匹配中的 t h I o U th_{IoU} thIoU 和算法3中的比例因子e分别设置为0.3、0.5和10。
Experiment Settings
  • 我们使用PyTorch实现我们的方法,并使用具有11GB内存的NVIDIA RTX 2080ti GPU进行实验。采用批大小为1的随机梯度下降算法对网络进行优化。预训练阶段和训练阶段都包含30万次迭代,学习率初始化为0.01,迭代10万次、20万次和27.5万次后乘以0.1。初始化阶段包含75,000次迭代,学习率设置为0.0001。在初始化和训练阶段,加载真实样本和合成样本的概率分别为0.7和0.3。在训练阶段,遵循现有方法,我们在真实样本的基础上使用合成样本,增加训练数据的多样性,提高训练的稳定性。没有采用验证集。所有训练和测试图像都被调整大小,以在保持其长宽比的同时标准化其宽度。将输入图像的像素值归一化到[0,1]的范围。对合成图像施加均值为0、方差为0.01的高斯噪声。具体实验的其他设置如下,其中图像宽度是根据页面上的字符数估计的。由于汉字是由复杂的笔画组成的,我们既要保证汉字在给定的输入尺寸下是可识别的,也要考虑训练效率。
  • ICDAR13。该模型使用CASIA-HWDB2.0-2.2的5091个真实样本和CASIA-SR的20000个合成样本进行训练。测试是在ICDAR13的300个样本上进行的。输入图像的宽度归一化为1,920像素。
  • MTHv2。我们使用MTHv2的训练集和来自MTH-SFB的10,000个样本对模型进行训练,并在MTHv2的测试集上对模型进行测试。输入图像的宽度归一化为2960像素。
  • SCUT-HCCDoc。使用SCUT-HCCDoc的训练图像和HCCDoc-SFB的20000张合成图像对模型进行训练。使用SCUT-HCCDoc测试集对模型进行评估。输入图像的宽度归一化为1,600像素。注意,由于SCUT-HCCDoc的场景更复杂,规模更大,我们在本实验的训练阶段采用了4次迭代。
  • JS-SCUT PrintCC。使用JS-SCUT PrintCC的训练样本和JS-SF的10000个合成样本对模型进行训练。在JS-SCUT PrintCC的测试样本上对训练好的模型进行了评估。输入图像的宽度归一化为2080像素。

Evaluation Metrics

  • 我们的方法只需要为实际数据标注行级转录本。然而,当只注释行级别的转录本时,没有度量来评估性能。为此,我们提出了准确率* (AR*)和正确率* (CR*)两个评价指标。首先,执行一个匹配算法,它与算法1相同,但没有过滤掉第5行的识别结果差,得到行匹配 M l ∗ M ^*_ l Ml。此外,我们在结果和注释中分别定义 S R ∗ S^∗_R SR S A ∗ S^∗_A SA为未配对行的索引。则AR*和CR*由
    • 在这里插入图片描述

    • 其中IE、DE和SE函数分别计算两个输入序列之间的插入、删除和替换错误的数量。累积每对匹配对之间的错误,将结果和注释中未配对行的所有字符分别视为插入和删除错误。与行级文本识别的准确率(AR)和正确率(CR)相比,本文提出的页级文本识别的准确率*和正确率*同时考虑了文本检测和识别

Line-level Detection and Recognition

Performance on ICDAR13 Dataset
  • 在下表中,我们将我们的方法与ICDAR13数据集上现有的页级方法的行级检测和识别结果进行了比较。

    • 在这里插入图片描述
  • 页面级方法包括完全监督的方法,如Det + recognition, Mask TextSpotter 和FOTS,以及弱监督方法,如Start-Follow-Read和OrigamiNet 。Det + recognition方法是两个独立训练的模型的组合,这两个模型是Mask R-CNN (用于文本行检测)和 recognizer (用于文本行识别)。recognizer 在ICDAR13的文本行识别任务上取得了最先进的性能,如下表所示。完全监督方法使用CASIASR和全标注CASIA-HWDB2.0-2.2进行训练,弱监督方法使用CASIA-SR和弱标注CASIA-HWDB2.0-2.2进行训练。

    • 在这里插入图片描述
  • 除本文提出的AR*和CR*外,上上表中采用的其他评价指标如下:(1)由于ICDAR13的每页只有一个段落,因此可以很容易地获得页级的文本标注和识别结果。因此,我们在表中计算页面级别的AR和CR。(2)按照(robust reading challenge on reading Chinese text on signboard)中任务4的评估协议计算归一化编辑距离(NED),该协议同时考虑了文本行检测和识别。由于我们的方法的结果和ICDAR13的标注只提供字符的边界框,因此文本行的边界框计算为包含该文本行的字符的最小面积的旋转矩形。(3)在IoU阈值为0.5的情况下,使用Precision、recall和f-measure来评估文本行检测的性能。

  • 如表所示,与现有的包含三种完全监督方法的页面级方法相比,本文提出的弱监督PageNet在端到端识别和文本行检测方面的性能都达到了最先进的水平。对于Det + recognition,虽然从f-measure上看文本行检测似乎是准确的,但很常见的情况是,一条文本行的边界框中包含了其他文本行的噪声,并且没有完全覆盖两端的字符,从而影响了识别的准确性。对于Mask TextSpotter和FOTS这两种端到端识别方法,由于中文文本的分类数量多,写作风格多样,使得识别对模型优化和特征共享机制带来了沉重的负担。OrigamiNet通过将二维特征展开为一维特征来执行页面级文本识别。然而,与英文文本相比,每个汉字本身都是一个复杂的二维结构,这可能会使这种机制难以发挥作用。

Performance on Other Datasets
  • 我们的方法和现有的页面级方法在MTHv2、SCUT-HCCDoc和JS-SCUT PrintCC上的定量结果列于下表,其中Det + recognition是Mask R-CNN (用于文本行检测)和基于ctc的识别器(用于文本行识别)的组合。完全监督方法同时使用合成数据和真实的全标注数据进行训练,而弱监督方法同时使用合成数据和真实的弱标注数据进行训练

    • 在这里插入图片描述

    • 与现有页面级方法在MTHv2、SCUT-HCCDoc和JS-SCUT PrintCC数据集上的比较

  • 建议的指标AR*和CR*报告在上表中,因为它们被表2验证是有效的,并且与其他指标相比需要更少的标注。特别地,对于只提供行级抄本注释的JS-SCUT PrintCC数据集,只能计算AR*和CR*。其他指标,如页面级AR和CR,不适用于这三个数据集,因为注释不提供文本行之间的阅读顺序。但是,由于OrigamiNet只能用页面级别的转录本进行训练,因此我们根据空间位置将注释中的行级别转录本连接起来,并获得假的页面级别转录本。因此,OrigamiNet的结果实际上是页面级的AR和CR。

  • 与全监督方法相比,该方法具有较好的性能。具体而言,与Det + Recog相比,我们的方法在MTHv2和SCUT-HCCDoc上的准确率较低,但在JS-SCUT PrintCC上的准确率更高。这是因为MTHv2和SCUT-HCCDoc包含比JS-SCUT PrintCC更复杂的布局,这对弱监督学习是一个很大的挑战。相比之下,在完全监督下,Det + recognition的文本行检测部分的训练效果明显更好。[An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition]

  • 与弱监督方法相比,我们的方法取得了最好的性能。对于Start-FollowRead,复杂的布局导致其行跟随符和行尾确定失败。然而,由于自底向上的设计以及读序模块和基于图的解码算法的有效性,我们的方法仍然可以保持较高的精度。

  • 与其他数据集不同,JS-SCUT PrintCC有三个独特的特点:(1)它包含打印文档;(2)30%的文本行完全是英文;(3)真实数据的训练集比其他数据集小得多。因此,在JS-SCUT PrintCC上取得的最佳结果验证了我们的方法在打印文档、多语言文本和少量训练样本上的能力

Comparison with Line-level Methods
  • 在上上表中,我们将我们的方法与ICDAR13上现有的行级方法进行了比较,后者直接识别基于检测注释从整页裁剪的文本行图像。虽然更严格的AR*和CR*同时考虑了文本行检测和识别,但与以往文献报道的结果相比,我们的方法在没有语言模型的情况下仍然取得了最好的性能
Incorporation with Language Models
  • 本文提出的基于图的解码算法还可以使用n-gram语言模型来提高识别性能。对于读取顺序中的第p条路径,节点对应的网格与搜索路径中的网格连接为
    • 在这里插入图片描述

    • 其中网格中的元素§是网格的坐标。具体而言,如第3.4.3节和3.5.2节所定义, N c h ( p ) N^{(p)}_{ch} Nch(p)为第p行中的字符数, ( α ( p ; m ) ; β ( p ; m ) ) (\alpha^{(p;m)};\beta^{ (p;m)}) (α(p;m);β(p;m)) 为第p行第m个字符对应的网格坐标, p s c h ( p ; m ) p^{(p;m) }_{sch} psch(p;m) 为从第p行第m个字符开始的搜索路径中的网格坐标。网格§的每个元素都可以看作是一个时间步长,类似于行级识别器的解码过程。对于每个 ( i , j ) ∈ g r i d s p (i,j)\in grids^{p} (i,j)gridsp ,空白概率为 $1−O^{(i;j)}_{dis} $ , Ncls类别的分类概率为 O c l s ( i ; j ) O^{(i;j)}_{cls} Ocls(i;j)。然后,我们使用与(Learning spatialsemantic context with fully convolutional recurrent network for online handwritten Chinese text recognition)相同的语料库生成的三元组语言模型和Graves and Jaitly提出的解码算法来获得第p行识别结果。如表所示,语言模型显著提高了识别性能,将AR*从92.83%提高到96.24%。

Character-level Detection and Recognition

  • 由于ICDAR13和CASIA-HWDB2.02.2的标注包含字符的边界框,我们可以将本文方法的字符级检测和识别结果与两种具有代表性的目标检测方法Faster R-CNN 和YOLOv3 进行比较。这两种方法使用CASIA-SR和全标注CASIA-HWDB2.0-2.2进行训练,而PageNet使用CASIA-SR和弱标注CASIA-HWDB2.0-2.2进行训练。

  • 在下表中,有Faster R-CNN和YOLOv3两个版本。标记为DetOnly的机器只训练检测字符,而标记为7356C的机器则需要对7356类字符进行分类。还有两组评估指标。表示为DetOnly的方法对字符检测进行评估,而表示为7356C的方法不仅要求检测准确,而且要求分类正确。所有评估指标都以IoU阈值0.5计算。

    • 在这里插入图片描述
  • 如上表所示,PageNet实现了比Faster R-CNN (7356C)和YOLOv3 (7356C)更好的DetOnly和7356C性能。即使与更快的RCNN (DetOnly)和YOLOv3 (DetOnly)相比,PageNet仍然可以达到相当的DetOnly性能。请注意,Faster R-CNN和YOLOv3是用完整注释(包含字符边界框)训练的,而我们的方法是在弱监督下训练的(没有边界框注释)。结果表明,检测与识别模块的解耦三分支设计可以很好地处理字符级检测与识别任务,特别是在分类数量非常大的情况下。此外,提出的弱监督学习框架可以仅使用文本注释有效地训练模型。

Visualizations

  • 可视化结果如下图所示。可以看出,虽然没有对真实数据进行边界框标注,但字符检测识别结果和读取顺序是可以准确预测的。

    • 在这里插入图片描述

    • PageNet的可视化结果。对于每对图像,左边是字符检测和识别结果,右边是预测的阅读顺序。在阅读顺序的可视化中,每个圆圈代表一个字符(橙色圆圈:start-of-line;绿圈:endoline)。从第一行到第四行,图片分别来自ICDAR13, MTHv2, SCUT-HCCDoc, JS-SCUT PrintCC。最后一行,JS-SCUT PrintCC图像的字符识别结果没有可视化,因为字符太小,分布太密集。放大看得更清楚。

  • MTHv2和SCUT-HCCDoc的合成图像是通过简单地将字体文件中的字符放在简单的背景上合成的。然而,可视化结果表明,通过提出的弱监督学习框架,我们的方法可以学习处理实际样本中不同的手写风格、复杂的背景和布局、不同的视角转换和不均匀的光照。从JS-SCUT PrintCC的可视化结果可以看出,我们的方法还可以处理包括中文和英文在内的多语言文本。

Experiments on Weakly Supervised Learning

Effectiveness of Semantic Matching
  • 第3.5.3节提出了语义匹配,寻找可靠的字符级结果,包括基于AR的行匹配和基于编辑距离的字符匹配。然而,一些现有的方法简单地使用预测的长度来确定可靠的结果。因此,我们将我们的语义匹配与遵循他们思想的两种算法进行比较,这两种算法分别是页级长度和行级长度。
  • 具体来说,在页面级长度中,如果预测页面上的字符总数与标注中的字符总数相等,则认为预测结果是可靠的。对于行级长度,由于在我们的方法中没有使用【Convolutional character networks,Character region awareness for text detection】,我们首先使用算法1进行行匹配。然后,如果行级结果的长度与匹配的行级转录本的长度相等,则将其视为可靠的
  • 我们的方法和其他两种算法的结果如下表所示。可以看出,我们的语义匹配在页面级长度和行级长度上都有很大的优势。
    • 在这里插入图片描述
Effectiveness of Spatial Matching
  • 为了解决3.5.3节描述的语义匹配中的匹配歧义,提出了空间匹配。如上表所示,去除空间匹配后,性能从92.83%下降到91.62%。
  • 我们还在下图中提供了空间匹配的定性结果。下图(a)中的页面来自SCUT-HCCDoc,其中包含几行内容相同或相似的内容。在进行语义匹配时,由于注释中缺少位置信息,同一位置的一行级结果可能会在不同迭代中与内容相似的不同行级转录本匹配。然后,更新算法会导致伪标签不准确,如图(b)所示。空间匹配可以防止不正确的匹配,产生准确的伪标签,如图©所示
    • 在这里插入图片描述

    • (a):原图。(b):不进行空间匹配的伪标签可视化。©:具有空间匹配的伪标签可视化。

Effectiveness of Updating
  • 为了验证我们的更新算法的有效性,我们将其与替换(Replace)、平均(Average)和固定比率(Fixed Ratio)三种算法进行比较,这三种算法分别用Eq.(23)、(24)和(25)替换算法3的6-8行。

    • 在这里插入图片描述

    • 其中k是 A p s ( q ; n ) A^{(q;n)}_{ps} Aps(q;n) 被更新的次数。

  • 上表的结果表明,我们的更新算法达到了最好的性能。特别是与以往方法常用的Replace算法相比,我们的更新算法在性能上有显著提高。Replace算法直接从结果中复制新的匹配的边界框作为更新的伪标签,这使得模型训练容易受到不良预测的干扰。下图为使用Replace算法时,ICDAR13上的AR*和CR*在训练阶段的曲线。可以看出,随着训练的进行,性能下降,最终收敛于12.24% AR*

    • 在这里插入图片描述

    • 使用Replace算法时ICDAR13上的AR*和CR*在训练阶段的曲线

Comparison with Fully Supervised Learning
  • 由于CASIA-HWDB2.0-2.2和MTHv2数据集提供字符级边界框注释,因此我们在下表中给出了在完全监督下的方法结果。与弱监督PageNet相比,完全监督PageNet使用真实样本的带注释的边界盒进行损失计算,而不是利用所提出的弱监督学习框架。其他细节方面,不同监管下的模型设置相同。

    • 在这里插入图片描述
  • 如表所示,与完全监督的PageNet相比,弱监督的PageNet在ICDAR13上取得了更好的性能,在MTHv2上取得了相当的性能,这表明所提出的弱监督学习框架是成功的。自动生成的伪标签可以避免手工标注中不准确和不合适的边界框。在下图(a)中,伪标签比注释更准确。在图(b)中,CASIA-HWDB2.0-2.2中标点的边界框注释通常很小,这使得检测部分很难收敛,而伪标签可以避免这种不适当的注释。此外,迭代更新的伪标签可以作为数据增强。虽然图像保持不变,但在不同的迭代中标注是可变的,这可以提高模型的鲁棒性。

    • 在这里插入图片描述

    • 从注释和伪标签中可视化边界框。

Ablation Experiments on Training Strategy
  • 下表使用ICDAR13对训练策略进行消融实验。结果表明,本文提出的训练策略由预训练、初始化和训练阶段组成,如第2节所述。预训练和初始化阶段是为了提高训练阶段的效率。具体而言,如果不采用预训练阶段,则模型在早期迭代时无法正确检测和识别任何字符;因此,在早期迭代中加载的真实样本被浪费了,因为没有生成伪标签。如果不采用初始化阶段,那么训练阶段的早期迭代将浪费在将第一轮伪标签分配给真实样本上
    • 在这里插入图片描述

Experiments on Reading Order

Multi-directional Reading Order
  • 大多数现有方法只是简单地将识别的字符从左到右排列在文本行中,忽略了现实世界中复杂的阅读顺序。然而,利用所提出的阅读顺序模块和基于图的解码算法,我们的方法能够识别具有多向阅读顺序的页面。为了进一步验证,我们在ICDAR13上进行了多向读序实验。所有训练和测试图像顺时针旋转90°,180°和270°,但标注中的阅读顺序保持不变。使用原始数据和三个旋转版本,我们分别训练和评估了完全监督和弱监督下的两个模型。请注意,这两个模型中的每一个都针对所有四个方向进行了训练。实验结果见下表。

    • 在这里插入图片描述
  • 一个模型在旋转数据上的性能与在未旋转数据上的性能相当,并且总体性能仍然保持较高的精度。下图显示了经过不同角度旋转的同一图像的预测读取顺序。可以看出,在所有方向上的阅读顺序都是正确预测的。

    • 在这里插入图片描述

    • PageNet对旋转不同程度的相同图像预测的读取顺序,其中每个圆圈代表一个字符(橙色圆圈:start-of-line;绿圈:行尾)。

Curved Text Lines
  • 我们还对弯曲的文本线进行了实验。训练集和测试集都是包含弯曲文本线的合成页面,其中文本线中字符的y坐标是x坐标的正弦函数。为避免过拟合,训练集使用CASIA-HWDB1.0-1.2的字符样本,测试集使用ICDAR13-SC的字符样本。由于合成数据具有完整的标注,因此模型是完全监督的。测试集的AR*和CR*分别为94.04%和94.36%。另外可视化结果如下图所示。由于自底向上的设计和较强的阅读顺序预测机制,我们的方法可以有效地识别弯曲的文本行。
    • 在这里插入图片描述

    • 包含弯曲文本线的页面的可视化结果。这两幅图像显示了字符级检测和识别结果(左)和读取顺序(右)。在阅读顺序可视化中,每个圆圈代表一个字符(橙色圆圈:start-of-line;绿圈:行尾)。

Experiments on Decoding Algorithm

  • 在下表中,我们比较了基于图的解码算法和基于规则的算法。基于规则的算法根据字符的纵坐标对其进行分组,并根据每组字符的横坐标对其进行重新排序。可以看出,由于对读序预测的有效设计,本文提出的基于图的解码算法取得了明显更好的性能。
    • 在这里插入图片描述

Automatic Labeling

  • 提出的弱监督学习框架的另一个潜在应用是自动标记。给定页面的行级文本,我们的方法生成的伪标签可以自动注释字符的边界框。下图为CASIA-HWDB2.0-2.2自动生成的注释。经过训练阶段,CASIA-HWDB2.0-2.2中有98.75%的字符具有相应的伪标签,伪标签与ground-truth bounding boxes之间的平均IoU为86.45%,表明自动标注的质量较高。
    • 在这里插入图片描述

    • 自动生成CASIA-HWDB2.02.2 标注。

  • 为了验证自动生成注释的适用性,我们将CASIAHWDB2.0-2.2的原始注释替换为自动标记的边界框。然后,使用CASIA-HWDB2.0-2.2和CASIA-SR训练faster R-CNN 进行字符检测,并在ICDAR13上进行测试。如下表所示,与使用原始标注的Faster R-CNN相比,使用自动标注标注的对应版本在字符检测方面的性能相当。
    • 在这里插入图片描述

    • 自动标记注释的有效性。该表显示了使用不同标注训练Faster R-CNN时,ICDAR13上的字符检测性能。使用原始标注的性能复制自表5。

Effects of Synthetic Data

  • 最近,为了提高文本检测和识别的性能,许多方法已被提议用于数据合成。然而,利用提出的弱监督学习框架,我们的方法的性能不依赖于合成数据的质量。在我们的方法中,所有真实数据集的合成数据都是按照简单统一的程序进行的,这大大减少了针对不同场景设计特定合成方法所需的人力。

  • 我们在下表中分析了不同合成数据的影响。与CASIA-SR相比,CASIA-SF使用字体文件中的字符样本而不是真实的字符样本进行合成。显然,CASIA-SR比CASIA-SF更接近真实数据。与没有合成数据时相比,使用CASIA-SR时Det + recognition的性能更好,而使用CASIA-SF时性能更差。但是,使用CASIA-SR和CASIA-SF的PageNet的结果都明显优于不使用合成数据的PageNet。

    • 在这里插入图片描述

    • 没有合成数据的PageNet是在完全监督下训练的。

  • 此外,在下表中,我们比较了使用合成数据的预训练模型和训练阶段后的最终模型的性能。基于结果,我们可以得出结论,提出的弱监督学习框架可以有效地从合成数据中学习可用信息,并适应不同的场景,从而减少了对合成数据质量的依赖

    • 在这里插入图片描述

Discussion

  • 泛化能力是现实应用中的一个重要问题。下面,我们将根据上述方法和实验结果讨论我们的方法的泛化能力。如第3节所述,我们的方法以一般方式制定,而不使用任何特定数据集的先验知识。我们方法的每个组件都是基于文档的一般属性设计的,而不是只考虑特定的场景
  • 使用涵盖大多数文档场景的五个数据集进行了广泛的实验。其中CASIAHWDB2.0-2.2和ICDAR13包含草书手写体和多种书写风格的扫描文档,MTHv2包含退化严重的历史文档,SCUT-HCCDoc包含各种照明、视角和背景的摄像头捕获的手写体文档,JS-SCUT PrintCC包含包括英语和汉语在内的多语言打印文档。实验结果(表2、3和4)和可视化(图8)表明,我们的方法在所有这些数据集上都取得了令人满意的性能。
  • 第4.9节中的附加实验验证了我们的方法在多向阅读顺序和任意弯曲文本行上的有效性。此外,第4.12节中的实验表明,我们的方法较少依赖于合成数据的质量。尽管所有的合成样本都是按照4.1节中描述的非常简单的方式合成的,而不是使用专门设计的高级合成方法,但我们的方法可以很好地在所有基准数据集上工作
  • 因此,可以肯定地说,我们的方法可以很容易地推广到不同的场景。然而,本文的方法主要是针对基于文档的文本识别。对于其他复杂的场景,如端到端场景文本识别,它可能不太有效,这仍然是一个值得进一步研究的开放性问题。

Conclusion

  • 本文从一个新的角度提出了解决端到端弱监督页级手写体中文文本识别的PageNet。对于真实数据,PageNet仅对行级文本进行注释,因此能够端到端预测字符和行级的检测和识别结果,以及每个文本行的重要阅读顺序。在CASIA-HWDB、ICDAR2013、MTHv2、SCUT-HCCDoc和JS-SCUT PrintCC等5个数据集上进行的大量实验表明,即使与完全监督的方法相比,我们的方法也可以达到最先进的性能。我们进一步证明,所提出的PageNet可以超越直接识别预先提供的裁剪文本行图像的手写中文文本识别的行级方法。值得一提的是,我们的方法可以作为自动标注器,生成高度精确的字符级边界框。由于互联网上有成千上万只带有转录标签的web图像,PageNet强大的泛化能力在实际应用中显示出了巨大的潜力。我们希望这项工作为端到端弱监督页面级文本识别开辟新的可能性。
  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

羞儿

写作是兴趣,打赏看心情

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

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

打赏作者

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

抵扣说明:

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

余额充值