
PaddleOCR PP-OCRv6 拆解34M 小模型为何反超 235B VLM 的识别【免费下载链接】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/PaddleOCRPP-OCRv6 是 PaddleOCR 新一代文字识别模型34.5M 参数的 medium 档检测 Hmean 达 86.2%精度超过 235B 级视觉语言模型。登机牌照片是文字识别的典型“脏”输入中英混排、红色印章、折痕、透视歪斜PaddleOCR 官方快速上手示例用的正是这一类图。为什么 VLM 做不好读字反直觉的数据来自 PaddleOCR 内部多场景基准检测侧16 类场景PP-OCRv6_medium 平均 Hmean 86.2%而参评的三个 VLM 只有 46.8%、45.6%、38.3%——34.5M 参数的模型体量约为 Qwen3-VL-235B 的 1/6800得分却是它的两倍多。识别侧15 类场景medium 加权准确率 83.2%同样是全场最高而这个基准专门覆盖古籍、旋转文本、工业字符、点阵字符这类长尾场景恰好是 VLM 不擅长、传统管线更稳的地盘。单看日文识别这一项差距更直观medium 得 90.5Qwen3-VL-235B 得 66.2Gemini-3.1-Pro 得 67.2。这背后是 PP-OCRv6 单模型统一覆盖 50 种语言简中、繁中、英文、日文 46 种拉丁语系的设计红利不用再为每种语言换模型。还有个更实际的问题VLM 会幻觉。官方对比显示VLM 遇到看不清的字会按语言先验“纠正”写出图里根本没有的内容PP-OCRv6_medium 则忠实转写。对生产管线来说幻觉比低准确率更致命——低准确率可以靠置信度过滤幻觉是污染数据。 性能账本三个数字决定选型下表数字均来自官方基准检测/识别取自内部多场景评测集速度为 200 张图端到端耗时读图 前后处理 推理A100 PaddlePaddle 后端。模型参数规模检测 Hmean 均值识别加权准确率A100 端到端s/张PP-OCRv6_medium34.5M86.283.20.29PP-OCRv6_small中间档84.181.30.25PP-OCRv6_tiny约 1.1M80.673.50.13PP-OCRv5_server—81.678.10.32PP-OCRv5_mobile—75.273.70.25Qwen3-VL-235B235B38.374.9—API 调用无本地时延可比三句话读这张表medium 全面反超上一代 server 档检测 4.6 分、识别 5.1 分单图还从 0.32s 降到 0.29s——官方口径 GPU 推理提速 2.37×意味着原来 2 小时跑完一批识别任务现在 50 分钟左右收工。small 的速度与上一代 mobile 档持平0.25s识别准确率却高 6 分81.3 vs 73.7是整条曲线上每参数回报最高的一档。tiny 是全平台最快A100 单图 0.13sCPU OpenVINO 只要 0.20sApple M4 上比 v5_mobile 快 6.1×0.96s vs 5.82s代价是识别加权准确率比 medium 低约 10 分并且砍掉了日文。设计背后PPLCNetV4 回答的三个问题一副骨架两种下采样问题检测需要 stride 4/8/16/32 的多尺度特征图识别要的是喂给 CTC 的一维序列两套骨干意味着双倍维护成本。方案识别模式下 Stage 3/4 改用非对称步长 (2,1)——只把高度减半、宽度保留再沿高度轴平均池化成序列。同一副 PPLCNetV4 骨架检测时穿长裤输出 2D 特征图、识别时穿短裤输出 1D 序列区别只在下采样策略。代价两个任务的宽度表是分开的。源码里NET_CONFIG_DET与NET_CONFIG_REC各一套medium 检测档通道演进是 128→256→512→896识别档是另一张宽度表微调时别拿错配置。骨干的基本单元 LCNetV4Block 按 MetaFormer 范式拆成空间混合与通道混合两部分单个 Block 的核心计算是$$\hat{x} \mathrm{SE}(\mathrm{DW}(x)) x,\quad y W_2,\sigma(W_1\hat{x}) \hat{x}$$其中 DW 是 3×3 深度卷积通道混合器扩展比 2σ 为 GELU。关键在那个 3×3 卷积训练期是 3×3 1×1 identity 的三分支可重参数结构部署前调rep()合并成单个卷积——训练期的表达力推理期一分不花。大感受野参数不膨胀问题框住小目标和密集文本需要大感受野大核卷积却直接推高参数量。方案检测颈部 RepLKFPN 用 DilatedReparamBlock7×7 深度卷积 膨胀分支替换 3×3 卷积参数降 31%118K vs 172K感受野从 3×3 扩到 7×7——检测 4.6 分的提升 largely 来自这里。同时 P2/P3/P4 三级加辅助预测头做深度监督权重分别 0.4、0.3、0.2Loss: name: DBLoss main_loss_type: DiceFocalLoss aux_weight_p2: 0.4 aux_weight_p3: 0.3 aux_weight_p4: 0.2这些辅助分支只在训练期提供梯度信号推理态 forward 只返回融合特征不增加任何推理开销。主损失是 Dice Focal 组合DiceFocalLoss对小目标和密集文本的逐像素监督更稳。代价重参数分支部署前必须调rep()完成合并漏掉这一步直接导出多分支结构会按训练时的速度跑。识别颈部全局注意力但参数更省问题骨干输出的局部特征不足以分辨易混淆字符与特殊符号直接上 Transformer 参数又涨。方案EncoderWithLightSVTR 1×7 深度卷积局部上下文 1~2 层 Transformer全局自注意力用加法跳跃连接替代上一代的拼接压掉拼接带来的参数增量。对应配置- CTCHead: Neck: name: lightsvtr dims: 192 depth: 2 local_kernel: 7解码端是 CTCHead NRTRHead 双头CTC 负责真实推理NRTR 只在训练时提供辅助损失推理时整个移除——训练多付一次成本推理图干干净净。tiny 档更特殊没有颈部直接 reshape FCuse_guide: true让 medium 当“老师”做知识蒸馏——这就是 1.1M 模型检测还能拿到 80.6 的原因。一分钟跑通一条命令、十一行代码先安装paddleocr包现版本默认即 PP-OCRv6_medium对示例图执行这条命令paddleocr ocr -i general_ocr_002.png \ --use_doc_orientation_classify False \ --use_doc_unwarping False \ --use_textline_orientation False这段命令把文档方向分类、文档矫正、文本行方向分类三个预处理模块关掉让图直接走检测→识别主链路——干净图片上省掉 3 次推理。跑完你会看到控制台逐条打印每条文本的坐标与置信度检测框可视化图存进输出目录如果输入是歪斜的拍照文档这三项保持默认开启即可。Python API 同样精简下面这段会实例化默认 medium 管线、对本地图片跑推理并把结构化结果落盘from paddleocr import PaddleOCR ocr PaddleOCR( use_doc_orientation_classifyFalse, use_doc_unwarpingFalse, use_textline_orientationFalse, ) result ocr.predict(general_ocr_002.png) for res in result: res.print() res.save_to_json(output)运行后每行输出对应一条文本内容、置信度、框坐标save_to_json写出结构化结果可以直接接进 LLM 做后续处理。两条进阶入口CPU 加速加enable_hpiTrue启用高性能推理插件底层 ONNX Runtime插件需单独安装想留在 Hugging Face 生态就换enginetransformers推理需transformers5.8.0。选型矩阵先定档位再问语言你的场景推荐档位语言覆盖你会得到什么端侧 / IoT延迟敏感tiny约 1.1M49 种无日文全平台最快A100 单图 0.13s移动端 / 桌面端实时small50 种速度与 v5_mobile 持平准确率 6 分服务端 / 大规模数据管线medium34.5M50 种精度天花板生产级档位迁移与调优 checklist✅ 输入含日文约 4000 个汉字/假名字符就别用 tiny否则 1.1M 模型的输出层会被撑爆✅ 升级 PaddleOCR 版本后默认模型自动变成 PP-OCRv6_medium存量脚本行为会变上线前用自有回归集验证一遍✅ 三个预处理开关干净文字图关掉省 3 次推理歪斜拍照/扫描件保持开启✅ CPU 部署建议enable_hpiTrueONNX Runtime或 OpenVINO 后端Xeon 上 medium 1.40s 对比 v5_server 7.30s差 5.2×✅ 自己训练完的模型部署前先跑重参数化合并否则多分支卷积按训练速度运行✅ 扩展字典参考官方做法v6 的 50 语言覆盖靠增补约 200 个带变音符号字符medium/small 用 ppocrv6_dict.txt18708 行tiny 用另一份 6904 行字典继续深入训练、推理与源码入口算法与指标全貌PP-OCRv6.md三档训练配置把model_size改成 tiny/small 即换档configs/det/PP-OCRv6/、configs/rec/PP-OCRv6/PPLCNetV4 骨干源码含NET_CONFIG_DET/NET_CONFIG_REC两套配置rec_lcnetv4.py检测颈 RepLKFPN 与重参数化合并实现db_fpn.py高性能推理插件安装说明high_performance_inference.md【免费下载链接】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),仅供参考