inference.md 5.4 KB
Newer Older
M
update  
MissPenguin 已提交
1 2
# 基于Python预测引擎推理

文幕地方's avatar
文幕地方 已提交
3 4 5 6 7 8 9
- [1. 版面信息抽取](#1-版面信息抽取)
  - [1.1 版面分析+表格识别](#11-版面分析表格识别)
  - [1.2 版面分析](#12-版面分析)
  - [1.3 表格识别](#13-表格识别)
- [2. 关键信息抽取](#2-关键信息抽取)
  - [2.1 SER](#21-ser)
  - [2.2 RE+SER](#22-reser)
M
update  
MissPenguin 已提交
10 11

<a name="1"></a>
M
MissPenguin 已提交
12
## 1. 版面信息抽取
13
进入`ppstructure`目录
M
update  
MissPenguin 已提交
14 15 16

```bash
cd ppstructure
M
MissPenguin 已提交
17
```
18 19
下载模型
```bash
M
update  
MissPenguin 已提交
20
mkdir inference && cd inference
文幕地方's avatar
文幕地方 已提交
21 22 23
# 下载PP-Structurev2版面分析模型并解压
wget https://paddleocr.bj.bcebos.com/ppstructure/models/layout/picodet_lcnet_x1_0_layout_infer.tar && tar xf picodet_lcnet_x1_0_layout_infer.tar
# 下载PP-OCRv3文本检测模型并解压
文幕地方's avatar
文幕地方 已提交
24
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar && tar xf ch_PP-OCRv3_det_infer.tar
文幕地方's avatar
文幕地方 已提交
25
# 下载PP-OCRv3文本识别模型并解压
文幕地方's avatar
文幕地方 已提交
26
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar && tar xf ch_PP-OCRv3_rec_infer.tar
文幕地方's avatar
文幕地方 已提交
27 28
# 下载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
M
update  
MissPenguin 已提交
29
cd ..
30 31 32 33
```
<a name="1.1"></a>
### 1.1 版面分析+表格识别
```bash
文幕地方's avatar
文幕地方 已提交
34 35
python3 predict_system.py --det_model_dir=inference/ch_PP-OCRv3_det_infer \
                          --rec_model_dir=inference/ch_PP-OCRv3_rec_infer \
文幕地方's avatar
文幕地方 已提交
36 37
                          --table_model_dir=inference/ch_ppstructure_mobile_v2.0_SLANet_infer \
                          --layout_model_dir=inference/picodet_lcnet_x1_0_layout_infer \
38
                          --image_dir=./docs/table/1.png \
M
update  
MissPenguin 已提交
39
                          --rec_char_dict_path=../ppocr/utils/ppocr_keys_v1.txt \
文幕地方's avatar
文幕地方 已提交
40
                          --table_char_dict_path=../ppocr/utils/dict/table_structure_dict_ch.txt \
41
                          --output=../output \
M
update  
MissPenguin 已提交
42 43
                          --vis_font_path=../doc/fonts/simfang.ttf
```
44 45 46 47 48
运行完成后,每张图片会在`output`字段指定的目录下的`structure`目录下有一个同名目录,图片里的每个表格会存储为一个excel,图片区域会被裁剪之后保存下来,excel文件和图片名为表格在图片里的坐标。详细的结果会存储在`res.txt`文件中。

<a name="1.2"></a>
### 1.2 版面分析
```bash
文幕地方's avatar
文幕地方 已提交
49 50 51 52 53
python3 predict_system.py --layout_model_dir=inference/picodet_lcnet_x1_0_layout_infer \
                          --image_dir=./docs/table/1.png \
                          --output=../output \
                          --table=false \
                          --ocr=false
54 55 56 57 58 59
```
运行完成后,每张图片会在`output`字段指定的目录下的`structure`目录下有一个同名目录,图片区域会被裁剪之后保存下来,图片名为表格在图片里的坐标。版面分析结果会存储在`res.txt`文件中。

<a name="1.3"></a>
### 1.3 表格识别
```bash
文幕地方's avatar
文幕地方 已提交
60 61
python3 predict_system.py --det_model_dir=inference/ch_PP-OCRv3_det_infer \
                          --rec_model_dir=inference/ch_PP-OCRv3_rec_infer \
文幕地方's avatar
文幕地方 已提交
62
                          --table_model_dir=inference/ch_ppstructure_mobile_v2.0_SLANet_infer \
63 64
                          --image_dir=./docs/table/table.jpg \
                          --rec_char_dict_path=../ppocr/utils/ppocr_keys_v1.txt \
文幕地方's avatar
文幕地方 已提交
65
                          --table_char_dict_path=../ppocr/utils/dict/table_structure_dict_ch.txt \
66 67 68 69 70
                          --output=../output \
                          --vis_font_path=../doc/fonts/simfang.ttf \
                          --layout=false
```
运行完成后,每张图片会在`output`字段指定的目录下的`structure`目录下有一个同名目录,表格会存储为一个excel,excel文件名为`[0,0,img_h,img_w]`
M
update  
MissPenguin 已提交
71 72

<a name="2"></a>
littletomatodonkey's avatar
littletomatodonkey 已提交
73
## 2. 关键信息抽取
M
update  
MissPenguin 已提交
74

文幕地方's avatar
文幕地方 已提交
75 76
### 2.1 SER

M
update  
MissPenguin 已提交
77 78 79 80
```bash
cd ppstructure

mkdir inference && cd inference
littletomatodonkey's avatar
littletomatodonkey 已提交
81 82
# 下载SER XFUND 模型并解压
wget https://paddleocr.bj.bcebos.com/ppstructure/models/vi_layoutxlm/ser_vi_layoutxlm_xfund_infer.tar && tar -xf ser_vi_layoutxlm_xfund_infer.tar
M
update  
MissPenguin 已提交
83
cd ..
littletomatodonkey's avatar
littletomatodonkey 已提交
84 85 86 87 88 89 90
python3 kie/predict_kie_token_ser.py \
  --kie_algorithm=LayoutXLM \
  --ser_model_dir=../inference/ser_vi_layoutxlm_xfund_infer \
  --image_dir=./docs/kie/input/zh_val_42.jpg \
  --ser_dict_path=../ppocr/utils/dict/kie_dict/xfund_class_list.txt \
  --vis_font_path=../doc/fonts/simfang.ttf \
  --ocr_order_method="tb-yx"
M
update  
MissPenguin 已提交
91
```
littletomatodonkey's avatar
littletomatodonkey 已提交
92

93
运行完成后,每张图片会在`output`字段指定的目录下的`kie`目录下存放可视化之后的图片,图片名和输入图片名一致。
文幕地方's avatar
文幕地方 已提交
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

### 2.2 RE+SER

```bash
cd ppstructure

mkdir inference && cd inference
# 下载RE SER XFUND 模型并解压
wget https://paddleocr.bj.bcebos.com/ppstructure/models/vi_layoutxlm/ser_vi_layoutxlm_xfund_infer.tar && tar -xf ser_vi_layoutxlm_xfund_infer.tar
wget https://paddleocr.bj.bcebos.com/ppstructure/models/vi_layoutxlm/re_vi_layoutxlm_xfund_infer.tar && tar -xf re_vi_layoutxlm_xfund_infer.tar
cd ..

python3 predict_system.py \
  --kie_algorithm=LayoutXLM \
  --re_model_dir=./inference/re_vi_layoutxlm_xfund_infer \
  --ser_model_dir=./inference/ser_vi_layoutxlm_xfund_infer \
  --image_dir=./docs/kie/input/zh_val_42.jpg \
  --ser_dict_path=../ppocr/utils/dict/kie_dict/xfund_class_list.txt \
  --vis_font_path=../doc/fonts/simfang.ttf \
  --ocr_order_method="tb-yx" \
  --mode=kie
```

运行完成后,每张图片会在`output`字段指定的目录下的`kie`目录下有一个同名目录,目录中存放可视化图片和预测结果。