写点什么

AI 论文解读丨融合视觉、语义、关系多模态信息的文档版面分析架构 VSR

发布于: 1 小时前

​​​​​​摘要:文档版式分析任务中,文档的视觉信息、文本信息、各版式部件间的关系信息都对分析过程具有很重要的作用。本文提出一种融合视觉、文本、关系多模态信息的版式分析架构 VSR。


本文分享自华为云社区《论文解读系列十八:融合视觉、语义、关系多模态信息的文档版面分析架构VSR》,作者: 小菜鸟 chg 。



现有文档版面分析方法大致可分为两种:基于 NLP 的方法将版面分析任务看作是序列标签分类任务(sequence labeling),但是该类方法在版面建模上表现出不足,无法捕获空间信息;基于 CV 的方法则将版面分析看作是目标检测或分割任务(object detection orsegmentation),该类方法的不足表现在(1)缺乏细粒度的语义、(2)简单的拼接方式、(3)未利用关系信息。如图 1 展示的 VSR 的 motivation 示意图,为解决上述各方法的局限性问题,本文提出一种融合视觉、文本、关系多模态信息的版式分析架构 VSR (Vision,Semantic, Relation)。


图 1 VSR 的 motivation 示意图


1. 问题定义

  

版式分析任务既可当做序列标签分类,又可当做目标检测。主要区别在于部件候选(componentcandidates)的选择。对于基于 NLP 方法,即序列标签分类的定义,选择通过 pdf 解析或 OCR 识别得到 texttokens;对于基于 CV 方法,即目标检测或分割的定义,选择通过目标检测网络如 Mask RCNN 得到的区域 RoI。VSR 主要围绕目标检测的定义展开,同时 VSR 也可以很直接地应用到基于 NLP 的方法上。

2. VSR 架构


VSR 架构如图 2 所示,主要包括三个模块:双流卷积网络(two-stream ConvNets)、多尺度自适应聚合模块、关系学习模块。首先,双流卷积网络提取视觉和语义特征;然后,相对于简单的拼接,多尺寸自适应聚合模块来得到视觉和语义双模态信息表示;接着,基于聚合的多模态信息表示,可以生成布局组件候选集;最后,关系学习模块来学习各组件候选间的关系,并生成最终结果。下面对各模块具体展开。


图 2 VSR 架构图


2.1 双流卷积网络

  

VSR 采用双流卷积神经网络(本文采用的是 ResNeXt-101)来分别提取图像视觉信息和文本语义信息。


视觉 ConvNet


对于输入图片 V_{0}=\mathbb{R}^{H\timesW\times 3}V0​=RH×W×3,通过骨干 CNN 网络,得到视觉信息的多尺度特征图\{V_{2},V_{3},V_{4},V_{5}\}{V2​,V3​,V4​,V5​},其中 V_i\in \mathbb{R}^{\frac{H}{2^i}\times\frac{W}{2^i}\times C_{i}^{V}}Vi​∈R2iH​×2iW​×CiV​,HH 和 WW 分别是图片的高和宽,C_{i}^{V}CiV​是通道数。


语义 ConvNet


VSR 将文本转换为 2D 表示 S_{0}=\mathbb{R}^{H\timesW\times C_{0}^{S}}S0​=RH×W×C0S​, 其中 C_{0}^{S}C0S​是初始通道维度(本文取 64)。根据字符和语句两种粒度分别得到 CharGrid 和 SentGrid:


CharGrid_{ij}=\left\{\begin{matrix}E^{c}(c_k) & if (i,j)\in b_k^c\\ 0 & else \end{matrix}\right. \tag{1}CharGridij​={Ec(ck​)0​if(i,j)∈bkcelse​(1)


其中 c_kck​表示第 kk 个字符,b_k^c =(x_{0}; y_0; x_1; y_1)bkc​=(x0​;y0​;x1​;y1​) 是其对应两点标注(左上角和右下角横纵坐标),E^{c}Ec 是词向量映射操作。


SentGrid_{ij}=\left\{\begin{matrix}E^{s}(s_k) & if (i,j)\in b_k^s\\ 0 & else \end{matrix}\right. \tag{2}SentGridij​={Es(sk​)0​if(i,j)∈bkselse​(2)


其中 s_ksk​表示第 kk 个语句,b_k^s =(x_{0}; y_0; x_1; y_1)bks​=(x0​;y0​;x1​;y1​) 是其对应两点标注,E^{s}Es 是预训练的 BERT 模型。  

对字符和语句两个粒度的语义信息进行融合,得到文本 2D 表示 S_{0}S0​:

S_{0} =LayerNorm(CharGrid+SentGrid) \tag{3}S0​=LayerNorm(CharGrid+SentGrid)(3)


将 S_{0}S0​输入到骨干 CNN 网络,得到文本信息的多尺度特征图\{S_{2},S_{3},S_{4},S_{5}\}{S2​,S3​,S4​,S5​},与视觉信息的多尺度特征图\{V_{2},V_{3},V_{4},V_{5}\}{V2​,V3​,V4​,V5​}是同样的尺寸和维度。

2.2 多尺寸自适应聚合模块

  

在得到各模态的特征图表示后,通过一个卷积层得到 attention map AM_iAMi​,再基于 attention map 对各模态特征进行聚合得到聚合特征图 FM_iFMi​:

AM_i =h(g[V_i, S_i]) \tag{4}AMi​=h(g[Vi​,Si​])(4)

FM_i =AM_i\odot V_i + (1 - AM_i)\odot S_i \tag{5}FMi​=AMi​⊙Vi​+(1−AMi​)⊙Si​(5)


其中 gg 是一个卷积核尺寸为 1\times 1\times (C_i^V + C_i^S)\times C_i^S1×1×(CiV​+CiS​)×CiS​的卷积层,hh 是非线性激活函数。随后 FM=\{FM_{2},FM_{3},FM_{4},FM_{5}\}FM={FM2​,FM3​,FM4​,FM5​}经过特征金字塔网络 FPN 得到最终的多模态聚合特征。

2.3 关系学习模块


在得到 FM 后,可以通过 RPN 网络很容易得到 ROI(Regionof Interest)作为布局部件候选集。本文在实验阶段选择的是 Mask RCNN,同时设置 7 个 anchor 比例(0.02, 0.05, 0.1, 0.2, 0.5, 1.0, 2.0)(0.02,0.05,0.1,0.2,0.5,1.0,2.0)得到部件候选集。如图 3 所示,根据各部件候选之间的关系,可以有如下作用:(1)利用空间位置关系,调整文本框坐标;(2)根据部件间的共现关系(比如表格和表格标题一般会同时出现)修正预测标签;(3)各 component 间不重叠的特性移除多余框。VSR 中关系学习模块对各部件候选间的关系进行建模,并最终得到版面分析的结果。


图 3 VSR 关系学习模块作用示意图


将一篇文档作为一张图 graph,而每个部件候选 component candidate 作为节点 node。每个节点的特征表示由多模态特征表示和位置信息表示组成:

z_j =LayerNorm(f_j+e^{pos}_j(b_j)) \tag{6}zj​=LayerNorm(fj​+ejpos​(bj​))(6)


其中 f_j=ROIAlign(FM,b_j)fj​=ROIAlign(FM,bj​),而 e^{pos}_j(b_j)ejpos​(bj​)是位置坐标的向量表示。

通过 self-attention 机制来学习关系:

Z' =Attention(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d_k}})V \tag{7}Z′=Attention(Q,K,V)=softmax(dk​​QKT​)V(7)


其中 Q,K,VQKV 都是由 Z=\{z_1, z_2, ..., z_N\}Z={z1​,z2​,...,zN​}来表示, Z'=\{z'_1,z'_2, ..., z'_N\}Z′={z1′​,z2′​,...,zN′​}是经过 self-attention 后的输出结果。  

计算节点即部件候选的分类概率:

\tilde{p}^c_j= softmax(Linear_{cls}(z'_j))\tag{8}p~​jc​=softmax(Linearcls​(zj′​))(8)

  

计算节点即部件候选的边框坐标回归:

\tilde{b}_j=Linear_{reg}(z'_j) \tag{9}b~j​=Linearreg​(zj′​)(9)

2.4 优化训练


序列标注的定义下:


采用分类交叉熵进行优化:

\mathcal{L}= -\frac{1}{T}\sum_{j=1}^{T}y_jlog(\tilde{p}_j) \tag{10}L=−T1​j=1∑Tyjlog(p~​j​)(10)

其中 TT 是 text token 的个数,y_jyj​是序列标注的 groundtruth。


目标检测的定义下:

  

优化损失函数计算:

\mathcal{L}= \mathcal{L}_{DET} + \lambda \mathcal{L}_{RM} \tag{11}L=LDET​+λLRM​(11)

其中\mathcal{L}_{DET}LDET​是候选生成阶段的损失,包括交叉熵(用于分类)和 smooth L1(用于边框回归);\mathcal{L}_{RM}LRM​是关系学习模块的损失,同样包括交叉熵(用于分类)和 smooth L1(用于边框回归)。本文实验中设置\lambda =1λ=1。

3. 实验结果

3.1 对比实验


VSR 在三个开源数据集 ArticleRegions,PubLayNet,DocBank 上取得了最优结果。





3.2 消融实验


表 5、表 6、表 7 的实验结果分别验证了 A.不同粒度的文本表示;B.双流卷积网络和聚合模块;C.关系学习模块三个部分的有效性。




4. 总结


VSR 方法的三个重要部分如下:

(1)文本语义用 character 和 sentence 两种粒度来表示;

(2)采用 two-stream convnet 来分别提取视觉和语义特征,再通过 attention 将两个模态特征聚合,最后基于聚合特征得到 componentcandidates;

(3)GNN 即 Selfattention 来学习各 component candidates 间的关系。


点击关注,第一时间了解华为云新鲜技术~

发布于: 1 小时前阅读数: 2
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
AI论文解读丨融合视觉、语义、关系多模态信息的文档版面分析架构VSR