PaddleOCR 全览:多语言 OCR 工具库的版本演进、模型矩阵与全流程能力解析
【免费下载链接】PaddleOCR飞桨多语言OCR工具包(实用超轻量OCR系统,支持80+种语言识别,提供数据标注与合成工具,支持服务器、移动端、嵌入式及IoT设备端的训练与部署) Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)项目地址: https://gitcode.com/paddlepaddle/PaddleOCR
PaddleOCR 是飞桨(PaddlePaddle)推出的多语言 OCR 工具库,覆盖文本检测、文本识别、版面分析、表格识别、公式识别、文档图像预处理与文档信息抽取等全场景能力,并打通数据生产、模型训练、模型压缩、推理与部署全流程。本文以 PaddleOCR 文档站首页为骨架,梳理其 v2.10 及历史版本的更新脉络、12 个自研单模型与 4 条多模型组合产线、PP-OCR / PP-Structure / PP-ChatOCR 三大产业级方案,并结合仓库源码与配置给出可验证的实现细节,帮助读者快速建立对 PaddleOCR 能力版图的完整认知,并掌握新语言支持的接入方法。
一、PaddleOCR 是什么:定位与设计目标
官方文档对项目的定位是一句话:PaddleOCR 旨在打造一套丰富、领先、且实用的 OCR 工具库,助力开发者训练出更好的模型,并应用落地(Introduction)。
从仓库结构看,这一目标落实为两套并行的能力入口:
- 单功能模型(Models):以 paddleocr/_models 目录下的独立模块呈现,包括
LayoutDetection(版面检测)、TableStructureRecognition(表格结构识别)、TableCellsDetection(表格单元格检测)、TableClassification(表格分类)、TextDetection(文本检测)、TextRecognition(文本识别)、TextLineOrientationClassification(文本行方向分类)、FormulaRecognition(公式识别)、DocImgOrientationClassification(文档图像方向分类)、TextImageUnwarping(文本图像矫正)、ChartParsing(图表解析)、SealTextDetection(印章文本检测)、DocVLM(文档视觉语言模型)等。这些类在 paddleocr/init.py 中被统一导出,用户可通过from paddleocr import TextRecognition等方式直接实例化调用。 - 多模型组合产线(Pipelines):以 paddleocr/_pipelines 目录下的模块呈现,包括
PaddleOCR(通用 OCR)、PPStructureV3(版面解析)、TableRecognitionPipelineV2(表格识别 v2)、PPChatOCRv4Doc(文档场景信息抽取 v4)、DocPreprocessor(文档预处理)、DocUnderstanding、PaddleOCRVL、FormulaRecognitionPipeline、SealRecognition、PPDocTranslation等,同样在 paddleocr/init.py 中导出。
此外,paddleocr/_cli.py 将上述模型与产线统一注册为命令行子命令,开发者既可以用 Python API 编程调用,也可以用paddleocr <子命令>完成推理,实现"一行命令快速体验"。
二、版本演进:从 v2.5 到 v2.10 的更新脉络
文档站首页的「近期更新」章节记录了 PaddleOCR 的完整版本演进,核心时间线如下:
| 版本 | 发布时间 | 核心内容 |
|---|---|---|
| v2.10 | 2025.3.7 | 新增 12 个自研单模型、4 条多模型组合产线(详见下文) |
| v2.9 | 2024.10.18 | 引入 PaddleX 低代码全流程开发能力,集成 17 个 OCR 相关模型与 6 条产线 |
| v2.7 | 2023.8.7 | 发布 PP-OCRv4 移动端与服务端模型 |
| v2.6 | 2022.8.24 | 发布 PP-StructureV2,支持版面恢复(Layout Recovery)与 PDF 转 Word |
| v2.5 | 2022.5.9 | 发布 PP-OCRv3,发布标注工具 PPOCRLabelv2 |
更早的 2022.5~2022.11 之间,还陆续加入了 FCENet、DB++、ViTSTR、ABINet、VisionLAN、SPIN、RobustScanner、TableMaster、DRRG、RFL、Text Telescope、CAN 等前沿算法实现,完整清单见 算法总览 与 更新日志。
2.1 v2.10:12 个自研单模型
v2.10 一次性发布 12 个自研单模型,按任务类型划分:
- 版面区域检测系列(3 个):PP-DocLayout-L、PP-DocLayout-M、PP-DocLayout-S,支持预测 23 个常见版面类别,覆盖中英论文、研报、试卷、书籍、杂志、合同、报纸等丰富文档类型。官方文档声明其 mAP@0.5 最高达 90.4%,轻量模型端到端每秒可处理超百页文档图像。在仓库中,
LayoutDetection的默认模型名即为PP-DocLayout_plus-L,见 paddleocr/_models/layout_detection.py。 - 公式识别系列(2 个):PP-FormulaNet-L、PP-FormulaNet-S,支持 5 万种 LaTeX 常见词汇,可识别高难度印刷公式与手写公式。对应配置示例见 configs/rec/PP-FormuaNet。
- 表格结构识别系列(2 个):SLANeXt_wired、SLANeXt_wireless,分别支持有线表格与无线表格的结构预测,官方文档声明其在内部高难度表格评测集上精度较 SLANet_plus 高 6 个百分点。对应配置见 configs/table/SLANeXt_wired.yml 与 configs/table/SLANeXt_wireless.yml。
- 表格分类(1 个):PP-LCNet_x1_0_table_cls,超轻量级的有线/无线表格分类模型。
- 表格单元格检测(2 个):RT-DETR-L_wired_table_cell_det、RT-DETR-L_wireless_table_cell_det,可配合表格结构识别、文本检测、文本识别模块完成表格端到端预测。
- 文本识别(1 个):PP-OCRv4_server_rec_doc,支持 1.5 万+ 字典,官方文档声明其在内部数据集上精度较 PP-OCRv4_server_rec 高 3 个百分点以上。仓库中
TextRecognition的默认模型为PP-OCRv6_medium_rec,见 paddleocr/_models/text_recognition.py;而ppocrv4_doc_dict.txt等词典文件位于 ppocr/utils/dict。 - 文本行方向分类(1 个):PP-LCNet_x0_25_textline_ori,存储仅 0.3M 的超轻量级文本行方向分类模型。
2.2 v2.10:4 条多模型组合产线
除了单模型,v2.10 还推出 4 条高价值的多模型组合方案:
- 文档图像预处理产线(Doc Preprocessor):通过超轻量级模型组合,实现对文档图像扭曲与方向的矫正,对应实现为 paddleocr/_pipelines/doc_preprocessor.py。
- 版面解析 v2 产线(Layout Parsing v2):组合多个自研 OCR 类模型,优化复杂版面阅读顺序,实现多种复杂 PDF 文件端到端转换为 Markdown 与 JSON,可为大模型训练和应用提供高质量数据生产能力。
- 表格识别 v2 产线(Table Recognition v2):将表格分类、表格单元格检测、表格结构识别、文本检测、文本识别等模块组合,实现对多种样式表格的预测,用户可自定义微调其中任意模块以提升垂类表格效果。仓库实现为 paddleocr/_pipelines/table_recognition_v2.py,其构造参数完整列出了可组合的模块:
layout_detection_model_name、table_classification_model_name、wired_table_structure_recognition_model_name、wireless_table_structure_recognition_model_name、wired_table_cells_detection_model_name、wireless_table_cells_detection_model_name、doc_orientation_classify_model_name、doc_unwarping_model_name、text_detection_model_name、text_recognition_model_name等;predict方法还支持use_doc_orientation_classify、use_doc_unwarping、use_layout_detection、use_ocr_model、use_e2e_wired_table_rec_model、use_wired_table_cells_trans_to_html等开关,以及text_det_limit_side_len、text_det_thresh、text_det_box_thresh、text_det_unclip_ratio、text_rec_score_thresh等文本检测/识别参数(paddleocr/_pipelines/table_recognition_v2.py)。 - PP-ChatOCRv4-doc 产线:在 PP-ChatOCRv3-doc 基础上升级,融合多模态大模型,优化 Prompt 与多模型组合后处理逻辑,解决版面分析、生僻字、多页 PDF、表格、印章识别等复杂文档信息抽取难点,官方文档声明准确率较 PP-ChatOCRv3-doc 高 15 个百分点;大模型升级本地部署能力,提供标准 OpenAI 调用接口,支持调用 DeepSeek-R1 等本地部署大模型。仓库实现见 paddleocr/_pipelines/pp_chatocrv4_doc.py。
2.3 v2.9:PaddleX 低代码全流程开发
v2.9 的核心是引入 PaddleX —— 一个基于 PaddleOCR 先进技术的 All-in-One 开发工具,支持 OCR 领域的低代码全流程开发:
- 模型丰富一键调用:将文本图像智能分析、通用 OCR、通用版面解析、通用表格识别、公式识别、印章文本识别涉及的 17 个模型整合为 6 条模型产线,通过极简 Python API 一键调用;同一套 API 还支持图像分类、目标检测、图像分割、时序预测等 200+ 模型,形成 20+ 单功能模块,方便开发者进行模型组合使用。
- 提高效率降低门槛:提供基于统一命令和图形界面两种方式,实现模型简洁高效的使用、组合与定制;支持高性能推理、服务化部署和端侧部署等多种部署方式;对英伟达 GPU、昆仑芯 XPU、昇腾 NPU、寒武纪 MLU、海光 DCU 等主流硬件可实现无缝切换。仓库中的 deploy 目录(含 deploy/cpp_infer、deploy/ios_demo、deploy/android_demo、deploy/paddle2onnx 等)即对应多端部署能力的具体落地。
三、核心技术矩阵:PP-OCR、PP-Structure 与 PP-ChatOCR
文档「特性」章节明确指出:PaddleOCR 支持多种 OCR 相关前沿算法,并在此基础上打造了产业级特色模型/方案PP-OCR、PP-Structure与PP-ChatOCR,打通数据生产、模型训练、压缩、推理与部署全流程。
- PP-OCR 系列:实用超轻量 OCR 系统,覆盖文本检测 + 方向分类 + 文本识别的经典三段式流水线。从 PP-OCRv2、PP-OCRv3 到 PP-OCRv4,持续在"速度相当的情况下提升精度":v3 中文场景较 v2 提升 5%、英文场景提升 11%、80 语言多语言模型平均识别精度提升超 5%;v4 移动版在速度可比时中文场景较 v3 提升 4.5%、英文场景提升 10%、80 语言多语言模型平均识别精度再提升超 8%。v4 服务端发布当时精度最高的 OCR 模型,检测模型精度在中英场景提升 4.9%、识别模型精度提升 2%。算法与快速上手介绍见 PP-OCRv4 介绍 与 快速开始。
- PP-Structure 系列:文档智能分析工具,支持版面分析(Layout Analysis)、表格识别(Table Recognition)、关键信息抽取(KIE,含语义实体识别 SER 与关系抽取 RE)、版面恢复(Layout Recovery)。v2 版本在功能与性能上全面升级:版面分析模型存储减少 95%、速度提升 11 倍、CPU 平均耗时仅 41ms;表格识别设计 3 种优化策略、在相当耗时下精度提升 6%;关键信息抽取设计了视觉无关的模型结构,语义实体识别精度提升 2.8%、关系抽取精度提升 9.1%。实现与预测入口见 ppstructure 目录(含 ppstructure/layout/predict_layout.py、ppstructure/table/predict_table.py、ppstructure/recovery 等),以及 PP-Structure 文档。
- PP-ChatOCR:通用场景关键信息抽取方案,将 PP-OCR 模型与 ERNIE 大语言模型结合,是 v2.10 中 PP-ChatOCRv4-doc 的前身。此外,2022.8 还发布了覆盖数字管、LCD 屏幕、车牌、手写等 9 个垂类模型,覆盖通用、制造、金融、交通等主要 OCR 垂直应用场景,见 applications 目录。
下图展示了 PP-OCR 系列模型在真实场景下的整体能力(原图见 docs/images/ppocrv4_en.jpg):
建议从文档教程中的"快速体验"入手,先跑通一行命令推理,再逐步深入训练与部署。
四、新语言支持指南:字典文件与贡献流程
文档专门开辟了「New Language Requests」章节,明确了为 PaddleOCR 添加新语言支持的规范流程,这是多语言能力持续扩展的开放通道:
- 提交字典文件:在 ppocr/utils/dict 目录下新增一个
{language}_dict.txt文件,其中包含该语言的全部字符列表。文件命名格式必须遵循{language}_dict.txt,可参考该目录下已有文件的格式示例。 - 说明语言特性:如果你的语言具有独特元素(如特殊书写方向、合字、变音符号等),请提前通过任何方式(如提供相关链接、维基百科等)告知项目方。
从仓库实际文件看,这一约定已被严格遵循:目录下存在japan_dict.txt、korean_dict.txt、arabic_dict.txt、devanagari_dict.txt、cyrillic_dict.txt、latin_dict.txt、th_dict.txt、vi_dict.txt等数十个语言词典;同时还有按模型版本组织的词典,如ppocrv4_doc_dict.txt、ppocrv5_dict.txt、ppocrv5_en_dict.txt、ppocrv6_dict.txt、ppocrv6_tiny_dict.txt,以及table_structure_dict.txt、latex_symbol_dict.txt等任务专用词典(见 ppocr/utils/dict 目录清单)。多语言模型在训练与推理时通过character_dict_path配置项指定对应词典文件,相关配置示例可参考 configs/rec/multi_language 下的多语言识别配置。
五、效果展示:从超轻量 PP-OCRv3 到 PP-Structure 文档分析
文档「效果展示」章节按模型系列组织可视化结果,这里选取具有代表性的效果图:
5.1 PP-OCRv3 中文模型
超轻量 PP-OCRv3 中文模型在自然场景与文档场景下的识别效果(原图见 docs/images/test_add_91.jpg):
5.2 PP-OCRv3 多语言模型
PP-OCRv3 多语言模型覆盖 80+ 种语言,下图为日语场景的效果示例(原图见 docs/images/japan_2.jpg):
5.3 PP-StructureV2 文档分析
- 版面分析 + 表格识别:支持复杂版面解析与表格结构还原,动图演示见 docs/images/ppstructure-20240708082235651.gif。
- SER(语义实体识别):对文档中的语义实体进行识别与分类,效果示例见 docs/images/185310636-6ce02f7c-790d-479f-b163-ea97a5a04808-20240708082238739.jpg、docs/images/185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a-20240708082247529.png、docs/images/197464552-69de557f-edff-4c7f-acbf-069df1ba097f-20240708082253634.png。
- RE(关系抽取):抽取实体间的关系,效果示例见 docs/images/185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb-20240708082310650.jpg、docs/images/185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f-20240708082316558.jpg、docs/images/186094813-3a8e16cc-42e5-4982-b9f4-0134dfb5688d-20240708082323916.png。
六、社区协作与许可
- 社区治理:PaddleOCR 由 PMC(项目管理委员会)监督,Issues 与 PR 将在尽力基础上进行审查。⚠️ 注意:Issues 模块仅用于报告程序 Bug,其余提问请移步 Discussions 模块;如所提 Issue 不是 Bug,会被移入 Discussions 模块。
- 许可协议:本项目以 Apache 2.0 许可证发布,许可证文本见仓库根目录 LICENSE。这意味着项目允许商用、修改与再分发,前提是保留版权声明并遵循许可证条款。
七、小结:如何快速上手 PaddleOCR
综合文档与仓库实现,快速上手 PaddleOCR 的推荐路径是:
- 体验:参考 快速开始 用一行命令完成 PP-OCR 推理;或直接使用仓库内置的 PaddleOCR 通用 OCR 产线 的 Python API。
- 选模型:根据任务从 paddleocr/_models 的 13 个单功能模型中选择,或从 paddleocr/_pipelines 的 10 条产线中选择组合方案;模型默认名称可通过各模型类的
default_model_name属性确认。 - 训练与部署:训练入口见 tools/train.py,配置示例见 configs 目录(det/rec/cls/table/kie/sr/e2e 各任务均有完整 YAML 配置);部署方案见 deploy 目录,覆盖服务端、移动端与端侧。
PaddleOCR 的能力版图仍在快速迭代中,持续关注文档站首页的「近期更新」章节,即可第一时间掌握新模型与新产线的发布动态。
【免费下载链接】PaddleOCR飞桨多语言OCR工具包(实用超轻量OCR系统,支持80+种语言识别,提供数据标注与合成工具,支持服务器、移动端、嵌入式及IoT设备端的训练与部署) Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)项目地址: https://gitcode.com/paddlepaddle/PaddleOCR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考