
0.07B大败QwenVL72B!百度开源OCR3.0"三件套"
光学字符识别(OCR)任务诞生以来,经历了“模式匹配→统计学习→深度卷积→视觉-语言大模型”四次范式迁移。 自 2023 年chatgpt爆火以后,以 GPT-4、Qwen-VL 为代表的百亿级视觉-语言大模型(VLM)将 OCR 推向了新的高度:不再是简单的“拍图识字”,而是成为 RAG(检索增强生成)与 LLM 预训练语料构建的“知识入口”。
然而,工业界落地时,依然存在三大矛盾: (1)精度与参数量的矛盾:VLMs 在古籍、手写、多语种场景下仍会出现漏检、错序、字符粒度偏移,而矫正成本随参数量线性上升。 (2)效率与硬件的矛盾:生产环境往往只有单卡 T4 或边缘 ARM CPU,VLMs 的 70B 参数难以部署。 (3)结构化与开放性的矛盾:纯文本行输出无法满足“篇章-段落-表格-公式-图表”多级粒度的文档理解需求,下游 RAG 仍需二次解析。
一、PaddleOCR 3.0的解决方案
- PP-OCRv5:用 <0.1B 参数的单一模型实现中/英/日/简/繁/拼音六体统一识别,在 17 类复杂场景平均 1-EditDist 超越 72B 级 VLM;
- PP-StructureV3:将版面分析、表格还原、公式识别、图表解析、印章文本等任务封装成“一键 JSON+Markdown”输出,成为当前 OmniDocBench 中英双语 Parsing 榜单 SOTA;
- PP-ChatOCRv4:把轻量化 OCR 与 ERNIE 4.5、PP-DocBee2 等 3B 级多模态模型通过 RAG 融合,实现“关键信息抽取(KIE)”端到端 Recall@1 85.55%,超过 GPT-4o 22 个百分点。
二、PP-OCRv5:0.07B 参数如何打败 72B 大模型?
2.1 待解决问题
(1)多语种“拼图”式部署:传统方案需要 6 个独立识别模型,显存占用 6×,工业产线切换语种需重启服务。
(2)手写、古籍、模糊、旋转等长尾场景漏检率高:VLMs 预训练以自然场景为主,对“白色试卷+铅笔手写”“竖排古籍+断字”两类分布欠拟合。
(3)边缘端实时性:教育阅卷、金融双录、物流扫描等场景要求 CPU 单核 200 ms 以内完成 1080p 全图识别。
PP-OCRv5 采用“四段式流水线”:图像预处理→文本检测→行方向分类→文本识别。 其中检测与识别共用 PP-HGNetV2 主干,通过“知识蒸馏+数据合成+双分支推理”三把斧,把精度损失从 2.3% 压到 0.4%,而参数量仅为 Qwen2.5-VL-72B 的 1/1000。
2.2 统一多语种建模
创新点在于:
- 字根级 Token 合并:将 CJK 统一表意符号(URO)+ 日文 Shift-JIS + 英文 ASCII 合并为 28 887 个“字根”,通过 Embedding 层共享,实现“一字多形”映射。
- 动态词汇表热插拔:训练阶段采用 0.3 的 DropToken 比例随机 mask 某一语种,推理阶段通过 lang 信号动态切换输出层,保证单模型同时服务多语种。
- 示例:下图中同时出现“中文段落+日文振假名+英文标题”的 A4 扫描件,PP-OCRv5 仅一次前向即输出正确 Unicode 序列,而 GOT-OCR2.0-0.5B 在日文人名“あべ”处出现“安部”→“安倍”的同音错字。
2.3 手写与古籍长尾增强
数据侧的提升
- 引入 ERNIE-4.5-VL-424B 做“自动标注+编辑距离过滤”,从 120 万页古籍 PDF 中清洗出 1.8 亿行高质量样本;
- 用 Diffusion-based 手写合成引擎,按“中小学试卷+银行支票+法律笔录”三类版式生成 6000 万行合成数据,并通过“书写压力+墨水扩散”物理建模提升真实感。
模型侧: - GTC-NRTR 分支:在训练阶段以 8 层 Transformer Decoder 做 Attention-based 序列建模,loss 为交叉熵;
- SVTR-HGNet 分支:采用纯 CTC,去掉了自注意力,推理复杂度 O(n) ;
- 双分支蒸馏:GTC-NRTR 作为教师,把 Attention 权重蒸馏到 SVTR 的卷积特征图,使得轻量分支获得字符间上下文。
- 在自建 Handwritten-17 数据集上,PP-OCRv5 手写中文错误率 3.8%,较 PP-OCRv4 相对下降 26%,且推理耗时仅增加 7%。
2.4 检测端“大模型教小模型”
- 教师模型:GOTOCR2.0 视觉编码器(ViT-G/14,305M 参数);
- 学生模型:PP-HGNetV2-S(9.3M 参数);
蒸馏对象:
- 特征图 L2 loss:选取 4 个 stage 输出,加权 0.5/0.7/0.9/1.1;
- 响应型 KD:文本行中心线热图做 KL 散度,温度系数 T=5;
- 困难样本在线挖掘:ERNIE-4.5-VL 对 50 万张图像打伪标签,与真值编辑距离∈[0.1,0.3] 的样本视为困难,batch 内重采样比例 30%。
结果:在 ICDAR 2025-ReCTS 中文招牌测试集,F1 从 87.2% 提升到 91.7%,超过 Gemini2.5-Pro 1.8 个百分点。
2.5 方向分类微模型
文本行方向分类仅 0.2M 参数,基于 PP-LCNetV3,支持 0°/90°/180°/270° 四分类。 训练时采用“随机旋转+随机透视+随机弯曲”三联增广,使模型对古籍竖排、试卷倒拍、发票斜拍鲁棒。 在 200 万张内部验证集上 Top-1 准确率 99.4%,单张 224×224 图 CPU 推理 1.3 ms。
三、PP-StructureV3:把“版面”还原成“语义树”
3.1 解决的问题
(1)多栏报刊、跨页表格、浮动图片导致阅读序错乱;
(2)表格结构复杂:合并单元格、无框线、斜线表头;
(3)公式、图表、印章与正文混杂,传统 OCR 只给文本行,后续仍需人工划区。
采用五段式流水线:预处理→OCR→版面分析→文档元素识别→后处理。与 PP-OCRv5 的最大差异在于“版面分析”与“元素识别”两层新增了 6 个专业模型,形成多模型级联。
3.2 版面区域双检测
① Layout Detection:PP-DocLayout-plus,基于 Cascade R-CNN,类别扩展到 11 类(标题、段落、页眉、页脚、图、表、公式、算法、印章、注释、参考文献);
② Region Detection:解决“一页多文章”问题,采用 SOLOv2 实例分割,把不同文章的标题-段落-图片聚合到同一区域 ID。
后处理采用“X-Y Cut+阅读序启发式”:先按 Y 轴投影切分栏,再在栏内按 X 轴排序,最后对 Region ID 做拓扑排序。在 OmniDocBench 的中文多栏报刊子集,阅读序恢复准确率 96.7%,超过 Marker-1.2.3 约 18 个百分点。
3.3 表格还原 PP-TableMagic
- 表格方向分类:0°/90°/180°/270°;
- 框型分类:全线框、半框、无框、三线表;
- 单元格检测:YOLOv8-X 改骨干为 PP-HGNetV2,输出每个单元格 bbox;
- 结构识别:Encoder-Decoder Transformer,2560 token 长度,输出 HTML。
创新点:
- 提出“单元格邻接图”中间表征:把检测框视为节点,边权=IoU+行列启发式,用图神经网络做消息传递,解决合并单元格难题;
- 训练数据 240 万张,含 40% 合成样本,合成引擎基于 Excel+LaTeX 随机生成,通过“RAG 种子+LLM Persona”控制业务分布。
实验:在 PubTabNet 英文表,TEDS score 96.8%;在自建中文财报表(含合并单元格)TEDS 95.1%,超过 Gemini2.5-Pro 1.9 个百分点。
3.4 公式识别 PP-FormulaNet_plus
- token 长度提升到 2560,支持多行公式;
- 中文汉字公式数据挖掘:从 arXiv-CN、知网学位论文爬取 120 万张含“中文+公式”页面,用 ERNIE-4.5-VL 做弱标签;
- 采用“树结构注意力”:在 Transformer Decoder 引入 Parent-Attention,强制当前 token 只能 attend 到语法树祖先节点,提升长公式一致性。
结果:在 CROHME 2025 测试集,ExpRate 58.3%,较 Nougat 相对提升 9.6%。
3.5 图表解析 PP-Chart2Table
轻量级 ViT-Lite + 线性投影,预训练任务为“打乱数据恢复”:把柱状图、折线图、饼图的原始数据 csv 随机打乱行/列,让模型重排,迫使它真正理解数值映射关系。
微调阶段用 480 万张合成图表,RAG 引擎从世界银行、国家统计局抓取真实数据作为种子,LLM 负责按业务 persona 生成标题、图例、颜色。
下游任务:输入图表 PNG,直接输出 Markdown 表格。在自建 Chart2Table-Test 数据集,数值精度 F1 93.7%,超过 GPT-4o 14 个百分点。
3.6 印章文本弯曲矫正
专用 PP-OCRv4_seal:
- 弯曲文本检测:PolarNet,把弯曲文本展开到极坐标,输出极坐标掩膜;
- 文本识别:用 PP-LCNetV3 轻量识别头,支持椭圆、圆形、菱形印章;
- 数据:从 3000 家电子发票平台收集 120 万枚印章,用 Diffusion 做“印章磨损+油墨淡化”仿真。
结果:在自测集,印章文本 1-EditDist 0.932,超过通用 GOT-OCR 0.11。
3.7 后处理:阅读序与标题-图表关联
采用“三阶段图算法”:
- 同区域内部按 Y-X 排序;
- 跨区域按拓扑序;
- 图-表-公式与标题做最大权匹配,权值=空间距离+语义相似度(ERNIE 句向量)。
在 2000 页多栏 PDF 上,人工标注 8000 条“图-标题”对,匹配准确率 97.4%。
四、PP-ChatOCRv4:让 OCR 成为 RAG 的“知识引路人”
4.1 待解决问题
(1)传统 KIE 依赖“BIEO 标注+CRF”,迁移到新领域需重标;
(2)多页 PDF、罕见字符、跨段落表格导致上下文超长,LLM 易幻觉;
(3)纯 VLM 方案成本高,638 张文档 1196 条问答,GPT-4o 调用费 > 200 美元。
4.2 解决思路
“轻量化 OCR + 向量检索 + 多模态 LLM 融合”:
- OCR 侧:PP-Structure 输出段落-表格-公式 JSON,保证字符粒坐标;
- 检索侧:用 ERNIE 文本向量做 RAG,先召回 Top-5 段落,降低 LLM 输入长度 80%;
- 多模态侧:3B 参数的 PP-DocBee2 直接看图回答,避免 OCR 误差传播;
- 融合侧:规则+置信度投票,文本答案与视觉答案冲突时,选置信度高者。
4.3 向量检索模块
- 切块策略:按“段落+表格一行”为最小单元,256 token;
- 索引:FAISS-IVF1024,向量维数 768;
- 召回:双路召回,文本向量+表格 HTML 向量加权,alpha=0.7。
- 结果:在 638 张文档的 1196 条问答,召回率 94.3%,比纯稀疏 BM25 高 11 个百分点。
4.4 Prompt 工程
采用“三段式”模板:
- 任务描述:你是文档助手,请严格依据提供的段落回答;
- 上下文:把召回的 Top-5 段落按阅读序拼接;
- 输出格式:JSON,key 为问题,value 为答案+引用段落 ID。
- 通过 Few-shot 4 例 in-context learning,把幻觉率从 18% 降到 4%。
4.5 结果融合策略
- 文本流置信度:ERNIE 4.5 生成概率平均;
- 视觉流置信度:PP-DocBee2 的 softmax 最大概率;
- 冲突规则:若两者编辑距离>0.3,选置信度高者;否则选文本流(字符精度更高)。
- 最终 Recall@1 85.55%,超过 Qwen2.5-VL-72B 5.3 个百分点,平均单张 A4 调用成本仅 0.8 分人民币。
https://github.com/PaddlePaddle/PaddleOCR
本文转载自CourseAI,作者:CourseAI
