
💡 一句话总结:NaviDC-OCR 证明了在文档解析这条赛道上,"针对性的数据工程 + 训练配方"比堆参数量管用------1.2B 模型四大基准全第一,还顺手赢了一堆几十倍大的通用大模型;做 RAG、OCR、文档智能的人值得读它的方法部分。
🎯 先问一个做 RAG 的人都懂的问题
你的 RAG 系统里塞进去一份 PDF,检索质量还行。然后用户传了张手机拍的合同照片------页面有点弯、有阴影、表格被透视压扁------chunk 切出来一片狼藉,检索直接报废。
对,就是你想的那个坑。这不是你 embedding 模型的问题,是文档解析在最前面就翻车了:把非结构化文档变成结构化表示(Markdown、表格、公式)这一步,是 RAG 和训练数据管线的地基,地基一歪后面全歪。
最近中国电信 AI 团队发的 NaviDC-OCR 就是专治这个的,而且战绩有点夸张:
- 📊 OmniDocBench v1.6(数字文档解析基准):96.87 分,第一------超过 PaddleOCR-VL-1.6、MinerU2.5-Pro 这些大厂方案;
- 🤯 同一张榜上,235B 的 Qwen3-VL 拿 89.78,GPT-5.2 拿 86.52,241B 的 InternVL3.5 拿 83.61------1.2B 的 NaviDC-OCR 比它们都高一大截;
- 📸 Wild-OmniDocBench(手机拍摄文档基准):88.53,第一;
- 🏆 ICDAR 2026 科研图转表国际挑战赛:第一。
小模型吊打大模型,这种事在通用能力上不可能发生,但在文档解析这个垂直赛道上就是发生了。为什么?往下看。
想自己动手试?
- 📄 论文:arXiv 2608.12898
- 🧩 基座组件:Qwen2.5-VL + Qwen3-0.6B(模型本体是这两个开源件拼的)
- 💻 代码:论文承诺开源"完整实现与模型配置",撰写时还没放出,先收藏论文等一手
🤔 这篇论文到底想解决什么问题?
先认识一下战场。现在的 VLM(Vision-Language Model,视觉语言模型)文档解析分两派,各有各的死法:
- 🔗 端到端派(OvisOCR、DeepSeek-OCR、HunyuanOCR 这类):一张图进去、结构化文本出来,不搞中间步骤。优点是对几何畸变天生鲁棒;缺点是高分辨率文档上计算开销大,而且"看懂结构"和"认出文字"两件事耦在一起,动不动就冗余生成、幻觉;
- ✂️ 解耦派 (Dolphin、MinerU、PaddleOCR-VL 这类):先做版面分析框出"这里是标题、那里是表格",再逐块解析内容。可控性强,数字文档上表现好;但它的命门是假设版面区域是规则矩形。
矩形的假设有什么问题?你的文档是平的,手机拍的文档不是 。纸一弯、页一折,区域边界就变成了曲线,矩形框套上去不是切掉内容就是把两栏粘一起------而且版面分析的错会级联传导到后面每一步。论文做了个很说明问题的实验:对拍摄文档先跑一遍去畸变预处理,光把几何畸变消掉,两阶段解析的成绩就大幅上升。
所以 NaviDC-OCR 的研究问题一句话说清:能不能让一个模型既保住解耦范式的精度,又天生不怕拍歪拍弯的文档?
🛠️ 它的思路是什么?
它的答案是把文档矫正社区积攒的几何先验"焊"进 VLM 里,再加上一套教模型学结构的数据配方。架构上是三个开源件:Qwen2.5-VL 的视觉编码器 + Qwen3-0.6B 语言模型 + 一个从头训的 MLP 对齐器,总共约 1.2B 参数。
图说:两大训练策略------形变感知训练(让模型"感知"纸是怎么弯的)和内容-结构解耦学习(先学骨架再学内容),四阶段渐进式训练串起来。
第一招:形变感知,把"去畸变"变成模型的内功。
传统做法是文档矫正模型当预处理模块,先拉直再解析------两个模块各管各的。NaviDC-OCR 的做法是让 VLM 直接学:训练时在无畸变文档上撒 1024 个控制点(专业矫正模型要 8 万多个,这里砍到 1/80),合成出弯曲文档后让模型直接预测这些点被"揉"到了哪里。学会了感知形变,弯的纸在模型眼里就近乎是直的。
第二招:用边界点序列取代矩形框。
既然区域可能是曲线,那就别硬套矩形了------NaviDC-OCR 把版面检测改写成边界点序列预测:沿区域边界输出一串坐标点,简单区域用 4 个点(就是矩形),复杂弯曲区域自动多用几个点。这里还有个精巧的小设计叫 CGDP(曲率引导采样):平坦的边界少花点、折痕和尖角这些高曲率的地方多花点------预算有限时把点花在刀刃上。
第三招:内容-结构解耦,专治表格和公式。
表格解析为什么难?因为模型要同时干两件事:搞清楚表格的骨架 (几行几列、哪些单元格合并了)和认出内容(单元格里是什么字)。两件事搅在一起,生成就容易乱。NaviDC-OCR 把它们拆开:
- 📋 表格:用 OTSL(一种紧凑的表格结构描述语言)先学骨架,训练时故意把单元格内容全删掉,逼模型专注学表格拓扑------像先搭好 Excel 的合并单元格框架,再往里录数据;
- ➗ 公式:构建语法 token 库,LaTeX 的语法结构和文字内容分开学。
第四招:一条很能抄的数据工程流水线。
图说:三段式数据流水线------多个异构模型投票选伪标签、合成弯曲文档、自评判模型做最终质检。
这部分我觉得是全文最值得抄的作业:
- 🗳️ 多节点共识投票(MCV) :造训练数据要用伪标签,单模型的伪标签会被它自己的系统性错误污染。NaviDC-OCR 让多个架构不同的模型各解析一遍,取互相最一致的那版当标签------就像找几个不同背景的翻译各翻一遍,选彼此最认同的那版,而不是偏信某一个人;
- 🧑⚖️ 自评判 VLM :伪标签终究有漏网错误,怎么办?把解析结果渲染回图像,跟原文档图对比------把"文字对不对"这种跨模态校验变成"两张图像不一致"这种更稳的同模态校验。他们先试了 Qwen3-VL-235B 零样本干这活,召回率不到 40%,于是专门微调了个 7B 的裁判模型;
- 🔧 形变合成:用文档矫正社区的 Doc3D 数据造"平纸变弯纸"的配对样本,把数字文档域和拍摄文档域桥起来。
最后再用 GRPO(一种强化学习算法)按任务指标打磨一轮,整套就齐了。结构进模型、监督进训练、数据靠投票和质检------每一步都在解决一个具体的问题。
📈 效果到底怎么样?
直接看榜单。OmniDocBench v1.6 是 1651 页 PDF、10 类文档的综合考试,Overall 是文本、公式、表格三项得分的平均(越高越好):
| 方法 | 参数 | Overall | 表格 TEDS |
|---|---|---|---|
| NaviDC-OCR | 1.2B | 96.87 | 97.05 |
| OvisOCR2 | 0.8B | 96.58 | 94.76 |
| PaddleOCR-VL-1.6 | 0.9B | 96.33 | 94.76 |
| MinerU2.5-Pro | 1.2B | 95.75 | 93.42 |
| Ovis2.6-30B(通用) | 30B | 93.62 | 89.44 |
| Gemini 3 Pro(通用) | -- | 92.85 | 89.15 |
| Qwen3-VL-235B(通用) | 235B | 89.78 | 83.07 |
| GPT-5.2(通用) | -- | 86.52 | 82.95 |
(TEDS 是表格还原准确度,越接近 100 越好。)
两个我最在意的点:
- 🎯 分项指标和设计主张对得上:表格 TEDS 领先第二名 2 分多、文本编辑距离全场最低------内容-结构解耦强化表格、形变感知强化文本,这个模式自洽,不是刷出来的总分;
- 📷 拍摄场景的领先更值钱:Wild-OmniDocBench 上拿 88.53,领先第二名 0.6 分。别嫌差距小------同榜的 HunyuanOCR-1.5 在真实拍摄退化下崩到 77.62,差距是 11 分。拍摄场景是所有方法的坟场,这里的第一名含金量最高。
定性效果更直观:
图说:同一页拍摄文档,对手模型漏检区域、认错类别,NaviDC-OCR 给出完整细粒度版面------形变感知不是白学的。
图说:密集财务表格,对手丢窄列、错误合并单元格,NaviDC-OCR 保住了层级表头和空单元格------解耦学习的功劳。
图说:页面严重旋转、公式上下颠倒的极端情况,对手只能认出零散符号,NaviDC-OCR 完整恢复了表达式。
图说:四个基准、两种范式(端到端 vs 解耦)的横向对比------NaviDC-OCR 在四个榜上全部站到了最上面。
💡 为什么你要关心?
哪怕你不做 OCR,这篇论文也有几条真能带走的东西:
- 🧩 "共识伪标签 + 渲染回图像自检"是通用的数据配方:任何需要大规模伪标签的场景(蒸馏、数据合成、自动标注)都能套 MCV 的思路------异构模型投票选共识;而"把生成结果渲染回图像再和原图对"的校验方式,比让 VLM 直接对文本靠谱得多,这两招的适用面远超文档解析;
- 🏗️ 垂直赛道的打法示范:1.2B 打赢 235B 的原因不是架构多先进(三个开源件拼的),而是领域知识(几何先验、结构语法)+ 数据工程的深度注入。如果你在做自己的垂直 VLM,这就是方法论模板;
- 📉 对选型的人:如果你的 pipeline 要吃手机拍摄的文档(票据、笔记、合同),这篇的结果表值得存一份------拍摄场景各家模型的差距是断崖式的,选错模型不是掉几个点的问题;
- 📚 给 RAG 人的启示:解析质量的差距(96 vs 83)会在检索环节被放大。与其折腾 embedding,不如先看看自己的文档解析器在 Wild-OmniDocBench 上能拿几分。
🧭 理性看待
朋友式提醒,三点:
- 零消融。形变感知、曲率采样、解耦学习、投票数据、强化学习------五个创新点没有任何一张消融表告诉你各自贡献几分。1.2B 拿第一的功劳有多大比例属于"600 万级数据的工程堆叠"整体,无法判断;
- 有个诚实的瑕疵:PureDocBench 评测时,模型在 6 个困难样本上出现严重的重复生成,作者把这些预测文件删了再评分(协议规定缺失预测记 0 分,所以逻辑上说得通,论文也把删了哪些文件列了出来)。态度坦诚,但这暴露了模型在极端困难样本上会"复读到死",且其最弱赛道(真实退化)上实际已被 Gemini 反超;
- 代码未放。承诺开源但撰写时还没兑现,超参与数据规模给了、数据本体没给,现阶段复现有难度。
所以我的读法:方法配方当教科书读,榜单数字当参考看------统一评测协议下复评的结果可信度不低,但等代码和消融放出再下最终结论。
作者:lusca
版本:lusca-paper-blog v1.7.0