Fast CNN-based document layout analysis 论文笔记

0 摘要

    自动文档布局分析是认知计算和处理的关键步骤,它从文档图像中提取信息(如特定领域知识库的创建,图表和图像理解,从表格中提取结构化的数据等)。即使在过去几年中在这个领域取得了一些进展,但是挑战仍然存在:准确地将检测内容分类到语义上有意义的类别中。随着移动设备和云服务的普及,对数据使用既快速又经济的方法的需求已成为现实。在本文中,我们提出了一种基于卷积神经网络的文本,图形和表格的自动文档布局分析的方法。我们利用在文本和表格块中观察到的固有一维图案来减少从二维文档图像到一维签名的维度分析,显着提高整体性能:我们提供了更快的执行时间和更紧凑的数据使用而不会造成损失。与传统的二维CNN方法相比,总体准确度更高。

1 介绍

    文档是许多不同认知过程(如知识库创建,OCR,图形理解,文档检索等)中非常重要的信息来源。 从文档中提取信息的关键步骤是布局分析,其中包括识别和分类感兴趣的文档图像区域。
     在文献中,已经提出了许多用于文档图像布局分析的方法,并且根据文献[11],它们可以分为三种不同的方法:
(i)基于区域或块的分类方法[21,17];
(ii)基于像素的分类方法[14,13];
(iii)连接组件分类方法[6,20,1]。
基于区域或块的分类的方法通常将文档图像页面分割成文档区域,然后将它们分类到相应的语义类别。基于像素的分类方法考虑每个单独的像素,并使用分类器来生成带有区域假设的标记图像。连接组件方法使用本地信息来创建对象假设,并进一步检查,组合和提炼,最后进行分类。
    当涉及到图像分类时,卷积神经网络已经在许多不同领域被广泛应用,包括文档分析[9,8]。然而,CNN固有的需要非常密集计算负担通常会在一些应用中被限制使用,比如需要低内存和快速处理的文档存储和检索的应用。[3,4]提出了减少文件分析的计算负担的方法,使用投影来识别图像块,但不受益于使用一维卷积体系结构的CNN的鲁棒性。这种方法为基于CNN的文档分析方法创造了许多机会,降低了计算成本和数据使用量,同时又不降低预期的准确性。
    在本文中,我们提出了一种基于块的分类方法,它由三个阶段组成:
i)预处理文档输入图像并将其分割成内容块;
ii)使用它们的垂直和水平投影来训练文本,图像和表格多分类的CNN模型;
iii)使用训练完的CNN模型分析新的文档布局。
    我们的主要贡献是:提出了一种用于结构化图像文件的快速自动布局检测的一维CNN方法。 和二维CNN模型比较,结果显示,我们的方法和它有着相同的准确度,但是降低了计算成本和数据使用量。 例如,我们的方法对于移动设备中的应用而言是有用的,因为其计算成本低以及在云服务中,只需要发送/接收紧凑的一维数据而受益。

2 方法

    文档图像布局分析的方法流程图如图1:从把文档图像分割成内容块到最后分类。
这里写图片描述

2.1 分割文档图像中的内容块

    在我们的方法中执行的第一步是将每个文档图像页面分割成内容块,如图2所示。将一张页面被转换成灰度图像(见图2a),然后通过[21]检测高度包含信息的区域。该算法在水平和垂直两个方向上都被应用,并且使用运算符AND来合成得到的二值图像,如图2b所示。接下来,在生成的二值图像上执行2次3*3的扩张操作(参见图2c),创建内容斑点。
    最后,我们迭代检测二值图像中最大的连接组件,并将其表示为内容块。 检测过程继续进行,直到在图像中找不到更多连接的组件。 图2d显示了最终结果。
这里写图片描述

2.2 分类文档图像中的内容块

    一旦文档图像被分割成内容块,我们使用CNN模型将它们分为三个不同的类别:文本,表格和图像。 在本文中,我们实际上实现了两种不同的CNN体系结构:一个用于不同计算机视觉问题的2D卷积网络(作为基准模型);以及本文提出的快速1D卷积网络,它使用一维预测来提供非常相似的结果,并且数据使用和处理时间更少。
    本文中使用的CNN体系结构受到VGG体系结构[18]的启发,由许多负责计算卷积特征的卷积层组成,其次是一些完全连接的层,这些层进行特征分类。

2.2.1 基于二维CNN的分类

    对于二维CNN,我们实现了一种架构,该架构接收输入是二维图像。使用3个连续的带有50个卷积核的2D卷积和ReLu激活函数进行处理。然后使用全连接层评估卷积特征(特征分类)。其中,50个卷积层的节点连接到一个3个节点的全连接层,最后使用softmax进行分类(三分类)。每个2D卷积层后面跟着一个最大池化层和dropout层(dropout概率0.1)。 在两个完全连接的层之间也有dropout层(drpout概率0.3),以实现更好的模型集成。实验使用的卷积核大小均为3×3像素,如图4。
这里写图片描述

2.2.2 基于快速一维CNN的分类

    我们提出了一种使用图像垂直和水平投影来分类内容块的一维CNN架构。 如图3所示,文本,表格和图像具有各不相同且高度区分性的信号,如图3所示:文本在垂直投影中通常具有类似方形信号的形状,在水平投影中具有类似常量信号的形状;表格在垂直投影中也具有类似方形信号的形状,在水平投影中由于列组织,也是大致方形信号的形状;图像在水平和垂直投影中并没有一些特殊的模式。
这里写图片描述
    我们的一维CNN架构将给定图像块水平和垂直投影的两个一维数组作为输入。 每个投影的数组由独立的卷积网络处理。该网络由三个连续的1D卷积层组成,每个卷积层都有50个滤波器和ReLu激活函数。 将每个网络的输出连接起来并输入给一个完全连接的层。其中,50个卷积层的节点连接到一个3节点全连接层,最后使用softmax进行分类(三分类)。每个1D卷积层后面跟着一个最大池化层和dropout层(dropout概率0.1)。 在两个完全连接的层之间也有dropout层(drpout概率0.3)。实验使用的卷积核大小均为3×1,如图4。
    值得注意的是,我们在2D网络和1D网络结构中使用了相同数量的层,滤波器和卷积核大小,因此我们可以评估降低分析维度的影响,而不是评估模型中的参数差异。

3 实验

3.1 数据

    为了运行我们的实验,我们在ArXiv论文中构建了一个数据库,过滤了最近300篇文章中在摘要中包含seismic的词。为什么选择seismic作为关键词不是本文的研究范围,我们认为对于不同的关键词,我们的方法都有效,不会造成损失。
     我们将这些文档按照2.1节中的描述分割成不同的内容块,并根据其内容手动将它们分类为文本,表格或图形。 这个过程生成了一个由99张表格,2995张图像和4533个文本块组成的带注释的数据库。

3.2 训练和测试的程序

     为了处理这个各类别数量不平衡的数据库用于CNN模型训练,我们决定对数据库进行二次取样并平衡各类别数量。我们创建一个每个类随机选取90个块组成的数据库。 我们使用 100 × 100 像素滑动窗口采样进行数据增强,步幅为30。此过程导出了一个训练数据库,每个类有大约6092个 100 × 100 像素的图块,共执行18278个样本。 这个数据集进一步分为80%的训练集(其中我们使用20%进行验证)和20%的测试集。
     模型训练完成后,我们就对整个不平衡数据库进行评估。 在这个测试中,我们评估的不是 100 × 100 像素的图块,而是完整的内容分块,为此我们使用了一个简单的投票模式,模仿概率加权投票模式。 对于每个内容块,我们使用上面相同的滑动窗口模式提取几个图块,并根据训练的模型对它们进行分类。 给定内容块的最终分类结果是由所有图块的最高平均类别概率来决定的。 然后,我们将注释结果与模型的分类结果进行比较,并将结果加入混淆矩阵中。

4 实验结果

     我们通过三种不同的分析来组织我们的结果:
(i)使用我们创建的数据集,将我们的1D卷积模型与2D卷积模型进行比较;
(ii)然后,我们将自己的结果与最新发表的结果进行比较;
(iii)最后,我们分析了我们在实验中观察到的错误。

4.1 1D卷积模型与2D卷积模型比较

     为了公平地比较我们的1D卷积模型和2D卷积模型,我们使用完全相同的训练参数:30个训练epoch(足够用于我们实验中的训练收敛),一个50个样本组成的mini batch,仅保存最佳训练模型。 在这里,我们报告了我们的第一个结果:2D卷积模型训练花费了823.82秒,但是我们的1D卷积模型中只花费了126.92秒,速度提高了6.5倍。两个模型的训练均使用NVidia Tesla K80 GPU。
    训练完成的模型中,我们首先评估了他们在 100 × 100 图像分类中的表现。 回顾第3.2节,我们从总共18278个样本中分离出了20%的测试图像,相当于3656个样本或每个类大约1218个样本。 评估结果以混淆矩阵的形式显示在表1中。 值得注意的是,两种模型都具有良好和相似的性能:2D卷积模型达到96.8%的总体准确性,而我们的方法达到96.6%。 从2D图像到1D投影的尺寸缩减并未影响我们实验的总体精度。
这里写图片描述
    我们还评估了两种模型在整体内容块上的分类表现。 在这个实验中,我们使用了整个不平衡数据集,包括99个表格块,2995个图像块和4533个文本块。 如第3.2节所述,我们计算了该块中所有图块的每个类的概率,并选择了与最高平均概率相对应的类,类似于概率加权投票模式。 我们的结果再次使用混淆矩阵表示在表2中。 可以注意到两种模型均表现良好:2D卷积模型达到了97.19%的总体准确度,而我们的方法达到了96.75%。 从2D图像到1D投影的尺寸缩减并未影响我们实验的总体精度。
这里写图片描述
    为了突出我们所提出的1D投影卷积方法的优点,我们测试了模型处理新文档图像的时间。为此,我们计算了给定内容块进行分类处理的时间,如表3,其中我们的方法比2D卷积的方法快7.8倍,几乎没有损失精确度。
这里写图片描述
     最后,为了完整性,我们还使用我们的方法在图5中显示了整页分类的布局结果。 可以看到文本块为灰色,图像为黄色,表格为蓝色,结果与人工视觉检查一致。
这里写图片描述

4.2 与最新结果比较

    我们还将我们的结果与最先进的技术进行比较。 在这里,值得一提的是,尽管我们使用公开的数据集来评估我们的方法,并且已经实现了公平比较的基准,但是所有方法中使用的数据都不一样,所以应该辨证地看待它。使用相同数据集的文档图像分析方法的比较并不简单,因为有些是需要支付的(UW-III),有些不在他们的家庭网站上(ICDAR-2009),或者没有相同类型的文档(学术论文)。
这里写图片描述

4.3 实验中的错误细节

    在评估我们的结果时,我们发现了一些有趣的错误模式。 如图6所示,这些错误有三方面:第一,通常与公式的存在有关,这些公式往往标注为文本但却被归类为图像;第二,内容分割方面的问题;第三,手动标注中的错误(特别是将表格标记为文本)。
这里写图片描述
    与公式相关的错误(见图6a)可以在我们的模型中添加一个新的公式类得到修正,但这涉及重新标注数据,我们没有做到这一点。 关于图块分割的问题,我们注意到有时我们用来分割块的算法会将不同的块合并在一起,如图6b所示,这会导致块分类中的错误。
    另一个有趣的现象与手动数据库标记的错误有关,如图6c所示。 在这种情况下,模型实际上将块分类为正确的。

5 结论

    本文提出了一种快速的基于CNN的文档图像布局分析方法。 在我们的方法中,我们首先对文档图像中的内容进行分块,然后计算这些图块的水平和垂直投影,这些投影作为1DCNN模型的输入,该模型将它们分类为文本,表格和图像。 然后,结合一个简单的投票模式输出分类结果。
    为了评估我们的模型,我们使用ArXiv网站上的公开可用文件建立了一个数据库,在这个文件的摘要中包含seismic这个词。 我们按2.1节所述分割文档页面,并手动将各个内容块分类为文本,表格或图形。 这个过程产生了由99个表格块,2995个图像块和4533个文本块组成的标记数据库,这些数据库为我们的实验所使用。
    我们的模型和2D卷积网络进行比较。结果显示,我们的方法与2D卷积网络相比,可以达到相同的精度,但减少了相应的数据使用率(从100×100 = 10M像素到2×100 = 200像素,少50倍)和处理时间(文件页面评估速度大约快7.8倍)。 这些结果可能对移动应用程序或云服务有益。
    进一步的研究将涉及包括内容分类块的其他语义类,并处理不同类型的文档,如历史文档。

猜你喜欢

转载自blog.csdn.net/weixin_37904412/article/details/80534283