TableNet:从扫描文档图像中进行端到端表格检测和表格数据提取的深度学习模型


📖阅读时长:19分钟

🕙发布时间:2025-02-13

近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企
公众号【柏企科技说】【柏企阅文

如果用于检测表格的卷积滤波器能够通过列检测滤波器得到增强,那么这应该会显著提升模型的性能。TableNet模型正是基于这一思路,它是一种基于编码器 - 解码器模型的语义分割模型。

该模型的编码器在两项任务(表格检测和列检测)中通用,但解码器分为表格和列两个不同的分支。具体来说,我们在训练时让编码层同时使用文档中表格和列的真实数据。然而,解码层则分别用于表格分支和列分支。

架构

模型的输入图像首先会被转换为RGB图像,然后调整大小为1024×1024分辨率。

由于单个模型会同时生成表格和列区域的输出掩码,这两个独立的输出具有二进制目标像素值,这取决于像素区域是属于表格/列区域还是背景。

TableNet模型在编码器/解码器网络中采用了与FCN架构相同的思路。它使用预训练的VGG - 19层作为基础网络。VGG - 19的全连接层(pool5之后的层)被两个(1×1)卷积层所取代。

这些卷积层(conv6)中的每一个都使用ReLU激活函数,随后是一个随机失活概率为0.8的随机失活层(dropout layer)。在这一层之后,连接解码器网络的两个不同分支。

(conv6 + dropout)层的输出会被分配到两个解码器分支。在每个分支中,会添加额外的层来筛选出各自的活动区域。

在解码器网络的表格分支中,在使用一系列分数步长卷积层对图像进行上采样之前,会使用一个额外的(1×1)卷积层conv7_table。conv7_table层的输出也会通过分数步长卷积进行上采样,并与相同维度的pool4池化层连接。

类似地,合并后的特征图会再次进行上采样,并连接pool3池化层。最后,将最终的特征图上采样到与原始图像相同的尺寸。

在用于检测列的另一个分支中,有一个带有ReLU激活函数的额外卷积层(conv7_column)和一个具有相同随机失活概率的随机失活层。在(1×1)卷积(conv8_column)层之后,特征图会使用分数步长卷积进行上采样。

上采样后的特征图会与pool4池化层合并,合并后的特征图会再次上采样,并与相同维度的pool3池化层合并。在这一层之后,特征图会被上采样到原始图像的尺寸。

在两个分支中,在转置层之前都使用了多个(1×1)卷积层。使用(1×1)卷积的目的是降低用于像素分类预测的特征图(通道)的维度,因为输出层(编码器网络的输出)的通道数必须等于类别数(概率最大的通道会被分配给相应的像素),之后会对其进行上采样。

因此,计算图两个分支的输出分别生成表格和列区域的掩码。

表行提取

使用TableNet处理文档后,会生成表格和列区域的掩码。这些掩码用于从图像中筛选出表格及其列区域。

由于文档中所有单词的位置都可以通过Tesseract OCR得知,因此只筛选出位于表格和列区域内的单词块。现在,利用这些筛选出的单词,一行可以定义为来自多个列、处于相似水平位置的单词集合。

然而,一行并不一定局限于一行,根据列的内容或行分隔符的情况,一行可能跨越多行。因此,为了涵盖不同的可能性,作者制定了三条行分割规则:

  • 在大多数有行分隔符的表格中,这些线条会分割每列中的行。为了检测可能的行分隔线,会通过Radon变换测试一列中两个垂直放置的单词之间的每个间隔是否存在线条。水平行分隔线的存在可以清晰地分割出行。
  • 如果一行跨越多行,表格中具有最多非空条目的行被标记为新行的起点。例如,在一个多列表格中,有些列的条目可能只占一行(如数量等),而其他列可能有多行条目(如描述等)。因此,当每列中的所有实体都被填充时,就开始一个新行。
  • 在所有列都完全填满且没有行分隔符的表格中,每一行(水平层级)都可以看作是一个独立的行。

训练

为了训练TableNet模型,使用了Marmot表格识别数据集。这是目前最大的公开可用的表格检测数据集。

论文

TableNet: Deep Learning model for end-to-end Table detection and Tabular data extraction from Scanned Document Images: 2001.01469

## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!

本文由mdnice多平台发布


柏企科技圈
15 声望4 粉丝