test=develop, test=update_readme_en_0920
This commit is contained in:
parent
30648fbc84
commit
3cfffcb5c5
194
README.md
194
README.md
|
@ -1,109 +1,117 @@
|
||||||
[English](README_en.md) | 简体中文
|
English | [简体中文](README_ch.md)
|
||||||
|
|
||||||
## 简介
|
## Introduction
|
||||||
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。
|
PaddleOCR aims to create rich, leading, and practical OCR tools that help users train better models and apply them into practice.
|
||||||
|
|
||||||
**近期更新**
|
**Recent updates**
|
||||||
- 2020.9.19 更新超轻量压缩ppocr_mobile_slim系列模型,整体模型3.5M(详见[PP-OCR Pipline](#PP-OCR)),适合在移动端部署使用。[模型下载](#模型下载)
|
|
||||||
- 2020.9.17 更新超轻量ppocr_mobile系列和通用ppocr_server系列中英文ocr模型,媲美商业效果。[模型下载](#模型下载)
|
|
||||||
- 2020.8.26 更新OCR相关的84个常见问题及解答,具体参考[FAQ](./doc/doc_ch/FAQ.md)
|
|
||||||
- 2020.8.24 支持通过whl包安装使用PaddleOCR,具体参考[Paddleocr Package使用说明](./doc/doc_ch/whl.md)
|
|
||||||
- 2020.8.21 更新8月18日B站直播课回放和PPT,课节2,易学易用的OCR工具大礼包,[获取地址](https://aistudio.baidu.com/aistudio/education/group/info/1519)
|
|
||||||
- [More](./doc/doc_ch/update.md)
|
|
||||||
|
|
||||||
|
- 2020.9.19 Update the ultra lightweight compressed ppocr_mobile_slim series models, the overall model size is 3.5M (see [PP-OCR Pipline](#PP-OCR)), suitable for mobile deployment. [Model Downloads](#Supported-Chinese-model-list)
|
||||||
|
- 2020.9.17 Update the ultra lightweight ppocr_mobile series and general ppocr_server series Chinese and English ocr models, which are comparable to commercial effects. [Model Downloads](#Supported-Chinese-model-list)
|
||||||
|
- 2020.8.24 Support the use of PaddleOCR through whl package installation,pelease refer [PaddleOCR Package](./doc/doc_en/whl_en.md)
|
||||||
|
- 2020.8.21 Update the replay and PPT of the live lesson at Bilibili on August 18, lesson 2, easy to learn and use OCR tool spree. [Get Address](https://aistudio.baidu.com/aistudio/education/group/info/1519)
|
||||||
|
- [more](./doc/doc_en/update_en.md)
|
||||||
|
|
||||||
## 特性
|
## Features
|
||||||
|
- PPOCR series of high-quality pre-trained models, comparable to commercial effects
|
||||||
|
- Ultra lightweight ppocr_mobile series models: detection (2.6M) + direction classifier (0.9M) + recognition (4.6M) = 8.1M
|
||||||
|
- General ppocr_server series models: detection (47.2M) + direction classifier (0.9M) + recognition (107M) = 155.1M
|
||||||
|
- Ultra lightweight compression ppocr_mobile_slim series models: detection (1.4M) + direction classifier (0.5M) + recognition (1.6M) = 3.5M
|
||||||
|
- Support Chinese, English, and digit recognition, vertical text recognition, and long text recognition
|
||||||
|
- Support multi-language recognition: Korean, Japanese, German, French
|
||||||
|
- Support user-defined training, provides rich predictive inference deployment solutions
|
||||||
|
- Support PIP installation, easy to use
|
||||||
|
- Support Linux, Windows, MacOS and other systems
|
||||||
|
|
||||||
- PPOCR系列高质量预训练模型,媲美商业效果
|
## Visualization
|
||||||
- 超轻量ppocr_mobile移动端系列:检测(2.6M)+方向分类器(0.9M)+ 识别(4.6M)= 8.1M
|
|
||||||
- 通用ppocr_server系列:检测(47.2M)+方向分类器(0.9M)+ 识别(107M)= 155.1M
|
|
||||||
- 超轻量压缩ppocr_mobile_slim系列:检测(1.4M)+方向分类器(0.5M)+ 识别(1.6M)= 3.5M
|
|
||||||
- 支持中英文数字组合识别、竖排文本识别、长文本识别
|
|
||||||
- 支持多语言识别:韩语、日语、德语、法语
|
|
||||||
- 支持用户自定义训练,提供丰富的预测推理部署方案
|
|
||||||
- 支持PIP快速安装使用
|
|
||||||
- 可运行于Linux、Windows、MacOS等多种系统
|
|
||||||
|
|
||||||
## 效果展示
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="doc/imgs_results/1101.jpg" width="800">
|
<img src="doc/imgs_results/1101.jpg" width="800">
|
||||||
<img src="doc/imgs_results/1103.jpg" width="800">
|
<img src="doc/imgs_results/1103.jpg" width="800">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
上图是通用ppocr_server模型效果展示,更多效果图请见[效果展示页面](./doc/doc_ch/visualization.md)。
|
The above picture is the effect display of the general ppocr_server model. For more effect pictures, please see [More visualization](./doc/doc_en/visualization_en.md).
|
||||||
|
|
||||||
## 快速体验
|
## Quick Experience
|
||||||
- PC端:超轻量级中文OCR在线体验地址:https://www.paddlepaddle.org.cn/hub/scene/ocr
|
|
||||||
|
|
||||||
- 移动端:[安装包DEMO下载地址](https://ai.baidu.com/easyedge/app/openSource?from=paddlelite)(基于EasyEdge和Paddle-Lite, 支持iOS和Android系统),Android手机也可以直接扫描下面二维码安装体验。
|
You can also quickly experience 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)
|
||||||
|
|
||||||
|
Also, you can scan the QR code below to install the App (**Android support only**)
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="./doc/ocr-android-easyedge.png" width = "200" height = "200" />
|
<img src="./doc/ocr-android-easyedge.png" width = "200" height = "200" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
- 代码体验:从[快速安装](./doc/doc_ch/installation.md) 开始
|
- [**OCR Quick Start**](./doc/doc_en/quickstart_en.md)
|
||||||
|
|
||||||
<a name="模型下载"></a>
|
<a name="Supported-Chinese-model-list"></a>
|
||||||
## PP-OCR 1.1系列模型列表(9月17日更新)
|
|
||||||
|
|
||||||
| 模型简介 | 模型名称 |推荐场景 | 检测模型 | 方向分类器 | 识别模型 | |
|
https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn_enhance.tar)
|
||||||
| ------------ | --------------- | ----------------|---- | ---------- | -------- | ---- |
|
|
||||||
| 中英文超轻量OCR模型(8.1M) | ch_ppocr_mobile_v1.1_xx |移动端&服务器端|[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_train.tar)|[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile-v1.1.cls_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile-v1.1.cls_train.tar) |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_pre.tar) | |
|
|
||||||
| 中英文通用OCR模型(155.1M) |ch_ppocr_server_v1.1_xx|服务器端 |[预测模型](https://paddleocr.bj.bcebos.com/20-09-22/server/det/ch_ppocr_server_v1.1_det_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/server/det/ch_ppocr_server_v1.1_det_train.tar) |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile-v1.1.cls_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile-v1.1.cls_train.tar) |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/server/rec/ch_ppocr_server_v1.1_rec_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/server/rec/ch_ppocr_server_v1.1_rec_pre.tar) | |
|
|
||||||
| 中英文超轻量压缩OCR模型 | ch_ppocr_mobile_slim_v1.1_xx| 移动端 |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/det/ch_ppocr_mobile_v1.1_det_prune_infer.tar) / [slim模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/det/ch_ppocr_mobile_v1.1_det_prune_opt.nb) |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/rec/ch_ppocr_mobile_v1.1_rec_quant_infer.tar) / [slim模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/rec/ch_ppocr_mobile_v1.1_rec_quant_opt.nb)|[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_quant_infer.tar) / [slim模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_cls_quant_opt.nb)| | ||
|
|
||||||
|
|
||||||
更多模型下载(包括多语言),可以参考[PP-OCR v1.1 系列模型下载](./doc/doc_ch/models_list.md)
|
## PP-OCR 1.1 series model list(Update on Sep 17)
|
||||||
|
|
||||||
## 文档教程
|
| Model introduction | Model name | Recommended scene | Detection model | Direction classifier | Recognition model | |
|
||||||
- [快速安装](./doc/doc_ch/installation.md)
|
| ------------------------------------------------------------ | ---------------------------- | ----------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ---- |
|
||||||
- [中文OCR模型快速使用](./doc/doc_ch/quickstart.md)
|
| Chinese and English ultra-lightweight OCR model (8.1M) | ch_ppocr_mobile_v1.1_xx | Mobile & server | [inference model](https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_infer.tar) / [pre-trained 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) / [pre-trained 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) / [pre-trained model](https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_pre.tar) | |
|
||||||
- [代码组织结构](./doc/doc_ch/tree.md)
|
| Chinese and English general OCR model (155.1M) | ch_ppocr_server_v1.1_xx | Server | [inference model](https://paddleocr.bj.bcebos.com/20-09-22/server/det/ch_ppocr_server_v1.1_det_infer.tar) / [pre-trained 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) / [pre-trained 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) / [pre-trained model](https://paddleocr.bj.bcebos.com/20-09-22/server/rec/ch_ppocr_server_v1.1_rec_pre.tar) | |
|
||||||
- 算法介绍
|
| Chinese and English ultra-lightweight compressed OCR model (3.5M) | ch_ppocr_mobile_slim_v1.1_xx | Mobile | [inference model](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/det/ch_ppocr_mobile_v1.1_det_prune_infer.tar) / [slim model](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/det/ch_ppocr_mobile_v1.1_det_prune_opt.nb) | [inference model](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/rec/ch_ppocr_mobile_v1.1_rec_quant_infer.tar) / [slim model](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/rec/ch_ppocr_mobile_v1.1_rec_quant_opt.nb) | [inference model](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_quant_infer.tar) / [slim model](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_cls_quant_opt.nb) | |
|
||||||
- [文本检测](./doc/doc_ch/algorithm_overview.md)
|
|
||||||
- [文本识别](./doc/doc_ch/algorithm_overview.md)
|
For more model downloads (including multiple languages), please refer to [PP-OCR v1.1 series model downloads](./doc/doc_en/models_list_en.md)
|
||||||
- [PP-OCR Pipline](#PP-OCR)
|
|
||||||
- 模型训练/评估
|
|
||||||
- [文本检测](./doc/doc_ch/detection.md)
|
## Tutorials
|
||||||
- [文本识别](./doc/doc_ch/recognition.md)
|
- [Installation](./doc/doc_en/installation_en.md)
|
||||||
- [yml参数配置文件介绍](./doc/doc_ch/config.md)
|
- [Quick Start](./doc/doc_en/quickstart_en.md)
|
||||||
- 预测部署
|
- [Code Structure](./doc/doc_en/tree_en.md)
|
||||||
- [基于pip安装whl包快速推理](./doc/doc_ch/whl.md)
|
- Algorithm introduction
|
||||||
- [基于Python脚本预测引擎推理](./doc/doc_ch/inference.md)
|
- [Text Detection Algorithm](./doc/doc_en/algorithm_overview_en.md)
|
||||||
- [基于C++预测引擎推理](./deploy/cpp_infer/readme.md)
|
- [Text Recognition Algorithm](./doc/doc_en/algorithm_overview_en.md)
|
||||||
- [服务化部署](./deploy/hubserving/readme.md)
|
- [PP-OCR Pipline](#PP-OCR-Pipline)
|
||||||
- [端侧部署](./deploy/lite/readme.md)
|
- Model training/evaluation
|
||||||
- [模型量化](./deploy/slim/quantization/README.md)
|
- [Text Detection](./doc/doc_en/detection_en.md)
|
||||||
- [模型裁剪](./deploy/slim/prune/README_ch.md)
|
- [Text Recognition](./doc/doc_en/recognition_en.md)
|
||||||
- [Benchmark](./doc/doc_ch/benchmark.md)
|
- [Yml Configuration](./doc/doc_en/config_en.md)
|
||||||
- 数据集
|
- Inference and Deployment
|
||||||
- [通用中英文OCR数据集](./doc/doc_ch/datasets.md)
|
- [Quick inference based on pip](./doc/doc_en/whl_en.md)
|
||||||
- [手写中文OCR数据集](./doc/doc_ch/handwritten_datasets.md)
|
- [Python Inference](./doc/doc_en/inference_en.md)
|
||||||
- [垂类多语言OCR数据集](./doc/doc_ch/vertical_and_multilingual_datasets.md)
|
- [C++ Inference](./deploy/cpp_infer/readme_en.md)
|
||||||
- [常用数据标注工具](./doc/doc_ch/data_annotation.md)
|
- [Serving](./deploy/hubserving/readme_en.md)
|
||||||
- [常用数据合成工具](./doc/doc_ch/data_synthesis.md)
|
- [Mobile](./deploy/lite/readme_en.md)
|
||||||
- [效果展示](#效果展示)
|
- [Model Quantization](./deploy/slim/quantization/README_en.md)
|
||||||
|
- [Model Compression](./deploy/slim/prune/README_en.md)
|
||||||
|
- [Benchmark](./doc/doc_en/benchmark_en.md)
|
||||||
|
- Datasets
|
||||||
|
- [General OCR Datasets(Chinese/English)](./doc/doc_en/datasets_en.md)
|
||||||
|
- [HandWritten_OCR_Datasets(Chinese)](./doc/doc_en/handwritten_datasets_en.md)
|
||||||
|
- [Various OCR Datasets(multilingual)](./doc/doc_en/vertical_and_multilingual_datasets_en.md)
|
||||||
|
- [Data Annotation Tools](./doc/doc_en/data_annotation_en.md)
|
||||||
|
- [Data Synthesis Tools](./doc/doc_en/data_synthesis_en.md)
|
||||||
|
- [Visualization](#Visualization)
|
||||||
- FAQ
|
- FAQ
|
||||||
- [【精选】OCR精选10个问题](./doc/doc_ch/FAQ.md)
|
- [10 Featured OCR Questions](./doc/doc_en/FAQ_en.md)
|
||||||
- [【理论篇】OCR通用21个问题](./doc/doc_ch/FAQ.md)
|
- [21 General OCR questions](./doc/doc_en/FAQ_en.md)
|
||||||
- [【实战篇】PaddleOCR实战53个问题](./doc/doc_ch/FAQ.md)
|
- [53 Questions about PaddleOCR](./doc/doc_en/FAQ_en.md)
|
||||||
- [技术交流群](#欢迎加入PaddleOCR技术交流群)
|
- Visualization
|
||||||
- [参考文献](./doc/doc_ch/reference.md)
|
- [Ultra-lightweight Chinese/English OCR Visualization](#UCOCRVIS)
|
||||||
- [许可证书](#许可证书)
|
- [General Chinese/English OCR Visualization](#GeOCRVIS)
|
||||||
- [贡献代码](#贡献代码)
|
- [Chinese/English OCR Visualization (Support Space Recognition )](#SpaceOCRVIS)
|
||||||
|
- [Community](#Community)
|
||||||
|
- [References](./doc/doc_en/reference_en.md)
|
||||||
|
- [License](#LICENSE)
|
||||||
|
- [Contribution](#CONTRIBUTION)
|
||||||
|
|
||||||
|
<a name="PP-OCR-Pipline"></a>
|
||||||
|
|
||||||
<a name="PP-OCR"></a>
|
|
||||||
## PP-OCR Pipline
|
## PP-OCR Pipline
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="./doc/ppocr_framework.png" width="800">
|
<img src="./doc/ppocr_framework.png" width="800">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
PP-OCR是一个实用的超轻量OCR系统。主要由DB文本检测、检测框矫正和CRNN文本识别三部分组成。该系统从骨干网络选择和调整、预测头部的设计、数据增强、学习率变换策略、正则化参数选择、预训练模型使用以及模型自动裁剪量化8个方面,采用19个有效策略,对各个模块的模型进行效果调优和瘦身,最终得到整体大小为3.5M的超轻量中英文OCR和2M的英文数字OCR。更多细节请参考PP-OCR技术文章(Arxiv文章链接生成中)。
|
PP-OCR is a practical ultra-lightweight OCR system. It is mainly composed of three parts: DB text detection, detection frame correction and CRNN text recognition. The system adopts 19 effective strategies from 8 aspects including backbone network selection and adjustment, prediction head design, data augmentation, learning rate transformation strategy, regularization parameter selection, pre-training model use, and automatic model tailoring and quantization to optimize and slim down the models of each module. The final results are an ultra-lightweight Chinese and English OCR model with an overall size of 3.5M and a 2M English digital OCR model. For more details, please refer to the PP-OCR technical article (Arxiv article link is being generated).
|
||||||
|
|
||||||
|
## Visualization [more](./doc/doc_en/visualization_en.md)
|
||||||
<a name="效果展示"></a>
|
|
||||||
## 效果展示 [more](./doc/doc_ch/visualization.md)
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="./doc/imgs_results/1102.jpg" width="800">
|
<img src="./doc/imgs_results/1102.jpg" width="800">
|
||||||
|
@ -114,30 +122,26 @@ PP-OCR是一个实用的超轻量OCR系统。主要由DB文本检测、检测框
|
||||||
<img src="./doc/imgs_results/1112.jpg" width="800">
|
<img src="./doc/imgs_results/1112.jpg" width="800">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<a name="Community"></a>
|
||||||
|
## Community
|
||||||
|
Scan the QR code below with your Wechat and completing the questionnaire, you can access to offical technical exchange group.
|
||||||
|
|
||||||
<a name="欢迎加入PaddleOCR技术交流群"></a>
|
|
||||||
## 欢迎加入PaddleOCR技术交流群
|
|
||||||
请扫描下面二维码,完成问卷填写,获取加群二维码和OCR方向的炼丹秘籍
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="./doc/joinus.PNG" width = "200" height = "200" />
|
<img src="./doc/joinus.PNG" width = "200" height = "200" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a name="许可证书"></a>
|
<a name="LICENSE"></a>
|
||||||
## 许可证书
|
## License
|
||||||
本项目的发布受<a href="https://github.com/PaddlePaddle/PaddleOCR/blob/master/LICENSE">Apache 2.0 license</a>许可认证。
|
This project is released under <a href="https://github.com/PaddlePaddle/PaddleOCR/blob/master/LICENSE">Apache 2.0 license</a>
|
||||||
|
|
||||||
<a name="贡献代码"></a>
|
<a name="CONTRIBUTION"></a>
|
||||||
## 贡献代码
|
## Contribution
|
||||||
我们非常欢迎你为PaddleOCR贡献代码,也十分感谢你的反馈。
|
We welcome all the contributions to PaddleOCR and appreciate for your feedback very much.
|
||||||
|
|
||||||
- 非常感谢 [Khanh Tran](https://github.com/xxxpsyduck) 和 [Karl Horky](https://github.com/karlhorky) 贡献修改英文文档
|
- Many thanks to [Khanh Tran](https://github.com/xxxpsyduck) and [Karl Horky](https://github.com/karlhorky) for contributing and revising the English documentation.
|
||||||
- 非常感谢 [zhangxin](https://github.com/ZhangXinNan)([Blog](https://blog.csdn.net/sdlypyzq)) 贡献新的可视化方式、添加.gitgnore、处理手动设置PYTHONPATH环境变量的问题
|
- Many thanks to [zhangxin](https://github.com/ZhangXinNan) for contributing the new visualize function、add .gitgnore and discard set PYTHONPATH manually.
|
||||||
- 非常感谢 [lyl120117](https://github.com/lyl120117) 贡献打印网络结构的代码
|
- Many thanks to [lyl120117](https://github.com/lyl120117) for contributing the code for printing the network structure.
|
||||||
- 非常感谢 [xiangyubo](https://github.com/xiangyubo) 贡献手写中文OCR数据集
|
- Thanks [xiangyubo](https://github.com/xiangyubo) for contributing the handwritten Chinese OCR datasets.
|
||||||
- 非常感谢 [authorfu](https://github.com/authorfu) 贡献Android和[xiadeye](https://github.com/xiadeye) 贡献IOS的demo代码
|
- Thanks [authorfu](https://github.com/authorfu) for contributing Android demo and [xiadeye](https://github.com/xiadeye) contributing iOS demo, respectively.
|
||||||
- 非常感谢 [BeyondYourself](https://github.com/BeyondYourself) 给PaddleOCR提了很多非常棒的建议,并简化了PaddleOCR的部分代码风格。
|
- Thanks [BeyondYourself](https://github.com/BeyondYourself) for contributing many great suggestions and simplifying part of the code style.
|
||||||
- 非常感谢 [tangmq](https://gitee.com/tangmq) 给PaddleOCR增加Docker化部署服务,支持快速发布可调用的Restful API服务。
|
- Thanks [tangmq](https://gitee.com/tangmq) for contributing Dockerized deployment services to PaddleOCR and supporting the rapid release of callable Restful API services.
|
||||||
|
|
|
@ -0,0 +1,143 @@
|
||||||
|
[English](README.md) | 简体中文
|
||||||
|
|
||||||
|
## 简介
|
||||||
|
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。
|
||||||
|
|
||||||
|
**近期更新**
|
||||||
|
- 2020.9.19 更新超轻量压缩ppocr_mobile_slim系列模型,整体模型3.5M(详见[PP-OCR Pipline](#PP-OCR)),适合在移动端部署使用。[模型下载](#模型下载)
|
||||||
|
- 2020.9.17 更新超轻量ppocr_mobile系列和通用ppocr_server系列中英文ocr模型,媲美商业效果。[模型下载](#模型下载)
|
||||||
|
- 2020.8.26 更新OCR相关的84个常见问题及解答,具体参考[FAQ](./doc/doc_ch/FAQ.md)
|
||||||
|
- 2020.8.24 支持通过whl包安装使用PaddleOCR,具体参考[Paddleocr Package使用说明](./doc/doc_ch/whl.md)
|
||||||
|
- 2020.8.21 更新8月18日B站直播课回放和PPT,课节2,易学易用的OCR工具大礼包,[获取地址](https://aistudio.baidu.com/aistudio/education/group/info/1519)
|
||||||
|
- [More](./doc/doc_ch/update.md)
|
||||||
|
|
||||||
|
|
||||||
|
## 特性
|
||||||
|
|
||||||
|
- PPOCR系列高质量预训练模型,媲美商业效果
|
||||||
|
- 超轻量ppocr_mobile移动端系列:检测(2.6M)+方向分类器(0.9M)+ 识别(4.6M)= 8.1M
|
||||||
|
- 通用ppocr_server系列:检测(47.2M)+方向分类器(0.9M)+ 识别(107M)= 155.1M
|
||||||
|
- 超轻量压缩ppocr_mobile_slim系列:检测(1.4M)+方向分类器(0.5M)+ 识别(1.6M)= 3.5M
|
||||||
|
- 支持中英文数字组合识别、竖排文本识别、长文本识别
|
||||||
|
- 支持多语言识别:韩语、日语、德语、法语
|
||||||
|
- 支持用户自定义训练,提供丰富的预测推理部署方案
|
||||||
|
- 支持PIP快速安装使用
|
||||||
|
- 可运行于Linux、Windows、MacOS等多种系统
|
||||||
|
|
||||||
|
## 效果展示
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<img src="doc/imgs_results/1101.jpg" width="800">
|
||||||
|
<img src="doc/imgs_results/1103.jpg" width="800">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
上图是通用ppocr_server模型效果展示,更多效果图请见[效果展示页面](./doc/doc_ch/visualization.md)。
|
||||||
|
|
||||||
|
## 快速体验
|
||||||
|
- PC端:超轻量级中文OCR在线体验地址:https://www.paddlepaddle.org.cn/hub/scene/ocr
|
||||||
|
|
||||||
|
- 移动端:[安装包DEMO下载地址](https://ai.baidu.com/easyedge/app/openSource?from=paddlelite)(基于EasyEdge和Paddle-Lite, 支持iOS和Android系统),Android手机也可以直接扫描下面二维码安装体验。
|
||||||
|
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<img src="./doc/ocr-android-easyedge.png" width = "200" height = "200" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
- 代码体验:从[快速安装](./doc/doc_ch/installation.md) 开始
|
||||||
|
|
||||||
|
<a name="模型下载"></a>
|
||||||
|
## PP-OCR 1.1系列模型列表(9月17日更新)
|
||||||
|
|
||||||
|
| 模型简介 | 模型名称 |推荐场景 | 检测模型 | 方向分类器 | 识别模型 | |
|
||||||
|
| ------------ | --------------- | ----------------|---- | ---------- | -------- | ---- |
|
||||||
|
| 中英文超轻量OCR模型(8.1M) | ch_ppocr_mobile_v1.1_xx |移动端&服务器端|[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_train.tar)|[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile-v1.1.cls_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile-v1.1.cls_train.tar) |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_pre.tar) | |
|
||||||
|
| 中英文通用OCR模型(155.1M) |ch_ppocr_server_v1.1_xx|服务器端 |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/server/det/ch_ppocr_server_v1.1_det_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/server/det/ch_ppocr_server_v1.1_det_train.tar) |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile-v1.1.cls_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile-v1.1.cls_train.tar) |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/server/rec/ch_ppocr_server_v1.1_rec_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/20-09-22/server/rec/ch_ppocr_server_v1.1_rec_pre.tar) | |
|
||||||
|
| 中英文超轻量压缩OCR模型(3.5M) | ch_ppocr_mobile_slim_v1.1_xx| 移动端 |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/det/ch_ppocr_mobile_v1.1_det_prune_infer.tar) / [slim模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/det/ch_ppocr_mobile_v1.1_det_prune_opt.nb) |[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/rec/ch_ppocr_mobile_v1.1_rec_quant_infer.tar) / [slim模型](https://paddleocr.bj.bcebos.com/20-09-22/mobile-slim/rec/ch_ppocr_mobile_v1.1_rec_quant_opt.nb)|[推理模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_quant_infer.tar) / [slim模型](https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_cls_quant_opt.nb)| | ||
|
||||||
|
|
||||||
|
更多模型下载(包括多语言),可以参考[PP-OCR v1.1 系列模型下载](./doc/doc_ch/models_list.md)
|
||||||
|
|
||||||
|
## 文档教程
|
||||||
|
- [快速安装](./doc/doc_ch/installation.md)
|
||||||
|
- [中文OCR模型快速使用](./doc/doc_ch/quickstart.md)
|
||||||
|
- [代码组织结构](./doc/doc_ch/tree.md)
|
||||||
|
- 算法介绍
|
||||||
|
- [文本检测](./doc/doc_ch/algorithm_overview.md)
|
||||||
|
- [文本识别](./doc/doc_ch/algorithm_overview.md)
|
||||||
|
- [PP-OCR Pipline](#PP-OCR)
|
||||||
|
- 模型训练/评估
|
||||||
|
- [文本检测](./doc/doc_ch/detection.md)
|
||||||
|
- [文本识别](./doc/doc_ch/recognition.md)
|
||||||
|
- [yml参数配置文件介绍](./doc/doc_ch/config.md)
|
||||||
|
- 预测部署
|
||||||
|
- [基于pip安装whl包快速推理](./doc/doc_ch/whl.md)
|
||||||
|
- [基于Python脚本预测引擎推理](./doc/doc_ch/inference.md)
|
||||||
|
- [基于C++预测引擎推理](./deploy/cpp_infer/readme.md)
|
||||||
|
- [服务化部署](./deploy/hubserving/readme.md)
|
||||||
|
- [端侧部署](./deploy/lite/readme.md)
|
||||||
|
- [模型量化](./deploy/slim/quantization/README.md)
|
||||||
|
- [模型裁剪](./deploy/slim/prune/README_ch.md)
|
||||||
|
- [Benchmark](./doc/doc_ch/benchmark.md)
|
||||||
|
- 数据集
|
||||||
|
- [通用中英文OCR数据集](./doc/doc_ch/datasets.md)
|
||||||
|
- [手写中文OCR数据集](./doc/doc_ch/handwritten_datasets.md)
|
||||||
|
- [垂类多语言OCR数据集](./doc/doc_ch/vertical_and_multilingual_datasets.md)
|
||||||
|
- [常用数据标注工具](./doc/doc_ch/data_annotation.md)
|
||||||
|
- [常用数据合成工具](./doc/doc_ch/data_synthesis.md)
|
||||||
|
- [效果展示](#效果展示)
|
||||||
|
- FAQ
|
||||||
|
- [【精选】OCR精选10个问题](./doc/doc_ch/FAQ.md)
|
||||||
|
- [【理论篇】OCR通用21个问题](./doc/doc_ch/FAQ.md)
|
||||||
|
- [【实战篇】PaddleOCR实战53个问题](./doc/doc_ch/FAQ.md)
|
||||||
|
- [技术交流群](#欢迎加入PaddleOCR技术交流群)
|
||||||
|
- [参考文献](./doc/doc_ch/reference.md)
|
||||||
|
- [许可证书](#许可证书)
|
||||||
|
- [贡献代码](#贡献代码)
|
||||||
|
|
||||||
|
<a name="PP-OCR"></a>
|
||||||
|
## PP-OCR Pipline
|
||||||
|
<div align="center">
|
||||||
|
<img src="./doc/ppocr_framework.png" width="800">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
PP-OCR是一个实用的超轻量OCR系统。主要由DB文本检测、检测框矫正和CRNN文本识别三部分组成。该系统从骨干网络选择和调整、预测头部的设计、数据增强、学习率变换策略、正则化参数选择、预训练模型使用以及模型自动裁剪量化8个方面,采用19个有效策略,对各个模块的模型进行效果调优和瘦身,最终得到整体大小为3.5M的超轻量中英文OCR和2M的英文数字OCR。更多细节请参考PP-OCR技术文章(Arxiv文章链接生成中)。
|
||||||
|
|
||||||
|
|
||||||
|
<a name="效果展示"></a>
|
||||||
|
## 效果展示 [more](./doc/doc_ch/visualization.md)
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<img src="./doc/imgs_results/1102.jpg" width="800">
|
||||||
|
<img src="./doc/imgs_results/1104.jpg" width="800">
|
||||||
|
<img src="./doc/imgs_results/1106.jpg" width="800">
|
||||||
|
<img src="./doc/imgs_results/1105.jpg" width="800">
|
||||||
|
<img src="./doc/imgs_results/1110.jpg" width="800">
|
||||||
|
<img src="./doc/imgs_results/1112.jpg" width="800">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="欢迎加入PaddleOCR技术交流群"></a>
|
||||||
|
## 欢迎加入PaddleOCR技术交流群
|
||||||
|
请扫描下面二维码,完成问卷填写,获取加群二维码和OCR方向的炼丹秘籍
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<img src="./doc/joinus.PNG" width = "200" height = "200" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a name="许可证书"></a>
|
||||||
|
## 许可证书
|
||||||
|
本项目的发布受<a href="https://github.com/PaddlePaddle/PaddleOCR/blob/master/LICENSE">Apache 2.0 license</a>许可认证。
|
||||||
|
|
||||||
|
<a name="贡献代码"></a>
|
||||||
|
## 贡献代码
|
||||||
|
我们非常欢迎你为PaddleOCR贡献代码,也十分感谢你的反馈。
|
||||||
|
|
||||||
|
- 非常感谢 [Khanh Tran](https://github.com/xxxpsyduck) 和 [Karl Horky](https://github.com/karlhorky) 贡献修改英文文档
|
||||||
|
- 非常感谢 [zhangxin](https://github.com/ZhangXinNan)([Blog](https://blog.csdn.net/sdlypyzq)) 贡献新的可视化方式、添加.gitgnore、处理手动设置PYTHONPATH环境变量的问题
|
||||||
|
- 非常感谢 [lyl120117](https://github.com/lyl120117) 贡献打印网络结构的代码
|
||||||
|
- 非常感谢 [xiangyubo](https://github.com/xiangyubo) 贡献手写中文OCR数据集
|
||||||
|
- 非常感谢 [authorfu](https://github.com/authorfu) 贡献Android和[xiadeye](https://github.com/xiadeye) 贡献IOS的demo代码
|
||||||
|
- 非常感谢 [BeyondYourself](https://github.com/BeyondYourself) 给PaddleOCR提了很多非常棒的建议,并简化了PaddleOCR的部分代码风格。
|
||||||
|
- 非常感谢 [tangmq](https://gitee.com/tangmq) 给PaddleOCR增加Docker化部署服务,支持快速发布可调用的Restful API服务。
|
226
README_en.md
226
README_en.md
|
@ -1,226 +0,0 @@
|
||||||
English | [简体中文](README.md)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
PaddleOCR aims to create rich, leading, and practical OCR tools that help users train better models and apply them into practice.
|
|
||||||
|
|
||||||
**Recent updates**
|
|
||||||
- 2020.8.24 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)
|
|
||||||
- 2020.8.16, Release text detection algorithm [SAST](https://arxiv.org/abs/1908.05498) and text recognition algorithm [SRN](https://arxiv.org/abs/2003.12294)
|
|
||||||
- 2020.7.23, Release the playback and PPT of live class on BiliBili station, PaddleOCR Introduction, [address](https://aistudio.baidu.com/aistudio/course/introduce/1519)
|
|
||||||
- 2020.7.15, Add mobile App demo , support both iOS and Android ( based on easyedge and Paddle Lite)
|
|
||||||
- 2020.7.15, Improve the deployment ability, add the C + + inference , serving deployment. In addition, the benchmarks of the ultra-lightweight OCR model are provided.
|
|
||||||
- 2020.7.15, Add several related datasets, data annotation and synthesis tools.
|
|
||||||
- [more](./doc/doc_en/update_en.md)
|
|
||||||
|
|
||||||
## Features
|
|
||||||
- Ultra-lightweight OCR model, total model size is only 8.6M
|
|
||||||
- Single model supports Chinese/English numbers combination recognition, vertical text recognition, long text recognition
|
|
||||||
- Detection model DB (4.1M) + recognition model CRNN (4.5M)
|
|
||||||
- Various text detection algorithms: EAST, DB
|
|
||||||
- Various text recognition algorithms: Rosetta, CRNN, STAR-Net, RARE
|
|
||||||
- Support Linux, Windows, macOS and other systems.
|
|
||||||
|
|
||||||
## Visualization
|
|
||||||
|
|
||||||
![](doc/imgs_results/11.jpg)
|
|
||||||
|
|
||||||
![](doc/imgs_results/img_10.jpg)
|
|
||||||
|
|
||||||
[More visualization](./doc/doc_en/visualization_en.md)
|
|
||||||
|
|
||||||
You can also quickly experience 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)
|
|
||||||
|
|
||||||
Also, you can scan the QR code below to install the App (**Android support only**)
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
<img src="./doc/ocr-android-easyedge.png" width = "200" height = "200" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
- [**OCR Quick Start**](./doc/doc_en/quickstart_en.md)
|
|
||||||
|
|
||||||
<a name="Supported-Chinese-model-list"></a>
|
|
||||||
|
|
||||||
### Supported Models:
|
|
||||||
|
|
||||||
|Model Name|Description |Detection Model link|Recognition Model link| Support for space Recognition Model link|
|
|
||||||
|-|-|-|-|-|
|
|
||||||
|db_crnn_mobile|ultra-lightweight OCR model|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db_infer.tar) / [pre-trained model](https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db.tar)|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_infer.tar) / [pre-trained model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn.tar)|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_enhance_infer.tar) / [pre-train model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_enhance.tar)
|
|
||||||
|db_crnn_server|General OCR model|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_det_r50_vd_db_infer.tar) / [pre-trained model](https://paddleocr.bj.bcebos.com/ch_models/ch_det_r50_vd_db.tar)|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn_infer.tar) / [pre-trained model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn.tar)|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn_enhance_infer.tar) / [pre-train model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn_enhance.tar)
|
|
||||||
|
|
||||||
|
|
||||||
## Tutorials
|
|
||||||
- [Installation](./doc/doc_en/installation_en.md)
|
|
||||||
- [Quick Start](./doc/doc_en/quickstart_en.md)
|
|
||||||
- Algorithm introduction
|
|
||||||
- [Text Detection Algorithm](#TEXTDETECTIONALGORITHM)
|
|
||||||
- [Text Recognition Algorithm](#TEXTRECOGNITIONALGORITHM)
|
|
||||||
- Model training/evaluation
|
|
||||||
- [Text Detection](./doc/doc_en/detection_en.md)
|
|
||||||
- [Text Recognition](./doc/doc_en/recognition_en.md)
|
|
||||||
- [Yml Configuration](./doc/doc_en/config_en.md)
|
|
||||||
- [Tricks](./doc/doc_en/tricks_en.md)
|
|
||||||
- Deployment
|
|
||||||
- [Python Inference](./doc/doc_en/inference_en.md)
|
|
||||||
- [C++ Inference](./deploy/cpp_infer/readme_en.md)
|
|
||||||
- [Serving](./deploy/hubserving/readme_en.md)
|
|
||||||
- [Mobile](./deploy/lite/readme_en.md)
|
|
||||||
- Model Quantization and Compression (coming soon)
|
|
||||||
- [Benchmark](./doc/doc_en/benchmark_en.md)
|
|
||||||
- Datasets
|
|
||||||
- [General OCR Datasets(Chinese/English)](./doc/doc_en/datasets_en.md)
|
|
||||||
- [HandWritten_OCR_Datasets(Chinese)](./doc/doc_en/handwritten_datasets_en.md)
|
|
||||||
- [Various OCR Datasets(multilingual)](./doc/doc_en/vertical_and_multilingual_datasets_en.md)
|
|
||||||
- [Data Annotation Tools](./doc/doc_en/data_annotation_en.md)
|
|
||||||
- [Data Synthesis Tools](./doc/doc_en/data_synthesis_en.md)
|
|
||||||
- [FAQ](#FAQ)
|
|
||||||
- Visualization
|
|
||||||
- [Ultra-lightweight Chinese/English OCR Visualization](#UCOCRVIS)
|
|
||||||
- [General Chinese/English OCR Visualization](#GeOCRVIS)
|
|
||||||
- [Chinese/English OCR Visualization (Support Space Recognition )](#SpaceOCRVIS)
|
|
||||||
- [Community](#Community)
|
|
||||||
- [References](./doc/doc_en/reference_en.md)
|
|
||||||
- [License](#LICENSE)
|
|
||||||
- [Contribution](#CONTRIBUTION)
|
|
||||||
|
|
||||||
<a name="TEXTDETECTIONALGORITHM"></a>
|
|
||||||
## Text Detection Algorithm
|
|
||||||
|
|
||||||
PaddleOCR open source text detection algorithms list:
|
|
||||||
- [x] EAST([paper](https://arxiv.org/abs/1704.03155))
|
|
||||||
- [x] DB([paper](https://arxiv.org/abs/1911.08947))
|
|
||||||
- [x] SAST([paper](https://arxiv.org/abs/1908.05498))(Baidu Self-Research)
|
|
||||||
|
|
||||||
On the ICDAR2015 dataset, the text detection result is as follows:
|
|
||||||
|
|
||||||
|Model|Backbone|precision|recall|Hmean|Download link|
|
|
||||||
|-|-|-|-|-|-|
|
|
||||||
|EAST|ResNet50_vd|88.18%|85.51%|86.82%|[Download link](https://paddleocr.bj.bcebos.com/det_r50_vd_east.tar)|
|
|
||||||
|EAST|MobileNetV3|81.67%|79.83%|80.74%|[Download link](https://paddleocr.bj.bcebos.com/det_mv3_east.tar)|
|
|
||||||
|DB|ResNet50_vd|83.79%|80.65%|82.19%|[Download link](https://paddleocr.bj.bcebos.com/det_r50_vd_db.tar)|
|
|
||||||
|DB|MobileNetV3|75.92%|73.18%|74.53%|[Download link](https://paddleocr.bj.bcebos.com/det_mv3_db.tar)|
|
|
||||||
|SAST|ResNet50_vd|92.18%|82.96%|87.33%|[Download link](https://paddleocr.bj.bcebos.com/SAST/sast_r50_vd_icdar2015.tar)|
|
|
||||||
|
|
||||||
On Total-Text dataset, the text detection result is as follows:
|
|
||||||
|
|
||||||
|Model|Backbone|precision|recall|Hmean|Download link|
|
|
||||||
|-|-|-|-|-|-|
|
|
||||||
|SAST|ResNet50_vd|88.74%|79.80%|84.03%|[Download link](https://paddleocr.bj.bcebos.com/SAST/sast_r50_vd_total_text.tar)|
|
|
||||||
|
|
||||||
**Note:** Additional data, like icdar2013, icdar2017, COCO-Text, ArT, was added to the model training of SAST. Download English public dataset in organized format used by PaddleOCR from [Baidu Drive](https://pan.baidu.com/s/12cPnZcVuV1zn5DOd4mqjVw) (download code: 2bpi).
|
|
||||||
|
|
||||||
For use of [LSVT](https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_en/datasets_en.md#1-icdar2019-lsvt) street view dataset with a total of 3w training data,the related configuration and pre-trained models for text detection task are as follows:
|
|
||||||
|Model|Backbone|Configuration file|Pre-trained model|
|
|
||||||
|-|-|-|-|
|
|
||||||
|ultra-lightweight OCR model|MobileNetV3|det_mv3_db.yml|[Download link](https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db.tar)|
|
|
||||||
|General OCR model|ResNet50_vd|det_r50_vd_db.yml|[Download link](https://paddleocr.bj.bcebos.com/ch_models/ch_det_r50_vd_db.tar)|
|
|
||||||
|
|
||||||
* Note: For the training and evaluation of the above DB model, post-processing parameters box_thresh=0.6 and unclip_ratio=1.5 need to be set. If using different datasets and different models for training, these two parameters can be adjusted for better result.
|
|
||||||
|
|
||||||
For the training guide and use of PaddleOCR text detection algorithms, please refer to the document [Text detection model training/evaluation/prediction](./doc/doc_en/detection_en.md)
|
|
||||||
|
|
||||||
<a name="TEXTRECOGNITIONALGORITHM"></a>
|
|
||||||
## Text Recognition Algorithm
|
|
||||||
|
|
||||||
PaddleOCR open-source text recognition algorithms list:
|
|
||||||
- [x] CRNN([paper](https://arxiv.org/abs/1507.05717))
|
|
||||||
- [x] Rosetta([paper](https://arxiv.org/abs/1910.05085))
|
|
||||||
- [x] STAR-Net([paper](http://www.bmva.org/bmvc/2016/papers/paper043/index.html))
|
|
||||||
- [x] RARE([paper](https://arxiv.org/abs/1603.03915v1))
|
|
||||||
- [x] SRN([paper](https://arxiv.org/abs/2003.12294))(Baidu Self-Research)
|
|
||||||
|
|
||||||
Refer to [DTRB](https://arxiv.org/abs/1904.01906), the training and evaluation result of these above text recognition (using MJSynth and SynthText for training, evaluate on IIIT, SVT, IC03, IC13, IC15, SVTP, CUTE) is as follow:
|
|
||||||
|
|
||||||
|Model|Backbone|Avg Accuracy|Module combination|Download link|
|
|
||||||
|-|-|-|-|-|
|
|
||||||
|Rosetta|Resnet34_vd|80.24%|rec_r34_vd_none_none_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_r34_vd_none_none_ctc.tar)|
|
|
||||||
|Rosetta|MobileNetV3|78.16%|rec_mv3_none_none_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_mv3_none_none_ctc.tar)|
|
|
||||||
|CRNN|Resnet34_vd|82.20%|rec_r34_vd_none_bilstm_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_r34_vd_none_bilstm_ctc.tar)|
|
|
||||||
|CRNN|MobileNetV3|79.37%|rec_mv3_none_bilstm_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_mv3_none_bilstm_ctc.tar)|
|
|
||||||
|STAR-Net|Resnet34_vd|83.93%|rec_r34_vd_tps_bilstm_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_r34_vd_tps_bilstm_ctc.tar)|
|
|
||||||
|STAR-Net|MobileNetV3|81.56%|rec_mv3_tps_bilstm_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_mv3_tps_bilstm_ctc.tar)|
|
|
||||||
|RARE|Resnet34_vd|84.90%|rec_r34_vd_tps_bilstm_attn|[Download link](https://paddleocr.bj.bcebos.com/rec_r34_vd_tps_bilstm_attn.tar)|
|
|
||||||
|RARE|MobileNetV3|83.32%|rec_mv3_tps_bilstm_attn|[Download link](https://paddleocr.bj.bcebos.com/rec_mv3_tps_bilstm_attn.tar)|
|
|
||||||
|SRN|Resnet50_vd_fpn|88.33%|rec_r50fpn_vd_none_srn|[Download link](https://paddleocr.bj.bcebos.com/SRN/rec_r50fpn_vd_none_srn.tar)|
|
|
||||||
|
|
||||||
**Note:** SRN model uses data expansion method to expand the two training sets mentioned above, and the expanded data can be downloaded from [Baidu Drive](https://pan.baidu.com/s/1-HSZ-ZVdqBF2HaBZ5pRAKA) (download code: y3ry).
|
|
||||||
|
|
||||||
The average accuracy of the two-stage training in the original paper is 89.74%, and that of one stage training in paddleocr is 88.33%. Both pre-trained weights can be downloaded [here](https://paddleocr.bj.bcebos.com/SRN/rec_r50fpn_vd_none_srn.tar).
|
|
||||||
|
|
||||||
We use [LSVT](https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_en/datasets_en.md#1-icdar2019-lsvt) dataset and cropout 30w training data from original photos by using position groundtruth and make some calibration needed. In addition, based on the LSVT corpus, 500w synthetic data is generated to train the model. The related configuration and pre-trained models are as follows:
|
|
||||||
|
|
||||||
|Model|Backbone|Configuration file|Pre-trained model|
|
|
||||||
|-|-|-|-|
|
|
||||||
|ultra-lightweight OCR model|MobileNetV3|rec_chinese_lite_train.yml|[Download link](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn.tar)|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_enhance_infer.tar) & [pre-trained model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_enhance.tar)|
|
|
||||||
|General OCR model|Resnet34_vd|rec_chinese_common_train.yml|[Download link](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn.tar)|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn_enhance_infer.tar) & [pre-trained model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn_enhance.tar)|
|
|
||||||
|
|
||||||
Please refer to the document for training guide and use of PaddleOCR text recognition algorithms [Text recognition model training/evaluation/prediction](./doc/doc_en/recognition_en.md)
|
|
||||||
|
|
||||||
## Visualization
|
|
||||||
|
|
||||||
<a name="UCOCRVIS"></a>
|
|
||||||
### 1.Ultra-lightweight Chinese/English OCR Visualization [more](./doc/doc_en/visualization_en.md)
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
<img src="doc/imgs_results/1.jpg" width="800">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a name="GeOCRVIS"></a>
|
|
||||||
### 2. General Chinese/English OCR Visualization [more](./doc/doc_en/visualization_en.md)
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
<img src="doc/imgs_results/chinese_db_crnn_server/11.jpg" width="800">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a name="SpaceOCRVIS"></a>
|
|
||||||
### 3.Chinese/English OCR Visualization (Space_support) [more](./doc/doc_en/visualization_en.md)
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
<img src="doc/imgs_results/chinese_db_crnn_server/en_paper.jpg" width="800">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a name="FAQ"></a>
|
|
||||||
|
|
||||||
## FAQ
|
|
||||||
1. Error when using attention-based recognition model: KeyError: 'predict'
|
|
||||||
|
|
||||||
The inference of recognition model based on attention loss is still being debugged. For Chinese text recognition, it is recommended to choose the recognition model based on CTC loss first. In practice, it is also found that the recognition model based on attention loss is not as effective as the one based on CTC loss.
|
|
||||||
|
|
||||||
2. About inference speed
|
|
||||||
|
|
||||||
When there are a lot of texts in the picture, the prediction time will increase. You can use `--rec_batch_num` to set a smaller prediction batch size. The default value is 30, which can be changed to 10 or other values.
|
|
||||||
|
|
||||||
3. Service deployment and mobile deployment
|
|
||||||
|
|
||||||
It is expected that the service deployment based on Serving and the mobile deployment based on Paddle Lite will be released successively in mid-to-late June. Stay tuned for more updates.
|
|
||||||
|
|
||||||
4. Release time of self-developed algorithm
|
|
||||||
|
|
||||||
Baidu Self-developed algorithms such as SAST, SRN and end2end PSL will be released in June or July. Please be patient.
|
|
||||||
|
|
||||||
[more](./doc/doc_en/FAQ_en.md)
|
|
||||||
|
|
||||||
<a name="Community"></a>
|
|
||||||
## Community
|
|
||||||
Scan the QR code below with your wechat and completing the questionnaire, you can access to offical technical exchange group.
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
<img src="./doc/joinus.PNG" width = "200" height = "200" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a name="LICENSE"></a>
|
|
||||||
## License
|
|
||||||
This project is released under <a href="https://github.com/PaddlePaddle/PaddleOCR/blob/master/LICENSE">Apache 2.0 license</a>
|
|
||||||
|
|
||||||
<a name="CONTRIBUTION"></a>
|
|
||||||
## Contribution
|
|
||||||
We welcome all the contributions to PaddleOCR and appreciate for your feedback very much.
|
|
||||||
|
|
||||||
- Many thanks to [Khanh Tran](https://github.com/xxxpsyduck) and [Karl Horky](https://github.com/karlhorky) for contributing and revising the English documentation.
|
|
||||||
- Many thanks to [zhangxin](https://github.com/ZhangXinNan) for contributing the new visualize function、add .gitgnore and discard set PYTHONPATH manually.
|
|
||||||
- Many thanks to [lyl120117](https://github.com/lyl120117) for contributing the code for printing the network structure.
|
|
||||||
- Thanks [xiangyubo](https://github.com/xiangyubo) for contributing the handwritten Chinese OCR datasets.
|
|
||||||
- Thanks [authorfu](https://github.com/authorfu) for contributing Android demo and [xiadeye](https://github.com/xiadeye) contributing iOS demo, respectively.
|
|
||||||
- Thanks [BeyondYourself](https://github.com/BeyondYourself) for contributing many great suggestions and simplifying part of the code style.
|
|
||||||
- Thanks [tangmq](https://gitee.com/tangmq) for contributing Dockerized deployment services to PaddleOCR and supporting the rapid release of callable Restful API services.
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
## Algorithm introduction
|
||||||
|
|
||||||
|
[TOC]
|
||||||
|
|
||||||
|
<a name="TEXTDETECTIONALGORITHM"></a>
|
||||||
|
|
||||||
|
### 1. Text Detection Algorithm
|
||||||
|
|
||||||
|
PaddleOCR open source text detection algorithms list:
|
||||||
|
- [x] EAST([paper](https://arxiv.org/abs/1704.03155))
|
||||||
|
- [x] DB([paper](https://arxiv.org/abs/1911.08947))
|
||||||
|
- [x] SAST([paper](https://arxiv.org/abs/1908.05498))(Baidu Self-Research)
|
||||||
|
|
||||||
|
On the ICDAR2015 dataset, the text detection result is as follows:
|
||||||
|
|
||||||
|
|Model|Backbone|precision|recall|Hmean|Download link|
|
||||||
|
|-|-|-|-|-|-|
|
||||||
|
|EAST|ResNet50_vd|88.18%|85.51%|86.82%|[Download link](https://paddleocr.bj.bcebos.com/det_r50_vd_east.tar)|
|
||||||
|
|EAST|MobileNetV3|81.67%|79.83%|80.74%|[Download link](https://paddleocr.bj.bcebos.com/det_mv3_east.tar)|
|
||||||
|
|DB|ResNet50_vd|83.79%|80.65%|82.19%|[Download link](https://paddleocr.bj.bcebos.com/det_r50_vd_db.tar)|
|
||||||
|
|DB|MobileNetV3|75.92%|73.18%|74.53%|[Download link](https://paddleocr.bj.bcebos.com/det_mv3_db.tar)|
|
||||||
|
|SAST|ResNet50_vd|92.18%|82.96%|87.33%|[Download link](https://paddleocr.bj.bcebos.com/SAST/sast_r50_vd_icdar2015.tar)|
|
||||||
|
|
||||||
|
On Total-Text dataset, the text detection result is as follows:
|
||||||
|
|
||||||
|
|Model|Backbone|precision|recall|Hmean|Download link|
|
||||||
|
|-|-|-|-|-|-|
|
||||||
|
|SAST|ResNet50_vd|88.74%|79.80%|84.03%|[Download link](https://paddleocr.bj.bcebos.com/SAST/sast_r50_vd_total_text.tar)|
|
||||||
|
|
||||||
|
**Note:** Additional data, like icdar2013, icdar2017, COCO-Text, ArT, was added to the model training of SAST. Download English public dataset in organized format used by PaddleOCR from [Baidu Drive](https://pan.baidu.com/s/12cPnZcVuV1zn5DOd4mqjVw) (download code: 2bpi).
|
||||||
|
|
||||||
|
For use of [LSVT](https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_en/datasets_en.md#1-icdar2019-lsvt) street view dataset with a total of 3w training data,the related configuration and pre-trained models for text detection task are as follows:
|
||||||
|
|Model|Backbone|Configuration file|Pre-trained model|
|
||||||
|
|-|-|-|-|
|
||||||
|
|ultra-lightweight OCR model|MobileNetV3|det_mv3_db.yml|[Download link](https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db.tar)|
|
||||||
|
|General OCR model|ResNet50_vd|det_r50_vd_db.yml|[Download link](https://paddleocr.bj.bcebos.com/ch_models/ch_det_r50_vd_db.tar)|
|
||||||
|
|
||||||
|
* Note: For the training and evaluation of the above DB model, post-processing parameters box_thresh=0.6 and unclip_ratio=1.5 need to be set. If using different datasets and different models for training, these two parameters can be adjusted for better result.
|
||||||
|
|
||||||
|
For the training guide and use of PaddleOCR text detection algorithms, please refer to the document [Text detection model training/evaluation/prediction](./doc/doc_en/detection_en.md)
|
||||||
|
|
||||||
|
<a name="TEXTRECOGNITIONALGORITHM"></a>
|
||||||
|
### 2. Text Recognition Algorithm
|
||||||
|
|
||||||
|
PaddleOCR open-source text recognition algorithms list:
|
||||||
|
- [x] CRNN([paper](https://arxiv.org/abs/1507.05717))
|
||||||
|
- [x] Rosetta([paper](https://arxiv.org/abs/1910.05085))
|
||||||
|
- [x] STAR-Net([paper](http://www.bmva.org/bmvc/2016/papers/paper043/index.html))
|
||||||
|
- [x] RARE([paper](https://arxiv.org/abs/1603.03915v1))
|
||||||
|
- [x] SRN([paper](https://arxiv.org/abs/2003.12294))(Baidu Self-Research)
|
||||||
|
|
||||||
|
Refer to [DTRB](https://arxiv.org/abs/1904.01906), the training and evaluation result of these above text recognition (using MJSynth and SynthText for training, evaluate on IIIT, SVT, IC03, IC13, IC15, SVTP, CUTE) is as follow:
|
||||||
|
|
||||||
|
|Model|Backbone|Avg Accuracy|Module combination|Download link|
|
||||||
|
|-|-|-|-|-|
|
||||||
|
|Rosetta|Resnet34_vd|80.24%|rec_r34_vd_none_none_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_r34_vd_none_none_ctc.tar)|
|
||||||
|
|Rosetta|MobileNetV3|78.16%|rec_mv3_none_none_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_mv3_none_none_ctc.tar)|
|
||||||
|
|CRNN|Resnet34_vd|82.20%|rec_r34_vd_none_bilstm_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_r34_vd_none_bilstm_ctc.tar)|
|
||||||
|
|CRNN|MobileNetV3|79.37%|rec_mv3_none_bilstm_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_mv3_none_bilstm_ctc.tar)|
|
||||||
|
|STAR-Net|Resnet34_vd|83.93%|rec_r34_vd_tps_bilstm_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_r34_vd_tps_bilstm_ctc.tar)|
|
||||||
|
|STAR-Net|MobileNetV3|81.56%|rec_mv3_tps_bilstm_ctc|[Download link](https://paddleocr.bj.bcebos.com/rec_mv3_tps_bilstm_ctc.tar)|
|
||||||
|
|RARE|Resnet34_vd|84.90%|rec_r34_vd_tps_bilstm_attn|[Download link](https://paddleocr.bj.bcebos.com/rec_r34_vd_tps_bilstm_attn.tar)|
|
||||||
|
|RARE|MobileNetV3|83.32%|rec_mv3_tps_bilstm_attn|[Download link](https://paddleocr.bj.bcebos.com/rec_mv3_tps_bilstm_attn.tar)|
|
||||||
|
|SRN|Resnet50_vd_fpn|88.33%|rec_r50fpn_vd_none_srn|[Download link](https://paddleocr.bj.bcebos.com/SRN/rec_r50fpn_vd_none_srn.tar)|
|
||||||
|
|
||||||
|
**Note:** SRN model uses data expansion method to expand the two training sets mentioned above, and the expanded data can be downloaded from [Baidu Drive](https://pan.baidu.com/s/1-HSZ-ZVdqBF2HaBZ5pRAKA) (download code: y3ry).
|
||||||
|
|
||||||
|
The average accuracy of the two-stage training in the original paper is 89.74%, and that of one stage training in paddleocr is 88.33%. Both pre-trained weights can be downloaded [here](https://paddleocr.bj.bcebos.com/SRN/rec_r50fpn_vd_none_srn.tar).
|
||||||
|
|
||||||
|
We use [LSVT](https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_en/datasets_en.md#1-icdar2019-lsvt) dataset and cropout 30w training data from original photos by using position groundtruth and make some calibration needed. In addition, based on the LSVT corpus, 500w synthetic data is generated to train the model. The related configuration and pre-trained models are as follows:
|
||||||
|
|
||||||
|
|Model|Backbone|Configuration file|Pre-trained model|
|
||||||
|
|-|-|-|-|
|
||||||
|
|ultra-lightweight OCR model|MobileNetV3|rec_chinese_lite_train.yml|[Download link](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn.tar)|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_enhance_infer.tar) & [pre-trained model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_enhance.tar)|
|
||||||
|
|General OCR model|Resnet34_vd|rec_chinese_common_train.yml|[Download link](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn.tar)|[inference model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn_enhance_infer.tar) & [pre-trained model](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_r34_vd_crnn_enhance.tar)|
|
||||||
|
|
||||||
|
Please refer to the document for training guide and use of PaddleOCR text recognition algorithms [Text recognition model training/evaluation/prediction](./doc/doc_en/recognition_en.md)
|
Loading…
Reference in New Issue