在线评估 PP-OCRv6,然后通过 PaddlePaddle、Transformers 或 ONNX Runtime 后端集成轻量级、可投入生产的 OCR 功能。
PP-OCRv6 是 PaddleOCR 通用 OCR 模型系列的最新版本。它专为文档、截图、多语言图像、数字显示屏、工业标签和场景文本等真实场景中的文本检测与识别而设计。
该模型系列的参数量从 1.5M 到 34.5M 不等,分为三个等级:tiny、small 和 medium。medium 和 small 等级支持 50 种语言,包括简体中文、繁体中文、英语、日语以及 46 种拉丁字母语言。快速在线体验 PP-OCRv6:PP-OCRv6 在线演示。
在 PaddleOCR 官方内部的多场景 OCR 基准测试中,PP-OCRv6_medium 的检测 Hmean 达到 86.2%,识别准确率达到 83.2%。与 PP-OCRv5_server 相比,文本检测提升了 +4.6 个百分点,文本识别提升了 +5.1 个百分点。
PP-OCRv6 聚焦于一个实际的 OCR 需求:通过小型模型和灵活的部署选项,生成准确、结构化的文本输出。关于为何在 VLM 时代专用 OCR 模型仍然有用,更深入的讨论请参阅我们之前的博客:PP-OCRv5 on Hugging Face: A Specialized Approach to OCR。
PP-OCRv6 的新特性
PP-OCRv6 在检测和识别方面引入了架构、训练和数据的改进。主要设计目标是在提升 OCR 准确率的同时,保持模型大小适用于不同的部署场景。
三个模型等级
PP-OCRv6 提供三个模型等级,覆盖不同的模型大小和 OCR 准确率水平。
| 模型 | 模型大小 | 检测 Hmean | 识别准确率 | 典型应用场景 |
|---|---|---|---|---|
| PP-OCRv6_tiny | 1.5M 参数 | 80.6% | 73.5% | 边缘设备、轻量级本地 OCR、延迟敏感型演示、资源受限环境 |
| PP-OCRv6_small | 7.7M 参数 | 84.1% | 81.3% | 移动端、桌面端、均衡型 OCR 服务、计算成本较低的多语言 OCR |
| PP-OCRv6_medium | 34.5M 参数 | 86.2% | 83.2% | 精度导向型 OCR、服务端流水线、工业 OCR、文档录入、多语言 OCR |
PPLCNetV4 骨干网络
PP-OCRv6 使用 PPLCNetV4 作为文本检测和文本识别的统一骨干网络。
对开发者而言,主要好处是整个模型系列的一致性。tiny、small 和 medium 版本并非互不相关的模型;它们同属一个 OCR 系列,共享相同的架构方向。
用于文本检测的 RepLKFPN
文本检测是 OCR 流程的第一阶段。检测质量会影响送入识别器的图像裁剪区域,而质量不佳的裁剪区域往往会导致识别效果变差。
PP-OCRv6 使用 RepLKFPN 升级了检测模块,这是一种轻量级的大核特征金字塔网络,专为多尺度文本检测设计,同时保持推理高效。
这对于真实世界的 OCR 输入场景非常重要,因为文本可能尺寸小、排列密集、有旋转、分辨率低,或嵌入在复杂背景中。
用于识别的 EncoderWithLightSVTR
在文本识别方面,PP-OCRv6 使用了 EncoderWithLightSVTR。它将局部上下文建模与全局注意力相结合,以提高对具有挑战性的文本裁剪区域的识别质量。
识别方面的改进对于多语言文本、屏幕文本、工业字符、特殊符号、密集文本以及噪声图像区域尤其重要。
统一的多语言 OCR
medium 和 small 版本在一个模型系列中支持 50 种语言,涵盖简体中文、繁体中文、英语、日语以及 46 种拉丁字母语言。
这有助于减少在常见的多语言 OCR 场景中为不同语言分别部署独立 OCR 模型的需求。
使用 PaddleOCR 快速上手
安装 PaddleOCR:
pip install paddleocr
使用 Paddle Inference(默认后端)运行 OCR:
from paddleocr import PaddleOCR
# Model: PP-OCRv6_medium(Default)
# Backend: Paddle Inference(Default)
ocr = PaddleOCR(
use_doc_orientation_classify=False,
use_doc_unwarping=False,
use_textline_orientation=False,
)
result = ocr.predict("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png")
for res in result:
res.print()
res.save_to_img("output")
res.save_to_json("output")
OCR 结果可以保存为可视化图像和结构化的 JSON 输出。结构化输出随后可供下游系统使用,例如文档解析、搜索、信息提取、RAG、分析或智能体工作流。
可用的推理后端
PP-OCRv6 可以通过 PaddleOCR 使用多种推理后端。PaddleOCR 3.7 提供了统一的推理引擎接口,其中引擎负责选择底层运行时,相关配置可通过流水线或模块 API 传递。
| 后端 | 描述 |
|---|---|
| Transformers | 面向 Hugging Face / PyTorch 的推理路径,适用于受支持的 PaddleOCR 模型 |
| ONNX Runtime | 面向基于 ONNX 的部署环境的可移植推理路径 |
| Paddle Inference | 原生 Paddle 推理格式 |
对于 Hugging Face 用户,PaddleOCR 支持通过 Transformers 后端运行选定的 OCR 和文档解析模型。可通过以下方式启用:
engine="transformers"
有关 Transformers 后端在 PaddleOCR 中如何工作的更多详情,请参阅:
使用 Transformer 后端运行 PP-OCRv6 示例:
from paddleocr import PaddleOCR
# Model: PP-OCRv6_medium(Default)
# Backend: transformers
ocr = PaddleOCR(
use_doc_orientation_classify=False,
use_doc_unwarping=False,
use_textline_orientation=False,
engine="transformers",
)
result = ocr.predict("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png")
PP-OCRv6 模型集合中也提供了 ONNX 变体,适用于通过 `engine="onnxruntime"` 使用 ONNX Runtime 的环境:
from paddleocr import PaddleOCR
# Model: PP-OCRv6_medium(Default)
# Backend: ONNX Runtime
ocr = PaddleOCR(
use_doc_orientation_classify=False,
use_doc_unwarping=False,
use_textline_orientation=False,
engine="onnxruntime",
)
result = ocr.predict("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png")
这些后端选项共同使 PP-OCRv6 能够在不同的运行时环境中使用,同时在 Hugging Face Hub 上保持相同的 OCR 模型系列。
结论
PP-OCRv6 通过一个轻量级、多语言的 OCR 模型系列扩展了 PaddleOCR,用于实际场景中的文本检测与识别。
此次发布包含三个模型层级,参数量从 1.5M 到 34.5M,支持多达 50 种语言的 OCR,相比 PP-OCRv5_server 提升了检测和识别精度,并在 Hugging Face Hub 上提供了多种模型格式,包括 safetensors、Paddle 推理模型和 ONNX 模型。
结合托管的 Hugging Face Space 以及可用的 PaddleOCR 推理后端,PP-OCRv6 为评估和集成提供了多种入口:
在线演示:PP-OCRv6 在线演示
模型集合:PP-OCRv6 模型集合
Transformers 后端博客:使用 Transformers 后端的 PaddleOCR
PaddleOCR 文档:PP-OCRv6 文档
PaddleOCR 官方网站:https://www.paddleocr.com
您可以通过在线演示评估 PP-OCRv6,探索模型集合中的可用模型资产,并使用与您自身 OCR 工作流相匹配的推理后端。