尧图精选

PaddleOCR 完全指南:从 PP-OCR 系列模型到多语言 OCR 实战

🕒 发布时间:2026/9/10 13:56:03 📁 来源:尧图网络
PaddleOCR 完全指南从 PP-OCR 系列模型到多语言 OCR 实战【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCRPaddleOCR 是一个面向产业落地的实用型 OCR 工具库本文以官方文档为主线系统讲解 PaddleOCR 的定位、安装与一键试用、PP-OCR 系列模型的演进脉络与选型、80 语种的多语言识别、以及从数据标注到训练压缩再到推理部署的完整教程体系。读完本文你将掌握如何用一条命令完成图片/PDF 的文字识别并知道如何基于仓库源码与配置文件把 OCR 能力落地到自己的业务中。PaddleOCR 是什么PaddleOCR 旨在打造一套丰富、领先且实用的 OCR 工具库帮助用户训练更好的模型并应用于实践。它不仅提供通用场景下的中英文模型还提供在英文场景下专门训练的模型以及覆盖 80 个语种的小语种模型是目前覆盖面较广的多语言 OCR 解决方案之一。围绕 OCR 相关的各类前沿算法PaddleOCR 沉淀了面向产业的功能模型与解决方案PP-OCR超轻量级 OCR 系统系列检测 方向分类 识别三段式详见 docs/version2.x/ppocr/overview.mdPP-Structure面向文档的结构化分析系统涵盖版面分析、表格识别、关键信息抽取KIE、版面恢复等能力详见 ppstructure/。在此基础上用户可以完成从数据生成 → 模型训练 → 模型压缩 → 推理 → 部署的全流程工作。当前仓库代码中还沉淀了基于 PaddleX 的新一代 API 与 Pipeline参见 paddleocr/ 与 paddleocr/_pipelines/同时保留了 version2.x 时代的经典教程体系。一分钟快速上手安装先安装飞桨框架PaddlePaddle与 PaddleOCR 包# CPU 用户安装 CPU 版飞桨 pip3 install paddlepaddle # GPU 用户请安装 GPU 版飞桨 pip3 install paddlepaddle-gpu # 安装 PaddleOCR pip3 install paddleocr若还没有 Python 环境请先按照 docs/version2.x/ppocr/environment.md 完成环境准备Windows/Mac 推荐 AnacondaLinux 推荐 Docker推荐 PaddlePaddle 2.1.2、Python 3、CUDA10.1/10.2、CUDNN 7.6。命令行一行识别安装完成后直接通过命令行即可完成检测 方向分类 识别的全流程paddleocr --image_dir /your/test/image.jpg --langjapan--lang参数用于切换语种如japan、ch、en、korean等支持约 80 种语言。以中文为例更完整的调用方式为paddleocr --image_dir ./imgs/11.jpg --use_angle_cls true --use_gpu false其中--use_angle_cls true启用文本方向分类器以处理 180 度旋转文字--use_gpu false指定不使用 GPU。输出是一个 list每个元素包含文本框四点坐标、识别文本与置信度[[[28.0, 37.0], [302.0, 39.0], [302.0, 72.0], [27.0, 70.0]], (纯臻营养护发素, 0.9658738374710083)]也可以直接输入 PDF 文件并通过--page_num指定推理前几页默认为 0表示全部页paddleocr --image_dir ./xxx.pdf --use_angle_cls true --use_gpu false --page_num 2从源码看 CLI 是如何组织的当前仓库的新版 CLI 入口位于 paddleocr/_cli.py。_get_parser()通过argparse构建子命令体系将各类 PipelineOCR、PP-StructureV3、公式识别、文档理解等与模型文本检测、文本识别、版面检测等统一注册为paddleocr的子命令_register_pipelines注册PaddleOCR、PPStructureV3、DocUnderstanding、FormulaRecognitionPipeline等管线_register_models注册TextDetection、TextRecognition、LayoutDetection、TableStructureRecognition等 13 类模型另有doc2mdOffice 文档转 Markdown、genai_serverGenAI 服务等扩展子命令。每次调用paddleocr时main()解析参数后分发到对应 executor 执行这正是一行命令完成 OCR背后的机制。若你希望使用经典的 PP-OCR 系列模型如 PP-OCRv4、PP-OCRv3可参考 docs/version2.x/ppocr/quick_start.md 与 docs/version2.x/ppocr/blog/whl.md 中的 wheel 包使用说明。Python 脚本调用除命令行外也可以在 Python 中调用whl 包会自动下载 PP-OCR 轻量级模型作为默认模型from paddleocr import PaddleOCR, draw_ocr # 通过 lang 参数切换语种例如 ch / en / fr / german / korean / japan ocr PaddleOCR(use_angle_clsTrue, langch) # 首次运行会自动下载并加载模型 img_path ./imgs/11.jpg result ocr.ocr(img_path, clsTrue) for idx in range(len(result)): res result[idx] for line in res: print(line) # 可视化结果 from PIL import Image result result[0] image Image.open(img_path).convert(RGB) boxes [line[0] for line in result] txts [line[1][0] for line in result] scores [line[1][1] for line in result] im_show draw_ocr(image, boxes, txts, scores, font_path./fonts/simfang.ttf) im_show Image.fromarray(im_show) im_show.save(result.jpg)PP-OCR 系列模型演进PP-OCR 是 PaddleOCR 自研的实用型超轻量 OCR 系统在实现前沿算法的基础上兼顾精度与速度的平衡通过模型瘦身与深度优化满足产业落地需求。其 pipeline 为文本检测 → 文本方向分类 → 文本识别的两阶段结构检测选用 DB 算法识别选用 CRNN 算法中间加入方向分类器以应对不同方向的文本。各版本演进要点详见 docs/version2.x/ppocr/overview.md 与 docs/version2.x/ppocr/blog/PP-OCRv3_introduction.md、docs/version2.x/ppocr/blog/PP-OCRv4_introduction.mdPP-OCR从骨干网络选择、预测头设计、数据增强、学习率策略、正则化、预训练模型、自动裁剪量化等 8 个方面采用 19 个有效策略调优与瘦身得到超轻量中英文 OCRPP-OCRv2检测侧引入 CML 协同互学习蒸馏与 CopyPaste 数据增广识别侧采用 LCNet 轻量骨干、UDML 蒸馏与 Enhanced CTC loss进一步平衡速度与精度PP-OCRv3检测模型升级 CML 蒸馏教师侧 LK-PAN DML、学生侧 RSE-FPN识别模型基于 SVTR 优化通过 SVTR_LCNet、Attention 损失指导 CTC、TextConAug 数据增广、TextRotNet 自监督预训练、UDML 联合互学习、UIM 无标注数据挖掘 6 个方向提升效果PP-OCRv4mobile 版在同等速度下进一步提升中英文与 80 语种多语言识别精度server 版则追求更高的检测与识别精度。当前仓库的配置目录 configs/det/PP-OCRv4/、configs/rec/PP-OCRv4/ 以及后续的 PP-OCRv5、PP-OCRv6 配置均可在仓库内查看。whl 包默认使用 PP-OCRv4 模型--ocr_version PP-OCRv4也可通过该参数切换 PP-OCRv3 / PP-OCRv2 / PP-OCR 版本。系列模型一览与选型官方文档给出了 PP-OCRv3 系列超轻量模型的选型表模型大小以官方 release 说明为准模型介绍模型名称推荐场景检测模型识别模型日语超轻量 PP-OCRv3 模型japan_PP-OCRv3_xx移动端 服务器端Multilingual_PP-OCRv3_det推理/训练japan_PP-OCRv3_rec推理/训练英语超轻量 PP-OCRv3 模型en_PP-OCRv3_xx移动端 服务器端en_PP-OCRv3_det推理/训练en_PP-OCRv3_rec推理/训练中英文超轻量 PP-OCRv3 模型ch_PP-OCRv3_xx移动端 服务器端PP-OCRv3_mobile_det推理/训练PP-OCRv3_mobile_rec推理/训练模型大小方面超轻量 PP-OCRv3 系列约为检测 3.6M 方向分类 1.4M 识别 12M ≈ 17M更早的超轻量 PP-OCRv2 系列约 13M移动端 PP-OCR mobile 系列约 9.4M通用 server 系列约 143M。用户可按移动端/边缘设备优先体积、服务器优先精度的原则选型。更完整的模型清单含 PP-OCRv4 检测/识别模型、方向分类模型、Paddle-Lite nb 模型、多语言模型、配置文件对应关系请查阅 docs/version2.x/ppocr/model_list.md。其中模型按用途分为推理模型inference.pdmodel / inference.pdiparams用于预测引擎推理训练模型 / 预训练模型*.pdparams / *.pdopt / *.states用于指标评估、恢复训练或在自己的数据集上 finetunenb 模型*.nb经飞桨 Paddle-Lite 优化适用于移动端 / IoT 端部署。仓库中对应各模型的训练配置文件位于 configs/det/、configs/rec/如 PP-OCRv4 检测配置 configs/det/PP-OCRv4/PP-OCRv4_mobile_det.yml方向分类配置见 configs/cls/cls_mv3.yml。多语言识别与 80 语种支持PaddleOCR 支持约 80 个语种的检测与识别涵盖拉丁语系、阿拉伯语系、中文繁体、韩语、日语等。通过--lang参数即可切换例如英文模型指定--langenpaddleocr --image_dir ./imgs_en/254.jpg --langen常用语种缩写包括中文ch、英文en、繁体中文chinese_cht、法文fr、德文german、意大利文it、日文japan、韩文korean、俄文ru等。完整语种列表及对应的字典文件、配置文件可参考 docs/version2.x/ppocr/blog/multi_languages.md。仓库中多语言的字典文件位于 ppocr/utils/dict/如日文japan_dict.txt、韩文korean_dict.txt多语言识别训练配置位于 configs/rec/multi_language/ 与 configs/rec/PP-OCRv3/multi_language/。如果你需要请求官方升级某个语种的模型可以在多语言模型升级投票讨论中投票官方会根据投票结果定期升级模型如果业务场景需要基于自有数据训练新语种模型仓库提供了多语言模型训练项目的教程可参考数据集准备与全流程步骤原多语言 OCR 开发计划中还沉淀了大量语料与字典资源。教程体系导航PaddleOCR 官方文档为不同阶段的使用者提供了完整的教程路径以下链接均已转为仓库内路径入门与训练环境准备docs/version2.x/ppocr/environment.mdPP-OCR 概览docs/version2.x/ppocr/overview.md快速开始中英文/多语言docs/version2.x/ppocr/quick_start.md模型训练总览docs/version2.x/ppocr/model_train/training.md文本检测训练docs/version2.x/ppocr/model_train/detection.md文本识别训练docs/version2.x/ppocr/model_train/recognition.md文本方向分类训练docs/version2.x/ppocr/model_train/angle_class.md模型压缩与部署模型量化deploy/slim/quantization/模型剪枝deploy/slim/prune/知识蒸馏docs/version2.x/ppocr/model_compress/推理与部署总览deploy/README.mdC 推理deploy/cpp_infer/移动端Paddle-Litedeploy/lite/readme.mdPaddle2ONNX 转换deploy/paddle2onnx/readme.md云端部署PaddleClouddeploy/paddlecloud/README.mdHubServing 服务化deploy/hubserving/PP-Structure 文档结构化分析总览ppstructure/版面分析ppstructure/layout/表格识别ppstructure/table/关键信息抽取ppstructure/kie/版面恢复PDF 转 Word/Markdownppstructure/recovery/学术算法与数据算法概览与新增算法指南docs/version2.x/algorithm/半自动标注工具 PPOCRLabel 与数据合成工具 Style-Text详见 docs/data_anno_synth/data_annotation.md 与 docs/data_anno_synth/data_synthesis.md公开数据集汇总docs/datasets/datasets.md通用 OCR、docs/datasets/handwritten_datasets.md手写、docs/datasets/vertical_and_multilingual_datasets.md多语言/竖排、docs/datasets/layout_datasets.md版面、docs/datasets/table_datasets.md表格、docs/datasets/kie_datasets.md关键信息其他更新日志docs/update/update.md常见问题docs/FAQ.md效果可视化PP-OCRv3 中文、英文与多语言模型的实际识别效果如下更多可视化结果见 docs/version2.x/ppocr/visualization.md此外PP-Structurev2 支持版面分析 表格识别的文档结构化流程以及 SER语义实体识别与 RE关系抽取两类关键信息抽取任务可参考 ppstructure/ 下的各模块文档与示例。开源协议PaddleOCR 基于 Apache 2.0 协议开源发布允许自由使用、修改与再分发具体条款以仓库根目录的 LICENSE 文件为准。【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →