表格结构识别模型研究进展
合合信息:表格识别与内容提炼技术理解及研发趋势
OCR之表格结构识别综述
表格识别技术综述
用于表检测和结构识别的深度学习:综述
(1)PP-Structure
速度提升11倍,一键PDF转Word
PP-Structure工具包:PDF图片表格一键提取解决方案 - 飞桨AI Studio (baidu.com)
OCR表格识别
(2)TableMaster(PSENet + Master)
论文解读丨表格识别模型TableMaster
此解决方案中把表格识别分成了四个部分:表格结构序列识别、文字检测、文字识别、单元格和文字框对齐。其中表格结构序列识别用到的模型是基于Master修改的,文字检测模型用到的是PSENet,文字识别用到的是Master模型。
在表格识别中,模型一般先回归出单元格的坐标,然后再根据单元格的坐标得到表格的行列信息。
-
对于
有表格线的场景
,模型可以比较准确地获取单元格坐标,进而可以利用单元格坐标后处理得到行列信息。 -
对于
无表格线情况
,通常难以直接得到单元格位置或表格线信息,这时通常需要利用模型训练的方式获取文字块的空间布局。例如在图模型中,常见的识别流程是先由OCR模型获取文字框的坐标和文字内容,然后结合视觉、位置、语义等多模态信息,并利用图网络来预测文字节点的行列属性,进而恢复出表格的结构。
-
表格识别模型TableMaster中,提出了另外一种解决思路,即同时训练得到单元格内的文字块位置和表格结构。这里涉及到表格的另一种表达形式,这种形式在网页中经常被用到,也即用超文本标记语言来定义表格(如图1)。
TableMaster基于Master[2]模型进行了修改。Master是平安自研的文本识别模型, 其网络结构分为编码和解码两个部分。编码的网络结构借鉴ResNet的残差连接结构。和ResNet不同的是,Master的编码网络在每一个残差连接块之后接了一个多头通道注意力模块(Multi-Aspect GCAttention)
编码阶段是整个Master网络的关键,其把一张图片转换成序列,使得可以用Transformer进行解码。在编码阶段输入的图片维度为:48*160*1,输出的维度为6*40*512,其中512就是模型的序列长度。编码阶段输出的序列特征再经过位置编码,输入到解码阶段。解码部分是由三个常规的Transformer 解码层组成
TableMaster特征提取模型也即编码结构和Master一致,和Master结构不同的地方在解码部分。TableMaster的解码部分相对于Master增加了一个分支:在经过一个Transformer层之后,TableMaster的解码部分分成两个分支。之后每个分支再接两个Transformer层,分别对应两个学习任务:单元格文字框的回归以及表格结构序列的预测。
TableMaster特征提取阶段输入图片的维度为480*480*3,输出的维度为7*7*500,然后把输出的序列特征reshape到49*500,输入到解码阶段。其中500是模型的序列长度,49为每个位置序列特征的维度。表格的类别标签有38个(如图5),再加上开始和结束两个标签,模型中用到的类别标签一共是41个。
1> 文字框定位和识别
在文字检测和识别阶段用到的文字检测模型为经典的PSENet[3]。文字识别用到的模型就是上文提到的Master。利用PSENet+Master模型组合,文字端到端的识别精度可以达到0.9885。
2> 还原完整的html
TableMaster网络输出的表格结构序列并不是最终的html序列。为了得到表格最终的html序列还需要在表格结构标记符中填充对应的文字内容,其流程如下:
其中重要的一步就是单元格的匹配:根据单元格坐标和文字框坐标,把文字框坐标和单元格坐标进行对齐,然后就可以把对应文字框的识别内容填充到对应单元格的标记符序列中,从而得到最终的html文本。
文字框的对齐主要基于三个规则:
1、中心点规则,如果文字框的中心点在单元格框内,则把文字框相应的文字内容填充到对应的中;
2、IOU规则,在第一点不满足的情况下,计算和文字框具有最大IOU的单元格框作为匹配项;
3、距离原则,如果以上两点都不满足,则计算所有单元格和文字框的距离,选取距离最小的单元格框作为匹配项。
通过序列化模型来进行表格结构的还原是一种有效的表格结构识别方法,类似的还有百度的RARE。和TableMaster不同的是,RARE把TableMaster中的Transformer换成了GRU。另外,该方法只利用了图像的视觉信息,后续工作中可以结合多模态特征得到更好效果。
(3)TableBank
TableBank: 表格检测和识别基准数据集(A Benchmark Dataset for Table Detection and Recognition)
1> 表格检测
2> 表格识别
3> 存在问题
无表格内容识别模块
(4)DAVAR-OCR
Paper:LGPMA:Complicated Table Structure Recognition with Local and Global Pyramid Mask Alignment11
GitHub:
-
https://github.com/hikopensource/DAVAR-Lab-OCR/tree/main/demo/table_recognition/lgpma
-
https://github.com/hikopensource/DAVAR-Lab-OCR
表识别框架包含两个主要过程:单元格生成和结构推断:
- 基于Mask-RCNN检测模型构建表格单元格生成。训练模型学习文本内容区域的行/列对齐的单元格级边界框及其对应的掩码。还引入了金字塔掩码监督,并采用大型骨干网络 HRNet-W48 Cascade Mask RCNN 来获得可靠的 bounding box。使用单行文本检测模型和一个基于注意的文本识别模型来提供OCR信息。这可以通过选择只包含单行文本的实例来实现。还采用了多尺度集成策略上对单元格和单行文本检测模型进一步提高性能。
- 在结构推断阶段,根据单元格的对齐重叠程度,将单元格的包围盒进行水平/垂直连接。然后通过Maximum Clique Search过程生成行/列信息,在此过程中可以轻松定位空单元格。
(5)TSRFormer
TSRFormer:复杂场景的表格结构识别新利器
(6)Cycle-CenterNet
Cycle-CenterNet|ORC表单表格单元格结构识别 - openAI
(7)数据集
- 如何把表格做成源代码
- 《动手学OCR》系列课程之:文档分析实战-表格识别 - 飞桨AI Studio (baidu.com)
- https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/ppstructure/table/README.md