ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

PP-OCRv6 深度拆解:34.5M 参数凭什么打赢 235B 大模型

PP-OCRv6 深度拆解:34.5M 参数凭什么打赢 235B 大模型 PP-OCRv6 深度拆解34.5M 参数凭什么打赢 235B 大模型【免费下载链接】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相比上一代 PP-OCRv5PP-OCRv6 这个 OCR 文字识别模型族做了三件事把检测和识别统一到同一套 PPLCNetV4 骨干上按 tiny / small / medium 三档切出 1.5M–34.5M 参数的完整规模谱medium 与 small 档用单个模型统一支持简中、繁中、英文、日文及 46 种拉丁语系共 50 种语言tiny 档 49 种不含日文。结果是 medium 档以 86.2% 检测 HmeanHmean 是查准率与查全率的调和平均检测任务的主指标和 83.2% 识别加权准确率同时比 PP-OCRv5_server 快 2.37×GPU 端内部多场景基准上超过 Qwen3-VL-235B、GPT-5.5 一类视觉语言模型VLM。 一个骨干同时服务检测和识别PPLCNetV4 的设计动机检测要的是多尺度特征图识别要的是沿文本方向的一维序列特征。v5 里这两条链路各养一个骨干v6 的答案是任务自适应下采样同一套 LCNetV4Block只在 stage 划分和 stride 配置上分叉。LCNetV4BlockToken Mixer Channel Mixer 怎么算每个 Block 按 MetaFormer 范式拆成两半MetaFormer 指把空间混合与通道混合解耦的轻量网络设计Token Mixer3×3 深度卷积负责空间信息交换Channel Mixer扩展比 2 的两层 1×1 卷积C→2C→C GELU残差接回SE 通道注意力对通道做全局加权可选源码中每 stage 最后一个 Block 才启用。与 v3 时代的 MobileNet 式 DW→SE→PW 相比通道交互从单个 1×1 卷积升级为扩展→激活→压缩 残差Compress 层 BN 零初始化保证训练初期残差通路稳定。结构重参数化贯穿其中训练期多分支部署前把 ConvBN 融成单卷积推理零额外开销具体实现见 rec_lcnetv4.py。三档宽度配置写死在同一文件的两张表里检测档 medium 通道演进128→256→512→896、small 为48→96→192→384、tiny 为32→48→64→160。任务自适应下采样同一个 Block两套 stride 检测模式四个 stage 全部对称 stride-2产出 stride 4/8/16/32 的多尺度特征喂给 FPN识别模式在 Stage 3/4 改用非对称 stride (2,1)——只压缩高度、保留宽度最后沿高度轴平均池化输出[B, C, 1, W]的 1-D 序列特征供 CTC 解码。同一份 Block 代码NET_CONFIG_DET与NET_CONFIG_REC两张配置表决定了两种形态这是一骨干两任务的全部秘密。 检测侧RepLKFPN 颈部与深度监督颈部参数减少 31%118K vs 172K原因是 3×3 普通卷积被 7×7 膨胀大核替换了。RepLKFPN用 DilatedReparamBlock膨胀深度卷积多分支替换 v5 RSEFPN 的 inp_conv 部分感受野从 3×3 扩到 7×7训练期用多膨胀率增强表达部署前调用rep()把多分支合并成单个大核卷积_convert_dilated_to_nondilated推理零成本。它支持 kernel 5–13源码在 db_fpn.py 的RepLKFPN类。辅助深度监督RepLKFPN.forward在训练态额外返回 P2/P3/P4 三份辅助特征推理态只返回融合输出。medium 档配置里直接可见对应权重其余关键项一并列出Loss: name: DBLoss main_loss_type: DiceFocalLoss alpha: 5 beta: 10 focal_alpha: 0.25 focal_gamma: 2.5 aux_weight_p4: 0.2 aux_weight_p3: 0.3 aux_weight_p2: 0.4DiceFocalLoss Dice 损失 Focal 损失focal_alpha/gamma0.25 / 2.5调节难易样本对小目标和密集文本更稳alpha: 5、beta: 10是 DBLoss 中阈值图与收缩图两项的加权系数后处理DBPostProcessthresh: 0.2、box_thresh: 0.45、unclip_ratio: 1.4、max_candidates: 3000。完整检测配置在 PP-OCRv6_medium_det.yml算法DB、BackbonePPLCNetV4det: true、model_size: medium、NeckRepLKPANout_channels 256开 intracl、HeadDBHeadk50Adamβ10.9, β20.999 Cosine 学习率初始 0.001warmup 2 epoch L2 1e-5训练图 640×640EMA 衰减 0.9996共 500 epoch增强链含 CopyPaste、ColorJitter、IaaAugment、RandomPerspective、RandomCrop。tiny/small 档只需把model_size改掉训练管线完全复用。 识别侧LightSVTR 颈部与 CTC NRTR 双头EncoderWithLightSVTR局部卷积 全局注意力颈部结构是前两级 1×7 深度卷积做横向局部上下文建模local_kernel: 7后接 1–2 层全局自注意力depth: 2跳跃连接用加法而不是 v5 的拼接——这是颈部减参的主要来源。实现见 rnn.py 的EncoderWithLightSVTRuse_guide开启后对输入做stop_gradient把骨干梯度挡在颈部外起隐式正则作用。双头解码与 tiny 档蒸馏medium 档 Head 是MultiHeadrec_multi_head.pyCTCHead 负责高效并行解码、训练推理都走它NRTRHead 只做训练期辅助监督配NRTRLoss进入MultiLoss推理时整个丢掉所以多一个头不增加推理成本Head: name: MultiHead head_list: - CTCHead: Neck: name: lightsvtr dims: 192 depth: 2 mlp_ratio: 4.0 local_kernel: 7 - NRTRHead: nrtr_dim: 512tiny 档走另一条路无颈部name: reshape直接 reshape FCmid_channels 80use_guide: true表示用 medium 模型做知识蒸馏训练见 PP-OCRv6_tiny_rec.yml。50 语言覆盖靠字典扩展约 200 个带变音符号diacritical的字符主字典 ppocrv6_dict.txt 约 1.87 万行tiny 档用约 6900 行的 ppocrv6_tiny_dict.txt。识别训练用MultiScaleSampler三档尺度[[320,32],[320,48],[320,64]]、batch 64RecConAug概率 0.5拼接 2 张外部样本RecAug做增强Adam Cosine0.0005warmup 5 epoch L2 3e-5max_text_length: 25完整配置见 PP-OCRv6_medium_rec.yml。 关键对比medium 打 v5_servertiny 打 VLMmedium vs PP-OCRv5_server内部多场景基准检测 Hmean 86.2 vs 81.64.6 pt日文、古籍、旋转文本、工业字符是主要增益来源表格类场景 v5_server 仍略高97.1 vs 96.8识别加权准确率 83.2 vs 78.15.1 pt日文识别 16.8 pt、屏幕显示 14.4 pt 提升最大。tiny vs 大 VLM检测端 Gemini-3.1-Pro 46.8、GPT-5.5 45.6、Qwen3-VL-235B 38.3medium 分别领先约 39、41、48 个百分点识别端 83.2 vs 71.4 / 64.2 / 74.9。而仅 1.1M 参数的 tiny 档检测 80.6、识别 73.5已逼近或超过上表部分 VLM 的检测水平且在屏幕、工业字符等 VLM 弱项场景反而占优——这也呼应了 v6 主打的数码显示屏、点阵字符、轮胎印字等挑战性场景。速度200 张图端到端s/imagemedium 在 A100PaddlePaddle0.29s vs v5_server 0.32sIntel Xeon 8350C 配 OpenVINO 1.40s vs 7.30s5.2×small 在 Apple M4 上 3.07s vs v5_mobile 的 5.82s1.9×且精度更高tiny 是全场最快——M4 上 0.96sA100 上 0.13s。 四步上手 PP-OCRv61. 最小可运行代码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()默认加载 PP-OCRv6_medium。三个开关分别控制文档方向分类、文档矫正、文本行方向分类对已经是端正的正向图片关掉它们可直接走检测→识别主链路省掉三个预处理模块的开销扫描件、倾斜拍照文档则保持默认开启。2. 关键开关含义与 CLI 等价写法上面三个参数对应 CLI 的--use_doc_orientation_classify / --use_doc_unwarping / --use_textline_orientationpaddleocr ocr -i general_ocr_002.png \ --use_doc_orientation_classify False \ --use_doc_unwarping False \ --use_textline_orientation False3. 切换 Transformers 引擎推理需要transformers5.8.0。适合你已有 Hugging Face 生态、想用 HF 推理栈加载权重的场景from paddleocr import TextRecognition model TextRecognition( model_namePP-OCRv6_medium_rec, enginetransformers, ) for res in model.predict(inputgeneral_ocr_rec_001.png, batch_size1): res.print()4. 启用 HPI 高性能推理加一个enable_hpiTrue底层自动切到 ONNX Runtime 加速插件需单独安装ocr PaddleOCR( use_doc_orientation_classifyFalse, use_doc_unwarpingFalse, use_textline_orientationFalse, enable_hpiTrue, ) result ocr.predict(general_ocr_002.png)paddleocr ocr -i general_ocr_002.png --enable_hpi True️ 选型与部署档位参数规模推荐场景语言数medium34.5M服务端、工业部署、数据管线50small中间档移动端 / 桌面端实时50tiny~1.1M端侧 / IoT、极端延迟49不含日文部署路径各一句话多平台多硬件Windows / Linux / MacNVIDIA GPU、Intel CPU、昆仑芯、昇腾均可推理加速enable_hpi走 ONNX Runtime 高性能推理GPU 侧可再叠 TensorRT详见 高性能推理指南服务化支持高稳定性服务化部署见 服务化部署指南二次开发训练配置configs/det/PP-OCRv6/、configs/rec/PP-OCRv6/与字典全部开放自定义数据集训练、字典扩展、微调可参考 文本检测模块教程 和 文本识别模块教程。【免费下载链接】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),仅供参考
返回列表