跳转至

VisFocus: Prompt-Guided Vision Encoders for OCR-Free Dense Document Understanding

会议: ECCV 2024
arXiv: 2407.12594
代码: 未开源
领域: LLM/NLP
关键词: 文档理解, OCR-Free, Prompt引导视觉编码, Swin Transformer, 文档VQA

一句话总结

提出 VisFocus,通过在视觉编码器的 patch merging 层引入 prompt 感知的 ViLMA 层,并设计 LMPM 预训练任务,使 OCR-Free 文档理解模型能聚焦于与用户查询相关的文本区域,在多个文档 VQA 基准上达到同规模 SOTA。

研究背景与动机

  • OCR-Free 方法的挑战: 直接从文档图像理解内容,避免 OCR 模块的额外延迟、计算成本和错误传播
  • 视觉特征与查询不对齐: 现有 OCR-Free 方法中查询仅输入语言模型,视觉编码器独立于查询生成特征,导致密集文档中大量无关信息占据视觉 token
  • 密集文档的难题: 高分辨率输入中空白区域、图表和无关文本可能消耗大量编码容量,忽略与查询相关的关键文本

方法详解

整体框架

VisFocus 由三个组件构成: 1. 带 ViLMA 层的 SwinV2 视觉编码器: 在每个 stage 末尾的 patch merging 层中注入 prompt 交叉注意力 2. 投影模块: 小型 MLP,将视觉特征投射到与语言模型共享的潜空间 3. T5 语言模型: 接收 prompt 和投影后的视觉特征生成最终输出

关键设计

  1. ViLMA (Vision-Language Merging Attention):

    • 在 Swin 的 patch merging 层(2×2 邻域拼接+线性投影)中插入交叉注意力
    • 视觉特征作 Query,冻结语言编码器生成的 prompt 嵌入作 Key/Value
    • 下采样在 prompt 引导下进行,确保保留与查询相关的视觉信息
    • 替换所有 4 个 patch merging 层效果最好(+1.3/+4.6 on DocVQA/ChartQA)
  2. LMPM (Localized Masked Prompt Modeling):

    • 从文档 OCR 文本中随机采样一个局部片段,对其进行 mask,作为 prompt 输入
    • 任务: 根据可见的文档图像预测被 mask 的 token
    • 与一般 LtR(全文阅读)不同,LMPM 训练模型聚焦于与 prompt 语义相关的局部文本
    • Dropout 策略: 以概率 ρ 随机移除语言模型的 prompt 输入,强制视觉编码器独立发展聚焦能力

损失函数 / 训练策略

三阶段训练: 1. LtR (Learn to Read): 预测文档全文光栅扫描顺序 OCR,交叉熵损失 2. LMPM: 局部 mask 提示建模,交叉熵损失,此阶段引入 ViLMA 层 3. Fine-tuning: 下游文档 VQA 任务微调

训练配置: 8 A100 GPU, bfloat16 精度, AdamW + cosine annealing, 输入分辨率 1536×768

实验关键数据

主实验

方法 参数量 DocVQA (ANLS) InfoVQA (ANLS) ChartQA (RA) OCR-VQA (EM) AI2D (EM)
Donut 176M 67.5 11.6 41.8 66.0 -
Pix2Struct-B 282M 72.1 38.2 56.0 69.4 40.9
Baseline-B 273M 71.7 26.8 52.5 66.9 45.6
VisFocus-B 295M 72.9 31.9 57.1 70.0 47.8

消融实验

方法 DocVQA (ANLS) ChartQA (RA)
Baseline-B 70.9 52.5
+ ViLMA 71.3 (+0.4) 54.7 (+2.2)
+ LMPM 71.8 (+0.5) 55.7 (+1.0)
+ concat (Eq.8) (完整 VisFocus-B) 72.2 (+0.4) 57.1 (+1.4)

关键发现

  • ViLMA > Pix2Struct 渲染方式: ViLMA 直接在嵌入空间注入 prompt 优于 Pix2Struct 在图像上渲染 prompt
  • 密集文档收益更大: 随着文档词数增加(400→800词),VisFocus 相比基线的优势从 +0.7 扩大到 +2.3 ANLS
  • 注意力可视化: LMPM 训练后的 ViLMA 注意力图清晰显示模型聚焦于与 prompt 语义相关的文本区域(如"diameter"关注"under-ream"和"180 degrees")
  • 两个创新组件有协同效应: ViLMA + LMPM 的组合效果优于各自独立使用

亮点与洞察

  1. 选择性阅读的类比: 灵感来自人类在文档中搜索答案时的扫描式阅读策略,先定位关键词再仔细阅读上下文
  2. ViLMA 层位置的系统研究: 替换更深层的 patch merging 效果更好,替换所有层效果最佳
  3. LMPM 的 Dropout 策略: 随机移除语言模型的 prompt 输入,防止语言模型"偷懒"代替视觉编码器完成 MLM 任务
  4. 零样本 KV 提取: 将键值提取重新建模为 prompt 任务("What is the value of ?"),展示了方法的灵活性

局限性 / 可改进方向

  • InfoVQA 性能仍落后于 Pix2Struct,因为信息图需要视觉推理而非仅文本阅读
  • 方法侧重于文本聚焦,对图表、图形等非文本元素的理解能力有待提升
  • 仅在 IDL 数据集上预训练,训练数据多样性不如 Pix2Struct
  • 与大规模 VLM(如 PaLi-3, Qwen-VL)差距较大,主要受限于模型规模

相关工作与启发

  • 对 Donut、Dessurt 等 OCR-Free 方法提出了"视觉特征与查询不对齐"的核心洞察
  • ViLMA 层的设计可推广到其他需要条件下采样的视觉任务
  • LMPM 预训练任务的思路可启发其他需要局部关注的视觉-语言任务

评分

  • 新颖性: ⭐⭐⭐⭐ — prompt 引导视觉编码的思路新颖且合理
  • 技术深度: ⭐⭐⭐⭐ — ViLMA + LMPM 的协同设计有深度
  • 实验质量: ⭐⭐⭐⭐ — 5 个基准、全面消融、文档密度分析
  • 实用性: ⭐⭐⭐⭐ — 对文档 AI 应用有直接价值
  • 综合推荐: ⭐⭐⭐⭐

相关论文