PP-Structure简介
pp-Structure整体包括三个方面:版面分析(layout analysis)、表格识别(table recognition)和关键信息抽取(key information extraction)
1. 版面分析
-
版面分析指的是对图片形式的文档进行区域划分,定位其中的关键区域,如文字、标题、表格、图片等。版面分析算法基于PaddleDetection的轻量模型PP-PicoDet进行开发,包含英文、中文、表格版面分析3类模型。其中,英文模型支持Text、Title、Tale、Figure、List5类区域的检测,中文模型支持Text、Title、Figure、Figure caption、Table、Table caption、Header、Footer、Reference、Equation10类区域的检测,表格版面分析支持Table区域的检测,版面分析效果如下图所示:
-
数据集:
dataset 简介 PubLayNet PubLayNet是一个用于文档布局分析的数据集。它包含了研究论文和文章的图像,以及这些研究论文图像中的“文本”、“列表”、“图形”等页面中各种元素的注释。该数据集是通过自动匹配PubMed Central上公开的100多万篇PDF文章的XML表示和内容来获得 cTDaR2019_cTDaR 用于表格检测(TRACKA)和表格识别(TRACKB)。图片类型包含历史数据集(以cTDaR_t0开头,如cTDaR_t00872.jpg)和现代数据集(以cTDaR_t1开头,cTDaR_t10482.jpg) IIIT-AR-13K 手动注释公开的年度报告中的图形或页面而构建的数据集,包含5类:table, figure, natural image, logo, and signature ✴️ CDLA 中文文档版面分析数据集,面向中文文献类(论文)场景,包含10类:Text、Title、Figure、Figure caption、Table、Table caption、Header、Footer、Reference、Equation ✴️ TableBank 用于表格检测和识别大型数据集,包含Word和Latex2种文档格式 DocBank 使用弱监督方法构建的大规模数据集(500K文档页面),用于文档布局分析,包含12类:Author、Caption、Date、Equation、Figure、Footer、List、Paragraph、Reference、Section、Table、Title -
模型:PP-YOLO V2 / PP-PicoDet(可以尝试用YOLOv8)
关于pp-structure的版面分析模型列表,具体可以查看链接1
模型名称 模型简介 picodet_lcnet_x1_0_fgd_layout 基于PicoDet LCNet_x1_0和FGD蒸馏在PubLayNet 数据集训练的英文版面分析模型,可以划分文字、标题、表格、图片以及列表5类区域 ppyolov2_r50vd_dcn_365e_publaynet 基于PP-YOLOv2在PubLayNet数据集上训练的英文版面分析模型 picodet_lcnet_x1_0_fgd_layout_cdla CDLA数据集训练的中文版面分析模型,可以划分为表格、图片、图片标题、表格、表格标题、页眉、脚本、引用、公式10类区域 picodet_lcnet_x1_0_fgd_layout_table 表格数据集训练的版面分析模型,支持中英文文档表格区域的检测 ppyolov2_r50vd_dcn_365e_tableBank_word 基于PP-YOLOv2在TableBank Word 数据集训练的版面分析模型,支持英文文档表格区域的检测 ppyolov2_r50vd_dcn_365e_tableBank_latex 基于PP-YOLOv2在TableBank Latex数据集训练的版面分析模型,支持英文文档表格区域的检测
2. 表格识别
-
表格识别主要包含三个模型
- 单行文本检测-DB
- 单行文本识别-CRNN
- 表格结构和cell坐标预测-SLANet(数据集:PubTabNet)
具体流程图如下流程说明:
- 图片由单行文字检测模型检测到单行文字的坐标,然后送入识别模型拿到识别结果。
- 图片由SLANet模型拿到表格的结构信息和单元格的坐标信息。
- 由单行文字的坐标、识别结果和单元格的坐标一起组合出单元格的识别结果。
- 单元格的识别结果和表格结构一起构造表格的html字符串。
模型列表,具体可以查看链接2
模型名称 | 模型简介 |
---|---|
en_ppocr_mobile_v2.0_table_structure | 基于TableRec-RARE在PubTabNet数据集上训练的英文表格识别模型 |
en_ppstructure_mobile_v2.0_SLANet | 基于SLANet在PubTabNet数据集上训练的英文表格识别模型 |
ch_ppstructure_mobile_v2.0_SLANet | 基于SLANet的中文表格识别模型 |
3. 关键信息抽取
-
关键信息抽取 (Key Information Extraction, KIE)指的是是从文本或者图像中,抽取出关键的信息。针对文档图像的关键信息抽取任务作为OCR的下游任务,存在非常多的实际应用场景,如表单识别、车票信息抽取、身份证信息抽取等。
-
基于多模态模型的关键信息抽取任务有2种主要的解决方案:
SER: 语义实体识别 (Semantic Entity Recognition),对每一个检测到的文本进行分类,如将其分为姓名,身份证。如下图中的黑色框和红色框。
RE: 关系抽取 (Relation Extraction),对每一个检测到的文本进行分类,如将其分为问题 (key) 和答案 (value) 。然后对每一个问题找到对应的答案,相当于完成key-value的匹配过程。如下图中的红色框和黑色框分别代表问题和答案,黄色线代表问题和答案之间的对应关系。(关于上述解决方案的详细介绍,请参考关键信息抽取全流程指南(链接3)
- 文本检测 + 文本识别 + 语义实体识别(SER)
- 文本检测 + 文本识别 + 语义实体识别(SER) + 关系抽取(RE)
PP-Structure 中的KIE任务,是基于 LayoutXLM 文档多模态系列方法进行的研究与优化,设计了视觉特征无关的多模态模型结构VI-LayoutXLM,同时引入符合阅读顺序的文本行排序方法以及UDML联合互学习蒸馏方法,最终在精度与速度均超越LayoutXLM。其主要特性如下:
- 集成LayoutXLM、VI-LayoutXLM等多模态模型以及PP-OCR预测引擎。
- 支持基于多模态方法的语义实体识别 (Semantic Entity Recognition, SER) 以及关系抽取 (Relation Extraction, RE) 任务。基于 SER 任务,可以完成对图像中的文本识别与分类;基于 RE 任务,可以完成对图象中的文本内容的关系提取,如判断问题对(pair)。
- 支持SER任务和RE任务的自定义训练。
- 支持OCR+SER的端到端系统预测与评估。
- 支持OCR+SER+RE的端到端系统预测。
- 支持SER模型的动转静导出与基于PaddleInfernece的模型推理。
数据集:XFUND_zh
模型列表,具体可以查看链接4
模型名称 | 模型简介 |
---|---|
ser_VI-LayoutXLM_xfund_zh | 基于VI-LayoutXLM在xfund中文数据集上训练的SER模型 |
re_VI-LayoutXLM_xfund_zh | 基于VI-LayoutXLM在xfund中文数据集上训练的RE模型 |
ser_LayoutXLM_xfund_zh | 基于LayoutXLM在xfund中文数据集上训练的SER模型 |
re_LayoutXLM_xfund_zh | 基于LayoutXLM在xfund中文数据集上训练的RE模型 |
ser_LayoutLMv2_xfund_zh | 基于LayoutLMv2在xfund中文数据集上训练的SER模型 |
re_LayoutLMv2_xfund_zh | 基于LayoutLMv2在xfun中文数据集上训练的RE模型 |
ser_LayoutLM_xfund_zh | 基于LayoutLM在xfund中文数据集上训练的SER模型 |
链接
- https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/ppstructure/docs/models_list.md#1-%E7%89%88%E9%9D%A2%E5%88%86%E6%9E%90%E6%A8%A1%E5%9E%8B
- https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/ppstructure/docs/models_list.md#22-%E8%A1%A8%E6%A0%BC%E8%AF%86%E5%88%AB%E6%A8%A1%E5%9E%8B
- https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/ppstructure/kie/how_to_do_kie.md
- https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/ppstructure/docs/models_list.md#3-kie%E6%A8%A1%E5%9E%8B