README.md 12.6 KB
Newer Older
W
WenmuZhou 已提交
1 2
English | [简体中文](README_ch.md)

qq_25193841's avatar
qq_25193841 已提交
3 4 5 6 7 8 9 10 11 12 13 14 15
<p align="center">
 <img src="./doc/PaddleOCR_log.png" align="middle" width = "600"/>
<p align="center">
<p align="left">
    <a href="./LICENSE"><img src="https://img.shields.io/badge/license-Apache%202-dfd.svg"></a>
    <a href="https://github.com/PaddlePaddle/PaddleOCR/releases"><img src="https://img.shields.io/github/v/release/PaddlePaddle/PaddleOCR?color=ffa"></a>
    <a href=""><img src="https://img.shields.io/badge/python-3.7+-aff.svg"></a>
    <a href=""><img src="https://img.shields.io/badge/os-linux%2C%20win%2C%20mac-pink.svg"></a>
    <a href=""><img src="https://img.shields.io/pypi/format/PaddleOCR?color=c77"></a>
    <a href="https://pypi.org/project/PaddleOCR/"><img src="https://img.shields.io/pypi/dm/PaddleOCR?color=9cf"></a>
    <a href="https://github.com/PaddlePaddle/PaddleOCR/stargazers"><img src="https://img.shields.io/github/stars/PaddlePaddle/PaddleOCR?color=ccf"></a>
</p>

W
WenmuZhou 已提交
16
## Introduction
qq_25193841's avatar
qq_25193841 已提交
17

L
LDOUBLEV 已提交
18
PaddleOCR aims to create multilingual, awesome, leading, and practical OCR tools that help users train better models and apply them into practice.
W
WenmuZhou 已提交
19

G
grasswolfs 已提交
20

W
WenmuZhou 已提交
21
**Recent updates**
M
MissPenguin 已提交
22
- 2021.12.21 OCR open source online course starts. The lesson starts at 8:30 every night and lasts for ten days. Free registration: https://aistudio.baidu.com/aistudio/course/introduce/25207
qq_25193841's avatar
qq_25193841 已提交
23
- 2021.12.21 release PaddleOCR v2.4, release 1 text detection algorithm (PSENet), 3 text recognition algorithms (NRTR、SEED、SAR), 1 key information extraction algorithm (SDMGR, [tutorial](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.4/ppstructure/docs/kie.md)) and 3 DocVQA algorithms (LayoutLM, LayoutLMv2, LayoutXLM, [tutorial](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.4/ppstructure/vqa)).
24
- PaddleOCR R&D team would like to share the key points of PP-OCRv2, at 20:15 pm on September 8th, [Course Address](https://aistudio.baidu.com/aistudio/education/group/info/6758).
D
DanielYang 已提交
25
- 2021.9.7 release PaddleOCR v2.3, [PP-OCRv2](#PP-OCRv2) is proposed. The inference speed of PP-OCRv2 is 220% higher than that of PP-OCR server in CPU device. The F-score of PP-OCRv2 is 7% higher than that of PP-OCR mobile.
qq_25193841's avatar
qq_25193841 已提交
26 27 28
- 2021.8.3 released PaddleOCR v2.2, add a new structured documents analysis toolkit, i.e., [PP-Structure](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.2/ppstructure/README.md), support layout analysis and table recognition (One-key to export chart images to Excel files).
- 2021.4.8 release end-to-end text recognition algorithm [PGNet](https://www.aaai.org/AAAI21Papers/AAAI-2885.WangP.pdf) which is published in AAAI 2021. Find tutorial [here](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.1/doc/doc_en/pgnet_en.md);release multi language recognition [models](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.1/doc/doc_en/multi_languages_en.md), support more than 80 languages recognition; especically, the performance of [English recognition model](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.1/doc/doc_en/models_list_en.md#English) is Optimized.

W
WenmuZhou 已提交
29 30
- [more](./doc/doc_en/update_en.md)

31

M
update  
MissPenguin 已提交
32
## Features
W
WenmuZhou 已提交
33

M
update  
MissPenguin 已提交
34
PaddleOCR support a variety of cutting-edge algorithms related to OCR, and developed industrial featured models/solution [PP-OCR](./doc/doc_en/ppocr_introduction_en.md) and [PP-Structure](./ppstructure/README.md) on this basis, and get through the whole process of data production, model training, compression, inference and deployment.
D
dyning 已提交
35

M
update  
MissPenguin 已提交
36
![](./doc/features_en.png)
L
LDOUBLEV 已提交
37

M
update  
MissPenguin 已提交
38
> It is recommended to start with the “quick experience” in the document tutorial
L
LDOUBLEV 已提交
39 40


W
WenmuZhou 已提交
41
## Quick Experience
D
dyning 已提交
42

M
update  
MissPenguin 已提交
43 44 45 46 47 48 49 50 51 52 53 54
- Web online experience for the ultra-lightweight OCR: [Online Experience](https://www.paddlepaddle.org.cn/hub/scene/ocr)
- Mobile DEMO experience (based on EasyEdge and Paddle-Lite, supports iOS and Android systems): [Sign in to the website to obtain the QR code for  installing the App](https://ai.baidu.com/easyedge/app/openSource?from=paddlelite)
- One line of code quick use: [Quick Start](./doc/doc_en/quickstart_en.md)


<a name="book"></a>
## E-book: *Dive Into OCR*
- [Dive Into OCR 📚](./doc/doc_en/ocr_book_en.md)


<a name="Community"></a>
## Community
D
dyning 已提交
55

M
update  
MissPenguin 已提交
56 57 58
- **Join us**👬: Scan the QR code below with your Wechat, you can join the official technical discussion group. Looking forward to your participation.
- **Contribution**🏅️: [Contribution page](./doc/doc_en/thirdparty.md) contains various tools and applications developed by community developers using PaddleOCR, as well as the functions, optimized documents and codes contributed to PaddleOCR. It is an official honor wall for community developers and a broadcasting station to help publicize high-quality projects.
- **Regular Season**🎁: The community regular season is a point competition for OCR developers, covering four types: documents, codes, models and applications. Awards are selected and awarded on a quarterly basis. Please refer to the [link](https://github.com/PaddlePaddle/PaddleOCR/issues/4982) for more details.
T
tink2123 已提交
59

L
LDOUBLEV 已提交
60

G
grasswolfs 已提交
61
<div align="center">
M
update  
MissPenguin 已提交
62
<img src="https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/dygraph/doc/joinus.PNG"  width = "200" height = "200" />
G
grasswolfs 已提交
63
</div>
D
dyning 已提交
64

W
WenmuZhou 已提交
65 66

<a name="Supported-Chinese-model-list"></a>
67
## PP-OCR Series Model List(Update on September 8th)
W
WenmuZhou 已提交
68 69 70

| Model introduction                                           | Model name                   | Recommended scene | Detection model                                              | Direction classifier                                         | Recognition model                                            |
| ------------------------------------------------------------ | ---------------------------- | ----------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
L
reset  
LDOUBLEV 已提交
71
| Chinese and English ultra-lightweight PP-OCRv2 model(11.6M) |  ch_PP-OCRv2_xx |Mobile & Server|[inference model](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_det_infer.tar) / [trained model](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_det_distill_train.tar)| [inference model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar) / [trained model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_train.tar) |[inference model](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_infer.tar) / [trained model](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_train.tar)|
qq_25193841's avatar
qq_25193841 已提交
72
| Chinese and English ultra-lightweight PP-OCR model (9.4M)       | ch_ppocr_mobile_v2.0_xx      | Mobile & server   |[inference model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar) / [trained model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_train.tar)|[inference model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar) / [trained model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_train.tar) |[inference model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar) / [trained model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_train.tar)      |
73
| Chinese and English general PP-OCR model (143.4M)               | ch_ppocr_server_v2.0_xx      | Server            |[inference model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_infer.tar) / [trained model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_train.tar)    |[inference model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar) / [trained model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_train.tar)    |[inference model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_infer.tar) / [trained model](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_train.tar)  |
L
LDOUBLEV 已提交
74

W
WenmuZhou 已提交
75

M
update  
MissPenguin 已提交
76 77 78
- For more model downloads (including multiple languages), please refer to [PP-OCR series model downloads](./doc/doc_en/models_list_en.md).
- For a new language request, please refer to [Guideline for new language_requests](#language_requests).
- For structural document analysis models, please refer to [PP-Structure models](./ppstructure/docs/models_list_en.md).
W
WenmuZhou 已提交
79 80

## Tutorials
qq_25193841's avatar
qq_25193841 已提交
81
- [Environment Preparation](./doc/doc_en/environment_en.md)
W
WenmuZhou 已提交
82
- [Quick Start](./doc/doc_en/quickstart_en.md)
M
update  
MissPenguin 已提交
83 84 85 86
- [PP-OCR 🔥](./doc/doc_en/ppocr_introduction_en.md)
    - [Quick Start](./doc/doc_en/quickstart_en.md)
    - [Model Zoo](./doc/doc_en/models_en.md)
    - [Model training](./doc/doc_en/training_en.md)
qq_25193841's avatar
qq_25193841 已提交
87 88
        - [Text Detection](./doc/doc_en/detection_en.md)
        - [Text Recognition](./doc/doc_en/recognition_en.md)
89
        - [Text Direction Classification](./doc/doc_en/angle_class_en.md)
M
update  
MissPenguin 已提交
90
    - Model Compression
qq_25193841's avatar
qq_25193841 已提交
91 92
        - [Model Quantization](./deploy/slim/quantization/README_en.md)
        - [Model Pruning](./deploy/slim/prune/README_en.md)
M
update  
MissPenguin 已提交
93
        - [Knowledge Distillation](./doc/doc_en/knowledge_distillation_en.md)
M
update  
MissPenguin 已提交
94
    - [Inference and Deployment](./deploy/README.md)
M
update  
MissPenguin 已提交
95 96
        - [Python Inference](./doc/doc_en/inference_ppocr_en.md)
        - [C++ Inference](./deploy/cpp_infer/readme.md)
qq_25193841's avatar
qq_25193841 已提交
97
        - [Serving](./deploy/pdserving/README.md)
M
update  
MissPenguin 已提交
98 99
        - [Mobile](./deploy/lite/readme.md)
        - [Paddle2ONNX](./deploy/paddle2onnx/readme.md)
qq_25193841's avatar
qq_25193841 已提交
100
        - [Benchmark](./doc/doc_en/benchmark_en.md)  
M
update  
MissPenguin 已提交
101 102 103
- [PP-Structure 🔥](./ppstructure/README.md)
    - [Quick Start](./ppstructure/docs/quickstart_en.md)
    - [Model Zoo](./ppstructure/docs/models_list_en.md)
104
    - [Model training](./doc/doc_en/training_en.md)  
M
update  
MissPenguin 已提交
105 106 107 108 109 110 111 112 113 114 115 116 117
        - [Layout Parser](./ppstructure/layout/README.md)
        - [Table Recognition](./ppstructure/table/README.md)
        - [DocVQA](./ppstructure/vqa/README.md)
        - [Key Information Extraction](./ppstructure/docs/kie_en.md)
    - [Inference and Deployment](./deploy/README.md)
        - [Python Inference](./ppstructure/docs/inference_en.md)
        - [C++ Inference]()
        - [Serving](./deploy/pdserving/README.md)
- [Academic algorithms](./doc/doc_en/algorithms_en.md)
    - [Text detection](./doc/doc_en/algorithm_overview_en.md)
    - [Text recognition](./doc/doc_en/algorithm_overview_en.md)
    - [End-to-end](./doc/doc_en/algorithm_overview_en.md)
    - [Add New Algorithms to PaddleOCR](./doc/doc_en/add_new_algorithm_en.md)
L
LDOUBLEV 已提交
118
- Data Annotation and Synthesis
G
grasswolfs 已提交
119
    - [Semi-automatic Annotation Tool: PPOCRLabel](./PPOCRLabel/README.md)
D
dyning 已提交
120
    - [Data Synthesis Tool: Style-Text](./StyleText/README.md)
G
grasswolfs 已提交
121 122
    - [Other Data Annotation Tools](./doc/doc_en/data_annotation_en.md)
    - [Other Data Synthesis Tools](./doc/doc_en/data_synthesis_en.md)
W
WenmuZhou 已提交
123
- Datasets
124 125 126
    - [General OCR Datasets(Chinese/English)](doc/doc_en/dataset/datasets_en.md)
    - [HandWritten_OCR_Datasets(Chinese)](doc/doc_en/dataset/handwritten_datasets_en.md)
    - [Various OCR Datasets(multilingual)](doc/doc_en/dataset/vertical_and_multilingual_datasets_en.md)
M
update  
MissPenguin 已提交
127
- [Code Structure](./doc/doc_en/tree_en.md)
W
WenmuZhou 已提交
128
- [Visualization](#Visualization)
M
update  
MissPenguin 已提交
129
- [Community](#Community)
L
LDOUBLEV 已提交
130
- [New language requests](#language_requests)
W
WenmuZhou 已提交
131 132 133
- [FAQ](./doc/doc_en/FAQ_en.md)
- [References](./doc/doc_en/reference_en.md)
- [License](#LICENSE)
D
dyning 已提交
134

T
tink2123 已提交
135

M
update  
MissPenguin 已提交
136
<a name="Visualization"></a>
W
WenmuZhou 已提交
137 138
## Visualization [more](./doc/doc_en/visualization_en.md)
- Chinese OCR model
D
dyning 已提交
139
<div align="center">
L
LDOUBLEV 已提交
140
    <img src="./doc/imgs_results/ch_ppocr_mobile_v2.0/test_add_91.jpg" width="800">
L
LDOUBLEV 已提交
141 142
    <img src="./doc/imgs_results/ch_ppocr_mobile_v2.0/00015504.jpg" width="800">
    <img src="./doc/imgs_results/ch_ppocr_mobile_v2.0/00056221.jpg" width="800">
L
LDOUBLEV 已提交
143
    <img src="./doc/imgs_results/ch_ppocr_mobile_v2.0/rotate_00052204.jpg" width="800">
D
dyning 已提交
144
</div>
T
tink2123 已提交
145

W
WenmuZhou 已提交
146
- English OCR model
D
dyning 已提交
147
<div align="center">
L
LDOUBLEV 已提交
148
    <img src="./doc/imgs_results/ch_ppocr_mobile_v2.0/img_12.jpg" width="800">
D
dyning 已提交
149
</div>
150

W
WenmuZhou 已提交
151
- Multilingual OCR model
D
dyning 已提交
152
<div align="center">
L
LDOUBLEV 已提交
153
    <img src="./doc/imgs_results/french_0.jpg" width="800">
L
LDOUBLEV 已提交
154
    <img src="./doc/imgs_results/korean.jpg" width="800">
D
dyning 已提交
155
</div>
T
tink2123 已提交
156

D
dyning 已提交
157

L
LDOUBLEV 已提交
158
<a name="language_requests"></a>
159
## Guideline for New Language Requests
L
LDOUBLEV 已提交
160

A
andyjpaddle 已提交
161
If you want to request a new language support, a PR with 1 following files are needed:
L
LDOUBLEV 已提交
162

G
grasswolfs 已提交
163
1. In folder [ppocr/utils/dict](./ppocr/utils/dict),
L
LDOUBLEV 已提交
164 165 166 167 168 169
it is necessary to submit the dict text to this path and name it with `{language}_dict.txt` that contains a list of all characters. Please see the format example from other files in that folder.

If your language has unique elements, please tell me in advance within any way, such as useful links, wikipedia and so on.

More details, please refer to [Multilingual OCR Development Plan](https://github.com/PaddlePaddle/PaddleOCR/issues/1048).

M
MissPenguin 已提交
170

W
WenmuZhou 已提交
171 172
<a name="LICENSE"></a>
## License
173
This project is released under <a href="https://github.com/PaddlePaddle/PaddleOCR/blob/master/LICENSE">Apache 2.0 license</a>