PP-OCRv6来了:34.5M参数覆盖50种语言,小模型也能扛起真实OCR场景

0 阅读5分钟

PP-OCRv6来了:34.5M参数覆盖50种语言,小模型也能扛起真实OCR场景

在线体验 PP-OCRv6,并通过 PaddlePaddle、Transformers 或 ONNX Runtime 后端,将轻量级、生产可用的 OCR 能力集成到你的应用中。

PP-OCRv6 是 PaddleOCR 最新一代通用 OCR 模型族,面向真实世界中的文字检测与识别任务,覆盖文档、截图、多语言图片、电子屏、工业标签和场景文字等多类输入。

Image

PP-OCRv6 模型族覆盖 1.5M 到 34.5M 参数,包含 tiny、small、medium 三个档位。其中 medium 和 small 支持 50 种语言,包括简体中文、繁体中文、英文、日文,以及 46 种拉丁语系语言。

你可以快速在线体验 PP-OCRv6:

PP-OCRv6 Online Demo

Image

在 PaddleOCR 官方内部多场景 OCR Benchmark 上,PP-OCRv6_medium 达到 86.2% Detection Hmean83.2% Recognition Accuracy。相比 PP-OCRv5_server,文本检测提升 +4.6 个百分点,文本识别提升 +5.1 个百分点

Image

PP-OCRv6 聚焦一个非常实际的 OCR 需求:用更小的模型和更灵活的部署方式,生成准确、结构化的文本输出

关于为什么在 VLM 时代,专用 OCR 模型仍然有价值,可以阅读我们此前的文章:

PP-OCRv5 on Hugging Face: A Specialized Approach to OCR

PP-OCRv6 新在哪里?

PP-OCRv6 在检测与识别两端都引入了架构、训练和数据层面的改进。其主要设计目标是:在提升 OCR 准确率的同时,让模型大小适配不同部署环境。

三档模型

PP-OCRv6 提供三个模型档位,覆盖不同模型大小和 OCR 精度水平。

模型模型大小Detection HmeanRecognition Accuracy典型应用场景
PP-OCRv6_tiny1.5M 参数80.6%73.5%端侧设备、本地轻量 OCR、低延迟 Demo、资源受限环境
PP-OCRv6_small7.7M 参数84.1%81.3%移动端、桌面端、均衡型 OCR 服务、低算力成本的多语言 OCR
PP-OCRv6_medium34.5M 参数86.2%83.2%高精度 OCR、服务端流程、工业 OCR、文档接入、多语言 OCR

PPLCNetV4 backbone

PP-OCRv6 使用 PPLCNetV4 作为文字检测和文字识别的统一 backbone。

对开发者来说,它的主要价值在于模型族的一致性。tiny、small 和 medium 并不是三个彼此无关的模型,而是属于同一个 OCR 模型族,并共享一致的架构方向。

Image

RepLKFPN for text detection

文字检测是 OCR 流程的第一阶段。检测质量会直接影响送入识别模型的裁剪区域,而较差的裁剪结果往往会导致识别效果下降。

PP-OCRv6 将检测模块升级为 RepLKFPN。它是一个轻量级大核特征金字塔网络,面向多尺度文字检测设计,同时保持较高的推理效率。

这对于真实 OCR 输入非常重要,因为文本可能很小、很密集、存在旋转、分辨率较低,或者嵌入在复杂背景中。

Image

EncoderWithLightSVTR for recognition

在文本识别部分,PP-OCRv6 使用 EncoderWithLightSVTR。它结合局部上下文建模和全局注意力,用于提升复杂文字裁剪区域的识别质量。

这些识别改进尤其适用于多语言文本、屏幕文字、工业字符、特殊符号、密集文本以及噪声较多的图片区域。

Image

Unified multilingual OCR

PP-OCRv6 的 medium 和 small 档位支持 50 种语言,覆盖简体中文、繁体中文、英文、日文,以及 46 种拉丁语系语言。

这有助于减少常见多语言 OCR 场景中对多个独立 OCR 模型的依赖。

Quick start with PaddleOCR

安装 PaddleOCR:

pip install paddleocr

使用 Paddle Inference(默认后端)运行 OCR:

from paddleocr import PaddleOCR

"color:#9ca3af;"># Model: PP-OCRv6_medium(Default)
"color:#9ca3af;"># 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、数据分析或 Agent 工作流等下游系统。

Available inference backends

PP-OCRv6 可以通过 PaddleOCR 使用多种推理后端。PaddleOCR 3.7 提供统一的推理引擎接口,其中 engine 用于选择底层运行时,相关配置可以通过 pipeline 或 module API 传入。

对于 Hugging Face 用户,PaddleOCR 支持部分 OCR 和文档解析模型通过 Transformers 后端运行。可以通过如下方式启用:

engine="transformers"

关于 PaddleOCR 中 Transformers 后端的工作方式,可以阅读:

PaddleOCR: Running OCR and Document Parsing Tasks with a Transformers Backend

PP-OCRv6 使用 Transformer Backend 进行文本识别的示例:

from paddleocr import PaddleOCR

"color:#9ca3af;"># Model: PP-OCRv6_medium(Default)
"color:#9ca3af;"># Backend: transformers
ocr = PaddleOCR(
    engine="transformers",
    use_doc_orientation_classify=False,
    use_doc_unwarping=False,
    use_textline_orientation=False,
)
result = ocr.predict("general_ocr_002.png")

对于使用 ONNX Runtime 的环境,ONNX 版本也已经在 PP-OCRv6 Collection 中提供,可通过 enable_hpi=True 使用:

from paddleocr import PaddleOCR

"color:#9ca3af;"># Model: PP-OCRv6_medium(Default)
"color:#9ca3af;"># Backend: ONNX Runtime
ocr = PaddleOCR(
    use_doc_orientation_classify=False,
    use_doc_unwarping=False,
    use_textline_orientation=False,
    enable_hpi=True,
)
result = ocr.predict("general_ocr_002.png")

这些后端选项让 PP-OCRv6 能够覆盖不同运行环境,同时在 Hugging Face Hub 上保持同一个 OCR 模型族。

Conclusion

PP-OCRv6 为 PaddleOCR 扩展了一个轻量级、多语言 OCR 模型族,面向真实世界中的文字检测与识别任务。

本次发布包括:

  • 1.5M 到 34.5M 参数的三档模型
  • 最高 50 种语言 OCR 支持
  • 相比 PP-OCRv5_server 更高的检测与识别精度
  • Hugging Face Hub 上的多种模型格式,包括 safetensorsPaddle inference modelsONNX models

结合托管在 Hugging Face 上的 Space 以及 PaddleOCR 可用的推理后端,PP-OCRv6 为评估和集成提供了多个入口:

你可以通过在线 Demo 评估 PP-OCRv6,在 Collection 中查看可用模型资产,并根据自己的 OCR 工作流使用合适的推理后端。