quickstart_en.md 7.15 KB
Newer Older
littletomatodonkey's avatar
littletomatodonkey committed
1
2
3
4
5
6
7

# Quick start of Chinese OCR model

## 1. Prepare for the environment

Please refer to [quick installation](./installation_en.md) to configure the PaddleOCR operating environment.

WenmuZhou's avatar
WenmuZhou committed
8
* Note: Support the use of PaddleOCR through whl package installation,pelease refer  [PaddleOCR Package](https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_en/whl_en.md).
littletomatodonkey's avatar
littletomatodonkey committed
9
10
11

## 2.inference models

WenmuZhou's avatar
WenmuZhou committed
12
The detection and recognition models on the mobile and server sides are as follows. For more models  (including multiple languages), please refer to [PP-OCR v1.1 series model list](../doc_ch/models_list.md)
littletomatodonkey's avatar
littletomatodonkey committed
13

WenmuZhou's avatar
WenmuZhou committed
14
15
16
17
18
19
20

| Model introduction    | Model name     |  Recommended scene      | Detection model | Direction Classifier | Recognition model |
| ------------ | --------------- | ----------------|---- | ---------- | -------- |
| Ultra-lightweight Chinese OCR model(8.1M) | ch_ppocr_mobile_v1.1_xx |Mobile-side/Server-side|[inference model](https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_infer.tar) / [pretrained model](https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_train.tar)|[inference model](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_infer.tar) / [pretrained model](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_train.tar) |[inference model](https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_infer.tar) / [pretrained model](https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_pre.tar)      |
| Universal Chinese OCR model(155.1M)   |ch_ppocr_server_v1.1_xx|Server-side |[inference model](https://paddleocr.bj.bcebos.com/20-09-22/server/det/ch_ppocr_server_v1.1_det_infer.tar) / [pretrained model](https://paddleocr.bj.bcebos.com/20-09-22/server/det/ch_ppocr_server_v1.1_det_train.tar)          |[inference model](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_infer.tar) / [pretrained model](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_train.tar)    |[inference model](https://paddleocr.bj.bcebos.com/20-09-22/server/rec/ch_ppocr_server_v1.1_rec_infer.tar) / [pretrained model](https://paddleocr.bj.bcebos.com/20-09-22/server/rec/ch_ppocr_server_v1.1_rec_pre.tar)  |

* If `wget` is not installed in the windows environment, you can copy the link to the browser to download when downloading the model, then uncompress it and place it in the corresponding directory.
littletomatodonkey's avatar
littletomatodonkey committed
21
22
23
24
25
26
27
28
29

Copy the download address of the `inference model` for detection and recognition in the table above, and uncompress them.

```
mkdir inference && cd inference
# Download the detection model and unzip
wget {url/of/detection/inference_model} && tar xf {name/of/detection/inference_model/package}
# Download the recognition model and unzip
wget {url/of/recognition/inference_model} && tar xf {name/of/recognition/inference_model/package}
WenmuZhou's avatar
WenmuZhou committed
30
31
# Download the direction classifier model and unzip
wget {url/of/classification/inference_model} && tar xf {name/of/classification/inference_model/package}
littletomatodonkey's avatar
littletomatodonkey committed
32
33
34
35
36
37
38
39
cd ..
```

Take the ultra-lightweight model as an example:

```
mkdir inference && cd inference
# Download the detection model of the ultra-lightweight Chinese OCR model and uncompress it
WenmuZhou's avatar
WenmuZhou committed
40
wget https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_infer.tar && tar xf ch_ppocr_mobile_v1.1_det_infer.tar
littletomatodonkey's avatar
littletomatodonkey committed
41
# Download the recognition model of the ultra-lightweight Chinese OCR model and uncompress it
WenmuZhou's avatar
WenmuZhou committed
42
43
44
wget https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_infer.tar && tar xf ch_ppocr_mobile_v1.1_rec_infer.tar
# Download the direction classifier model of the ultra-lightweight Chinese OCR model and uncompress it
wget https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_infer.tar && tar xf ch_ppocr_mobile_v1.1_cls_infer.tar
littletomatodonkey's avatar
littletomatodonkey committed
45
46
47
48
49
50
51
cd ..
```

After decompression, the file structure should be as follows:

```
|-inference
WenmuZhou's avatar
WenmuZhou committed
52
53
54
55
    |-ch_ppocr_mobile_v1.1_det_infer
        |- model
        |- params
    |-ch_ppocr_mobile_v1.1_rec_infer
littletomatodonkey's avatar
littletomatodonkey committed
56
57
        |- model
        |- params
WenmuZhou's avatar
WenmuZhou committed
58
    |-ch_ppocr_mobile_v1.1_cls_infer
littletomatodonkey's avatar
littletomatodonkey committed
59
60
61
62
63
64
65
        |- model
        |- params
    ...
```

## 3. Single image or image set prediction

WenmuZhou's avatar
WenmuZhou committed
66
* The following code implements text detection and recognition process. When performing prediction, you need to specify the path of a single image or image set through the parameter `image_dir`, the parameter `det_model_dir` specifies the path to detect the inference model, the parameter `rec_model_dir` specifies the path to identify the inference model, the parameter `use_angle_cls` specifies whether to use the direction classifier, the parameter `cls_model_dir` specifies the path to identify the direction classifier model, the parameter `use_space_char` specifies whether to predict the space char. The visual results are saved to the `./inference_results` folder by default.
littletomatodonkey's avatar
littletomatodonkey committed
67
68
69
70
71
72



```bash

# Predict a single image specified by image_dir
WenmuZhou's avatar
WenmuZhou committed
73
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/ch_ppocr_mobile_v1.1_det_infer/"  --rec_model_dir="./inference/ch_ppocr_mobile_v1.1_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v1.1_cls_infer/" --use_angle_cls=True --use_space_char=True
littletomatodonkey's avatar
littletomatodonkey committed
74
75

# Predict imageset specified by image_dir
WenmuZhou's avatar
WenmuZhou committed
76
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/" --det_model_dir="./inference/ch_ppocr_mobile_v1.1_det_infer/"  --rec_model_dir="./inference/ch_ppocr_mobile_v1.1_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v1.1_cls_infer/" --use_angle_cls=True --use_space_char=True
littletomatodonkey's avatar
littletomatodonkey committed
77
78

# If you want to use the CPU for prediction, you need to set the use_gpu parameter to False
WenmuZhou's avatar
WenmuZhou committed
79
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/ch_ppocr_mobile_v1.1_det_infer/"  --rec_model_dir="./inference/ch_ppocr_mobile_v1.1_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v1.1_cls_infer/" --use_angle_cls=True --use_space_char=True --use_gpu=False
littletomatodonkey's avatar
littletomatodonkey committed
80
81
82
83
84
85
86
87
```

- Universal Chinese OCR model

Please follow the above steps to download the corresponding models and update the relevant parameters, The example is as follows.

```
# Predict a single image specified by image_dir
WenmuZhou's avatar
WenmuZhou committed
88
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/ch_ppocr_server_v1.1_det_infer/"  --rec_model_dir="./inference/ch_ppocr_server_v1.1_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v1.1_cls_infer/" --use_angle_cls=True --use_space_char=True
littletomatodonkey's avatar
littletomatodonkey committed
89
90
```

WenmuZhou's avatar
WenmuZhou committed
91
92
93
* Note
    - If you want to use the recognition model which does not support space char recognition, please update the source code to the latest version and add parameters `--use_space_char=False`.
    - If you do not want to use direction classifier, please update the source code to the latest version and add parameters `--use_angle_cls=False`.
littletomatodonkey's avatar
littletomatodonkey committed
94
95
96
97
98
99
100


For more text detection and recognition tandem reasoning, please refer to the document tutorial
: [Inference with Python inference engine](./inference_en.md)

In addition, the tutorial also provides other deployment methods for the Chinese OCR model:
- [Server-side C++ inference](../../deploy/cpp_infer/readme_en.md)
WenmuZhou's avatar
WenmuZhou committed
101
- [Service deployment](../../deploy/pdserving/readme_en.md)
littletomatodonkey's avatar
littletomatodonkey committed
102
- [End-to-end deployment](../../deploy/lite/readme_en.md)