支持 50 种语言,参数规格从 1.5M 到 34.5M,适合不同场景的 OCR 应用开发。对涉及文字识别的项目有参考价值。
PP-OCRv6 在检测和识别两个环节引入了架构、训练和数据方面的改进。其主要设计目标是提升 OCR 准确度,同时保持模型大小适配不同的部署场景。
PP-OCRv6 提供三种模型层级,覆盖不同的模型尺寸和 OCR 精度水平。
PP-OCRv6 以 PPLCNetV4 作为文本检测和文本识别的统一主干网络。
对开发者来说,主要优势是整个模型族的一致性。tiny、small 和 medium 三个层级并不是无关的模型,而是同一个 OCR 系列的组成部分,共享相同的架构方向。
文本检测是 OCR 流程的第一阶段。检测质量影响送给识别模块的文本区域,质量差的区域往往导致更差的识别结果。
PP-OCRv6 用 RepLKFPN 升级了检测模块,这是一个轻量级大核特征金字塔网络,专为多尺度文本检测设计,同时保持推理效率。
这对真实场景的 OCR 输入特别有用,因为文本可能是小号字体、密集分布、旋转、低分辨率或嵌在复杂背景中。
文本识别方面,PP-OCRv6 使用 EncoderWithLightSVTR。它结合了局部上下文建模和全局注意力机制,以改进对困难文本区域的识别质量。
识别方面的改进尤其针对多语言文本、屏幕文本、工业字符、特殊符号、密集文本和噪声图像区域。
medium 和 small 层级在一个模型族中支持 50 种语言,覆盖简体中文、繁体中文、英文、日文和 46 种拉丁字母语言。
这有助于减少在常见多语言 OCR 场景中需要单独模型的需求。
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、分析或 agent 工作流)使用。
PP-OCRv6 可通过 PaddleOCR 使用多个推理后端。PaddleOCR 3.7 提供了统一的推理引擎接口,其中 engine 选择底层运行时,相关配置可通过管道或模块 API 传入。
对于 Hugging Face 用户,PaddleOCR 支持用 Transformers 后端运行精选的 OCR 和文档解析模型。可以这样启用:
engine="transformers"
更多关于 PaddleOCR 中 Transformers 后端如何工作的细节,见:
PaddleOCR: Running OCR and Document Parsing Tasks with a Transformers Backend
用 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 变体,用于采用 ONNX Runtime 的环境,通过 engine="onnxruntime":
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 Online Demo
模型集合:PP-OCRv6 Collection
Transformers 后端博客:PaddleOCR with Transformers Backend
PaddleOCR 文档:PP-OCRv6 Documentation
PaddleOCR 官方网站:https://www.paddleocr.com
你可以用在线演示评估 PP-OCRv6,在集合中探索可用的模型资源,以及使用与你自己 OCR 工作流匹配的推理后端。