README.md 9.2 KB
Newer Older
G
grasswolfs 已提交
1
[English](README_en.md) | 简体中文
2

G
grasswolfs 已提交
3 4
## 简介
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。
D
dyning 已提交
5

G
grasswolfs 已提交
6
**近期更新**
G
grasswolfs 已提交
7
- 2020.9.19 更新超轻量压缩ppocr_mobile_slim系列模型,整体模型3.5M(详见[PP-OCR Pipline](#PP-OCR)),适合在移动端部署使用。[模型下载](#模型下载)
D
Daniel Yang 已提交
8
- 2020.9.17 更新超轻量ppocr_mobile系列和通用ppocr_server系列中英文ocr模型,媲美商业效果。[模型下载](#模型下载)
D
dyning 已提交
9
- 2020.8.26 更新OCR相关的84个常见问题及解答,具体参考[FAQ](./doc/doc_ch/FAQ.md)
G
grasswolfs 已提交
10 11
- 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)
G
grasswolfs 已提交
12
- [More](./doc/doc_ch/update.md)
D
dyning 已提交
13

D
dyning 已提交
14

G
grasswolfs 已提交
15
## 特性
G
grasswolfs 已提交
16 17

- PPOCR系列高质量预训练模型,媲美商业效果
G
grasswolfs 已提交
18
    - 超轻量ppocr_mobile移动端系列:检测(2.6M)+方向分类器(0.9M)+ 识别(4.6M)= 8.1M
G
grasswolfs 已提交
19
    - 通用ppocr_server系列:检测(47.2M)+方向分类器(0.9M)+ 识别(107M)= 155.1M
G
grasswolfs 已提交
20
    - 超轻量压缩ppocr_mobile_slim系列:检测(1.4M)+方向分类器(0.5M)+ 识别(1.6M)= 3.5M  
G
grasswolfs 已提交
21
- 支持中英文数字组合识别、竖排文本识别、长文本识别
G
grasswolfs 已提交
22
- 支持多语言识别:韩语、日语、德语、法语
G
grasswolfs 已提交
23 24
- 支持用户自定义训练,提供丰富的预测推理部署方案
- 支持PIP快速安装使用
G
grasswolfs 已提交
25
- 可运行于Linux、Windows、MacOS等多种系统
T
tink2123 已提交
26

G
grasswolfs 已提交
27
## 效果展示
L
LDOUBLEV 已提交
28

G
grasswolfs 已提交
29
<div align="center">
G
grasswolfs 已提交
30
    <img src="doc/imgs_results/1101.jpg" width="800">
D
Daniel Yang 已提交
31
    <img src="doc/imgs_results/1103.jpg" width="800">
G
grasswolfs 已提交
32
</div>
D
dyning 已提交
33

D
Daniel Yang 已提交
34
上图是通用ppocr_server模型效果展示,更多效果图请见[效果展示页面](./doc/doc_ch/visualization.md)
D
dyning 已提交
35

G
grasswolfs 已提交
36 37 38 39
## 快速体验
- 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手机也可以直接扫描下面二维码安装体验。
D
dyning 已提交
40

D
dyning 已提交
41 42 43 44 45

<div align="center">
<img src="./doc/ocr-android-easyedge.png"  width = "200" height = "200" />
</div>

G
grasswolfs 已提交
46
- 代码体验:从[快速安装](./doc/doc_ch/installation.md) 开始
D
dyning 已提交
47

G
grasswolfs 已提交
48 49 50 51 52
<a name="模型下载"></a>
## PP-OCR 1.1系列模型列表(9月17日更新)

| 模型简介     | 模型名称     |推荐场景          | 检测模型 | 方向分类器 | 识别模型 |      |
| ------------ | --------------- | ----------------|---- | ---------- | -------- | ---- |
G
grasswolfs 已提交
53 54 55
| 中英文超轻量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)| |      ||
G
grasswolfs 已提交
56

G
grasswolfs 已提交
57
更多模型下载(包括多语言),可以参考[PP-OCR v1.1 系列模型下载](./doc/doc_ch/models_list.md)
G
grasswolfs 已提交
58

G
grasswolfs 已提交
59 60 61
## 文档教程
- [快速安装](./doc/doc_ch/installation.md)
- [中文OCR模型快速使用](./doc/doc_ch/quickstart.md)
G
grasswolfs 已提交
62
- [代码组织结构](./doc/doc_ch/tree.md)
G
grasswolfs 已提交
63
- 算法介绍
G
grasswolfs 已提交
64 65
    - [文本检测](./doc/doc_ch/algorithm_overview.md)
    - [文本识别](./doc/doc_ch/algorithm_overview.md)
G
grasswolfs 已提交
66
    - [PP-OCR Pipline](#PP-OCR)
G
grasswolfs 已提交
67 68 69 70 71
- 模型训练/评估
    - [文本检测](./doc/doc_ch/detection.md)
    - [文本识别](./doc/doc_ch/recognition.md)
    - [yml参数配置文件介绍](./doc/doc_ch/config.md)
- 预测部署
G
grasswolfs 已提交
72 73
    - [基于pip安装whl包快速推理](./doc/doc_ch/whl.md)
    - [基于Python脚本预测引擎推理](./doc/doc_ch/inference.md)
G
grasswolfs 已提交
74
    - [基于C++预测引擎推理](./deploy/cpp_infer/readme.md)
M
MissPenguin 已提交
75
    - [服务化部署](./deploy/hubserving/readme.md)
G
grasswolfs 已提交
76
    - [端侧部署](./deploy/lite/readme.md)
G
grasswolfs 已提交
77 78
    - [模型量化](./deploy/slim/quantization/README.md)
    - [模型裁剪](./deploy/slim/prune/README_ch.md)
G
grasswolfs 已提交
79 80 81 82 83 84 85
    - [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)
G
grasswolfs 已提交
86
- [效果展示](#效果展示)
G
grasswolfs 已提交
87 88 89 90 91 92 93 94 95
- 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)
- [许可证书](#许可证书)
- [贡献代码](#贡献代码)

G
grasswolfs 已提交
96 97 98 99 100 101
<a name="PP-OCR"></a>
## PP-OCR Pipline
<div align="center">
    <img src="./doc/ppocr_framework.png" width="800">
</div>

G
grasswolfs 已提交
102
PP-OCR是一个实用的超轻量OCR系统。主要由DB文本检测、检测框矫正和CRNN文本识别三部分组成。该系统从骨干网络选择和调整、预测头部的设计、数据增强、学习率变换策略、正则化参数选择、预训练模型使用以及模型自动裁剪量化8个方面,采用19个有效策略,对各个模块的模型进行效果调优和瘦身,最终得到整体大小为3.5M的超轻量中英文OCR和2M的英文数字OCR。更多细节请参考PP-OCR技术文章(Arxiv文章链接生成中)。
G
grasswolfs 已提交
103 104


G
grasswolfs 已提交
105
<a name="效果展示"></a>
G
grasswolfs 已提交
106
## 效果展示 [more](./doc/doc_ch/visualization.md)
G
grasswolfs 已提交
107 108

<div align="center">
D
Daniel Yang 已提交
109
    <img src="./doc/imgs_results/1102.jpg" width="800">
G
grasswolfs 已提交
110
    <img src="./doc/imgs_results/1104.jpg" width="800">
G
grasswolfs 已提交
111
    <img src="./doc/imgs_results/1106.jpg" width="800">
G
grasswolfs 已提交
112 113 114
    <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">
G
grasswolfs 已提交
115
</div>
T
tink2123 已提交
116 117 118 119




T
tink2123 已提交
120

G
grasswolfs 已提交
121 122 123
<a name="欢迎加入PaddleOCR技术交流群"></a>
## 欢迎加入PaddleOCR技术交流群
请扫描下面二维码,完成问卷填写,获取加群二维码和OCR方向的炼丹秘籍
D
dyning 已提交
124

D
dyning 已提交
125
<div align="center">
D
dyning 已提交
126
<img src="./doc/joinus.PNG"  width = "200" height = "200" />
D
dyning 已提交
127
</div>
M
MissPenguin 已提交
128

G
grasswolfs 已提交
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
<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服务。