十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

PaddleOCR PP-OCRv6:多语言 OCR 的三档轻量模型,端侧部署不再二选一

PaddleOCR PP-OCRv6:多语言 OCR 的三档轻量模型,端侧部署不再二选一 PaddleOCR PP-OCRv6多语言 OCR 的三档轻量模型端侧部署不再二选一【免费下载链接】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/PaddleOCRPaddleOCR 是百度开源的 OCR 工具箱PP-OCRv6 是其中最新的文字识别模型族。本文沿数据流拆一遍 PPLCNetV4 骨干与检测/识别链路读完你能判断三档模型各自的适用边界也能用 5 行代码跑通一条识别。这一代到底解决了什么上一代 v5 的麻烦在于端侧和服务端各维护一套骨干与颈部参数规模不统一多语言覆盖则靠换字典换模型来拼凑。PP-OCRv6 的取舍是一个 PPLCNetV4 骨干同时服务检测与识别用通道宽度而不是网络深度区分 tiny/small/medium 三档再用一份字典容纳 50 种语言。代价也很明确——tiny 档为了守住约 1.1M 参数的输出层规模放弃日文。拆开看数据怎么流过整个模型整条链路的形状是输入 → 骨干 → 颈部 → 头 → 输出。输入分两种检测侧吃 640×640 的整图识别侧吃检测裁剪出的 48×320 文字条。骨干一个 PPLCNetV4 通吃两个任务骨干负责从像素里提取特征。PP-OCRv6 的检测和识别共用同一个 PPLCNetV4每个基础块遵循 MetaFormer 思路先处理位置再处理通道——3×3 深度卷积只搬运空间邻域信息Token Mixer可选 SE 通道注意力1×1 卷积做通道变换Channel Mixer扩展 2 倍 GELU 激活。核心计算只有一条$$\mathbf{y} W_2,\sigma(W_1,\text{SE}(\text{DW}(\mathbf{x}))) \text{SE}(\text{DW}(\mathbf{x}))$$空间卷积部分还有一个结构重参数化设计训练时是大核 小核 恒等三条路并联部署前用 rec_lcnetv4.py#L439 中的LCNetV4Block.rep()在数学上等价地合并回单个卷积——训练吃多分支的梯度红利推理零额外开销。同一个骨干怎么适配两种任务靠的是下采样策略。检测需要多尺度特征图标准 stride-2 下采样产出 4 级输出medium 档通道从 128 逐级翻倍到 896见 rec_lcnetv4.py#L80。识别则需要 1D 序列Stage 3/4 改用非对称 stride (2,1)只压高度、保留宽度让字符的横向顺序不被下采样打散最后沿高度平均池化得到序列特征。配置里这一行就是区别所在PP-OCRv6_medium_rec.yml#L158blocks4: [ [3, 256, 512, (2, 1), False],检测颈部大感受野换小目标召回检测侧解决的是文字在哪。v5 的 RSEFPN 用 3×3 普通卷积提特征感受野太小小字号和密集排版容易漏。RepLKFPN 把这部分换成 7×7 深度大核且训练时是1 个 7×7 3 个膨胀小卷积并联见 db_fpn.py#L307 的RepLKFPN与 db_fpn.py#L554 的DilatedReparamBlock部署时同样合并回单卷积零推理成本。颈部把 4 级特征做自底向上加法融合并用 IntraCL 模块做通道内交互训练态在 P2/P3/P4 各挂一个辅助预测头db_fpn.py#L419给小文本更强的梯度信号推理态只返回融合结果aux_weight_p4: 0.2 aux_weight_p3: 0.3 aux_weight_p2: 0.4识别颈部局部卷积打底两层注意力看全局颈部把骨干的 2D 特征加工成对解码友好的序列。EncoderWithLightSVTR 的做法是1×1 卷积压通道接 1×7 深度卷积注入局部上下文——字符识别主要靠横向邻域宽度 7 正好覆盖一个字符的宽度然后展平成序列过 2 层全局自注意力最后输出加回 1×1 卷积的跳变特征rnn.py#L242。注意这里用的是加法而不是 v5 的拼接省下一截参数。解码端是 CTCHead 逐位对齐推理时它一个就够NRTRHead 只在训练时通过MultiLoss提供第二份监督推理时整个移除rec_multi_head.py#L67。输出50 种语言其实只是两份字典DB 检测头输出概率图阈值二值化加连通域分析变成多边形框识别侧 CTCLabelDecode 贪心解码出字符索引。所谓 50 语言不是 50 套权重而是同一套权重配不同字典medium/small 档用 1.87 万行字符表ppocrv6_dict.txttiny 档用 6900 行ppocrv6_tiny_dict.txt约 200 个带变音符号字符靠字典扩展纳入推理时贪心解码后按字典还原 50 种语言的文本。数字说话精度和速度到底涨了多少两个单点数字最有冲击力PP-OCRv6_medium 相比 PP-OCRv5_serverGPU 推理快 2.37 倍识别精度还高 5.1 个百分点根据官方内部多场景基准tiny 档仅 1.1M 参数识别准确率已超过对比表中 4 个大型视觉语言模型。档位参数量检测 Hmean / 识别 W-Avg (%)端到端速度 (s/张)v6_medium34.5M86.2 / 83.20.29A100v6_small—84.1 / 81.30.25A100v6_tiny~1.1M80.6 / 73.50.13A100v5_server对照—81.6 / 78.10.32A100精度为官方内部多场景基准 16 类检测 15 类识别平均速度为官方 200 张图端到端测试含读图与前后处理。对选型的含义medium 在 A100 上比 v5_server 快 1.1 倍且精度更高替换是零风险决策tiny 比 v5_mobile 快 6.1 倍Apple M4PaddlePaddle 后端而精度反而更高v5_server 在 Intel Xeon 上要 7.3s/张v6_medium 用 OpenVINO 只需 1.4s/张CPU 部署的收益最大。跑起来5 行代码跑通第一条识别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()CLI 对应写法paddleocr ocr -i general_ocr_002.png \ --use_doc_orientation_classify False \ --use_doc_unwarping False \ --use_textline_orientation False三个关键参数值得解释。use_doc_orientation_classify是文档方向分类处理整页 180° 颠倒的扫描件use_doc_unwarping是文档矫正把弯曲拍照的页面拉直use_textline_orientation是文本行方向分类处理上下颠倒的文字行。三者各是一个独立的前置模型关掉就是省掉三次推理——纯电子图、印刷件直接关倾斜扫描件再开。上生产之前部署与二次开发入口 兼容 Windows / Linux / Mac 主流系统支持 NVIDIA GPU、Intel CPU、昇腾、昆仑芯可启用 enable_hpi走 ONNX Runtime 加速提供高稳定性服务化部署方案支持自定义数据集训练、字典扩展、模型微调模型可导出接入 C 推理与移动端 SDK怎么选三档模型的选型建议场景推荐档位理由服务端高吞吐、精度优先medium精度速度双超 v5_server移动端 / 桌面端实时small精度接近 medium速度更快端侧 / IoT、延迟敏感tiny全平台最快注意不支持日文如果只记一句话先上 medium 保精度测出延迟瓶颈再降档别一上来就选最小的。【免费下载链接】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),仅供参考
返回列表