PaddleOCR文字识别使用

【转载】
原网页:https://github.com/PaddlePaddle/PaddleOCR/

简介

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

注意

PaddleOCR同时支持动态图与静态图两种编程范式

  • 动态图版本:dygraph分支(默认),需将paddle版本升级至2.0rc1+(快速安装)
  • 静态图版本:develop分支

近期更新

  • 2021.1.4 FAQ新增5个高频问题,总数142个,每周一都会更新,欢迎大家持续关注。
  • 2020.12.15 更新数据合成工具Style-Text,可以批量合成大量与目标场景类似的图像,在多个场景验证,效果明显提升。
  • 2020.11.25 更新半自动标注工具PPOCRLabel,辅助开发者高效完成标注任务,输出格式与PP-OCR训练任务完美衔接。
  • 2020.9.22 更新PP-OCR技术文章,https://arxiv.org/abs/2009.09941
  • More

特性

  • PPOCR系列高质量预训练模型,准确的识别效果
    • 超轻量ppocr_mobile移动端系列:检测(3.0M)+方向分类器(1.4M)+ 识别(5.0M)= 9.4M
    • 通用ppocr_server系列:检测(47.1M)+方向分类器(1.4M)+ 识别(94.9M)= 143.4M
    • 支持中英文数字组合识别、竖排文本识别、长文本识别
    • 支持多语言识别:韩语、日语、德语、法语
  • 丰富易用的OCR相关工具组件
    • 半自动数据标注工具PPOCRLabel:支持快速高效的数据标注
    • 数据合成工具Style-Text:批量合成大量与目标场景类似的图像
  • 支持用户自定义训练,提供丰富的预测推理部署方案
  • 支持PIP快速安装使用
  • 可运行于Linux、Windows、MacOS等多种系统

效果展示

上图是通用ppocr_server模型效果展示,更多效果图请见效果展示页面。

欢迎加入PaddleOCR技术交流群

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

快速体验

  • PC端:超轻量级中文OCR在线体验地址:https://www.paddlepaddle.org.cn/hub/scene/ocr

  • 移动端:安装包DEMO下载地址(基于EasyEdge和Paddle-Lite, 支持iOS和Android系统),Android手机也可以直接扫描下面二维码安装体验。

  • 代码体验:从快速安装 开始

PP-OCR 2.0系列模型列表(更新中)

说明 :2.0版模型和1.1版模型的主要区别在于动态图训练vs.静态图训练,模型性能上无明显差距。

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

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

文档教程

  • 快速安装
  • 中文OCR模型快速使用
  • 代码组织结构
  • 算法介绍
    • 文本检测
    • 文本识别
    • PP-OCR Pipline
  • 模型训练/评估
    • 文本检测
    • 文本识别
    • 方向分类器
    • yml参数配置文件介绍
  • 预测部署
    • 基于pip安装whl包快速推理
    • 基于Python脚本预测引擎推理
    • 基于C++预测引擎推理
    • 服务化部署
    • 端侧部署
    • Benchmark
  • 数据集
    • 通用中英文OCR数据集
    • 手写中文OCR数据集
    • 垂类多语言OCR数据集
  • 数据标注与合成
    • 半自动标注工具PPOCRLabel
    • 数据合成工具Style-Text
    • 其它数据标注工具
    • 其它数据合成工具
  • 效果展示
  • FAQ
    • 【精选】OCR精选10个问题
    • 【理论篇】OCR通用31个问题
    • 【实战篇】PaddleOCR实战101个问题
  • 技术交流群
  • 参考文献
  • 许可证书
  • 贡献代码

PP-OCR Pipline

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

效果展示 more

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

许可证书

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

贡献代码

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

  • 非常感谢 Khanh Tran 和 Karl 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的完整代码。

你可能感兴趣的:(人工智障,Python,python,机器学习,人工智能)