PP-Structure简介

GonFreecss

共 7595字,需浏览 16分钟

 ·

2023-04-28 09:24

PP-Structure

pp-Structure整体包括三个方面:版面分析(layout analysis)、表格识别(table recognition)和关键信息抽取(key information extraction)c80c8e03314dfd06a0f3b163e06e623b.webp

1. 版面分析

  • 版面分析指的是对图片形式的文档进行区域划分,定位其中的关键区域,如文字、标题、表格、图片等。版面分析算法基于PaddleDetection的轻量模型PP-PicoDet进行开发,包含英文、中文、表格版面分析3类模型。其中,英文模型支持Text、Title、Tale、Figure、List5类区域的检测,中文模型支持Text、Title、Figure、Figure caption、Table、Table caption、Header、Footer、Reference、Equation10类区域的检测,表格版面分析支持Table区域的检测,版面分析效果如下图所示:c1ff8a6a4068e8233d9ed841d63eb353.webp

  • 数据集:

    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. 表格识别

  • 表格识别主要包含三个模型

  1. 单行文本检测-DB
  2. 单行文本识别-CRNN
  3. 表格结构和cell坐标预测-SLANet(数据集:PubTabNet)

具体流程图如下e93e645fee22ab147439f8cb99fc4d46.webp流程说明:

  1. 图片由单行文字检测模型检测到单行文字的坐标,然后送入识别模型拿到识别结果。
  2. 图片由SLANet模型拿到表格的结构信息和单元格的坐标信息。
  3. 由单行文字的坐标、识别结果和单元格的坐标一起组合出单元格的识别结果。
  4. 单元格的识别结果和表格结构一起构造表格的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的匹配过程。如下图中的红色框和黑色框分别代表问题和答案,黄色线代表问题和答案之间的对应关系。922100893632be556191749d00bff47e.webp(关于上述解决方案的详细介绍,请参考关键信息抽取全流程指南(链接3)

  1. 文本检测 + 文本识别 + 语义实体识别(SER)
  2. 文本检测 + 文本识别 + 语义实体识别(SER) + 关系抽取(RE)

PP-Structure 中的KIE任务,是基于 LayoutXLM 文档多模态系列方法进行的研究与优化,设计了视觉特征无关的多模态模型结构VI-LayoutXLM,同时引入符合阅读顺序的文本行排序方法以及UDML联合互学习蒸馏方法,最终在精度与速度均超越LayoutXLM。其主要特性如下:

  1. 集成LayoutXLM、VI-LayoutXLM等多模态模型以及PP-OCR预测引擎。
  2. 支持基于多模态方法的语义实体识别 (Semantic Entity Recognition, SER) 以及关系抽取 (Relation Extraction, RE) 任务。基于 SER 任务,可以完成对图像中的文本识别与分类;基于 RE 任务,可以完成对图象中的文本内容的关系提取,如判断问题对(pair)。
  3. 支持SER任务和RE任务的自定义训练。
  4. 支持OCR+SER的端到端系统预测与评估。
  5. 支持OCR+SER+RE的端到端系统预测。
  6. 支持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模型

链接

  1. 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
  2. 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
  3. https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/ppstructure/kie/how_to_do_kie.md
  4. https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/ppstructure/docs/models_list.md#3-kie%E6%A8%A1%E5%9E%8B


浏览 740
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报