基于行列信息门的表格结构识别网络
2022-03-29包云超孔令军王茜雯
包云超,周 全,孔令军,2,王茜雯
(1.南京邮电大学 通信与信息工程学院,江苏 南京 210003;2.金陵科技学院 网络与通信工程学院,江苏 南京 211169)
0 引言
文档分析任务是光学字符识别(Optical Character Recognition,OCR)领域的一个重要子任务,其目的是检测并识别文档对象中的文字、图像、公式和表格等信息。表格是一种高度结构化的数据,它能按照一定的逻辑表达信息,并且信息高度精炼集中。日常生活中表格是一种通用且常见的文本对象,如何在海量的数据中检测识别表格成为必要且有挑战的任务。
根据文献[1],表格检测和表格结构识别组成完整的表格识别任务。表格检测的目的是定位页面中表格区域,很多研究者将其定义为目标检测问题。相比较于表格检测,表格结构识别是更有难度的任务,其目标是获取表格的结构信息。早期的表格结构识别研究主要是基于启发式规则,即制定一系列规则以检测出满足特定条件的表格。Kieninger等人[2]提出T-Recs系统对文档自底向上进行连通分支分析,再按照一定的规则进行区域合并,最后得到表格区域。王行荣等人[3]使用水平游标化方法搜索报表中水平和竖直表格线的位置,并通过表格交叉点来定位单元格。邝振等人[4]使用投影法和计算特征点矩阵的方法识别选票中的表格。Yildiz等人[5]提出了pdf2table方法,在PDF文件中只利用文本元素在文件中的绝对位置来提取表格信息。然而,基于启发式规则的表格识别方法难以设计,并受限于一定的场景,不能表现出很好的泛化能力。
目前,研究者大多使用目标检测、图像分割等深度学习方法进行表格结构识别。针对表格的特殊结构,既可以将行与列也可以将行之间和列之间的分隔符作为识别的对象。Khan等人[6]提出了使用循环卷积网络进行表格结构识别的方法,利用分割行列分隔符的思想获取表格结构信息。但由于分隔符样本像素数较少,模型的训练依赖人工设计的预处理步骤。相较于检测表格行列分隔符,Siddiqui等人[7]通过检测表格行和列来提取表格结构,并将其视为目标检测问题,其中文档被视为场景,行、列被视为对象,并分别在Faster R-CNN[8]、基于区域的全卷积网络(Region-based Fully Convolutional Networks,R-FCN)[9]和特征金字塔网络(Feature Pyramid Networks,FPN)[10]上使用可变形卷积技术搭建网络。Siddiqui等人[11]在另一份研究中将表格结构识别分为表格行分割和列分割2个子任务,并在全卷积网络(Fully Convolution Network,FCN)[12]的基础上设计网络。另一方面,针对表格结构提出一致性假设:表格所有行从第一列的起点开始,到最后一列的终点结束;所有列从第一行的起点开始,到最后一行的终点结束。基于这一假设,在FCN的解码器之后添加特征切片和特征平铺部分——对于列特征只需要预测第一行像素的分类再进行展开就可以得到整个列预测图,行特征则只需要预测第一列像素的分类。这样做虽然可以降低行列分割的复杂度,但是将切片和平铺放在网络的最后,容易产生较大的容错率,某一个像素位置的分类预测出错将会影响整个预测图。为此,本文在文献[11]思想的基础上,重新设计语义分割网络实现表格行列分割,同时将特征切片和平铺操作放在单独设计的行信息门和列信息门中以避免简化问题产生的弊端。
1 网络设计
本文参考文献[11]的做法,将表格结构识别任务拆分为表格行和列分割任务,通过分割出的行列信息构建完整的表格结构信息。针对2个分割任务,如果用2个不同的网络分别完成对应任务,将使问题复杂化。本文利用行列分割任务的关联性,将2个任务统一到一个网络中解决,在简化问题的基础上实现好的分割效果。
1.1 基于行列信息门的网络
图1 基于行列信息门的网络框架Fig.1 Architecture based on information gates of rows and columns
1.2 行列信息门的构造
整个网络结构的关键部件是行信息门和列信息门,具体内部构造如图2和图3所示。
图2 列信息门的内部构造Fig.2 Internal structure of information gate of rows
图3 行信息门的内部构造Fig.3 Internal structure of information gate of columns
∀j={1,2,…,W},∀k={1,2,…,C},
(1)
∀i={1,2,…,H},∀k={1,2,…,C},
(2)
(3)
(4)
1.3 损失函数
使用Dice Loss作为损失函数,它是一种与区域相关的损失函数,适合区域相关性很强的行列分割任务,其具体定义为:
(5)
式中,X定义为真实标签;Y定义为经过网络预测的分割图;|X∩Y|是X与Y的交集;|X|和|Y|分别表示X和Y的所有元素数值和。
2 数据集
本文在ICDAR 2013数据集[14]上进行实验,该数据集包括欧盟摘录和美国政府摘录的总共67个PDF文档,238个英文页面。官方只提供表格定位标签与表格单元格标签信息(包括所在行与列以及内容)。
本文通过表格定位标签切割出只包含表格区域的图像,共156张。遍历所有单元格,读取其行列信息,将每一行的最大行高设为此行的行高,每一列的最大列宽设为此列的列宽,获得表格行列分割掩模,样本示意如图4所示。参照文献[11]的数据集划分比例,将训练集和测试集9∶1划分,其中125张图像用来训练,31张图像用来测试。
(a) 表格图像
(b) 官方给出的单元格标签可视化
(c) 生成的列掩模
(d) 生成的行掩模
3 实验与分析
在NVIDIA GeForce GTX 1070 8 GB服务器上进行实验,实验配置设置为周期2 000,批次大小2,优化器为Adam[15],学习率0.001,输入尺寸640 pixel×640 pixel×3 通道数。同时,本文使用数据增强技术来防止数据集小带来的过拟合问题,包括水平翻转和随机平移缩放。
在实验中使用相同的实验配置以公平比较,首先进行消融实验验证本文提出的信息门模块的有效性。针对不使用行列信息门的网络,在对应信息门的位置将Fi(i=1,2,3)与F′i+1上采样后的特征图进行拼接,然后将通过3×3卷积层的输出作为提取出的行列信息。消融实验结果如表1所示,预测图像效果对比如图5所示。
表1 消融实验结果
(a) 输入图像
(b) 真实行列掩模
(c) 使用行列信息门的模型预测结果
(f) 只使用行信息门的模型预测结果
不使用行列信息门时,行检测的F1和列检测的F1分别仅有0.778 7和0.812 1,并且从预测图可以看出行列信息不能被区分,很难进行后处理并获取单元格信息。相对而言,仅使用列信息门或仅使用行信息门时,行检测的F1和列检测的F1并没有提升反而有所下降。但从预测图可以看出,使用行列信息门可以分别修正提取到的行列信息,使边缘更加平滑。其性能下降可能是由行与列位置定位不准确造成的,一方面位置的不准确导致了查准率的下降,另一方面更加谨慎地进行预测导致了查全率的下降。当在网络中同时使用行与列信息门时,行检测和列检测的F1都有较大的提升,分别达到了0.933 5和0.964 6。从图5可以看到,行列信息门可以有效地提取相应的行与列信息,充分利用了行与列之间的差异性,使预测的边缘更加平滑。
本文使用行信息门与列信息门构建了一个新的语义分割模型,并与其他相关的模型进行比较,对比实验结果如表2所示。本文先使用ResNet50作为骨干网构建FCN,以探究FCN在表格行与列分割上的性能。从结果得知,FCN无法得到好的分割效果,模型不能分辨出行与列目标和背景之间的差异。由于将所有像素预测为目标,所以该方法的查全率为1,其预测偏差过大导致很难得到应用。文献[11]的主要工作是将表格结构识别分解为行分割和列分割任务,并给出了检测表格行与列法的最好性能。经过对比实验可以看到,本文提出的网络行检测性能稍差,但列检测的查准率、查全率和F1都有所领先,分别高出了3.53%,5.87%和4.37%,并且在整体平均性能上本文的方法表现更好,平均查准率,查全率和F1达到了0.9399,0.9618和0.9490。
表2 与其他模型的对比实验结果
本文所提出模型的行、列和单元格分割的可视化结果如图6所示。首先使用本文提出的模型得到表格行列分割,可以进一步获取单元格分割,表明该方法能够面向应用。
(a) 列分割
(b) 行分割
4 结束语
本文提出了行信息门与列信息门模块,解决了简化行与列预测导致的容错率大的问题,用行信息门与列信息门模块构建了一种新的语义分割网络,实现了表格行分割与列分割。在ICDAR 2013数据集的实验结果显示,行信息门和列信息门分别能够加强对行信息和列信息的提取,使预测的行和列边界更加平滑,提高了表格行分割和列分割的性能;同时使用行信息门和列信息门可以显著提高表格行与列的分割效果,并且性能优于所对比的分割模型。
本文只在ICDAR 2013数据集上进行模型的训练与评估,不能衡量模型的泛化能力。在更多的表格数据集上构建表格行与列掩模,并对模型进行交叉训练与评估是接下来进一步的工作。