README_ch.md 13.2 KB
Newer Older
W
WenmuZhou 已提交
1 2
[English](README.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
## 简介
qq_25193841's avatar
qq_25193841 已提交
17

qq_25193841's avatar
qq_25193841 已提交
18
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力开发者训练出更好的模型,并应用落地。
W
WenmuZhou 已提交
19

qq_25193841's avatar
qq_25193841 已提交
20
## 近期更新
W
WenmuZhou 已提交
21

qq_25193841's avatar
qq_25193841 已提交
22
- 2021.12.21《动手学OCR · 十讲》课程开讲,12月21日起每晚八点半线上授课![免费报名地址](https://aistudio.baidu.com/aistudio/course/introduce/25207)
qq_25193841's avatar
qq_25193841 已提交
23
- 2021.12.21 发布PaddleOCR v2.4。OCR算法新增1种文本检测算法(PSENet),3种文本识别算法(NRTR、SEED、SAR);文档结构化算法新增1种关键信息提取算法(SDMGR,[文档](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.4/ppstructure/docs/kie.md)),3种DocVQA算法(LayoutLM、LayoutLMv2,LayoutXLM,[文档](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.4/ppstructure/vqa))。
24
- PaddleOCR研发团队对最新发版内容技术深入解读,9月8日晚上20:15,[课程回放](https://aistudio.baidu.com/aistudio/education/group/info/6758)
qq_25193841's avatar
qq_25193841 已提交
25
- 2021.9.7 发布PaddleOCR v2.3与[PP-OCRv2](#PP-OCRv2),CPU推理速度相比于PP-OCR server提升220%;效果相比于PP-OCR mobile 提升7%。
G
grasswolfs 已提交
26
- 2021.8.3 发布PaddleOCR v2.2,新增文档结构分析[PP-Structure](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.2/ppstructure/README_ch.md)工具包,支持版面分析与表格识别(含Excel导出)。
qq_25193841's avatar
qq_25193841 已提交
27

M
MissPenguin 已提交
28
> [更多](./doc/doc_ch/update.md)
T
tink2123 已提交
29

W
WenmuZhou 已提交
30 31
## 特性

G
grasswolfs 已提交
32 33 34 35
- PP-OCR系列高质量预训练模型,准确的识别效果
    - 超轻量PP-OCRv2系列:检测(3.1M)+ 方向分类器(1.4M)+ 识别(8.5M)= 13.0M
    - 超轻量PP-OCR mobile移动端系列:检测(3.0M)+方向分类器(1.4M)+ 识别(5.0M)= 9.4M
    - 通用PPOCR server系列:检测(47.1M)+方向分类器(1.4M)+ 识别(94.9M)= 143.4M
G
grasswolfs 已提交
36
    - 支持中英文数字组合识别、竖排文本识别、长文本识别
M
MissPenguin 已提交
37 38 39 40 41
    - 支持多语言识别:韩语、日语、德语、法语等约80种语言
- PP-Structure文档结构化系统
    - 支持版面分析与表格识别(含Excel导出)
    - 支持关键信息提取任务
    - 支持DocVQA任务
G
grasswolfs 已提交
42 43 44
- 丰富易用的OCR相关工具组件
    - 半自动数据标注工具PPOCRLabel:支持快速高效的数据标注
    - 数据合成工具Style-Text:批量合成大量与目标场景类似的图像
W
WenmuZhou 已提交
45 46 47 48
- 支持用户自定义训练,提供丰富的预测推理部署方案
- 支持PIP快速安装使用
- 可运行于Linux、Windows、MacOS等多种系统

qq_25193841's avatar
qq_25193841 已提交
49
> 上述内容的使用方法建议从文档教程中的快速开始体验
D
dyning 已提交
50

qq_25193841's avatar
qq_25193841 已提交
51
<a name="贡献代码"></a>
D
dyning 已提交
52

qq_25193841's avatar
qq_25193841 已提交
53
## 社区、社区贡献与社区常规赛
W
WenmuZhou 已提交
54

qq_25193841's avatar
qq_25193841 已提交
55 56
- 加入社区:微信扫描下方二维码加入官方交流群,与各行各业开发者充分交流,期待您的加入。
- 社区贡献:[社区贡献](./doc/doc_ch/thirdparty.md)文档中包含了社区用户**使用PaddleOCR开发的各种工具、应用**以及**为PaddleOCR贡献的功能、优化的文档与代码**等,是官方为社区开发者打造的荣誉墙、也是帮助优质项目宣传的广播站。如果您的OCR项目未被收集在文档中,可根据文档说明与我们联系。最新社区贡献可查看[此处](#社区贡献)
qq_25193841's avatar
qq_25193841 已提交
57
- 社区常规赛:作为社区贡献的具体承载形式,社区常规赛是面向OCR开发者的积分赛事。首届社区常规赛与[《动手学OCR · 十讲》课程](https://aistudio.baidu.com/aistudio/course/introduce/25207)联合推广。社区常规赛的赛题详情与报名方法可参考[链接](https://github.com/PaddlePaddle/PaddleOCR/issues/4982)
W
WenmuZhou 已提交
58 59

<div align="center">
qq_25193841's avatar
qq_25193841 已提交
60
<img src="https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/dygraph/doc/joinus.PNG"  width = "200" height = "200" />
W
WenmuZhou 已提交
61
</div>
M
MissPenguin 已提交
62

qq_25193841's avatar
qq_25193841 已提交
63
## 零代码体验
W
WenmuZhou 已提交
64

qq_25193841's avatar
qq_25193841 已提交
65 66
- 在线网站体验:超轻量PP-OCR mobile模型体验地址:https://www.paddlepaddle.org.cn/hub/scene/ocr
- 移动端:[安装包DEMO下载地址](https://ai.baidu.com/easyedge/app/openSource?from=paddlelite)(基于EasyEdge和Paddle-Lite, 支持iOS和Android系统)
G
grasswolfs 已提交
67

qq_25193841's avatar
qq_25193841 已提交
68 69 70 71 72 73 74 75 76 77
<a name="模型下载"></a>
## PP-OCR系列模型列表(更新中)

| 模型简介                              | 模型名称                | 推荐场景        | 检测模型                                                     | 方向分类器                                                   | 识别模型                                                     |
| ------------------------------------- | ----------------------- | --------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 中英文超轻量PP-OCRv2模型(13.0M)     | ch_PP-OCRv2_xx          | 移动端&服务器端 | [推理模型](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_det_infer.tar) / [训练模型](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_det_distill_train.tar) | [推理模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_train.tar) | [推理模型](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_infer.tar) / [训练模型](https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_train.tar) |
| 中英文超轻量PP-OCR mobile模型(9.4M) | ch_ppocr_mobile_v2.0_xx | 移动端&服务器端 | [推理模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_train.tar) | [推理模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_train.tar) | [推理模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_pre.tar) |
| 中英文通用PP-OCR server模型(143.4M) | ch_ppocr_server_v2.0_xx | 服务器端        | [推理模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_train.tar) | [推理模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_train.tar) | [推理模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_infer.tar) / [预训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_pre.tar) |

更多模型下载(包括多语言),可以参考[PP-OCR 系列模型下载](./doc/doc_ch/models_list.md)
W
WenmuZhou 已提交
78 79

## 文档教程
qq_25193841's avatar
qq_25193841 已提交
80

qq_25193841's avatar
qq_25193841 已提交
81
- [运行环境准备](./doc/doc_ch/environment.md)
G
grasswolfs 已提交
82 83
- [快速开始(中英文/多语言/文档分析)](./doc/doc_ch/quickstart.md)
- [PaddleOCR全景图与项目克隆](./doc/doc_ch/paddleOCR_overview.md)
qq_25193841's avatar
qq_25193841 已提交
84
- PP-OCR产业落地:从训练到部署
qq_25193841's avatar
qq_25193841 已提交
85
    - [PP-OCR模型库](./doc/doc_ch/models.md)
qq_25193841's avatar
qq_25193841 已提交
86
        - [PP-OCR模型下载](./doc/doc_ch/models_list.md)
87
        - [PP-OCR模型库快速推理](./doc/doc_ch/inference_ppocr.md)
qq_25193841's avatar
qq_25193841 已提交
88 89 90
    - [PP-OCR模型训练](./doc/doc_ch/training.md)
        - [文本检测](./doc/doc_ch/detection.md)
        - [文本识别](./doc/doc_ch/recognition.md)
91
        - [文本方向分类器](./doc/doc_ch/angle_class.md)
qq_25193841's avatar
qq_25193841 已提交
92
        - [知识蒸馏](./doc/doc_ch/knowledge_distillation.md)
93
        - [配置文件内容与生成](./doc/doc_ch/config.md)
qq_25193841's avatar
qq_25193841 已提交
94 95 96 97 98 99 100 101
    - PP-OCR模型推理部署
        - [基于C++预测引擎推理](./deploy/cpp_infer/readme.md)
        - [服务化部署](./deploy/pdserving/README_CN.md)
        - [端侧部署](./deploy/lite/readme.md)
        - [Benchmark](./doc/doc_ch/benchmark.md)
- [PP-Structure信息提取](./ppstructure/README_ch.md)
    - [版面分析](./ppstructure/layout/README_ch.md)
    - [表格识别](./ppstructure/table/README_ch.md)
qq_25193841's avatar
qq_25193841 已提交
102 103
    - [DocVQA](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.4/ppstructure/vqa)
    - [关键信息提取](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.4/ppstructure/docs/kie.md)
104 105 106 107 108
- OCR学术圈
    - [两阶段模型介绍与下载](./doc/doc_ch/algorithm_overview.md)
    - [端到端PGNet算法](./doc/doc_ch/pgnet.md)
    - [基于Python脚本预测引擎推理](./doc/doc_ch/inference.md)
    - [使用PaddleOCR架构添加新算法](./doc/doc_ch/add_new_algorithm.md)
G
grasswolfs 已提交
109 110
- 数据标注与合成
    - [半自动标注工具PPOCRLabel](./PPOCRLabel/README_ch.md)
D
dyning 已提交
111
    - [数据合成工具Style-Text](./StyleText/README_ch.md)
G
grasswolfs 已提交
112 113
    - [其它数据标注工具](./doc/doc_ch/data_annotation.md)
    - [其它数据合成工具](./doc/doc_ch/data_synthesis.md)
qq_25193841's avatar
qq_25193841 已提交
114 115 116 117
- 数据集
    - [通用中英文OCR数据集](./doc/doc_ch/datasets.md)
    - [手写中文OCR数据集](./doc/doc_ch/handwritten_datasets.md)
    - [垂类多语言OCR数据集](./doc/doc_ch/vertical_and_multilingual_datasets.md)
W
WenmuZhou 已提交
118 119
- [效果展示](#效果展示)
- FAQ
qq_25193841's avatar
qq_25193841 已提交
120 121
    - [通用问题](./doc/doc_ch/FAQ.md)
    - [PaddleOCR实战问题](./doc/doc_ch/FAQ.md)
W
WenmuZhou 已提交
122 123
- [参考文献](./doc/doc_ch/reference.md)
- [许可证书](#许可证书)
qq_25193841's avatar
qq_25193841 已提交
124
- [代码组织结构](./doc/doc_ch/tree.md)
W
WenmuZhou 已提交
125

G
grasswolfs 已提交
126 127 128
<a name="PP-OCRv2"></a>

## PP-OCRv2 Pipeline
W
WenmuZhou 已提交
129
<div align="center">
G
grasswolfs 已提交
130
    <img src="./doc/ppocrv2_framework.jpg" width="800">
W
WenmuZhou 已提交
131
</div>
G
grasswolfs 已提交
132 133
[1] PP-OCR是一个实用的超轻量OCR系统。主要由DB文本检测、检测框矫正和CRNN文本识别三部分组成。该系统从骨干网络选择和调整、预测头部的设计、数据增强、学习率变换策略、正则化参数选择、预训练模型使用以及模型自动裁剪量化8个方面,采用19个有效策略,对各个模块的模型进行效果调优和瘦身(如绿框所示),最终得到整体大小为3.5M的超轻量中英文OCR和2.8M的英文数字OCR。更多细节请参考PP-OCR技术方案 https://arxiv.org/abs/2009.09941

qq_25193841's avatar
qq_25193841 已提交
134
[2] PP-OCRv2在PP-OCR的基础上,进一步在5个方面重点优化,检测模型采用CML协同互学习知识蒸馏策略和CopyPaste数据增广策略;识别模型采用LCNet轻量级骨干网络、UDML 改进知识蒸馏策略和[Enhanced CTC loss](./doc/doc_ch/enhanced_ctc_loss.md)损失函数改进(如上图红框所示),进一步在推理速度和预测效果上取得明显提升。更多细节请参考PP-OCRv2[技术报告](https://arxiv.org/abs/2109.03144)
W
WenmuZhou 已提交
135 136

<a name="效果展示"></a>
qq_25193841's avatar
qq_25193841 已提交
137

W
WenmuZhou 已提交
138 139
## 效果展示 [more](./doc/doc_ch/visualization.md)
- 中文模型
qq_25193841's avatar
qq_25193841 已提交
140 141 142 143 144

<div align="center">
      <img src="doc/imgs_results/ch_ppocr_mobile_v2.0/test_add_91.jpg" width="800">
      <img src="doc/imgs_results/ch_ppocr_mobile_v2.0/00018069.jpg" width="800">
</div>
W
WenmuZhou 已提交
145
<div align="center">
L
LDOUBLEV 已提交
146
    <img src="./doc/imgs_results/ch_ppocr_mobile_v2.0/00056221.jpg" width="800">
L
LDOUBLEV 已提交
147
    <img src="./doc/imgs_results/ch_ppocr_mobile_v2.0/rotate_00052204.jpg" width="800">
W
WenmuZhou 已提交
148 149 150 151
</div>

- 英文模型
<div align="center">
D
Daniel Yang 已提交
152
    <img src="./doc/imgs_results/ch_ppocr_mobile_v2.0/img_12.jpg" width="800">
W
WenmuZhou 已提交
153 154 155 156
</div>

- 其他语言模型
<div align="center">
L
LDOUBLEV 已提交
157
    <img src="./doc/imgs_results/french_0.jpg" width="800">
L
LDOUBLEV 已提交
158
    <img src="./doc/imgs_results/korean.jpg" width="800">
W
WenmuZhou 已提交
159
</div>
qq_25193841's avatar
qq_25193841 已提交
160 161 162 163 164 165 166 167
<a name="社区贡献"></a>

## 最新社区贡献

- 基于PaddleOCR的社区项目: [FastOCRLabel](https://gitee.com/BaoJianQiang/FastOCRLabel):完整的C#版本标注工具 (@ [包建强](https://gitee.com/BaoJianQiang) )
- 为PaddleOCR新增功能:非常感谢 [Evezerest](https://github.com/Evezerest)[ninetailskim](https://github.com/ninetailskim)[edencfc](https://github.com/edencfc)[BeyondYourself](https://github.com/BeyondYourself)[1084667371](https://github.com/1084667371) 贡献了[PPOCRLabel](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/PPOCRLabel/README_ch.md) 的完整代码。
- 代码与文档优化:非常感谢 [BeyondYourself](https://github.com/BeyondYourself) 给PaddleOCR提了很多非常棒的建议,并简化了PaddleOCR的部分代码风格。
- 多语言语料:非常感谢 [Mejans](https://github.com/Mejans) 给PaddleOCR增加新语言奥克西坦语Occitan的字典和语料([#954](https://github.com/PaddlePaddle/PaddleOCR/pull/954))。
W
WenmuZhou 已提交
168

qq_25193841's avatar
qq_25193841 已提交
169
完整社区贡献列表可查看[社区贡献文档](./doc/doc_ch/thirdparty.md)
W
WenmuZhou 已提交
170 171

<a name="许可证书"></a>
qq_25193841's avatar
qq_25193841 已提交
172

W
WenmuZhou 已提交
173 174
## 许可证书
本项目的发布受<a href="https://github.com/PaddlePaddle/PaddleOCR/blob/master/LICENSE">Apache 2.0 license</a>许可认证。