Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
MissPenguin committed Apr 19, 2022
1 parent f9a9492 commit 8a591a7
Show file tree
Hide file tree
Showing 31 changed files with 143 additions and 85 deletions.
43 changes: 27 additions & 16 deletions README_ch.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,6 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力

更多模型下载(包括多语言),可以参考[PP-OCR 系列模型下载](./doc/doc_ch/models_list.md)

## PP-Structure系列模型列表(更新中)

| 模型简介 | 模型名称 | 推荐场景 | 版面分析 | 表格识别 | DocVQA |
| ------- | ------- | ------- | -------- | --------- | -------- |
| | | | | | |

更多模型下载(包括多语言),可以参考[PP-Structure 系列模型下载](./doc/ppstructure/models_list.md)


## 文档教程

Expand All @@ -101,16 +93,16 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力
- [Paddle2ONNX模型转化与预测](./deploy/paddle2onnx/readme.md)
- [Benchmark](./doc/doc_ch/benchmark.md)
- [PP-Structure文档分析🔥](./ppstructure/README_ch.md)
- [快速开始](./doc/ppstructure/quickstart.md)
- [模型库](./doc/ppstructure/models_list.md)
- [快速开始](./ppstructure/docs/quickstart.md)
- [模型库](./ppstructure/docs/models_list.md)
- [模型训练](./doc/doc_ch/training.md)
- [版面分析](./ppstructure/layout/README_ch.md)
- [表格识别](./ppstructure/table/README_ch.md)
- [关键信息提取](./doc/ppstructure/kie.md)
- [关键信息提取](./ppstructure/docs/kie.md)
- [DocVQA](./ppstructure/vqa/README_ch.md)
- [推理部署](./deploy/readme_ch.md)
- [基于Python预测引擎推理](./doc/ppstructure/inference.md)
- [基于C++预测引擎推理](./doc/ppstructure/inference_cpp.md)
- [基于Python预测引擎推理](./ppstructure/docs/inference.md)
- [基于C++预测引擎推理]()
- [服务化部署](./deploy/pdserving/README_CN.md)
- [前沿算法与模型🚀](./doc/doc_ch/algorithm.md)
- [文本检测算法](./doc/doc_ch/algorithm_overview.md#11-%E6%96%87%E6%9C%AC%E6%A3%80%E6%B5%8B%E7%AE%97%E6%B3%95)
Expand Down Expand Up @@ -146,7 +138,7 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力
## 效果展示 [more](./doc/doc_ch/visualization.md)

<details open>
<summary>中文模型</summary>
<summary>PP-OCRv2 中文模型</summary>

<div align="center">
<img src="doc/imgs_results/ch_ppocr_mobile_v2.0/test_add_91.jpg" width="800">
Expand All @@ -161,7 +153,7 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力


<details open>
<summary>英文模型</summary>
<summary>PP-OCRv2 英文模型</summary>

<div align="center">
<img src="./doc/imgs_results/ch_ppocr_mobile_v2.0/img_12.jpg" width="800">
Expand All @@ -171,7 +163,7 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力


<details open>
<summary>其他语言模型</summary>
<summary>PP-OCRv2 其他语言模型</summary>

<div align="center">
<img src="./doc/imgs_results/french_0.jpg" width="800">
Expand All @@ -180,6 +172,25 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力

</details>

<details open>
<summary>PP-Structure 文档分析</summary>

- 版面分析+表格识别
<div align="center">
<img src="./ppstructure/docs/table/ppstructure.GIF" width="800">
</div>

- SER(语义实体识别)
<div align="center">
<img src="./ppstructure/docs/vqa/result_ser/zh_val_0_ser.jpg" width="800">
</div>

- RE(关系提取)
<div align="center">
<img src="./ppstructure/docs/vqa/result_re/zh_val_21_re.jpg" width="800">
</div>

</details>

<a name="许可证书"></a>

Expand Down
73 changes: 45 additions & 28 deletions ppstructure/README_ch.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,34 @@
[English](README.md) | 简体中文

- [1. 简介](#1-简介)
- [2. 近期更新](#2-近期更新)
- [3. 特性](#3-特性)
- [4. 效果展示](#4-效果展示)
- [4.1 版面分析和表格识别](#41-版面分析和表格识别)
- [4.2 DOC-VQA](#42-doc-vqa)
- [5. 快速体验](#5-快速体验)
- [6. PP-Structure 介绍](#6-pp-structure-介绍)
- [6.1 版面分析+表格识别](#61-版面分析表格识别)
- [6.1.1 版面分析](#611-版面分析)
- [6.1.2 表格识别](#612-表格识别)
- [6.2 DOC-VQA](#62-doc-vqa)
- [7. 模型库](#7-模型库)
- [7.1 版面分析模型](#71-版面分析模型)
- [7.2 OCR和表格识别模型](#72-ocr和表格识别模型)
- [7.2 DOC-VQA 模型](#72-doc-vqa-模型)


# PP-Structure

- [1. 简介](#1)
- [2. 近期更新](#2)
- [3. 特性](#3)
- [4. 效果展示](#4)
- [4.1 版面分析和表格识别](#41)
- [4.2 DocVQA](#42)
- [5. 快速体验](#5)
- [6. PP-Structure 介绍](#6)
- [6.1 版面分析+表格识别](#61)
- [6.1.1 版面分析](#611)
- [6.1.2 表格识别](#612)
- [6.2 DocVQA](#62)
- [7. 模型库](#7)
- [7.1 版面分析模型](#71)
- [7.2 OCR和表格识别模型](#72)
- [7.3 DocVQA 模型](#73)

<a name="1"></a>
## 1. 简介
PP-Structure是一个可用于复杂文档结构分析和处理的OCR工具包,旨在帮助开发者更好的完成文档理解相关任务。

<a name="2"></a>
## 2. 近期更新
* 2022.02.12 DOC-VQA增加LayoutLMv2模型
* 2022.02.12 DocVQA增加LayoutLMv2模型
* 2021.12.07 新增[DOC-VQA任务SER和RE](vqa/README.md)

<a name="3"></a>
## 3. 特性

PP-Structure的主要特性如下:
Expand All @@ -33,21 +37,24 @@ PP-Structure的主要特性如下:
- 支持表格区域进行结构化分析,最终结果输出Excel文件
- 支持python whl包和命令行两种方式,简单易用
- 支持版面分析和表格结构化两类任务自定义训练
- 支持文档视觉问答(Document Visual Question Answering,DOC-VQA)任务-语义实体识别(Semantic Entity Recognition,SER)和关系抽取(Relation Extraction,RE)
- 支持文档视觉问答(Document Visual Question Answering,DocVQA)任务-语义实体识别(Semantic Entity Recognition,SER)和关系抽取(Relation Extraction,RE)

<a name="4"></a>
## 4. 效果展示

<a name="41"></a>
### 4.1 版面分析和表格识别

<img src="../doc/table/ppstructure.GIF" width="100%"/>
<img src="./docs/table/ppstructure.GIF" width="100%"/>

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

<a name="42"></a>
### 4.2 DOC-VQA

* SER

![](../doc/vqa/result_ser/zh_val_0_ser.jpg) | ![](../doc/vqa/result_ser/zh_val_42_ser.jpg)
![](./docs/vqa/result_ser/zh_val_0_ser.jpg) | ![](./docs/vqa/result_ser/zh_val_42_ser.jpg)
---|---

图中不同颜色的框表示不同的类别,对于XFUN数据集,有`QUESTION`, `ANSWER`, `HEADER` 3种类别
Expand All @@ -60,46 +67,55 @@ PP-Structure的主要特性如下:

* RE

![](../doc/vqa/result_re/zh_val_21_re.jpg) | ![](../doc/vqa/result_re/zh_val_40_re.jpg)
![](./docs/vqa/result_re/zh_val_21_re.jpg) | ![](./docs/vqa/result_re/zh_val_40_re.jpg)
---|---


图中红色框表示问题,蓝色框表示答案,问题和答案之间使用绿色线连接。在OCR检测框的左上方也标出了对应的类别和OCR识别结果。

<a name="5"></a>
## 5. 快速体验

请参考[快速安装](./docs/quickstart.md)教程。
请参考[快速使用](./docs/quickstart.md)教程。

<a name="6"></a>
## 6. PP-Structure 介绍

<a name="61"></a>
### 6.1 版面分析+表格识别

![pipeline](../doc/table/pipeline.jpg)
![pipeline](./docs/table/pipeline.jpg)

在PP-Structure中,图片会先经由Layout-Parser进行版面分析,在版面分析中,会对图片里的区域进行分类,包括**文字、标题、图片、列表和表格**5类。对于前4类区域,直接使用PP-OCR完成对应区域文字检测与识别。对于表格类区域,经过表格结构化处理后,表格图片转换为相同表格样式的Excel文件。

<a name="611"></a>
#### 6.1.1 版面分析

版面分析对文档数据进行区域分类,其中包括版面分析工具的Python脚本使用、提取指定类别检测框、性能指标以及自定义训练版面分析模型,详细内容可以参考[文档](layout/README_ch.md)

<a name="612"></a>
#### 6.1.2 表格识别

表格识别将表格图片转换为excel文档,其中包含对于表格文本的检测和识别以及对于表格结构和单元格坐标的预测,详细说明参考[文档](table/README_ch.md)

### 6.2 DOC-VQA
<a name="62"></a>
### 6.2 DocVQA

DOC-VQA指文档视觉问答,其中包括语义实体识别 (Semantic Entity Recognition, SER) 和关系抽取 (Relation Extraction, RE) 任务。基于 SER 任务,可以完成对图像中的文本识别与分类;基于 RE 任务,可以完成对图象中的文本内容的关系提取,如判断问题对(pair),详细说明参考[文档](vqa/README.md)
DocVQA指文档视觉问答,其中包括语义实体识别 (Semantic Entity Recognition, SER) 和关系抽取 (Relation Extraction, RE) 任务。基于 SER 任务,可以完成对图像中的文本识别与分类;基于 RE 任务,可以完成对图象中的文本内容的关系提取,如判断问题对(pair),详细说明参考[文档](vqa/README.md)

<a name="7"></a>
## 7. 模型库

PP-Structure系列模型列表(更新中)

<a name="71"></a>
### 7.1 版面分析模型

|模型名称|模型简介|下载地址| label_map|
| --- | --- | --- | --- |
| ppyolov2_r50vd_dcn_365e_publaynet | PubLayNet 数据集训练的版面分析模型,可以划分**文字、标题、表格、图片以及列表**5类区域 | [PubLayNet](https://paddle-model-ecology.bj.bcebos.com/model/layout-parser/ppyolov2_r50vd_dcn_365e_publaynet.tar) | {0: "Text", 1: "Title", 2: "List", 3:"Table", 4:"Figure"}|

<a name="72"></a>
### 7.2 OCR和表格识别模型

|模型名称|模型简介|模型大小|下载地址|
Expand All @@ -108,7 +124,8 @@ PP-Structure系列模型列表(更新中)
|ch_PP-OCRv2_rec_slim|【最新】slim量化版超轻量模型,支持中英文、数字识别| 9M |[推理模型](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_slim_quant_infer.tar) / [训练模型](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_slim_quant_train.tar) |
|en_ppocr_mobile_v2.0_table_structure|PubLayNet数据集训练的英文表格场景的表格结构预测|18.6M|[推理模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/table/en_ppocr_mobile_v2.0_table_structure_infer.tar) / [训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.1/table/en_ppocr_mobile_v2.0_table_structure_train.tar) |

### 7.2 DOC-VQA 模型
<a name="73"></a>
### 7.3 DocVQA 模型

|模型名称|模型简介|模型大小|下载地址|
| --- | --- | --- | --- |
Expand Down
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
24 changes: 15 additions & 9 deletions ppstructure/layout/README_ch.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
[English](README.md) | 简体中文
- [版面分析使用说明](#版面分析使用说明)
- [1. 安装whl包](#1--安装whl包)
- [2. 使用](#2-使用)
- [3. 后处理](#3-后处理)
- [4. 指标](#4-指标)
- [5. 训练版面分析模型](#5-训练版面分析模型)

# 版面分析使用说明

- [1. 安装whl包](#1)
- [2. 使用](#2)
- [3. 后处理](#3)
- [4. 指标](#4)
- [5. 训练版面分析模型](#5)


<a name="1"></a>
## 1. 安装whl包
```bash
pip install -U https://paddleocr.bj.bcebos.com/whl/layoutparser-0.0.0-py3-none-any.whl
```

<a name="2"></a>
## 2. 使用

使用layoutparser识别给定文档的布局:

```python
import cv2
import layoutparser as lp
image = cv2.imread("doc/table/layout.jpg")
image = cv2.imread("ppstructure/docs/table/layout.jpg")
image = image[..., ::-1]

# 加载模型
Expand All @@ -40,7 +43,7 @@ show_img.show()
下图展示了结果,不同颜色的检测框表示不同的类别,并通过`show_element_type`在框的左上角显示具体类别:

<div align="center">
<img src="../../doc/table/result_all.jpg" width = "600" />
<img src="../docs/table/result_all.jpg" width = "600" />
</div>

`PaddleDetectionLayoutModel`函数参数说明如下:
Expand Down Expand Up @@ -68,6 +71,7 @@ show_img.show()
* TableBank word和TableBank latex分别在word文档、latex文档数据集训练;
* 下载的TableBank数据集里同时包含word和latex。

<a name="3"></a>
## 3. 后处理

版面分析检测包含多个类别,如果只想获取指定类别(如"Text"类别)的检测框、可以使用下述代码:
Expand Down Expand Up @@ -106,9 +110,10 @@ show_img.show()
显示只有"Text"类别的结果:

<div align="center">
<img src="../../doc/table/result_text.jpg" width = "600" />
<img src="../docs/table/result_text.jpg" width = "600" />
</div>

<a name="4"></a>
## 4. 指标

| Dataset | mAP | CPU time cost | GPU time cost |
Expand All @@ -122,6 +127,7 @@ show_img.show()

**GPU:** a single NVIDIA Tesla P40

<a name="5"></a>
## 5. 训练版面分析模型

上述模型基于[PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection) 训练,如果您想训练自己的版面分析模型,请参考:[train_layoutparser_model](train_layoutparser_model_ch.md)
Loading

0 comments on commit 8a591a7

Please sign in to comment.