科技资讯眺望|三篇论文,纵览深度学习在表格识别中的最新应用( 九 )


2) 行分类:行分类器的结构是列分类器的转置 , 它将图像的每一行分类为一行或两行之间的空白 。 每次输入一个图像 , 每个图像被视为一个批次 。 在一个批次中 , 将尺寸为 1600x512 的预处理输入图像划分成 512 个序列(行) , 每个序列由 1600 个像素值组成 。 两层 GRU 初始化为隐藏维度(4 x 1 x 1024) , 对应于“2 x 层数 x 批次大小 x 隐藏维度大小” 。
在行分类的情况下 , 将图像处理为 512 个时间步长 , 每个时间步长对应一个具有 1600 个输入像素值的列 。 在每个时间步长 , GRU 都考虑了关于当前行的上下所有行以及当前行内像素值的信息 。
GRU 的输出是一个 512 x 1600 形状的张量 , 对应的是“序列长度 x 隐藏维数” 。 然后 , 这个张量通过一个全连接层 , 输出一个 512 x 2 形状的张量 , 再经过一个 softmax 层 , 得到形状为 512 x 2 的输出 , 由 512 行中每个行的二进制类概率组成 。
分类的最后一步是对前面得到的分类器预测的分割空间进行解析 。 选取分段空间的中点 , 对于列 , 应用逻辑来删除最左边和最右边的预测 。 对于行 , 去掉顶部和底部的预测 。 此步骤将输出回归到行和列分隔符的单行预测 。 图 1 和图 2 分别给出行、列分类器神经网络结构 。
科技资讯眺望|三篇论文,纵览深度学习在表格识别中的最新应用图 1. 行分类器神经网络结构
科技资讯眺望|三篇论文,纵览深度学习在表格识别中的最新应用图 2. 列分类器神经网络结构
1.3 后处理
文章中使用 Adam 优化器和二进制交叉熵损失函数来训练模型 。 典型的表格图像包含的行和列的数量要多于它们之间的空白 , 为了解决这种类不平衡问题 , 作者对损失函数进行了加权 , 使错误预测的行列元素的惩罚仅为错误预测的空白元素的 66% 。
本文使用从各种来源下载的免费文档图像作为神经网络的训练数据集 。 表格、行和列是使用自定义工具手动标记的 。 固定学习速率为 0.0005 。 作者训练了 323 幅图像中的 10 次迭代的列分类器和 286 幅图像中的 35 次迭代的行分类器 。
2、实验分析
本文实验使用的是 UNLV 数据集 。 本文重点讨论的是表格识别问题中的表格结构提取 , 因此作者从 UNLV 库中的真实文件中裁剪得到 557 个表用于实验 。 作者使用 T-Recs 作为对比方法[11] 。 T-Recs 是一个用于表格结构提取的非深度学习方法 。 由表 1 和表 2 的实验结果可知 , 本文提出方法显著提高了列的检测准确度 , 准确度从 40.51% 提高到了 55.31% 。 在行检测的情况下 , 准确度从 54.98% 提高到了 58.45% 。 另一方面 , 与 T-Recs 方法相比 , 本文方法得到的结果中过分割和欠分割的数量更多 , 因此出现表格结构部分检测的情况减少了 。
科技资讯眺望|三篇论文,纵览深度学习在表格识别中的最新应用表 1. 在 427 个包含表格区域的二进制 300-DPI 扫描 UNLV 数据集文件中的评估结果(列分割)
科技资讯眺望|三篇论文,纵览深度学习在表格识别中的最新应用表 2. 在 427 个包含表格区域的二进制 300-DPI 扫描 UNLV 数据集文件中的评估结果(行分割)
最后 , 作者将本文提出的方法与文献 [12] 中提出的基于深度学习(CNN)的表格结构识别方法进行对比 。 该实验使用 ICDAR 2013 表格竞赛数据集 , 其中包含 67 个文档 , 238 页 。 具体实验结果见表 3 。 本文提出的方法在计算准确度、召回率和 F1 分数等方面性能都优于 [12] 中的方法 。


推荐阅读