跳转至

Multimodal OCR: Parse Anything from Documents

日期: 2026-03-13
arXiv: 2603.13032
代码: dots.mocr
领域: 多模态VLM / 文档解析
关键词: document parsing, OCR, SVG reconstruction, visual symbol parsing, multimodal

一句话总结

提出 MOCR 文档解析范式和 dots.mocr 系统(3B 参数),把文档中的图表、图标、UI 等图形元素也当作一等解析目标转为 SVG 代码,在文档解析上仅次于 Gemini 3 Pro(olmOCR-Bench SOTA 83.9),在图形重建上多项指标超越 Gemini 3 Pro。

研究背景与动机

  1. 领域现状: 文档解析是大模型预训练和检索的核心数据引擎——PDF、扫描件、网页截图中蕴含海量结构化知识。现有 OCR 系统(MonkeyOCR、MinerU、PaddleOCR-VL 等)主要聚焦文本识别和布局分析。

  2. 现有痛点: 文档不只有文字,还有大量图表、流程图、UI 元素、科学插图等图形内容。现有管线把这些图形区域简单裁剪为像素块保留,丢弃了其中的结构和语义信息——文档解析本质上是有损的。

  3. 核心矛盾: 图形中编码了丰富的结构化监督信号(坐标、样式、层级关系),但以像素形式无法被下游模型利用。同时,图形的程序表示(SVG/HTML/Python)天然非唯一(不同代码可渲染出相同结果),难以直接作为训练标签。

  4. 切入角度: VLM 已展现出从图像生成可执行代码的能力(pix2code → StarVector → OmniSVG),说明将图形解析为结构化表示在技术上可行。

  5. 核心 idea: 把文档中的文字和图形统一为一等解析目标,图形转换为可渲染的 SVG 代码而非像素裁剪,从而释放文档中嵌入的多模态监督信号。

方法详解

整体框架

输入一张文档图片,输出一个有序序列 \(\mathbf{S} = [(\mathcal{B}_k, c_k, p_k)]\),其中每个元素包含空间区域、语义类别和载荷内容。文本区域的载荷是纯文本/表格标记/LaTeX,图形区域的载荷是可渲染的 SVG 代码。按人类阅读顺序生成,隐式编码结构层级。

关键设计

  1. 从零训练的高分辨率视觉编码器:

    • 1.2B 参数的 ViT,支持最高约 1100 万像素的原始分辨率输入
    • 从零训练而非用预训练 ViT,确保特征表示天然适配文档解析任务(同时处理密集文本和几何敏感的图形元素)
    • 高分辨率是关键:小字体、密集布局需要清晰度,图表标记/连线的精确定位也需要高像素
  2. 三阶段渐进预训练:

    • Stage 1: 通用视觉训练,建立稳定的视觉-语言接口
    • Stage 2: 通用视觉 + 文本文档解析混合预训练,夯实文本解析基础
    • Stage 3: 降低通用视觉比例、提升 MOCR 特定目标(含 image-to-SVG),逐阶段提升输入分辨率
    • 全程统一自回归目标,通过 mixture reweighting 控制训练稳定性
  3. 大规模数据引擎:

    • PDF 文档:用 dots.ocr 自动标注,按语言/领域/布局复杂度分层采样
    • 网页:渲染为图片 + HTML/DOM 提供天然对齐的结构信号,含原生 SVG 图标/图表
    • SVG 素材:从多源收集原生 SVG,svgo 清洗 + 去重 + 复杂度感知采样
    • 通用视觉数据:保持广域能力
  4. SVG 规范化与质量控制:

    • SVG 代码天然非唯一(多种代码可渲染相同结果),需要 canonicalization、viewBox 归一化、复杂度简化
    • 指令微调阶段进一步过滤和精修,修正系统性错误
  5. OCR Arena 自动评估:

    • 传统 WER/NED 指标对格式差异过于敏感,采用 LLM-as-Judge(Gemini 3 Flash)做对称双次评价
    • Elo 评分系统 + bootstrap 重采样确保排名鲁棒性

训练策略

  • 解码器使用 Qwen2.5-1.5B base(非 chat),总模型约 3B 参数
  • 两个检查点:dots.mocr(平衡型)和 dots.mocr-svg(SVG 增强型,SFT 中提高 SVG 数据比例)

实验关键数据

文档解析(Elo 评分)

模型 olmOCR-Bench OmniDocBench1.5 XDocParse 平均
Gemini 3 Pro 1180.4 1128.0 1323.7 1210.7
dots.mocr 1104.4 1059.0 1210.7 1124.7
dots.ocr 1041.1 1027.2 1190.3 1086.2
HunyuanOCR 997.6 1003.9 951.1 984.2

olmOCR-Bench 细分(strict-match)

模型 ArXiv Tables Multi-col Overall
dots.mocr 85.9 90.7 85.3 83.9
olmOCR v0.4 83.0 84.9 83.7 82.4
PaddleOCR-VL 85.7 84.1 79.9 80.0

图形重建(ISVGEN 分数)

方法 UniSVG ChartMimic Design2Code ChemDraw
dots.mocr-svg 0.902 0.905 0.834 0.901
Gemini 3 Pro 0.735 0.788 0.760 0.839
OCRVerse 0.763 0.799 - 0.881

关键发现

  • dots.mocr 仅 3B 参数,在开源文档解析系统中排名第一,仅次于 Gemini 3 Pro
  • 在图形重建上全面超越 Gemini 3 Pro,尤其 UniSVG(0.902 vs 0.735)提升 +0.167
  • 从零训练视觉编码器对高分辨率文档特别重要,比用预训练 ViT 微调效果更好

亮点与洞察

  • 统一文字+图形解析是核心创新:不再让 OCR 止步于文字,图表/流程图/UI 也转为结构化 SVG——这为构建大规模 image-to-code 语料库开辟了路径
  • SVG 作为通用图形表示的选择很巧妙:矢量可编辑、可渲染、可组合,天然适合作为训练监督信号
  • 数据引擎驱动而非架构创新——通过精心设计的数据管线(PDF+网页+SVG素材)和渐进训练课程,让一个 3B 小模型达到接近 Gemini 3 Pro 的效果

局限性 / 可改进方向

  • 当前版本需要两次推理(文档解析 + 图形 SVG 分别跑),尚未实现真正的单次全页解析
  • 视觉编码器从零训练成本高,未详细报告训练资源消耗
  • 对自然图像/照片不做 SVG 转换(保留为像素),图形/照片的边界判断策略未详述
  • SVG 规范化仍有改进空间——复杂图形的 SVG 代码可能很长,autoregressive 生成效率是瓶颈

评分

  • 新颖性: ⭐⭐⭐⭐ 首次系统化将图形解析提升为 OCR 一等公民,但 image-to-SVG 本身非新
  • 实验充分度: ⭐⭐⭐⭐⭐ 文档解析+图形重建双线评测,Elo 协议+传统指标+6 个图形 benchmark
  • 写作质量: ⭐⭐⭐⭐ 结构清晰,数据引擎和评估方法讲解充分
  • 价值: ⭐⭐⭐⭐⭐ 开源 3B 模型达到接近 Gemini 3 Pro 水平,对文档 AI 社区价值巨大