Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
 
 
 
 
 
 
Go to file
xiaoting 52c4d5b43f
update multi-models and fix pdserving (#6160)
2022-05-07 12:09:02 +08:00
.github/ISSUE_TEMPLATE Update joinus.png and issue_template 2021-11-09 19:26:36 +08:00
PPOCRLabel Fix add same label in key dialog 2022-05-05 11:31:17 +08:00
StyleText dbg (#3236) 2021-07-02 10:38:04 +08:00
applications [cherry-pick] `Fix some typos for Jetson, metrics and result` from release/2.4-typos2 branch and merge. (#6119) 2022-05-02 14:01:29 +08:00
benchmark fix run_benchmark_det.sh 2022-03-11 16:26:40 +08:00
configs fix doc (#6143) 2022-05-06 13:38:42 +08:00
deploy update multi-models and fix pdserving (#6160) 2022-05-07 12:09:02 +08:00
doc update multi-models and fix pdserving (#6160) 2022-05-07 12:09:02 +08:00
notebook [cherry-pick] Fix some typos from release/2.4 branch and merge. (#6114) 2022-05-02 14:06:02 +08:00
ppocr Merge branch 'PaddlePaddle:dygraph' into dygraph 2022-05-06 17:25:38 +08:00
ppstructure [cherry-pick] Fix some typos from release/2.4 branch and merge. (#6114) 2022-05-02 14:06:02 +08:00
test_tipc [cherry-pick] `Fix some typos for Jetson, metrics and result` from release/2.4-typos2 branch and merge. (#6119) 2022-05-02 14:01:29 +08:00
tools Merge pull request #5957 from manangoel99/wandb-metric-logger-corrected 2022-05-06 15:25:31 +08:00
.clang_format.hook upload lite demo and clang-fomat 2020-07-07 07:40:39 +00:00
.gitignore [TIPC] Add js infer test 2021-12-20 22:54:48 +08:00
.pre-commit-config.yaml upload PaddleOCR code 2020-05-10 16:26:57 +08:00
.style.yapf upload PaddleOCR code 2020-05-10 16:26:57 +08:00
LICENSE Initial commit 2020-05-08 18:38:17 +08:00
MANIFEST.in fix bug in whl import fce 2022-03-18 10:08:58 +00:00
README.md Merge pull request #5957 from manangoel99/wandb-metric-logger-corrected 2022-05-06 15:25:31 +08:00
README_ch.md add model list (#6091) 2022-04-29 09:59:19 +08:00
__init__.py add relative import 2022-03-23 14:22:06 +00:00
paddleocr.py update doc for whl and python cpp infer quick 2022-04-29 03:38:59 +00:00
requirements.txt The whl package supports separate table recognition and layout analysis 2022-04-22 13:24:45 +08:00
setup.py merge paddlestructure whl to paddleocr whl 2021-08-02 15:28:07 +08:00
train.sh opt deploy doc 2021-02-02 21:08:13 +08:00

README.md

English | 简体中文

Introduction

PaddleOCR aims to create multilingual, awesome, leading, and practical OCR tools that help users train better models and apply them into practice.

Recent updates

  • 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

  • 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) and 3 DocVQA algorithms (LayoutLM, LayoutLMv2, LayoutXLM, tutorial).

  • PaddleOCR R&D team would like to share the key points of PP-OCRv2, at 20:15 pm on September 8th, Course Address.

  • 2021.9.7 release PaddleOCR v2.3, 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.

  • 2021.8.3 released PaddleOCR v2.2, add a new structured documents analysis toolkit, i.e., PP-Structure, 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 which is published in AAAI 2021. Find tutorial hererelease multi language recognition models, support more than 80 languages recognition; especically, the performance of English recognition model is Optimized.

  • more

Features

PaddleOCR support a variety of cutting-edge algorithms related to OCR, and developed industrial featured models/solution PP-OCR and PP-Structure on this basis, and get through the whole process of data production, model training, compression, inference and deployment.

PaddleOCR also supports metric and model logging during training to VisualDL and Weights & Biases.

It is recommended to start with the “quick experience” in the document tutorial

Quick Experience

E-book: Dive Into OCR

Community

  • 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 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 for more details.

PP-OCR Series Model ListUpdate on September 8th

Model introduction Model name Recommended scene Detection model Direction classifier Recognition model
Chinese and English ultra-lightweight PP-OCRv3 model16.2M ch_PP-OCRv3_xx Mobile & Server inference model / trained model inference model / trained model inference model / trained model
English ultra-lightweight PP-OCRv3 model13.4M en_PP-OCRv3_xx Mobile & Server inference model / trained model inference model / trained model inference model / trained model
Chinese and English ultra-lightweight PP-OCRv2 model11.6M ch_PP-OCRv2_xx Mobile & Server inference model / trained model inference model / trained model inference model / trained model
Chinese and English ultra-lightweight PP-OCR model (9.4M) ch_ppocr_mobile_v2.0_xx Mobile & server inference model / trained model inference model / trained model inference model / trained model
Chinese and English general PP-OCR model (143.4M) ch_ppocr_server_v2.0_xx Server inference model / trained model inference model / trained model inference model / trained model

Tutorials

Visualization more

  • Chinese OCR model
  • English OCR model
  • Multilingual OCR model

Guideline for New Language Requests

If you want to request a new language support, a PR with 1 following files are needed

  1. In folder ppocr/utils/dict, 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.

License

This project is released under Apache 2.0 license