PP-OCRv6 OCR:34.5M 参数三档模型实战
PP-OCRv6 OCR34.5M 参数三档模型实战【免费下载链接】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/PaddleOCR16 类场景的检测基准上34.5M 参数的 PP-OCRv6 OCR 模型比 235B 参数的大型 VLM 高 40 多个点GPU 上推理速度还比上一代 server 档快 2.37 倍。这是 PaddleOCR 的最新一代通用文字识别首次用一个模型统一支持 50 种语言。读完能带走一张三档选型表、一段 5 分钟跑通的推理代码、三条避坑提醒。 核心变化速览相对 v5 的五个不同统一骨干 PPLCNetV4 → 检测/识别共用一套网络不用维护两套检测颈部换 RepLKFPN 大核重参数化 → 参数少 31%感受野 3×3 变 7×7识别颈部换 LightSVTR 加性跳跃连接 → 用加法代替拼接参数大幅减少单模型统一 50 种语言 → 字典扩充约 200 个带变音符号字符tiny/small/medium 三档模型族 → 同一架构从端侧部署到服务端它是怎么工作的一张图走五步从图像进入predict()到吐出带框文字依次经过输入、骨干、检测颈部、识别颈部、输出我们按推理数据流逐个看。3.1 输入图像进来默认关掉三个预处理模块默认产线上叠了三个预处理模块文档方向分类、文档矫正、文本行方向分类主要服务倾斜扫描件和拍照文档。设计意图很直白纯文字图像上关掉它们直接走检测→识别主链路省掉一整轮预处理开销。输入侧值得注意的细节只有一个predict()直接吃本地路径、URL 或 numpy 数组不需要自己读图。产线组装逻辑见 paddleocr/_pipelines/ocr.py。3.2 骨干 PPLCNetV4一套网络两种下采样服务两个任务骨干是 v6 改动最大的一块检测和识别不再各养一套网络同一个 PPLCNetV4 靠不同的下采样策略服务两种任务。检测走标准 stride-2 下采样产出 stride 4/8/16/32 四级多尺度特征供金字塔聚合识别在 Stage 4/5 用非对称 stride(2,1)只缩高度、保留宽度再沿高度轴平均池化压成 1-D 序列喂给 CTC 解码。同一份权重、两种用法这就是官方说的任务自适应下采样。每个 Block 遵循 MetaFormer 范式先 3×3 深度卷积做空间混合再过扩展比为 2 的通道混合GELU 激活外围各带一个残差$$\hat{x} \text{SE}(\text{DW}(x)) x \qquad y W_2,\sigma(W_1\hat{x}) \hat{x}$$其中最关键的实现细节是深度卷积用了 RepDWConv 三分支重参数化训练时 3×3、1×1、identity 三个分支部署前合并为单个卷积零额外参数配合 Compress 层 BN 零初始化这是 v4 相对 v3 从 MobileNet 风格转向 MetaFormer 风格后的招牌设计。medium 档通道演进为 128 → 256 → 512 → 896三档宽度差异一目了然见 rec_lcnetv4.py 里的NET_CONFIG_DET/NET_CONFIG_REC两组配置。3.3 检测颈部 RepLKFPN少 31% 参数换 7×7 感受野图里是 PP-OCRv6 检测沿用的 DB 框架骨架骨干多级特征经金字塔上采样融合DB 头输出概率图与阈值图二值化后成框。v6 的针对性升级在金字塔本身——文本在图中尺度跨度极大颈部需要大感受野才能把断裂的文字区域连起来。RepLKFPN 用 DilatedReparamBlock7×7 深度卷积加膨胀分支替换了原来的 3×3 标准卷积训练时靠多组膨胀率如 3、5 模式拿大感受野部署前调一次rep()把全部分支合并成单个大核卷积推理零额外成本参数总量从 172K 降到 118K少 31%。训练时还在 P2/P3/P4 加辅助预测头做深度监督配置里对应aux_weight_p2: 0.4、aux_weight_p3: 0.3、aux_weight_p4: 0.2推理态只返回一路融合特征不增加任何开销。RepLKFPN类实现与参数量核算注释见 db_fpn.py。3.4 识别颈部 LightSVTR局部卷积加两层全局注意力文字识别既要局部上下文字形又要全局依赖词句级规律。LightSVTR 颈部分两层处理1×7 深度卷积做局部建模随后 1–2 层 Transformer 自注意力捕捉长文本。最有意思的巧思是加性跳跃连接——用加法代替 PP-OCRv5 的拼接concatenation参数省了一大块。解码端是双头配置CTC 头承担全部推理并行、快NRTR 头只做训练期辅助监督配置里CTCLoss与NRTRLoss并列推理时整个移除训练时的双头结构在部署后不留一分钱成本。lightsvtr分支注册在 rnn.py双头结构见 rec_multi_head.py。3.5 PP-OCRv6 多语言覆盖一份字典管 50 种语言最后一步是解码成文字。medium/small 档共用一份字典覆盖 50 种语言——简中、繁中、英文、日文加 46 种拉丁语系——字典额外扩充了约 200 个带变音符号的字符é、ñ、ž 之类所以单模型不需要按语言切换max_text_length统一限制 25 个字符。tiny 档用另一份不含日文的字典。识别训练配置见 PP-OCRv6_medium_rec.yml字典本体在 ppocrv6_dict.txt。 数字说了什么精度 4.6 分速度 2.37 倍最值得注意的三个数字。一是精度medium 档检测 Hmean 86.2%比上一代 server 档81.6高 4.6 个百分点识别加权准确率 83.2% 对 78.1%。增量集中在长尾场景——日文识别 90.5 对 73.7屏幕显示 14.4古籍 12.0。二是 VLM 对照同一基准上 Gemini-3.1-Pro、GPT-5.5、Qwen3-VL-235B 的检测 Hmean 只有 46.8、45.6、38.3不到 medium 的一半VLM 还常有基于语言先验纠错的幻觉把图里没有的字编出来而 PP-OCRv6 的检测—识别管线天生没有这个问题最小的 tiny 档识别准确率也超过了表中 4/5 的 VLM。三是速度medium 在所有平台上至少追平 v5_serverIntel Xeon OpenVINO 上快 5.2 倍1.40s 对 7.30sGPU 整体推理提速 2.37 倍。模型检测 Hmean识别准确率A100 速度s/图PP-OCRv6_medium86.283.20.29PP-OCRv6_small84.181.30.25PP-OCRv6_tiny80.673.50.13PP-OCRv5_server81.678.10.32跨平台一句话结论tiny 档在所有测试平台上都是最快的A100 上 0.13 s/图Apple M4 上ONNX Runtime0.35 s/图。以上均为官方内部多场景基准数据会随数据集与版本更新而变化。 跑起来三个场景5 分钟跑通首次 OCR先pip install paddlepaddle paddleocr。示例用仓库自带的一张真实登机牌图三个 False 就是关掉 3.1 节提到的预处理模块from paddleocr import PaddleOCR ocr PaddleOCR( use_doc_orientation_classifyFalse, use_doc_unwarpingFalse, use_textline_orientationFalse, ) for res in ocr.predict(deploy/ios_demo/PaddleOCRDemo/Resources/SampleImages/general_ocr_002.jpg): res.print()CLI 一行等价命令paddleocr ocr -i general_ocr_002.jpg --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False一行切换档位、语言与推理后端换档位三档共用同一套训练管线改配置里的model_size为tiny/small/medium即可推理时指向对应模型名如PP-OCRv6_small_det换语言不需要换单模型覆盖 50 种语言只需确认模型与字典配套换推理后端加一个参数启用高性能推理插件HPI底层自动切到 ONNX Runtimefrom paddleocr import PaddleOCR ocr PaddleOCR(enable_hpiTrue)习惯 PyTorch 生态的话还可以传enginetransformers走 Hugging Face Transformers【免费下载链接】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),仅供参考