入门

快速开始与 API安装在线 OCRCode generator (EN)

模型与产线

PP-OCRv6 模型支持语言PP-StructureV3PaddleOCR-VL

部署与集成

Serving & API (EN)PaddleOCR.js (EN)MCP server (EN)

排错与升级

常见错误从 2.x 迁移Releases (EN)

评估

Our benchmark (EN)Compare OCR tools (EN)License & cost (EN)

工具

在线 OCR安装命令生成器Code generator (EN)报错修复助手2.x → 3.x 代码转换语言代码查询

语言

English简体中文日本語在线体验 OCR
模型 · PaddleOCR 3.7

PP-OCRv6 模型:tiny、small 与 medium 对比

PP-OCRv6 是 PaddleOCR 3.7 默认加载的文本检测与识别模型系列。它分为三个档位——tiny(1.5M 参数,6.3 MB)、small(7.7M,30 MB)和 medium(34.5M,133 MB)——一个模型即可识别 50 种语言。下文包括百度官方的精度与速度表、我们自己的 CPU 实测,以及如何选择和加载各档位。

已对照 PaddleOCR 3.7.0 核实更新于 14 分钟阅读
本页目录
  1. PP-OCRv6 是什么(以及“PaddleOCR v6”不是什么)
  2. 三个档位:参数量、大小与语言
  3. PP-OCRv6 的工作原理(通俗版)
  4. 官方精度:PP-OCRv6 对比 PP-OCRv5
  5. 模型大小与精度
  6. 官方速度表(含硬件)
  7. 我们的 CPU 实测:精度、速度、内存、磁盘
  8. 我该用哪个档位?
  9. 如何在 Python 和命令行中选择档位
  10. PP-OCRv6 之外的文字:PP-OCRv5 多语种模型
  11. PP-OCRv5 与 PP-OCRv6 一览
  12. PP-OCR 版本历史
  13. 官方资料之间的矛盾
  14. 常见问题

简短回答:精度优先时保持默认的 PP-OCRv6 medium——在我们的 124 个测试项中,它完全识别正确 123 个。CPU 应用和交互式场景请换成 small:在我们的测试中,它比 medium 快约 3.3 倍(每页 0.90 s 对 2.92 s),只多错了两项。边缘设备用 tiny(6.3 MB),但绝不要用它识别日文——它读不了假名。韩文、阿拉伯文、西里尔文、天城文、泰文、希腊文、泰米尔文和泰卢固文仍然使用 PP-OCRv5 模型。

参数量(medium)
34.5M
small 7.7M · tiny 1.5M(检测 + 识别)3
模型文件(medium)
133 MB
small 30.0 MB · tiny 6.3 MB4
单模型支持语言
50
tiny 为 49 种(不含日文)1

PP-OCRv6 是什么(以及“PaddleOCR v6”不是什么)#

PP-OCR 是 PaddleOCR 文本行 OCR 系统的名字:一个文本检测模型找出每一行文字并返回多边形框,一个文本识别模型读出裁剪下来的文本行。PP-OCRv6 是这对模型的第六代,于 2026 年 6 月 11 日随 paddleocr 包 3.7.0 版本一同发布,并成为默认模型。3

版本号很容易搞混。并不存在“PaddleOCR v6”这个包——最新的包版本是 PaddleOCR 3.7.0。“v6”指的是模型的代数。同一个包仍然可以加载 PP-OCRv5、v4 和 v3 模型,对于 PP-OCRv6 未覆盖的语言,它会自动这样做(见下文)。

百度将 PP-OCRv6 描述为一个系列、三个档位,分别面向边缘/物联网(tiny)、移动端/桌面端(small)和服务器(medium)。相比 PP-OCRv5,最主要的变化是语言覆盖:small 和 medium 识别模型一个模型即可识别 50 种语言——简体中文、繁体中文、英文、日文以及 46 种拉丁字母语言——因此法语或越南语不再需要单独的模型。1 如果你直接调用 PaddleOCR(),得到的就是 medium 档位:6

pythondefault.py
from paddleocr import PaddleOCR

ocr = PaddleOCR()   # lang=None, ocr_version=None -> PP-OCRv6_medium_det + PP-OCRv6_medium_rec

三个档位:参数量、大小与语言#

每个档位由两个模型组成:PP-OCRv6_<tier>_det 和 PP-OCRv6_<tier>_rec。参数量取自 Hugging Face 模型卡片;大小取自官方模块文档,按 MiB(1,048,576 字节)计算时与 Hugging Face 上的文件一致。45

档位面向场景检测参数量识别参数量合计检测 MB识别 MB合计 MB语言
PP-OCRv6 medium服务器(默认)15.5M19M34.5M59.473.3132.750
PP-OCRv6 small移动端 / 桌面端2.48M5.2M7.7M9.620.430.050
PP-OCRv6 tiny边缘 / 物联网0.43M1.1M1.5M1.94.46.349——不含日文

检测 + 识别的参数量四舍五入后,与百度公布的各档位总数(1.5M / 7.7M / 34.5M)一致。3 MB 一栏的合计是我们把官方公布的单模型大小相加得出的。

tiny 档位读不了日文——我们实测了有多糟#

官方文档只用半句话提到这一点(“tiny supports 49, excluding Japanese”),OCR 产线文档补充说 PP-OCRv6_tiny 不支持 japan。17 中文版算法文档给出了原因:为避免约 4,000 个日文汉字和假名字符对 tiny 识别模型 1.1M 参数输出层的影响,没有纳入日文。2 我们统计了每个模型自带的字典:tiny 有 6,904 个条目,完全没有平假名和片假名;small 和 medium 各有 18,708 个条目,其中 180 个是假名。12

实际效果如何:在我们的日文店铺通知上,tiny 的字符错误率为 47.3%,而 small 和 medium 都是 0%。8 行中只有 1 行完全正确——就是那行只有汉字和数字的。PaddleOCR 不会发出任何警告,置信度也高到足以骗过阈值过滤:1112

真实文本PP-OCRv6 tiny 输出置信度
臨時休業のお知らせ臨時休業⑦书知5世0.880
いつもご利用いただき誠にありがとうございます。八⊃毛己利用大龙老誠仁亡方己忒末寸。0.706
設備点検のため、下記の日程で臨時休業いたします。設備点梭D大女、下記D日程飞臨時休業大L末寸。0.808
休業日:2026年11月18日(水)休業日:2026年11月18日(水)0.950
営業再開:2026年11月19日(木)午前10時當業再開:2026年11月19日(木)午前10時0.948
お客様にはご迷惑をおかけしますが、书客様C己迷惑左书力L末寸、0.801
何卒ご理解のほどよろしくお願い申し上げます。何卒己理解D話∑上弓L<书顧申L上伏末寸。0.725
みなと町ベーカリー 店主办太亡町心一力一店主0.778

每个假名都被替换成 tiny 字典里长得像的字符:の 变成 ⑦,お 变成 书,し 变成 L。medium 和 small 八行全部识别正确。如果输入可能包含日文,请用 small 或 medium;出于同样的原因,我们的在线识别工具在浏览器中默认使用 small。

PP-OCRv6 的工作原理(通俗版)#

骨干网络PPLCNetV4两个任务共用的一个轻量级特征提取器。
文本检测RepLKFPN neck大卷积核 neck 让每个像素看到更多上下文;输出文本行多边形框。
文本识别LightSVTR neck + CTC对整行做局部和全局注意力,逐字符解码。
  • 两项任务共用一个骨干网络。PPLCNetV4 采用 MetaFormer 范式(一个轻量的“token mixer”后接一个“channel mixer”),并使用结构重参数化:额外的分支在训练时提供帮助,推理时被合并成单个卷积。用于检测时,它在两个方向上缩小图像;用于识别时只缩小高度,于是一行文字就变成从左到右的序列。1
  • 检测看到更大的上下文。新的 RepLKFPN neck 使用 7×7 深度卷积替代 3×3,参数量比 PP-OCRv5 的 RSEFPN 少 31%(118K 对 172K)。1
  • 识别兼顾局部与全局。EncoderWithLightSVTR neck 用一个小卷积处理相邻字符,再用一到两层自注意力处理整行。CTC head 输出文本;NRTR head 只在训练时辅助,推理时被移除。1
  • tiny 是蒸馏出来的。tiny 识别模型完全没有 neck,通过模仿 medium 模型训练而成(知识蒸馏)。1
  • 50 种语言共用一个字典。字符集扩充了约 200 个带变音符号的字符,这正是一个模型能同时识别波兰语、越南语或冰岛语以及中文的原因。1

官方精度:PP-OCRv6 对比 PP-OCRv5#

这些数字是百度自己在其内部多场景评测集上测得的——检测 16 个类别,识别 15 个类别。该测试集不公开,因此应视为厂商自报数据。1

百度评测:v6 small 胜过 v5 server

检测 Hmean(16 个类别的平均值)和识别精度(15 个类别的加权平均),%。百度内部评测集。

检测 Hmean识别精度
模型检测 Hmean识别精度
PP-OCRv6 medium86.2%83.2%
PP-OCRv6 small84.1%81.3%
PP-OCRv6 tiny80.6%73.5%
PP-OCRv5 server81.6%78.1%
PP-OCRv5 mobile75.2%73.7%
厂商公布数据:PP-OCRv6.en.md,3.1–3.2 节。

有两点值得注意。small(7.7M 参数)在两项平均值上都胜过大得多的 PP-OCRv5 server。tiny 的识别平均值(73.5%)与 PP-OCRv5 mobile(73.7%)持平,下载体积约为其三分之一——但从分类别表格可以看到,它在手写体上明显落后。

各类别检测 Hmean(%)#

模型平均手写中文手写英文印刷中文印刷英文繁体中文古籍日文模糊表情符号扭曲拼音艺术字表格旋转工业通用
v6 medium86.283.784.095.193.786.380.284.394.199.688.674.069.096.893.873.382.8
v6 small84.180.587.194.293.685.772.682.392.699.787.669.665.395.693.767.678.2
v6 tiny80.679.485.993.192.383.763.076.689.399.886.159.060.194.791.062.073.8
v5 server81.680.384.194.591.781.567.677.290.196.287.667.167.397.180.064.379.7
v5 mobile75.274.477.790.591.082.358.172.787.493.682.757.552.592.864.752.872.1

检测提升最大的是旋转文本(93.8 对 v5 server 的 80.0)。在表格(97.1 对 96.8)和手写英文(84.1 对 84.0)上,PP-OCRv5 server 仍略胜 medium。1

各类别识别精度(%)#

模型加权平均手写中文手写英文印刷中文印刷英文繁体中文古籍日文易混淆字特殊字符通用拼音艺术字工业屏幕卡证
v6 medium83.262.167.891.594.178.672.490.564.961.787.578.171.277.482.588.1
v6 small81.357.661.190.593.377.071.188.264.160.285.775.968.476.479.786.9
v6 tiny73.540.139.386.788.465.068.489.852.357.178.065.454.762.171.280.5
v5 server78.158.059.690.185.174.760.473.759.456.886.574.464.070.268.187.6
v5 mobile73.741.750.986.086.072.057.875.855.754.880.772.554.059.357.681.7

百度特别强调了 medium 相对 v5 server 在日文(+16.8 个百分点)、古籍(+12.0)和屏幕文字(+14.4)上的提升。2 注意表中有一个反常的单元格:tiny 在日文上得分 89.8%,接近 medium,尽管它读不了假名。文档没有说明这一格背后的测试集;对真实的日文文本,请以上文的实测结果为准。

同一组表格中还列出了视觉语言模型(Gemini-3.1-Pro、GPT-5.5、Qwen3-VL-235B),它们在百度评测集上的得分都低于 PP-OCRv6 medium;这就是“34.5M 参数模型超越 VLM”这一说法的依据。1

不要拿这些数字和更早的 PP-OCRv5 数据比较。同一个 PP-OCRv5_server_rec 模型,在模块表中是 86.38%,在 PP-OCRv5 论文的评测中是 0.8401,在这里是 78.1%。这是三个不同的测试集;只有同一张表里的数字才可比较。48

模型大小与精度#

PP-OCRv6 small 每 MB 换来的精度最多

百度公布的识别精度(加权平均)与检测 + 识别模型总大小的关系。大小轴为对数刻度。

PP-OCRv6PP-OCRv5
模型大小(MB)识别精度
v6 tiny6.3 MB73.5%
v6 small30.0 MB81.3%
v6 medium132.7 MB83.2%
v5 mobile20.7 MB73.7%
v5 server165.3 MB78.1%
精度:百度内部评测集,PP-OCRv6.en.md。大小:官方模块文档,检测 + 识别由 paddleocr.dev 相加。

从 tiny 换到 small,多 24 MB,换来 7.8 个精度点;从 small 换到 medium,再多 103 MB,只换来 1.9 个点。和上一代相比:small 比 PP-OCRv5 mobile 高 7.6 个点,只大 9 MB;medium 比 PP-OCRv5 server 高 5.1 个点,体积反而更小;tiny 与 PP-OCRv5 mobile 持平,体积不到其三分之一。

官方速度表(含硬件)#

百度对完整产线计时——图片读取、前后处理和两个模型——测试集为 200 张通用和文档图片。数值为每张图片的秒数。文档写明了硬件,但没有说明线程数和批处理设置。1

硬件推理后端v6 mediumv6 smallv6 tinyv5 serverv5 mobilev4 mobile
NVIDIA A100PaddlePaddle0.290.250.130.320.250.14
NVIDIA A100TensorRT--0.320.16--0.330.16
NVIDIA V100PaddlePaddle0.720.490.210.660.500.25
NVIDIA V100ONNX Runtime0.670.530.290.770.460.27
NVIDIA V100TensorRT0.770.600.230.730.590.27
Intel Xeon 8350CPaddlePaddle2.050.790.322.040.800.62
Intel Xeon 8350COpenVINO1.400.590.207.300.780.60
Intel Xeon 8350CONNX Runtime3.310.610.226.360.610.49
Apple M4PaddlePaddle8.823.070.96>105.825.65
Apple M4ONNX Runtime5.551.290.357.201.101.02

要逐行看,不要只看宣传数字。在 GPU 上,medium 在 A100 上只比 v5 server 快一点点(0.29 对 0.32 s),在 V100 上用 PaddlePaddle 时反而更慢(0.72 对 0.66 s)。百度引用的大幅加速——medium 用 OpenVINO 快 5.2 倍、tiny 在 Apple M4 上快 6.1 倍——都来自 PP-OCRv5 server 或 mobile 异常慢的 CPU 行。1 在 Apple Silicon 上,这张表里的每个模型都是 ONNX Runtime 比 PaddlePaddle 快。

模块文档还公布了四种推理引擎(PaddlePaddle 静态图和动态图、Transformers、ONNX Runtime)在 NVIDIA A100 和 Xeon Gold 6248 上的单模型耗时,但没有说明哪个数字来自哪台设备,所以我们不在这里转载。4

我们的 CPU 实测:精度、速度、内存、磁盘#

我们在一台 4 vCPU Intel Xeon @ 2.10 GHz、15 GB 内存、无 GPU 的机器上测试了全部五个当前模型,使用 PaddleOCR 3.7.0 和两种推理引擎:PaddlePaddle 3.2.0 与 ONNX Runtime。测试集为五份文档,共 124 个已知文本项——一张干净的小票、同一张小票斜着拍的照片、一张英文发票、一份中英文通知和一份日文通知。每个数字都是三次热启动运行的中位数;关闭了文档方向分类、弯曲矫正和文本行方向分类。完整方法和原始数据见我们的基准测试页面(英文)。11

模型完全正确项 /124CER,全部 5 份CER,不含日文秒/页 Paddle 3.2.0秒/页 ONNX Runtime峰值内存 Paddle峰值内存 ORT磁盘占用
v6 medium1230.03%0.03%4.512.922,579 MB2,890 MB139.2 MB
v6 small1210.17%0.21%1.230.901,503 MB1,858 MB31.6 MB
v6 tiny1119.83%0.46%0.390.261,259 MB1,427 MB6.6 MB
v5 server1170.34%0.43%5.2535.703,521 MB5,206 MB173.6 MB
v5 mobile1170.67%0.84%0.900.731,433 MB1,846 MB22.1 MB

各列含义:CER 是字符错误率,在对两边的全角标点、破折号和空格做归一化后计算,再对各文档取平均。峰值内存是整个 Python 进程在跑完全部五份文档期间的常驻内存峰值。磁盘占用是 PaddlePaddle 引擎下载的检测 + 识别模型文件夹大小,按十进制 MB(106 字节)计算;ONNX 模型文件夹与之相差不到 1 MB。11

ONNX Runtime 更快,v5 server 除外

我们的 4 vCPU Xeon 上的单页秒数,5 份文档的平均值(每份取 3 次热启动运行的中位数)。越低越快。

PaddlePaddle 3.2.0ONNX Runtime
模型PaddlePaddle 3.2.0ONNX Runtime
PP-OCRv6 tiny0.39 s0.26 s
PP-OCRv5 mobile0.90 s0.73 s
PP-OCRv6 small1.23 s0.90 s
PP-OCRv6 medium4.51 s2.92 s
PP-OCRv5 server5.25 s35.70 s——超出坐标范围
paddleocr.dev 实测,2026-10-27。原始数据与测试方法:/benchmarks(英文)。

我们的结论:

  • medium 是我们测试过最准的模型——124 项中唯一的错误是把发票上的“600x600”识别成带乘号的“600×600”,这个错所有模型都犯了。它在精度(123 对 117)和速度(PaddlePaddle 下 4.51 对 5.25 s)上也都胜过 PP-OCRv5 server。
  • 在 CPU 上 small 是最佳平衡点。用 ONNX Runtime 时比 medium 快约 3.3 倍,峰值内存少 36–42%,下载体积不到四分之一,只多错两项:两张小票上的“Order”都被识别成“0rder”。
  • tiny 确实又小又快——每页 0.26 s——除日文外,它的错误率(0.46%)接近 PP-OCRv5 server(0.43%)。
  • PP-OCRv5 server + ONNX Runtime 的异常。PP-OCRv5 server 在 ONNX Runtime 下每页耗时 35.7 s,而 PaddlePaddle 下为 5.2 s;两者输出的文字完全相同。百度自己的 Xeon 数据也是同一趋势,只是远没有这么极端(ONNX Runtime 6.36 s 对 PaddlePaddle 2.04 s)。后来我们用 lang="korean" 复查——它使用同一个 v5 server 检测模型加一个小的韩文识别模型——也出现了同样的规律(每张图 12.35 s 对 1.80 s),所以慢的看来是检测模型。如果你要在 CPU 上使用 v5 server 或某个 PP-OCRv5 语言,请用 PaddlePaddle 引擎。114
  • 我们测得的 medium CPU 结果与百度的 Xeon 8350C 那一行不同:在那里,ONNX Runtime(3.31 s)比 PaddlePaddle(2.05 s)更慢。不同的 CPU、线程数和引擎版本会让这些数字差别很大——正式选型前请在自己的硬件上测一测。

我们使用 paddlepaddle==3.2.0,因为 PyPI 上当前的 3.3.1 版本会让 PaddleOCR 3.7.0 在 CPU 上崩溃,除非关闭 oneDNN——而在 enable_mkldnn=False 下,medium 每页要 11.9 s。解决方法见常见问题排查;安装命令见安装教程。

我该用哪个档位?#

你的场景推荐原因
服务器或批处理任务,精度最重要v6 medium在百度的表格和我们的测试(123/124)中得分都最高。它是默认模型,无需改代码。
手写体、古籍、密集的截图v6 medium百度识别表中领先 small 最多的类别:手写英文 67.8 对 61.1,手写中文 62.1 对 57.6。
纯 CPU 应用、交互式工具、桌面软件v6 small在我们的 4 核 CPU 上用 ONNX Runtime 每页 0.9 s;模型共 31 MB。
浏览器或移动应用v6 smallPaddleOCR.js 把 ocrVersion: "PP-OCRv6" 映射到 small,它也是官方 iOS 示例的默认预设;Android 示例自带 small 和 tiny。
边缘或物联网设备、超大批量、只有拉丁字母或中文v6 tiny6.3 MB,在我们的测试中每页 0.26 s。手写体较弱(手写英文 39.3%)。
可能出现日文v6 small 或 mediumtiny 的字典里没有假名。
韩文、阿拉伯文、西里尔文、天城文、泰文、希腊文、泰米尔文、泰卢固文PP-OCRv5 多语种PP-OCRv6 未覆盖。传入 lang,3.7 会自动选对模型——见支持语言。
必须复现 PaddleOCR 3.0–3.6 的结果PP-OCRv5 serverocr_version="PP-OCRv5"。这也是 3.7 中 PP-StructureV3 的默认模型。

来源:平台相关的几行依据 PaddleOCR.js 源码以及 iOS、Android 部署文档;精度依据上文百度的表格;速度依据我们的实测。11113 可以用在线识别工具在你自己的图片上并排试一试 small 和 tiny。

如何在 Python 和命令行中选择档位#

这里最容易踩坑:lang 和 ocr_version 永远只能选到 medium 档位。对于任何 PP-OCRv6 语言,PaddleOCR 3.7 返回的都是 PP-OCRv6_medium_det + PP-OCRv6_medium_rec。要用 small 或 tiny,必须显式指定模型名:6

from paddleocr import PaddleOCR

ocr = PaddleOCR(
    text_detection_model_name="PP-OCRv6_small_det",     # 或 PP-OCRv6_tiny_det
    text_recognition_model_name="PP-OCRv6_small_rec",   # 或 PP-OCRv6_tiny_rec
    use_doc_orientation_classify=False,
    use_doc_unwarping=False,
    use_textline_orientation=False,
    engine="onnxruntime",   # 可选:我们测试中最快的 CPU 推理引擎
)
for res in ocr.predict("receipt.jpg"):
    print(res["rec_texts"])
paddleocr ocr -i receipt.jpg \
    --text_detection_model_name PP-OCRv6_small_det \
    --text_recognition_model_name PP-OCRv6_small_rec \
    --use_doc_orientation_classify False \
    --use_doc_unwarping False \
    --use_textline_orientation False \
    --engine onnxruntime

只要传入了模型名或模型目录,PaddleOCR 就会忽略 lang 和 ocr_version,并记录这条警告:6

text
`lang` and `ocr_version` will be ignored when model names or model directories are not `None`.

所以 PaddleOCR(lang="japan", text_recognition_model_name="PP-OCRv6_tiny_rec") 会毫无提示地用 tiny 去识别你的日文。其他选择方式:

  • 旧版本模型:PaddleOCR(ocr_version="PP-OCRv5") 加载 PP-OCRv5_server_det + PP-OCRv5_server_rec。ocr_version="PP-OCRv4" 只适用于 lang="ch" 和 "en",加载 v4 mobile 模型。其他版本字符串会抛出 ValueError。6
  • 其他文字:PaddleOCR(lang="korean") 加载 PP-OCRv5_server_det + korean_PP-OCRv5_mobile_rec。我们的语言代码查询工具列出了每个代码对应的模型。
  • 浏览器:PaddleOCR.js 把 ocrVersion: "PP-OCRv6" 映射到 small 档位;要用 tiny 同样需要显式指定模型名。见 PaddleOCR.js 指南(英文)。
  • 在 PP-StructureV3 中:它默认仍用 PP-OCRv5 server 识别文字;在我们的发票上,换成 PP-OCRv6 模型后修正了三行识别错误。方法。

代码生成器(英文)可以替你生成这些代码片段,包括 HTTP 和 JavaScript 版本。

PP-OCRv6 之外的文字:PP-OCRv5 多语种模型#

PP-OCRv6 覆盖中文、日文和拉丁字母语言。PaddleOCR 3.7 中的其他语言都由 2025 年 6 月至 10 月间发布的小型 PP-OCRv5 识别模型负责,搭配 PP-OCRv5_server_det 检测模型。精度数据来自百度,各自使用自己的测试集,所以只能和“相比上一代”一栏对照着看。8

识别模型支持语言精度相比上一代提升(%)测试图片数
korean_PP-OCRv5_mobile_rec韩文、英文88.0%+65.05,007
arabic_PP-OCRv5_mobile_rec阿拉伯语、波斯语、维吾尔语、乌尔都语、普什图语、库尔德语、信德语、俾路支语、英文81.27%+22.832,676
cyrillic_PP-OCRv5_mobile_rec33 种西里尔字母语言、英文80.27%+21.27,600
eslav_PP-OCRv5_mobile_rec俄语、白俄罗斯语、乌克兰语、英文81.6%+31.47,031
devanagari_PP-OCRv5_mobile_rec印地语、马拉地语、尼泊尔语等另外 10 种、英文84.96%+68.263,611
th_PP-OCRv5_mobile_rec泰文、英文82.68%–4,261
el_PP-OCRv5_mobile_rec希腊文、英文89.28%–2,799
ta_PP-OCRv5_mobile_rec泰米尔文、英文94.2%+39.232,121
te_PP-OCRv5_mobile_rec泰卢固文、英文87.65%+43.472,478

另外两个 PP-OCRv5 多语种模型 latin_ 和 en_PP-OCRv5_mobile_rec 现在基本已被 PP-OCRv6 取代;3.7 仍会为巴利语(pi)加载 Latin 模型,因为 PP-OCRv6 明确排除了它。6 有一个代码 ka 只有 PP-OCRv3 模型。全部 112 个代码的路由见支持语言页面。

PP-OCRv5 与 PP-OCRv6 一览#

PP-OCRv5PP-OCRv6
发布时间2025 年 5 月 20 日(PaddleOCR 3.0)2026 年 6 月 11 日(PaddleOCR 3.7.0)
档位mobile、servertiny、small、medium
主模型支持的语言简体和繁体中文、拼音、英文、日文50 种:中文(简繁)、英文、日文、46 种拉丁字母语言
其他文字单独的多语种识别模型无——回退到 v5 识别模型
百度评测,识别 / 检测server 78.1 / 81.6 · mobile 73.7 / 75.2medium 83.2 / 86.2 · small 81.3 / 84.1 · tiny 73.5 / 80.6
我们的测试,完全正确项 /124server 117 · mobile 117medium 123 · small 121 · tiny 111
3.7 中默认用于PP-StructureV3 的文字模型;非 v6 语言PaddleOCR()

要不要升级?对于中文、英文、日文和拉丁字母文本,要。无论百度的数据还是我们的数据,medium 和 small 都比 v5 server 和 v5 mobile 更准。在我们的 CPU 上,medium 也比 v5 server 更快;small 比 v5 mobile 略慢(ONNX Runtime 下 0.90 对 0.73 s),但少错了四项。只有在需要 v6 未覆盖的文字,或必须精确复现旧输出时,才继续用 v5。111

PP-OCR 版本历史#

  1. 第一个轻量模型——“Open source 8.6M lightweight Chinese OCR model”。9
  2. PP-OCR——第一个正式命名的系统;论文 arXiv:2009.09941(2020 年 9 月 21 日)。9
  3. PP-OCRv2——随 PaddleOCR 2.3 发布;arXiv:2109.03144。9
  4. PP-OCRv3——随 PaddleOCR 2.5 发布;论文 arXiv:2206.03001 于 6 月发表。在 3.7 中,lang="ka" 仍然只能用它的识别模型。9
  5. PP-OCRv4——release/2.7,mobile 和 server 两个版本。官方列表中唯一没有论文的一代。9
  6. PP-OCRv5——随 PaddleOCR 3.0 发布。在 3.0.1(2025 年 6 月 5 日)中,默认模型从 mobile 改为 server。9
  7. PP-OCRv5 多语种——3.1.0 新增 37 种语言的识别模型,包括法语、西班牙语、俄语和韩语;3.2.0 新增英文、泰文和希腊文;3.3.0 新增西里尔文、阿拉伯文、天城文、泰卢固文和泰米尔文。39
  8. PP-OCRv6——tiny、small、medium 三个档位,一个模型支持 50 种语言;PaddleOCR 3.7.0 的默认模型。论文 arXiv:2606.13108。39

如果想看包的版本发布而非模型代数,请见 PaddleOCR 版本发布(英文);要把旧的 2.x 代码迁移到 3.x API,请用迁移指南。

官方资料之间的矛盾#

我们在核对本页每个数字时发现了以下矛盾。需要取舍时,我们以源码或实际文件为准。

  • “2.37× GPU 推理加速”。PP-OCRv6 文档开头一段称 medium 相比 PP-OCRv5 server 有此加速,但同一文档里的速度表显示 A100 上是 0.29 对 0.32 s(文档自己称之为“1.1× faster”),在 V100 上用 PaddlePaddle 和 TensorRT 时 medium 反而更慢。我们没有找到任何能支撑 2.37× 的表格。README 引用的是别的数字:CPU 上用 OpenVINO 快 5.2 倍,tiny 在 Apple M4 上快 6.1 倍。13
  • 48 种还是 50 种语言?英文文档和识别模型卡片写的是 50。Hugging Face 上三个检测模型卡片写的是“Supports 48 languages”,中文文档一处写 48、另一处写 50。代码接受 52 个 PP-OCRv6 代码,其中两个是别名(french、german)——即 50 种语言。256
  • 模型大小。PP-OCRv5_server_det 在模块文档中是 84.3 MB,在 model_list.md 中是 101 MB;它的文件加起来是 84.24 MiB。ch_RepSVTR_rec 在一份文档中是 22.1 MB,在另外两份中是 48.8 MB。韩文、Latin 和东斯拉夫 v5 识别模型都标为 14 MB,但它们的文件分别是 13.0、7.8 和 7.7 MiB。官方公布的“MB”实际上是 MiB;我们上文的磁盘占用是整个模型文件夹的十进制 MB,所以会高出几个百分点。4510
  • 同一个模型,不同的分数。PP-OCRv5_server_rec 是 86.38%、0.8401 还是 78.1%,取决于你看哪份文档——三个不同的评测集(见上文提示框)。48
  • PP-OCRv5 多语种是 106 种还是 109 种语言?v5 多语种文档写 106;2025 年 10 月发布之后的 README 写 109。38
  • 缺失的 PP-OCRv6 行。model_list.md 中 PP-OCRv6 的精度、延迟和大小都是“-”,标准 T4 延迟表中 PP-OCRv6 也列为“- / -”。410

如果你发现了其他矛盾,或其中某项在上游已经修正,请发邮件至 hello@paddleocr.dev。

常见问题#

PP-OCRv6 是什么?

PP-OCRv6 是 PaddleOCR 文本检测与识别模型的第六代,于 2026 年 6 月 11 日随 PaddleOCR 3.7.0 发布。它有三个档位——tiny(1.5M 参数)、small(7.7M)和 medium(34.5M)——small 和 medium 识别模型一个模型即可识别 50 种语言。medium 是 PaddleOCR 3.7 的默认模型。

有 PaddleOCR v6 吗?

没有这个包版本。paddleocr 的最新版本是 3.7.0。“v6”指的是 3.7.0 默认使用的 PP-OCRv6 模型代。pip install paddleocr==3.7.0 即可用上 PP-OCRv6。

PaddleOCR 模型有多大?

检测加识别:PP-OCRv6 tiny 6.3 MB,small 30.0 MB,medium 132.7 MB(官方公布大小)。PP-OCRv5 mobile 为 20.7 MB,PP-OCRv5 server 为 165.3 MB。在磁盘上,我们下载的模型文件夹实测为 6.6、31.6、139.2、22.1 和 173.6 MB(十进制)。在我们的 CPU 上用 PaddlePaddle 运行时,进程峰值内存从约 1.3 GB(tiny)到 3.5 GB(v5 server)不等。

PP-OCRv6 比 PP-OCRv5 好吗?

对于中文、英文、日文和拉丁字母文本,是的。在百度评测中,medium 的识别精度为 83.2%,PP-OCRv5 server 为 78.1%;在我们的五份测试文档上,medium 124 项中完全正确 123 项,v5 server 为 117 项,而且在 CPU 上更快。PP-OCRv6 不覆盖韩文、阿拉伯文、西里尔文、天城文、泰文、希腊文、泰米尔文或泰卢固文——这些仍使用 PP-OCRv5 模型。

怎样用 PP-OCRv6 small 或 tiny 代替 medium?

同时传入两个模型名:PaddleOCR(text_detection_model_name="PP-OCRv6_small_det", text_recognition_model_name="PP-OCRv6_small_rec"),命令行用同名参数即可。lang 和 ocr_version 只能选到 medium。

PP-OCRv6 tiny 支持日文吗?

不支持。它的字典里没有平假名和片假名。在我们的测试中,它在一份日文通知上的字符错误率为 47.3%——没有任何警告,置信度大多高于 0.7。日文请用 small 或 medium。

怎样退回 PP-OCRv5 或 PP-OCRv4?

用 PaddleOCR(ocr_version="PP-OCRv5") 加载 v5 server 模型,或者用 ocr_version="PP-OCRv4" 配合 lang="ch" 或 "en" 加载 v4 mobile 模型。命令行:paddleocr ocr -i img.png --ocr_version PP-OCRv5。

PP-OCRv6 需要 GPU 吗?

不需要。在我们没有 GPU 的 4 vCPU Xeon 上,用 ONNX Runtime 时 small 平均每页 0.9 s,medium 2.9 s。百度在 A100 上的数据是每张图 0.25 s 和 0.29 s。

参考来源

  1. PP-OCRv6 算法文档(英文)——档位、50 种语言、模型结构、检测/识别精度表、端到端速度表:docs/version3.x/algorithm/PP-OCRv6/PP-OCRv6.en.md(第 3–123 行;仓库 commit dab3fe3)。
  2. PP-OCRv6 算法文档(中文)——tiny 不支持日文的原因(第 138 行)、“48 种语言”的说法(第 65 行)、各类别的提升(第 107 行):PP-OCRv6.md。
  3. PaddleOCR README——2026.06.11 发布 3.7.0、各档位总参数量“tiny (1.5M) / small (7.7M) / medium (34.5M)”、3.3.0 多语种版本:README.md(第 71–131 行)。
  4. 模块文档——模型大小、PP-OCRv5/v4 模块表(NVIDIA T4 / Intel Xeon Gold 6271C)、各推理引擎耗时:text_detection.en.md 与 text_recognition.en.md。中文版:text_detection.md、text_recognition.md。
  5. Hugging Face 上 PaddlePaddle/PP-OCRv6_{tiny,small,medium}_{det,rec} 的模型卡片与文件列表——参数量、检测模型卡片上的“Supports 48 languages”、文件大小、inference.yml 中的字典。2026-10-27 获取。
  6. PaddleOCR 3.7.0 源码 paddleocr/_pipelines/ocr.py——v6 语言集合(第 58–62 行)、模型名覆盖及警告(102–127)、_get_ocr_model_names(318–422)、命令行参数(434–565)。与 PyPI 上的 3.7.0 wheel 逐字节一致。
  7. 通用 OCR 产线文档——各 ocr_version 支持的 lang、tiny 与日文的说明(第 2862 行):OCR.en.md。中文版:OCR.md。
  8. PP-OCRv5 文档——PP-OCRv5.en.md 与 PP-OCRv5_multi_languages.en.md(各多语种模型精度,第 154–179 行;语言列表,第 244–256 行)。中文版:PP-OCRv5.md、PP-OCRv5_multi_languages.md。
  9. 版本历史——docs/update/update.en.md、docs/papers.en.md 以及 docs/index/index.en.md(PP-OCRv4,第 58–60 行)。中文版:update.md、papers.md。
  10. docs/version3.x/model_list.md——另一套大小数据(PP-OCRv5_server_det 101 MB、ch_RepSVTR_rec 48.8 MB),PP-OCRv6 各行为“-”。
  11. paddleocr.dev 基准测试,2026-10-27:Linux x86-64、4 vCPU Intel Xeon @ 2.10 GHz、15 GB 内存、无 GPU、Python 3.13、paddleocr 3.7.0、paddlex 3.7.2、paddlepaddle 3.2.0 或 onnxruntime 1.31.1;5 份文档、124 个已知文本项,取 3 次热启动运行的中位数;关闭文档预处理和文本行方向分类。原始数据:results.jsonl 与 summary.json。测试方法(英文)。
  12. paddleocr.dev 用 PP-OCRv6 tiny 重新识别我们的日文通知,2026-10-27(ONNX Runtime 引擎,同一台机器),输出文本逐字引用;字典大小由我们根据各模型在 Hugging Face 上的 inference.yml 统计。
  13. 跨平台部署:PaddleOCR.js 源码(paddleocr-js/packages/core/src/pipelines/ocr/shared.ts,PP-OCRv6 → small)、iOS 部署文档(预设,默认 small)与 Android 部署文档。中文版:ios_deployment.md、android_deployment.md。
  14. paddleocr.dev,2026-10-28:PaddleOCR(lang="korean")(PP-OCRv5_server_det + korean_PP-OCRv5_mobile_rec)识别我们的干净小票图片,同一台机器,取 3 次热启动运行的中位数:onnxruntime 1.31.1 为 12.35 s,paddlepaddle 3.2.0 为 1.80 s。每个模型逐项的识别错误列在 /benchmarks(英文)。
更新于 2026年10月27日·我们如何核实