PP-Structure 文档分析

本文接着上一篇文章:PaddleOCR环境搭建、模型训练、推理、部署全流程(Ubuntu系统)-CSDN博客

1. 表格识别 pipeline

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

  1. 单行文本检测-DB
  2. 单行文本识别-CRNN
  3. 表格结构和cell坐标预测-SLANet

具体流程图如下

流程说明:

  1. 图片由单行文字检测模型检测到单行文字的坐标,然后送入识别模型拿到识别结果。
  2. 图片由SLANet模型拿到表格的结构信息和单元格的坐标信息。
  3. 由单行文字的坐标、识别结果和单元格的坐标一起组合出单元格的识别结果。
  4. 单元格的识别结果和表格结构一起构造表格的html字符串。

4. 使用

PP-Structure目前提供了中英文两种语言的表格识别模型,模型链接见 models_list。也提供了whl包的形式方便快速使用,详见 quickstart

cd PaddleOCR/ppstructure

# 下载模型
mkdir inference && cd inference

# 下载PP-OCRv3文本检测模型并解压
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar && tar xf ch_PP-OCRv3_det_infer.tar

# 下载PP-OCRv3文本识别模型并解压
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar && tar xf ch_PP-OCRv3_rec_infer.tar

# 下载PP-StructureV2中文表格识别模型并解压
wget https://paddleocr.bj.bcebos.com/ppstructure/models/slanet/ch_ppstructure_mobile_v2.0_SLANet_infer.tar && tar xf ch_ppstructure_mobile_v2.0_SLANet_infer.tar

cd ..

# 执行表格识别
python table/predict_table.py \
    --det_model_dir=inference/ch_PP-OCRv3_det_infer \
    --rec_model_dir=inference/ch_PP-OCRv3_rec_infer  \
    --table_model_dir=inference/ch_ppstructure_mobile_v2.0_SLANet_infer \
    --rec_char_dict_path=../ppocr/utils/ppocr_keys_v1.txt \
    --table_char_dict_path=../ppocr/utils/dict/table_structure_dict_ch.txt \
    --image_dir=docs/table/table.jpg \
    --output=../output/table

运行完成后,每张图片的excel表格会保存到output字段指定的目录下,同时在该目录下回生产一个html文件,用于可视化查看单元格坐标和识别的表格。

识别效果如下:

主要包括以下几种:       

  • 1.1版面分析和表格识别
  • 1.2版面恢复
  • 1.3关键信息抽取

1. 简介

PP-Structure是PaddleOCR团队自研的智能文档分析系统,旨在帮助开发者更好的完成版面分析、表格识别等文档理解相关任务。

PP-StructureV2系统流程图如下所示,文档图像首先经过图像矫正模块,判断整图方向并完成转正,随后可以完成版面信息分析与关键信息抽取2类任务。

  • 版面分析任务中,图像首先经过版面分析模型,将图像划分为文本、表格、图像等不同区域,随后对这些区域分别进行识别,如,将表格区域送入表格识别模块进行结构化识别,将文本区域送入OCR引擎进行文字识别,最后使用版面恢复模块将其恢复为与原始图像布局一致的word或者pdf格式的文件;
  • 关键信息抽取任务中,首先使用OCR引擎提取文本内容,然后由语义实体识别模块获取图像中的语义实体,最后经关系抽取模块获取语义实体之间的对应关系,从而提取需要的关键信息。

PP-StructureV2支持各个模块独立使用或灵活搭配,如,可以单独使用版面分析,或单独使用表格识别,点击下面相应链接获取各个独立模块的使用教程:

2. 特性

PP-StructureV2的主要特性如下:

  • 支持对图片/pdf形式的文档进行版面分析,可以划分文字、标题、表格、图片、公式等区域;
  • 支持通用的中英文表格检测任务;
  • 支持表格区域进行结构化识别,最终结果输出Excel文件
  • 支持基于多模态的关键信息抽取(Key Information Extraction,KIE)任务-语义实体识别(Semantic Entity Recognition,SER)和关系抽取(Relation Extraction,RE);
  • 支持版面复原,即恢复为与原始图像布局一致的word或者pdf格式的文件;
  • 支持自定义训练及python whl包调用等多种推理部署方式,简单易用;
  • 与半自动数据标注工具PPOCRLabel打通,支持版面分析、表格识别、SER三种任务的标注。

3. 效果展示

PP-StructureV2支持各个模块独立使用或灵活搭配,如,可以单独使用版面分析,或单独使用表格识别,这里仅展示几种代表性使用方式的可视化效果。

3.1 版面分析和表格识别

下图展示了版面分析+表格识别的整体流程,图片先有版面分析划分为图像、文本、标题和表格四种区域,然后对图像、文本和标题三种区域进行OCR的检测识别,对表格进行表格识别,其中图像还会被存储下来以便使用。

3.2 版面恢复

下图展示了基于上一节版面分析和表格识别的结果进行版面恢复的效果。

3.3 关键信息抽取

  • SER

图中不同颜色的框表示不同的类别。

参考表格官方地址:表格识别

PP-Structure 系列官方模型

PP-Structure 文档分析 --官方地址

相关推荐

  1. php文件实战分析

    2024-04-09 23:46:03       58 阅读
  2. pyspark之Structured Streaming file文件案例1

    2024-04-09 23:46:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 23:46:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 23:46:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 23:46:03       82 阅读
  4. Python语言-面向对象

    2024-04-09 23:46:03       91 阅读

热门阅读

  1. vue3基础: 组件注册

    2024-04-09 23:46:03       34 阅读
  2. 微信小程序第六次课(模块化和绑定事件)

    2024-04-09 23:46:03       35 阅读
  3. 题目 2915: 接水问题

    2024-04-09 23:46:03       38 阅读
  4. GDB调试概述

    2024-04-09 23:46:03       32 阅读
  5. 题目 2016: 新生的入队仪式

    2024-04-09 23:46:03       30 阅读
  6. 三月已过,春招进度堪忧

    2024-04-09 23:46:03       28 阅读
  7. 并查集(基础+带权以及可撤销并查集后期更新)

    2024-04-09 23:46:03       35 阅读
  8. Linux 内核同步

    2024-04-09 23:46:03       38 阅读