PaddlePaddle / PaddleOCR

PaddlePaddle/PaddleOCR

open_in_new前往仓库

PaddleOCR 是百度开源的领先 OCR 工具包,支持 100+ 语言,可将 PDF 和图片转换为结构化数据(Markdown/JSON),提供 PP-OCRv6、PaddleOCR-VL 等模型,广泛应用于 RAG 和智能体应用。

项目概览

项目概述

PaddleOCR 是百度开源的全球领先 OCR 工具包和文档 AI 引擎,旨在将 PDF 文档和图像转换为结构化、可供 LLM 直接使用的数据(JSON/Markdown)。它支持 100+ 语言,提供 PP-OCRv6、PaddleOCR-VL 等系列模型,被 Dify、RAGFlow 等众多项目采用,是构建智能 RAG 和 Agentic 应用的基础工具。

核心功能

  • 智能文档解析(LLM-Ready):提供 SOTA 文档 VLM(PaddleOCR-VL-1.6,0.9B),在 OmniDocBench 上达到 96.3% 准确率,支持文本、公式、表格、印章、图表等元素的识别,输出 Markdown 和 JSON 格式。
  • 结构感知转换:基于 PP-StructureV3,可将复杂 PDF 和图片转换为 Markdown 或 JSON,提供更细粒度的坐标信息(如表格单元格坐标)。
  • 通用文本识别(场景 OCR):PP-OCRv6 支持 50 种语言(单模型),PP-OCRv5 支持 109 种语言,在自然场景、身份证、街景、工业部件等场景表现出色。
  • 开发者生态:与 Dify、RAGFlow、Pathway、Cherry Studio 等深度集成,支持多种硬件后端(NVIDIA GPU、Intel CPU、昆仑芯 XPU 等),提供一键部署。
  • 高性能推理:支持 TensorRT、OpenVINO、ONNX Runtime 等加速,提供 C++、C#、Java 等多语言部署方案。

适用与不适用场景

适用场景:

  • 文档解析:将 PDF、扫描件、图片转换为 Markdown/JSON,用于 RAG、知识库构建。
  • 场景文字识别:识别街景、广告牌、身份证、票据等自然场景中的文字。
  • 多语言文档处理:支持中、英、日、韩、阿拉伯语等 100+ 语言。
  • 表格、公式、印章、图表等复杂元素的识别与结构化。
  • 构建 OCR 训练数据集,用于模型微调。

不适用场景:

  • 需要实时视频流文字识别的场景(PaddleOCR 主要针对静态图像)。
  • 对艺术字体、特殊古文字(如甲骨文)的识别,需要额外训练。
  • 需要识别模型不支持的字符时,需更新字典并微调。

技术架构与依赖

  • 编程语言:Python(主要),支持 C++、C#、Java 等部署。
  • 核心框架:PaddlePaddle(飞桨)深度学习框架。
  • 模型系列:PP-OCRv6、PP-OCRv5、PaddleOCR-VL、PP-StructureV3、PP-DocTranslation 等。
  • 依赖:PaddlePaddle、OpenCV、Shapely 等。
  • 硬件支持:CPU、GPU(NVIDIA)、XPU(昆仑芯)、NPU 等。

安装与快速开始

  1. 在线体验:访问 PaddleOCR 官网 使用体验中心和 API。
  2. 本地安装:
    pip install paddleocr
    
    或使用 conda:
    conda install -c conda-forge paddleocr
    
  3. 快速使用:
    from paddleocr import PaddleOCR
    ocr = PaddleOCR(use_angle_cls=True, lang='ch')
    result = ocr.ocr('path/to/image.jpg', cls=True)
    

典型使用方法

  • 文档解析:使用 PaddleOCR-VL 或 PP-StructureV3 将 PDF/图片转换为 Markdown 或 JSON。
  • 场景文字识别:使用 PP-OCRv6 或 PP-OCRv5 识别自然场景中的文字。
  • 表格识别:使用 PP-StructureV3 或 PP-Chart2Table 模块进行表格结构识别和转换。
  • 服务化部署:使用 Flask、gunicorn 或 PaddleServing 部署为 Web 服务。
  • 模型微调:基于预训练模型,使用自定义数据集进行微调。

配置与部署要点

  • 模型下载:可通过环境变量 PADDLE_PDX_MODEL_SOURCE 指定下载源(如 BOS),或使用 model_dir 指定本地模型路径。
  • GPU 加速:安装对应 CUDA 版本的 PaddlePaddle,可启用 TensorRT、fp16 等加速。
  • 性能优化:设置 enable_hpi=True 启用高性能推理,调整 batch_size、det_limit_side_len 等参数。
  • 服务部署:支持 Docker、Flask、gunicorn 等方式,可自定义 Docker 镜像和 SDK。
  • 多语言支持:PP-OCRv6 单模型支持 50 种语言,PP-OCRv5 支持 109 种语言。

限制、风险与许可证

  • 许可证:Apache-2.0。
  • 限制:
    • 对艺术字体、特殊古文字识别效果有限。
    • 对视频流文字识别需自行抽帧处理。
    • 模型训练需要大量标注数据,特定场景需微调。
  • 风险:
    • 依赖 PaddlePaddle 框架,需注意版本兼容性。
    • 模型下载可能受网络影响,可配置镜像源。

官方链接

信息来源和分析时间

  • 信息来源:GitHub 仓库 README、FAQ 文档、社区贡献文档、数据集文档。
  • 分析时间:2026-07-22(基于仓库最新更新)。