VSR: A Unified Framework for Document Layout Analysis combining Vision, Semantics and Relations

VSR: A Unified Framework for Document Layout Analysis combining Vision, Semantics and Relations


作者:elfin  


VSR: Vision, Semantics and Relations.

总结:VSR使用NLP、CV两种数据流,称双流网络;NLP分支是从字符、语句两个维度分别进行编码,字符级(语句级)对字符(语句)进行NLP语义编码,相同的字符(语句)区域使用相同的编码向量,最终形成一个语义特征图,经过FPN生成\(\left\{S2、S3、S4、S5\right\}\);CV分支就是原图像,经过FPN生成\(\left\{V2、V3、V4、V5\right\}\);CV、NLP两个分支的特征图在各个尺度进行融合(通道合并还是相加?),再经过RPN,生候选成,再经过ROIAlign处理;每一个处理后的对象都可以进行目标检测任务,同时这些结果可以再进行关系模型的处理,这里将位置、处理后的特征编码信息融合进入关系模型调整,再次进行目标检测任务。


Top --- Bottom

摘要

​ 文档布局分析对于理解文档结构至关重要。在这项任务中,文档的视觉和语义以及布局组件之间的关系有助于理解过程。虽然已经提出了许多利用上述信息的工作,但结果并不令人满意。基于NLP的方法将布局分析建模为序列标记任务,并且在布局建模方面表现出不足。基于CV的方法将布局分析建模为检测或分割任务,但存在模态融合效率低和布局组件之间缺乏关系建模的局限性。为了解决上述局限性,我们提出了一个用于文档布局分析的统一框架VSR,它结合了视觉、语义和关系。VSR支持基于NLP和基于CV的方法。具体来说,我们首先通过文档图像引入视觉,通过文本编码特征图引入语义。然后,使用双流网络提取特定于模态的视觉和语义特征,并对其进行自适应融合,以充分利用互补信息。最后,在给定候选组件的情况下,引入基于图神经网络的关系模块,对组件之间的关系进行建模,并输出最终结果。在三个流行的基准测试中,VSR的表现大大优于以前的模型。代码将很快发布。

关键词:视觉、语义、关系、文档布局分析。


Top --- Bottom

一、介绍

​ 文档布局分析是自动理解文档的关键步骤,支持许多重要应用,如文档检索[4]、数字化[7]和编辑。它的目标是识别非结构化文档中感兴趣的区域,并识别每个区域的角色。由于文档布局的多样性和复杂性,此任务具有挑战性。

​ 在计算机视觉(CV)和自然语言处理(NLP)社区中,已经提出了许多关于此任务的深度学习模型。他们中的大多数只考虑视觉特征[12,5,36,10,34,41,19,21],或仅语义特征[6,17,27 ]。然而,来自这两种模式的信息有助于更好地认识文件的布局。一些区域(例如,图形、表格)可以通过视觉特征轻松识别,而语义特征对于分离视觉上相似的区域(例如,摘要和段落)非常重要。因此,最近的一些努力试图将这两种模式结合起来[1,20,39,3]。这里我们将它们归纳为两类。

​ 基于NLP的方法(图1(a))将布局分析建模为序列标记任务,并应用自底向上策略。他们首先将文本序列化为1D标记序列。然后,使用每个令牌的语义和视觉特征(如坐标和图像嵌入),它们通过序列标注模型顺序地确定token标签。然而,基于NLP的方法在布局建模方面表现出不足。例如,在图1(a)中,段落中的所有文本应具有一致的语义标签(段落),但其中一些文本被识别为图形标题,这是相邻文本的标签。

​ 基于CV的方法(图1(b))将布局分析建模为对象检测分割任务,并应用自顶向下的策略。他们首先通过卷积神经网络提取视觉特征,然后通过文本编码特征图(在句子级[39]或字符级[3])引入语义特征,这些映射直接连接起来作为文档的表示。然后,使用检测或分割模型(例如,Mask-RCNN[13])生成布局组件候选(坐标和语义标签)。与基于NLP的方法相比,基于CV的方法能够更好地捕获空间信息,但仍然有3个局限性:(1)语义有限。语义信息以不同的粒度嵌入到文本中,包括字符(或单词)和句子,这有助于识别不同的文档元素。例如,字符级特征更适合于识别需要较少上下文的组件(如作者),而句子级特征更适合于上下文组件(如表格标题)。在一个粒度上利用语义无法获得最佳性能。(2) 简单的启发式模态融合策略。不同模式的特征对部件识别的贡献不同。视觉特征更有助于识别视觉丰富的组件(如图形和表格),而语义特征则更擅长区分基于文本的组件(摘要和段落)。简单的启发式模态拼接融合不能充分利用两种模态之间的互补信息。(3) 组件之间缺乏关系建模。文件中存在着密切的关系。例如,“图”和“图标题”通常同时出现,“段落”具有对齐的边界框坐标。这种关系可用于提高布局分析性能。

​ 在本文中,我们结合视觉、语义和关系建模,提出了一个用于文档布局分析的统一框架VSR,如图1(c)所示。该框架可应用于基于NLP和基于CV的方法。首先,文档以图像(视觉)和文本编码特征图(字符级和句子级语义)的形式输入VSR。然后,通过双流网络提取特定于模态的视觉和语义特征,并将其有效地组合到多尺度自适应聚合模块中。最后,结合基于GNN(图形神经网络)的关系模块,对候选组件之间的关系进行建模,并生成最终结果。具体而言,对于基于NLP的方法,文本tokens充当组件候选,关系模块预测其语义标签。对于基于CV的方法,通过检测或分割模型(例如Faster-RCNN/Mask-RCNN)提出候选组件,关系模块生成它们的精确坐标和语义标签。

模型的四点贡献:

  • 我们提出了一个统一的文档布局分析框架VSR,它结合了文档中的视觉、语义和关系。
  • 为了有效地利用视觉和语义,我们提出了一种双流网络来提取特定于模态的视觉和语义特征,并通过自适应聚合模块对其进行自适应融合。此外,我们还探讨了不同粒度下的文档语义。
  • 基于GNN的关系模块用于建模文档组件之间的关系,它支持基于NLP和基于CV的方法中的关系建模。
  • 我们对VSR进行了广泛的评估,在三个公共基准上,VSR与以前的模型相比有了显著的改进。

Top --- Bottom

二、相关工作

文档布局分析 在本文中,我们试图从使用的模态的角度,即单模态布局分析和多模态布局分析来回顾布局分析工作。

​ 单模态布局分析仅利用视觉特征[21,19](文档图像)或语义特征(文档文本)来理解文档结构。利用视觉特征,有几项工作[5,36]提议将CNN应用于分割各种对象,例如,文本块[10]、文本行[34,18]、单词[41]、数字或表格[12,29]。同时,还有一些方法[6,17,27]试图利用语义特征解决布局分析问题。然而,上述所有方法都严格限于视觉或语义特征,因此无法利用其他模式的补充信息。

​ 多模态布局分析试图将视觉和语义模式的信息结合起来。相关方法可进一步分为两类,基于NLP的方法和基于CV的方法。基于NLP的方法将底层元素(例如,tokens)和模型布局分析作为序列标记任务来处理。MMPAN[1]用于识别表单结构。DocBank[20]被提议作为多模式布局分析的大规模数据集,并且已经发布了几个NLP基线模型。但是,上述方法在布局建模方面的能力不足。基于CV的方法通过文本编码特征图引入文档语义,并将模型布局分析作为对象检测或分割任务。MFCN[39]引入了句子粒度语义,并在决策层(网络端)插入了文本编码特征图,而DHSegment2[3]引入了字符粒度语义,并在输入层插入了文本编码特征图。上述方法虽然取得了巨大的成功,但也存在以下局限性:使用的语义有限,模态融合策略简单,组件之间缺乏关系建模。

​ 为了弥补上述局限性,我们提出了一个统一的框架VSR来利用文档中的视觉、语义和关系。

双流网络 双流网络被广泛用于有效地组合不同模式或表示的特征[2]。在动作识别中,两个流网络用于捕获互补的空间和时间信息[9]。在RGB-D显著性检测中,从RGB流和深度流的深度特征中融合完整表示[11]。此外,在声音事件分类和图像识别中,两个流网络用于融合同一输入样本的不同特征[23]。基于他们的成功,我们应用双流网络来捕获文档中互补的视觉和语义信息。

关系建模 关系建模是一个广泛的话题,已经研究了几十年。在自然语言处理中,序列文本之间的依赖关系是通过RNN[15]或Transformer[32]体系结构捕获的。在计算机视觉中,非局部网络[35]和关系网络[16]被用来模拟像素和对象之间的长期依赖关系。此外,在文档图像处理中,探讨了文本和布局之间的关系[38]或文档实体之间的关系[40,24,42]。对于多模态布局分析,基于NLP的方法将其建模为序列标记任务并使用RNN捕获组件关系,而基于CV的方法将其建模为对象检测任务,但缺乏布局组件之间的关系建模。在本文中,我们提出了一个基于GNN的关系模块,支持基于NLP或基于CV的方法中的关系建模。


Top --- Bottom

三、方法论

3.1 架构概述

​ 我们提出的框架由三部分组成:双流卷积网络、一个多尺度自适应聚合模块和一个关系模块(如图2所示)。首先,双流卷积网络提取特定模态的视觉和语义特征,其中视觉流和语义流分别将图像和文本编码特征图作为输入(第3.2节)。接下来,我们不是简单地连接视觉和语义特征,而是通过多尺度自适应聚合模块(第3.3节)聚合它们。然后,生成一组候选组件。最后,一个合并关系模块,对这些候选人之间的关系进行建模,并生成最终结果(第3.4节)。

​ 请注意,多模态布局分析可以建模为序列标记(基于NLP的方法)或对象检测任务(基于CV的方法)。我们的框架支持这两种建模类型。唯一的区别是候选组件是什么以及如何生成它们。在基于NLP的方法中,候选组件是低级元素(例如,文本tokens),可以通过解析PDF生成,而在基于CV的方法中,候选组件是通过检测或分段模型(例如,Mask-RCNN)生成的高级元素(区域)。在本文的其余部分中,我们将说明如何将VSR应用于基于CV的方法,并在DocBank benchmark(第4.3节)上的实验中表明它可以很容易地适应基于NLP的方法。

3.2 双流卷积网络

​ 众所周知,CNN擅长学习深度特征。然而,以前的多模态布局分析工作[39,3]仅将其应用于提取视觉特征。文本编码特征图直接用作语义特征。这种单流网络设计不能充分利用文档语义。基于双流网络在各种多模态应用中的巨大成功[9,23],我们将其应用于提取深层视觉和语义特征。

3.2.1 视觉流卷积网络

​ 视觉流分支是直接将文档图像作为输入 ,并残差神经网络作为backbone进行多尺度的深度特征提取,特征金字塔的输出分别命名为:\(V_{2},V_{3},V_{4},V_{5}\)\(V_{0}\)是原图像,\(V_{1}\)一般不用做输出。

3.2.2 语义流卷积网络

​ 语义流卷积网络的输入是文本编码特征图,\(shape=S_{0} \in \mathbb{R}^{H \times W \times C_{0}^{S}}\)\(S_{0}\)拥有与视觉流分支输入同样的空间尺度,通道数不一样。这种类型的表征不仅编码了文本内容,而且保留了文档的二维布局。以前,只使用一种粒度的语义(字符级别[3]或句子级别3[39])。然而,不同粒度的语义有助于识别不同的组件。因此,\(S_{0}\)由字符级和句子级语义组成。接下来,我们将展示如何构建文本编码特征图\(S_{0}\)

文档页面的字符和句子分别标识为

\(\mathbb{D}_{c}=\left\{ \left( c_{k},b_{k}^{c} \right) \mid k=0,\cdots,n \right\}\), \(\mathbb{D}_{s}=\left\{ \left( s_{k},b_{k}^{s} \right) \mid k=0,\cdots,m \right\}\)

其中\(n,m\)分别表示字符、语句的数量。\(c_{k}\)\(b_{k}^{c} = \left( x_{0},y_{0},x_{1},y_{1} \right)\)表示第\(k\)个字符与它的边框;同样地\(s_{k}\)\(b_{k}^{s}\)表示第\(k\)个句子与它的边框。

字符编码特征图与语句编码特征图可以由如下形式给出:

\[CharGrid_{ij} = \begin{cases} E^{c}\left ( c_{k} \right )& \text{ if } \left ( i,j \right ) \in b_{k}^{c} \\ 0& \text{ otherwise } \end{cases} \]

\[SentGrid_{ij} = \begin{cases} E^{c}\left ( s_{k} \right )& \text{ if } \left ( i,j \right ) \in b_{k}^{s} \\ 0& \text{ otherwise } \end{cases} \]

每一个字符(语句)中的像素共享同样的字符(语句)编码向量。\(E^{c},E^{s}\)是分别是字符\(c_{k}\),语句\(s_{k}\)到编码向量的函数,\(E^{c}\)是一个典型的词向量编码层,另外我们使用了一个预训练的BERT模型作为\(E^{s}\)。最后语义流卷积网络的输入\(S_{0}\)采用LN层进行融合字符级与语句级的特征图:

\[S_{0}=LayerNorm \left ( CharGrid + SebtGrid \right ) \]

注意这里两种语义编码向量的编码尺度是一样的!

​ 与视觉流类似,语义流卷积网络随后将文本编码\(S_{0})\)作为输入,并提取多尺度特征\(\left\{S2、S3、S4、S5\right\}\),这些特征具有与\(V_{2},V_{3},V_{4},V_{5}\)相同的空间大小和通道维度。


Top --- Bottom

3.3 多尺度自适应聚合模块

​ 不同形态的特征对于识别不同的物体很重要。模态融合策略应该自适应地聚合视觉和语义特征。因此,我们设计了一个多尺度自适应聚合模块,该模块学习一个注意力特征图,以自适应地将视觉特征\(\left\{V2、V3、V4、V5\right\}\)和语义特征\(\left\{S2、S3、S4、S5\right\}\)结合起来。在第一级,该模块首先连接\(V_{i}\)\(S_{i}\),然后将其送入卷积层以学习注意力特征图\(AM_{i}\)。最后,得到了聚合的多模态特征。用公式表示为:

\[AM_{i} = h\left ( g\left ( \left [ V_{i},S_{i} \right ] \right ) \right ) \]

\[FM_{i}=AM_{i}\bigodot V_{i} + \left ( 1-AM_{i} \right )\bigodot S_{i} \]

即先将两种特征图在通道维度上合并,再经过一个伴随卷积核大小为\(1 \times 1 \times \left( C_{i}^{V} + C_{i}^{S} \right) \times C_{i}^{S}\)的卷积层\(g\),和一个非线性激活层\(h\)得到注意力特征图。\(\bigodot\)表示点乘,即元素与元素相乘,不同于矩阵乘法。所以这样可以得到多尺度的融合特征\(FM=\left\{ FM_{2},FM_{3},FM_{4},FM_{5} \right\}\)。然后应用FPN(特征金字塔网络)到FM上以增强表征。


Top --- Bottom

3.4 关系模块

​ 给定聚合特征\(FM=\left\{ FM_{2},FM_{3},FM_{4},FM_{5} \right\}\),我们可以在后面接一个目标检测或者实例分割模型,如Mask-RCNN模型,可以用于产生文档中的成分候选(不仅仅是使用RPN)。之前的模型一般都是直接使用这些预测作为最终的结果。然而,组件布局间是有强相关的,如同一列的段落间是对齐的;表格、表格标题、表格注释一般是一起出现的;组件之间是没有覆盖的。我们发现,如图3所示,此类关系可用于进一步细化预测,即调整对齐边界框的回归坐标,基于组件的共现纠正错误的预测标签,以及基于非重叠属性移除错误预测。接下来,我们将展示如何使用GNN(图形神经网络)来建模组件关系,以及如何使用它来细化预测结果。

​ 我们 使用图\(G = \left ( \textbf{O},\textbf{E} \right )\),其中\(\textbf{O} = \left\{ o_{1},\cdots ,o_{n} \right\}\)是节点集合,\(E\)是边的集合。每个节点\(o_{j}\)表示先前由对象检测模型生成的组件候选,每个边表示两个组件候选之间的关系。由于文档中相距较远的区域也可能具有密切的依赖关系(例如,一个段落跨越两列),因此所有区域都构成一个邻居关系,则任意两个节点之间都是由连接的!我们的关系模块的关键思想是通过参与每个节点的邻居来更新每个节点的隐藏表示(\(z_{1},z_{2},\cdots,z_{8} \to z_{1}^{'}\),如图3所示)。通过更新节点特征,我们可以预测其精确的标签和位置坐标。

​ 每一个节点使用\(o_{j} = \left(b_{j},f_{j}\right)\)表示,即包含位置信息\(b_{j}\)和深度特征\(f_{j}=RoIAlign(FM,b_{j})\)。为了合并两种节点表示,我们构造新的节点特征:

\[z_{j} = LayerNorm \left(f_{j} + e_{j}^{pos} \left(b_{j}\right)\right) \]

其中,\(e_{j}^{pos} \left(b_{j}\right)\)表示第\(j\)个节点的位置编码。

​ 然后,受[33]的启发,我们没有明确指定节点之间的关系,而是应用自注意力机制来自动学习这些关系,这在NLP和文档处理[38,40,24,42]中已经显示出巨大的成功。

​ 具体而言,我们采用流行的点乘缩放注意力[32],以获得足够的表达能力。点乘缩放注意力由查询\(Q\)、尺寸为\(d_{k}\)键K以及尺寸\(d_{v}\)的值V组成。如等式(7)所示。

\[\hat{O} = Attention \left( Q,K,V \right) = softmax \left( \frac{QK^{\textbf{T}}}{\sqrt{d_{k}}}\right) \]

​ 在我们的上下文中,节点特征集合\(Z=\left\{z_{1},\cdots,z_{N}\right\}\)作为\(Q,K,V\)的特征集合,并跟新节点特征集合为\(Z^{'}=\left\{z_{1}^{'},\cdots,z_{N}^{'}\right\}\),加工后作为输出\(\hat{O}\)。我们采用多头注意来进一步提高节点特征的表示能力。

​ 最终,得到更新后的\(Z^{'}\),最终重构第\(j\)个节点的结果\(\tilde{o}_{j}=\left(\tilde{p_{j}^{c}},\tilde{b_{j}} \right )\)计算为:

\[\tilde{p_{j}^{c}}=Softmax \left(Linear_{cls} \left(z_{j}^{'}\right)\right) \]

\[\tilde{b_{j}} =Linear_{reg} \left(z_{j}^{'}\right) \]

\(Linear_{cls},Linear_{reg}\)是线性投影层。

关系模块可以很容易地应用于基于NLP的方法。在这种情况下,等式(6)中的节点特征\(z_{j}\)是第\(j\)个低级元素(例如,令牌)的表示。然后,GNN对标记之间的成对关系进行建模,并预测其语义标签(\(\tilde{p_{j}^{c}}\))。


Top --- Bottom

3.5 优化

损失我们分为两部分:

序列标签的布局分析损失:

目标检测的布局分析损失:

上式分别为候选产生的损失以及关系模块的损失!


Top --- Bottom

完!

posted @ 2022-01-11 11:10  巴蜀秀才  阅读(556)  评论(0编辑  收藏  举报