PaddleOCR

义项:飞桨OCR工具库
PaddleOCR

PaddleOCR是百度飞桨(PaddlePaddle)团队开发的深度学习光学字符识别(OCR)工具库,以开源方式发布,用于把图片、PDF 等文档中的文字检测并识别为可编辑、可结构化的数据。2020 年开源以来,项目以轻量的 PP-OCR 系列模型和文档解析工具链为主要内容,被 Umi-OCR、MinerU、RAGFlow 等开源项目采用[1]。2025 年 5 月 20 日发布的 3.0 版本加入多文种与大模型辅助的关键信息抽取能力[2]。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

PaddleOCR 是构建在 飞桨 深度学习框架之上的一套光学字符识别工具库,由百度飞桨团队开发并开源,发布时采用 Apache License 2.0 许可[3]。它以工程化方式提供从数据标注、模型训练、模型压缩到推理部署的完整链路,而不只是一个预训练模型文件[3]。库中除了通用文字识别能力,还包含版面分析、表格识别、公式识别、印章识别和关键信息抽取等文档处理组件,官方将其称为面向产业的 OCR 开发套件。

使用者在 Python 中安装后即可调用,命令行方式同样可用;输入的载体可以是单张图片、图片文件夹,也可以是 PDF 文件,结果通常以文本框坐标、识别文本和置信度的形式返回[4]。用户还可以替换成自行训练的检测、方向分类和识别模型,从而适配特定业务场景[4]。

原理

官方主推的 PP-OCR 系统采用两阶段结构:先用文本检测算法找出图像中文字所在区域,再用文本识别算法把区域内的字符序列转成文字;两个阶段之间插入了文本方向分类器,用来处理横排、竖排与倒置的文本行[5]。早期版本的检测环节使用 DB 算法,识别环节使用 CRNN,这一组合奠定了系列模型的基本框架[6]。

处理流程可以简略表示为:

$P(\text{文本}) = \mathrm{Rec}\big(\mathrm{Cls}(\mathrm{Det}(I))\big)$,其中 $I$ 为输入图像,$\mathrm{Det}$、$\mathrm{Cls}$、$\mathrm{Rec}$ 分别是检测、方向分类和识别模块[5]。


flowchart LR

A[输入图像或 PDF 页] --> B[文本检测]

B --> C[文本框裁剪与矫正]

C --> D[文本方向分类]

D --> E[文本识别]

E --> F[坐标、文本与置信度]

在后续版本中,识别环节逐步从循环神经网络转向注意力结构。PP-OCRv3 的识别模块基于 SVTR 改造,用变换器结构提取文本行内部的上下文,并以轻量网络 SVTR_LCNet 承担实际推理;检测环节则引入 LK-PAN、RSE-FPN 等结构,并用蒸馏方式把大模型能力迁移到小模型[5]。3.x 版本在文字识别之外加入视觉语言模型路线,PaddleOCR-VL 用约 0.9B 参数的超紧凑模型完成多语种文档解析,并配合版面分析模型定位文本、表格、公式和图表区域[1]。

发展历程

项目于 2020 年开源,最初以超轻量中英文识别模型为主要卖点,2020 年 6 月发布 8.6M 参数的模型,同年 10 月发布 PP-OCR 算法与 3.5M 的极轻量模型[7]。2021 年 9 月 7 日推出 PP-OCRv2,官方给出的对比数据是 CPU 推理速度相对 PP-OCR server 提升 220%,效果相对移动端版本提升约 7%[8]。2022 年 5 月 9 日发布 PP-OCRv3,中文场景效果较上一代再提升 5%,英文场景提升 11%[8]。

2021 年 8 月 3 日,随 2.2 版本加入文档结构分析工具包 PP-Structure,支持版面分析与表格识别并可导出表格;2022 年 8 月 24 日升级为 PP-StructureV2,新增版面复原与一行命令完成 PDF 转 Word 的能力[9]。2023 年 8 月 7 日发布 PP-OCRv4,同时提供移动端与服务端两种规格,并推出结合文心大模型的 PP-ChatOCR 关键信息抽取方案[9]。

2024 年 10 月 18 日发布 2.9 版本,把 OCR 相关能力整合进低代码开发工具 PaddleX,以模型产线形式提供调用[9]。2025 年 5 月 20 日发布 3.0 版本,全面适配飞桨框架 3.0,包含 PP-OCRv5、PP-StructureV3、PP-ChatOCRv4 三项主要能力,并新增对昆仑芯、昇腾等国产硬件的支持[2]。同年 10 月,百度开源多模态文档解析模型 PaddleOCR-VL。

应用

PaddleOCR 在开源社区中被大量下游项目调用。官方列出 Umi-OCR、OmniParser、MinerU、RAGFlow 等知名开源项目都使用其能力[1]。对检索增强生成类应用而言,它承担的是把非结构化文档转成可被大语言模型读取的文本与版面结构的角色。

具体场景覆盖印刷文字提取、竖向排版文本、多语言混合文档,以及试卷和作业批改中的手写内容识别[10]。在行业侧,病历数字化、合同与笔录处理、证件和票据的关键字段抽取都属于典型用法,配套的 PP-Structure 系列还能把版面还原并导出为 Word 或 Excel 形式[9]。

部署方面,PaddleOCR 支持高性能推理、服务化部署与端侧部署,并为英伟达 GPU、昆仑芯、昇腾、寒武纪、海光等硬件提供适配,Android 端也提供示例[9][2]。3.0.2 版本起,官方为多种模型产线补充了 C++、Java、Go、C#、Node.js 和 PHP 的调用示例,便于非 Python 技术栈接入[2]。

局限

默认预训练模型主要针对印刷体通用场景训练,对手写内容的适配相对有限。官方文档与社区讨论都指出,手写数字等形态变化大的内容容易漏检或识别错误,通常需要用手写数据微调或另训专用模型;单张图片中印刷体与手写体并存时,可采用一个检测模型加一个分类器再加多个识别模型的组合方式处理[11]。

识别字典决定了模型能输出哪些字符。遇到字典之外的符号、古文字或特殊文字时,需要先构建相应字典再训练,否则无法正确输出[11]。同一张图中多语种混排也受此限制,官方说明目前各语言的字典是分开的,若强行合并字典,最后一层分类层会变大,并可能因形近字增多而损失精度[11]。

整图方向同样影响结果。官方常见问题文档提到,把图片整体旋转 90 度后识别效果可能变差,因为默认输入按正向处理,需要在流程最前端自行加入整图方向判别或预处理[11]。此外,角色、字段之间的关系抽取属于高度依赖业务场景的个性化需求,官方说明这类任务难以由单一模型统一处理,需借助自然语言处理中的实体识别等技术另行实现[11]。

工程成本也是一项约束。第三方评测在肯定其对中英文和结构化文档效果的同时指出,PaddleOCR 的功能丰富伴随着更高的配置与调参复杂度,要取得最佳性能通常需要 GPU 运行[12]。

参见

  • 飞桨 —— PaddleOCR 所依托的深度学习框架,模型的训练与推理均在其上完成。

  • 光学字符识别 —— PaddleOCR 所属的技术领域,研究从图像中提取文字。

  • 文本检测 —— PP-OCR 两阶段流程的第一步,负责定位图像中的文字区域。

  • 文心大模型 —— 在 3.x 版本中与 OCR 模型配合,用于文档关键信息抽取与理解。

  • Tesseract —— 另一款广泛使用的开源 OCR 引擎,常与 PaddleOCR 并列比较。

参考资料

  1. PaddleOCR 文档 [引用日期2026-10-29]
  2. paddleocr [引用日期2026-10-29]
  3. paddleocr - English | 简体中文 [引用日期2026-10-29]
  4. paddleocr package使用说明¶ [引用日期2026-10-29]
  5. PP-OCR¶ [引用日期2026-10-29]
  6. comments: true [引用日期2026-10-29]
  7. 吊打一切现有开源OCR项目!PP-OCRv2效果再升7%,速度提升220%! [引用日期2026-10-29]
  8. 更新 [引用日期2026-10-29]
  9. Home [引用日期2026-10-29]
  10. 超越GPT-4o及Qwen2.5-VL,百度超轻量模型PP-OCRv5 Blog持续登顶Hugging Face热度第一 [引用日期2026-10-29]
  11. FAQ [引用日期2026-10-29]
  12. 8 Top Open-Source OCR Models Compared: A Complete Guide [引用日期2026-10-29]
词条评价
词条统计

浏览次数:0 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:29:40Z

历史版本

本条目引用的词条
飞桨 光学字符识别 文本检测 文心大模型 Tesseract