PaddleOCR/README_ch.md

13 KiB
Executable File
Raw Blame History

English | 简体中文


简介

PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库助力使用者训练出更好的模型并应用落地。

近期更新

  • PaddleOCR研发团队对最新发版内容技术深入解读9月8日晚上20:15直播地址
  • 2021.9.7 发布PaddleOCR v2.3,发布PP-OCRv2CPU推理速度相比于PP-OCR server提升220%效果相比于PP-OCR mobile 提升7%。
  • 2021.8.3 发布PaddleOCR v2.2,新增文档结构分析PP-Structure工具包支持版面分析与表格识别含Excel导出
  • 2021.6.29 FAQ新增5个高频问题总数248个每周一都会更新欢迎大家持续关注。
  • 2021.4.8 release 2.1版本新增AAAI 2021论文端到端识别算法PGNet开源,多语言模型支持种类增加到80+。
  • More

特性

  • 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
    • 支持中英文数字组合识别、竖排文本识别、长文本识别
    • 支持多语言识别:韩语、日语、德语、法语
  • 丰富易用的OCR相关工具组件
    • 半自动数据标注工具PPOCRLabel支持快速高效的数据标注
    • 数据合成工具Style-Text批量合成大量与目标场景类似的图像
    • 文档分析能力PP-Structure版面分析与表格识别
  • 支持用户自定义训练,提供丰富的预测推理部署方案
  • 支持PIP快速安装使用
  • 可运行于Linux、Windows、MacOS等多种系统

效果展示

上图是通用PP-OCR server模型效果展示更多效果图请见效果展示页面

欢迎加入PaddleOCR技术交流群

  • 微信扫描二维码加入官方交流群,获得更高效的问题答疑,与各行各业开发者充分交流,期待您的加入。

快速体验

PP-OCR系列模型列表更新中

模型简介 模型名称 推荐场景 检测模型 方向分类器 识别模型
中英文超轻量PP-OCRv2模型13.0M ch_PP-OCRv2_xx 移动端&服务器端 推理模型 / 训练模型 推理模型 / 预训练模型 推理模型 / 训练模型
中英文超轻量PP-OCR mobile模型9.4M ch_ppocr_mobile_v2.0_xx 移动端&服务器端 推理模型 / 预训练模型 推理模型 / 预训练模型 推理模型 / 预训练模型
中英文通用PP-OCR server模型143.4M ch_ppocr_server_v2.0_xx 服务器端 推理模型 / 预训练模型 推理模型 / 预训练模型 推理模型 / 预训练模型

更多模型下载(包括多语言),可以参考PP-OCR 系列模型下载

文档教程

PP-OCRv2 Pipeline

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

[2] PP-OCRv2在PP-OCR的基础上进一步在5个方面重点优化检测模型采用CML协同互学习知识蒸馏策略和CopyPaste数据增广策略识别模型采用LCNet轻量级骨干网络、UDML 改进知识蒸馏策略和Enhanced CTC loss损失函数改进如上图红框所示进一步在推理速度和预测效果上取得明显提升。更多细节请参考PP-OCR技术方案arxiv链接生成中

效果展示 more

  • 中文模型
  • 英文模型
  • 其他语言模型

许可证书

本项目的发布受Apache 2.0 license许可认证。

贡献代码

我们非常欢迎你为PaddleOCR贡献代码也十分感谢你的反馈。

  • 非常感谢 Khanh TranKarl Horky 贡献修改英文文档
  • 非常感谢 zhangxin(Blog) 贡献新的可视化方式、添加.gitignore、处理手动设置PYTHONPATH环境变量的问题
  • 非常感谢 lyl120117 贡献打印网络结构的代码
  • 非常感谢 xiangyubo 贡献手写中文OCR数据集
  • 非常感谢 authorfu 贡献Android和xiadeye 贡献IOS的demo代码
  • 非常感谢 BeyondYourself 给PaddleOCR提了很多非常棒的建议并简化了PaddleOCR的部分代码风格。
  • 非常感谢 tangmq 给PaddleOCR增加Docker化部署服务支持快速发布可调用的Restful API服务。
  • 非常感谢 lijinhan 给PaddleOCR增加java SpringBoot 调用OCR Hubserving接口完成对OCR服务化部署的使用。
  • 非常感谢 Mejans 给PaddleOCR增加新语言奥克西坦语Occitan的字典和语料。
  • 非常感谢 Evezerest ninetailskim edencfc BeyondYourself 1084667371 贡献了PPOCRLabel的完整代码。