Skip to content

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)

License

Notifications You must be signed in to change notification settings

rainbow-jay/PaddleOCR

Repository files navigation

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 here;release 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.

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 List(Update on September 8th)

Model introduction Model name Recommended scene Detection model Direction classifier Recognition model
Chinese and English ultra-lightweight PP-OCRv3 model(16.2M) ch_PP-OCRv3_xx Mobile & Server inference model / trained model inference model / trained model inference model / trained model
English ultra-lightweight PP-OCRv3 model(13.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 model(11.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

About

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)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 78.5%
  • C++ 12.5%
  • Shell 4.8%
  • Java 2.5%
  • CMake 0.4%
  • Cuda 0.4%
  • Other 0.9%