【概要】

    我们展示了一种端到端的、多模式的FCN网络来从文档图像中抽取语义结构。我们把文档语义结构抽取看做是一个像素级别的分割任务,并且提出了一种不仅仅像传统的页面分割任务那样基于他们的视觉外观,而且基于潜在的文本内容的统一模型。进一步的,我们提出了一个有效合成文档生成过程,用来为我们的网络生成预训练数据。一旦网络在大量合成文档上训练过以后,我们在未标注的真实文档上用半监督的方法精确调整网络。我们系统的研究了优化网络结构,并且展示了我们的多模式方法和合成数据预训练都大大地提高了性能。

 

 

一、简介

文档语义结构抽取(Document semantic structure extraction/DSSE)通常由两步来完成:

①参考页面分割,基于外表来尝试将文本区域与其他区域(图片、表格、线)分割开

②参考逻辑结构分析,基于语义来将不同区域进行语义相关的分类(段落、标题等)

 

    在我们的工作中,我们提出了一个统一的多模式全卷积网络同时确认基于外观和基于语义的分类。这是一个广义的页面分割模型,它对文本区域进行细粒度的识别:文本区域基于他们在文档中的语义功能被赋予特定的标签。我们的方法简化了DSSE并且更好地支持了文档图像理解。

    我们认为DSSE是一个像素级别的分割问题:每个像素点被标注为背景、图像、表格、段落、段标题、列表、

说明等。我们展示我们用端到端、像素到像素的方法在文档图像上训练的模型大大超过了目前的最好水平。它消除了设计复杂的启发式的规则和抽取手工设定的特征的需要。

 

    在许多的情况下,像段标题和说明(caption)这种区域可以在视觉上确定。

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

在(a)中,我们可以轻松地识别出同一个名字的不同角色。但是一个鲁棒的DSSE系统需要文本的语义信息来消除可能的错误歧义识别。在(b)中,大字体的文本可能看上去像段标题,但是它实际上不是那种功能,以破折号开始的行也可能被误识别为一个列表。

    为此目的,我们的多模式全卷积网络被设计用来改变文档中的文本信息。为了吸收基于CNN结构中的文本信息,我们建立了一个文本嵌入映射(text embedding map)并且将其放入我们的模型。更具体的说,我们嵌入每个句子,并且将其映射到那个句子在文档中对应的像素点。

 

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

    我们的模型主要由四部分组成,一个编码器学习特征表示的层次,一个解码器输出分割掩膜,一个辅助的解码器用来在训练时重构,一个桥用来合并视觉表示和文本表示。我们假设文档文本已经用现代OCR工具预先抽取。

    在训练全卷积网络时候的一个瓶颈是需要像素级别的正确标注数据。以前的文档理解数据集规模很小,而且缺乏细粒度的类似于段标题、列表、图像和表格说明的语义标签。为了解决这个问题,我们提出了一个高效的合成文档生成过程,用来为我们的网络生成大规模的预训练数据。更进一步,为了更好地生成现实文档,我们提出两个无监督任务:重建和一致性的任务。前者能够通过重建输入图像更好的表示和学习,后者使得属于同一区域的像素能够有相似的表示。

 

    我们主要贡献总结如下:

①我们提出了一个端到端的、统一的网络来解决文档语义结构抽取。不像之前的两步处理流程,我们同时确定基于外观和基于语义的分类。

②我们的网络同时支持在文档的图像和文本上进行监督训练,和为了学习更好的表示而进行的无监督的辅助训练。

③我们提出一个合成数据生成过程,并且利用它来合成一个用来训练我们的模型的有监督部分的大规模数据集。

 

 

二、背景

【页面分割】

大多数以前在页面分割上的工作可以分为两类:自底向上和自顶向下的方法。自底向上的方法首先基于局部特征(黑白像素或者连通区域)检测单词,然后顺序地将成群的单词组合成文本行和段落。然而,这种方法在连通区域的识别和组合时十分费时。自顶向下的方法将一个页面迭代地分割成列、块、文本行和单词。这两种方法都很难正确的分割复杂布局的文档,例如一个有非矩形图片的文档。

随着最近深度卷积神经网络的进步,一些基于神经网络的模型被提出。Chen 使用一个卷积自编码器来从裁剪的文档图像块中学习特征,然后用这些特征训练SVM分类器。Ve 提出一个使用FCN来在手写文档图像中检测行。然而这些方法被严格限制在了视觉线索,因此不能够发现潜在文本的语义含义。

 

【逻辑结构分析】

逻辑结构被定义成一个文档中的逻辑成分的层次,例如段标题、段落和列表。早期逻辑结构挖掘的工作使用一系列基于每个句子的位置、字体和文字的启发式规则。Shilman 将文档布局建模成一种语法,并且使用机器学习来最小化无效解析的代价。Luong 提出使用条件随机场模型,基于一些手动设计的规则来联合标记每个句子。然而,这些方法的效果有限,因为它们依赖手动设计的特征,这不能获取高度语义的语境。

 

【语义分割】

大规模的标注数据集和深度神经网络方法的发展使得FCN导致了语义分割准确率的快速提升。但是,最初提出的FCN模型有一些限制,例如忽略了小物体和由于固定感受野大小而错误地标注了大物体。为了解决这个问题,Noh 提出了使用反池化,一种在升采样阶段重复利用池化位置的反池化技术。Pinheiro 尝试使用跳过连接来改进分割边界。我们的模型受到扩张卷积(dilated convolution)和近期的将一些层组合在一起的工作的启发,使用了一个扩张块(dilated block)来解决了这个问题。我们更进一步调查了使用不同方法来最优化我们网络结构的有效性。

收集成千上万的像素级别的标注图像需要耗费大量人力和财力。为此目的,提出了一些利用神经网络训练中的弱标记(边框级别或图像级别的标注)的方法。

 

【无监督学习】

一些方法被提出来利用无监督学习来改进有监督学习任务。Mairal 提出一种通过稀疏限制重建损失函数来学习稀疏局部特征的稀疏编码方法。 Zhao 提出了一种在重建过程中使用反池化的堆叠What-Where自动编码器(

Stacked What-Where Auto-encoders)。通过往输入层和中间特征注入噪声,一个去燥自动编码器可以学习出鲁棒的滤波器来恢复出未损坏的输入。在无监督学习中主要的焦点是图像级别的分类和生成方法,而在本论文中,我们探索用这种方法来进行像素级别的语义分割的可能性。

Wen 最近提出了一个中心损失使得有相同标签的样本数据有相似的视觉表示。相似的,我们介绍了一个类间一致性的限制。然后,在他们的损失函数中,每个类的中心是在整个数据集中由数据样品决定的,然后我们的中心是通过每张图像中相同区域中的像素来局部决定的。

 

【语言和视觉】

一些共同的学习任务(例如图像说明、视觉问答、一次性学习(one-shot learning)等)展示了在同一个框架中同时使用文本和视觉表示的重要影响。我们的工作是独特的,因为我们第一次直接在分割任务中使用文本嵌入,并且我们展示了我们的结果与传统的只使用视觉线索的分割方法相比有所提升。

 

 

 

三、方法

我们的方法通过使用文本嵌入映射和视觉线索,用专门的多模式全卷积网络对像素级别的分割进行有监督训练。进一步,我们的结构也支持两个无监督学习任务来提升学习文章表示:一个基于辅助的解码器重建任务,和一个在主解码器分支中评估每个像素点的分割损失的一致性任务。

 

3.1 多模式全卷积网络

    我们的模型有四部分组成:一个编码器、两个解码器和一个桥。编码器和解码器大致仿照了Noh提出的体系结构方案。然而,为了更好地解决文档分割问题,我们进行了一些改动。

    首先,我们观察到一些基于语义的分类(段标题、说明)通常占据了相对较小的地方。更进一步的,正确识别这些地方主要依赖于小的视觉线索,例如列表通过在它们的前面有小的项目符号或数字来识别。这说明低层次的特征需要被使用。然后,因为max-pooling在下采样过程中自然地损失信息,FCN在小目标上通常表现很差。Long 尝试通过跳过连接来避免这个问题。但是,简单地将基于不同尺度特征的独立预测进行平均,并不能提供满意的结果。低层次的表示由于局部感受野受限,不能反映物体级别的语义信息。另一方面,高层次的特征未必能够关于物体边界一致对齐,因为CNN模型具有平移不变性。我们提出了一个跳过连接层的替代方案,在结构图中用蓝色箭头表示,与在SharpMask的独立工作中类似。然而,他们在跳过连接之后使用双线性上采样,而我们使用反池化来保存更多的空间信息。

    我们同时注意到更广泛的上下文信息需要用来进行确定特定物体。举个例子,仅通过观察部分信息来区分一个列表和几个段落通常来讲十分困难。

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

为了正确分割出列表的右边部分,感受野必须足够大到捕获左边的项目符号。收到注意力机制和扩张卷积的启发,我们提出了扩张卷积块(dilated convolution block)。

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

每个扩张卷积块有5个核为3*3、扩张大小d=1,2,4,8,16的扩张卷积组成。

3.2 文本嵌入映射

    传统的图像语义分割模型从视觉的角度来学习物体的语义。但是,我们的任务也需要从语言的角度理解图像中的文本。因此,我们建立一个文本嵌入映射并且将它放入我们的多模式模型中来同时利用视觉和文本表示。

    我们把一个句子看作能够传达确定的语义信息的最小单元,并且用一个低维度的向量来表示它。我们通过平均每个单词的嵌入来建立句子的嵌入。这是一个简单然而有效的方法,它在许多应用上展现出效果,包括语义分析和文本分类。使用这样的嵌入,我们如下创造一个文本嵌入映射:对于一个句子区域中的每个像素,我们使用相应的句子嵌入作为输入。因此属于同一个句子的像素有同样的嵌入。不属于任何句子的像素点由零向量填充。对于一个大小为H*W的文档图像,这种处理会导致一个大小为N*H*W的嵌入映射,如果学习的句子嵌入为N维向量。嵌入映射在后面沿着通道数维度与特征响应相连接。

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

3.3 无监督任务

    尽管我们的生成文档提供了大量用来训练的标注数据,它们在布局的变化上很有限。为了解决这个问题,我们定义了两个无监督损失函数来有效利用真实文档,并且鼓励学习更好的表示。

【重建任务】

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

【一致性任务】

    像素级别的标记需要大量劳动力来获得,然而获得一个在文档中检测物体的边框集合就相对来说容易一些。对于PDF格式的文档来说,我们可以通过分析PDF文件中的描述命令来获得边框。即使他们的标签是未知的,这些边框仍然十分有价值:它们提供了一个文档中的哪些部分属于同一个物体,因此不应该被分割到不同的部分。

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

 

四、合成文档数据

    由于我们的MFCN旨在生成整个文档图像的分割掩码,对于这个有监督任务来说需要像素级的标记。然后页面分割只有很少的公开数据集,每个数据集只有几百至几千页。更进一步,标签的类别很有限,例如文本、图像和图表,然而我们的目标是进行更细粒度的分割。

    为了解决这个问题,我们创造了一个合成数据引擎,能够生成大规模的像素级的标注文档。

    我们的合成文档引擎使用两种模式来生成文档。第一种对从网上爬取的部分数据产生完全自动和随机的布局。更具体的说,我们生成段落、图像、表格、说明、段标题和列表随机安排组成一栏、两栏或三栏PDF的Latex源码。候选图像包括学术分格的图像和使用网络图像搜索下载而来的图画,以及MS COCO中的自然图像,每张图像都有一些说明。候选表格是从网络图像搜索中下载而来的。我们使用了各种各样的查询来增加下载表格的多样性。因为我们的MFCN模型依赖文本语义来进行预测,文本区域(段落、段标题、列表、说明)的内容必须仔细选择:

①对于段落,我们从2016年英文维基随机生成句子。

②对于段标题,我们只从在维基百科页面中的内容块中是段标题或字段标题中采样句子和短语。

③对于列表,我们确保一个列表中的所有项都是来自同一页维基百科。

④对于说明,我们对于MS COCO中的图像使用与它有关的说明,或者使用网络图像搜索中的图像的标题。

    为了进一步增加生成文档布局的复杂性,我们收集并标注了271份各种各样不同且布局复杂的文档。然后我们用上述生成的独立的段落、图像、图表、说明、段标题或列表随机替换每个元素。

    总共,我们的合成数据集有135000文档图像。样例如下。

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

 

五、实现细节

    图2总结我们模型的结构。辅助的解码器只在训练阶段存在。所有的卷积层使用3*3的卷积核和1的步长。在编码器中的池化和解码器中的反池化的核大小都为2*2。我们在每个卷积层之后和所有非线性函数前采用批标准化(batch normalization)。

    我们将每个通道减去其平均值,并且将输入图像转换大小,使得长边小于384像素。没有进行其他的预处理。我们使用mini-batch为2

的Adadelta优化。在半监督训练时,合成文档和真实文档的mini-batch参数分别选取。对于合成文档,在反馈时像素级分类损失和无监督损失同时被**,对于真实文档,只有无监督损失被**。由于不同标签的数量不平衡(段落的面积比说明大得多),像素级分类损失中的不同类别的权重根据在训练集中每类的像素总数而分别设置。

    对于文本映射,我们把每个单词表示为128维的向量,并且在2016英文维基百科上训练一个skip-gram模型。对于不在词典中的单词的映射,我们采用Bojanowski等人的做法。我们使用Tesseract作为OCR引擎。

【后处理】

    我们采用一个可选择的后处理步骤作为分割掩码的清洁策略。对于PDF格式的文档,我们通过分析PDF格式发现方框元素,从而获得一个候选边界框集合。我们通过首先计算属于同一个框中像素的平均分类概率,然后把最有可能的标签赋予框中的这些像素,从而优化分割掩码。

 

六、实验

    我们使用三个数据集来进行评估:ICDAR2015、SectLabel和我们新的DSSE-200。ICDAR2015是一个用在两年一次的ICDAR页面分割竞赛的数据集,它更关注基于外观的区域。ICDAR2015的评估集由70个来自现代杂志和科技评论的样本页面组成。SectLabel由计算机领域的40篇学术论文,共347页组成。这些论文中的每个文本行都手动赋予了一个基于语义的标签,例如文本、段标题或列表元素。除了这两个数据集,我们还引入了DSSE-200,它同时提供了基于外观和基于语义的标签。DSSE-200包含从杂志和学术论文中获取的200页。页面中的区域被赋予以下标签:图像、表格、小节(section)、说明、列表和段落(paragraph)。DSSE-200相较之前发布的基准测试集有更细粒度的分割。

    性能评估采用在语义分割任务中标准的交并比(IoU)。我们基于DSSE-200数据集优化了MFCN模型的结构,因为该数据集同时含有基于外观和基于语义的标签。

6.1 在模型结构上进行消融实验

    我们首先系统地评估了不同网络架构的有效性。结果在表1中呈现。

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

这些结果没有吸收文本信息和无监督学习任务。这个实验的目的是为了找到在后续实验中使用的最佳的基本结构。所有的模型都在Scratch上训练,并使用DSSE-200数据集进行评估。

    在简单的基准模型中(Model1),我们训练了一个普通的编码器-解码器模型来进行文档分割。它由一个前馈卷积网络作为编码器,有一个全卷积网络作为解码器组成。升采样通过双线性差值完成。这个模型获得了平均61.4%的IoU。

    紧接着,我们在模型中增加了跳过连接层,也就是模型2。这个模型与SharpMask模型很相似。我们获得了65.4%的平均IoU,比基础模型提升了4%。这个提升在像说明的小物体上更加明显。

    我们进一步评估了将双线性升采样替换成反池化的效果,正如模型3。将模型2中所有的升采样替换为反池化,模型的其他部分不改变。这样做导致了平均IoU的显著提高(从65.4%提升到了71.2%)。这表明在解码时池化的下标不应该被丢弃。这些下标在解码器中构建分割掩码时对于消除位置信息的歧义是十分有帮助的。

    最后,我们调查了扩张卷积的作用。模型3等价于使用d=1的扩张卷积。模型4中将d设置为了8,模型5使用扩张块。输出的通道数为了总变量数相似而调整。比较这三个模型的结果,我们可以看到模型4的每一类的IoU都与模型3相似或者更差,而模型5在所有类上都优于模型3和4。

 

6.2 增加文本信息
    我们现在调查在我们的多模式模型中文本信息的重要性。我们采用最佳的结构,即模型5,作为我们模型的视觉部分,并通过一个桥模块吸收文本嵌入映射。这个组合模型在我们的合成文档上进行了微调。正如在表2中展示的,使用文本信息可以提高文本类的表现。段标题、说明、列表和段落的准确率分别提升了1.1%,0.1%,1.7%和2.2%。

    我们依靠OCR引擎来抽取文字,但是它们对于低质量的扫描文档并不总是非常可靠的。为了定量分析使用抽取文字的有效性,我们比较了使用抽取文字和真实文字的性能。这个比较在我们生成数据集(200张图像)的一个子集中进行,因为准确的文字是天然可获得的。正如表2中展示的,使用真实文字在平均IoU上可以带来显著的提升(6.4%),表明了吸收文本信息的有效性。使用OCR抽取文字并不和真实文字一样有效,但是仍然带来了2.6%的提升。这比在DSSE-200数据集中的0.3%的提升要好,我们把这归因于我们的合成数据并不像DSSE-200那样复杂,因此提取文字比较容易。

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

 

6.3 无监督学习任务

    我们检测了提出的两个无监督学习任务——重建和一致性任务——在训练时可以如何提升像素级的分类结果。我们采用6.2节中的最佳模型,并只改变训练目标。我们的模型像第5节中所描述的那样对半监督的方法进行了微调。结果展示在表3中。增加重建任务轻微提升了平均IoU,增加一致性任务带来了1.9%的提升。这些结果证明了我们的假设,即利用区域信息是有用的。将所有任务结合起来可以获得75.9%的平均IoU。

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

6.4 和以前的最好结果比较

    表4和表5展示了在ICDAR2015和SectLabel数据集上和以前的一些方法所报告的结果进行的比较。值得强调的是我们的MFCN模型同时预测基于外表和基于语义的分类,但是其他的方法并没有。

【与ICDAR2015数据集的比较】

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

    之前的像素级页面分割模型通常解决一个二元分割问题,并不进行更细粒度的分类。为了比较的公平性,我们将模型的输出通道变为3(背景、图像和文本),并且微调了最后一层。我们的二元MFCN模型对于非文本(背景和图像)、文本和图像区域分别获得了94.5%、91.0%和77.1%的IoU,表现优于其他模型。

【和SectLable数据集的比较】

【论文阅读】Learning to Extract Semantic Structure from Documents  Using Multimodal Fully Convolutional Ne

    Luong等人第一次使用Omnipage来定位并识别文本行,然后对每行进行基于语义的标签预测。每个类别的F1值如上展示。为了公平比较,我们使用同样的文本行边框集合,并且使用平均像素预测来作为每个文本行的标签。我们的模型在段标题(0.919 vs 0.916)、说明(0.893 vs 0.781)和列表(0.793 vs 0.712)上获得了更好的F1值,同时我们的模型能够区分图像和表格。

 

七、结论

我们为了文档语义结构抽取提出了一个多模式全卷积网络。提出的模型同时使用了视觉和文本信息。更进一步,我们提出了一个高效的合成数据生成方法来产生像素级别的正确标注数据。我们的无监督辅助任务帮助我们在没有标签的真实文档上提高了性能。我们展示了多模式方法和无监督任务都可以帮助提高性能。我们的结果说明我们在之前建立的基准数据集(benchmark)上提高了最好水平。另外,我们公开提供了一个大规模的合成数据集(135000页)和一个新的基准数据集:DSSE-200。

 

 

相关文章: