MMDIR: Multimodal Instruction-Driven Framework for Mixed-Degradation Document Image Restoration¶
会议: CVPR 2026
论文: CVF Open Access
代码: https://github.com/xiaomore/MMDIR
领域: 图像恢复 / 文档图像复原
关键词: 文档图像复原, 混合退化, 指令驱动, 多模态大模型, 退化识别
一句话总结¶
MMDIR 把"用文字指令问模型这张文档图里有没有/有哪些退化"这件事塞进文档复原流程:一张退化文档图配一条文本指令,经视觉编码器和 LLM 联合处理后,LLM 先输出"哪几种退化存在"的诊断文本,再用这段语义特征去引导视觉解码器做有针对性的复原,从而在不依赖退化先验、不为每种退化单独训模型的前提下,统一处理模糊、阴影、文字水印、印章四类混合且不确定的退化。
研究背景与动机¶
领域现状:文档图像复原(DIR)是把模糊、阴影、水印、印章这些干扰从扫描/拍摄文档里去掉、把内容修复成清晰可读的预处理任务。主流做法是端到端的"图到图"映射——把退化图喂进 CNN / Transformer / GAN / 扩散模型,用干净参考图监督,直接回归出复原结果(如 DocDiff、NAF-DPM、LGA-Doc)。
现有痛点:这类端到端模型学的是一个固定映射,没有显式的退化类型条件,通常一种退化训一个专用模型;要处理多种退化就得训多个模型。DocRes 进了一步,在预处理阶段估计退化类型、把弱提示拼到输入上引导网络,但它需要预先知道退化类别、依赖刚性的预处理管线,一旦遇到退化类型模糊的开放场景就失效,而且它对提取的视觉先验质量敏感,先验抽错会直接污染复原结果。
核心矛盾:真实文档往往多种退化同时出现(一张合同可能既有阴影又有模糊还盖着印章和文字水印),且事先并不知道到底有哪几种。现有方法要么假设单一退化、要么必须先知道退化类别,本质上无法在"退化未知且混合"的条件下工作;而且各复原任务之间其实有共性,独立训练的模型无法共享这种跨任务知识。
本文目标:做一个统一框架,能在不给退化先验的前提下,自动识别一张图里同时存在哪些退化,并据此做细粒度、可解释的复原。
切入角度:作者借鉴了多模态文档理解(OCR、VQA)里"给定任务提示,MLLM 能生成相关文本回答"的能力——既然 MLLM 能回答"图里写了什么",那它应该也能回答"图里有哪些退化"。
核心 idea:把"退化识别"做成一个由文本指令驱动的 VQA 式任务,让 LLM 输出的诊断语义特征当作引导信号去驱动视觉解码器复原,用"语义推理"替代"退化先验"。
方法详解¶
整体框架¶
MMDIR 是一个端到端多模态架构,同时吃多模态输入(退化图 + 文本指令)、产多模态输出(复原图 + 退化诊断文本)。输入一张退化文档图 \(I_d \in \mathbb{R}^{H\times W\times C}\) 和一条文本指令 \(t\)(指令含两部分:固定的"判断图里有无噪声/干扰并指出类型",以及可选的"指定移除某几类退化")。视觉端用 ViTDet 编码器把图切成 16×16 patch、过窗口自注意力得到特征图 \(F_e\),再经一个两层 3×3 卷积的 Projector 压成 256 个视觉 token \(V\);文本端用 tokenizer 把问题(指令)和答案(退化诊断)分别编码成 \(Q\)、\(A\)。三者沿序列维拼接送进 LLM 做跨模态对齐,LLM 输出的答案特征 \(F_t\) 携带"图里到底有哪些退化"的语义。最后视觉解码器把编码器特征 \(F_e\) 与语义引导特征 \(F_t\) 融合,经多尺度 NAF 金字塔逐级上采样重建出复原图 \(I_r\)。训练时 \(Q\)、\(A\) 都给(让 LLM 学跨模态对齐);推理时只给 \(I_d\) 和 \(Q\),由 LLM 逐步解码出诊断答案 \(A\),并把每步隐状态沿序列平均当作 \(F_t\)。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["退化文档图 I_d + 文本指令 t"] --> B["视觉编码器 ViTDet<br/>→ F_e → Projector → 视觉token V"]
A --> C["Tokenizer<br/>→ 问题token Q / 答案token A"]
B --> D["指令驱动退化识别<br/>LLM(CAT(V,Q,A)) → 答案特征 F_t"]
C --> D
D --> E["语义提示引导解码<br/>GuidedLayer 融合 F_e 与 F_t"]
B --> E
E --> F["多尺度NAF金字塔上采样"]
F --> G["复原图 I_r + 退化诊断文本"]
关键设计¶
1. 指令驱动的退化识别:用 VQA 式问答替代退化先验
针对"现有方法必须预知退化类别、且无法感知图里到底有哪些噪声"这一痛点,MMDIR 把退化识别做成一个文本模态的诊断任务。视觉 token \(V\)、问题 token \(Q\)、答案 token \(A\) 沿序列维拼接后送进 LLM:
LLM 借助训练中习得的常识与推理能力,动态解读指令、生成一段诊断回答——明确指出哪些退化存在、哪些不存在。关键巧思在于这个诊断不是简单分类:指令里用户可能指定"移除印章、模糊",但 LLM 经视觉分析后会纠正成"图里没有印章,但检测到文字水印,因此实际移除模糊和文字水印"。这就把"文字描述的退化类型"和"图像里实际存在的退化区域"做了空间对齐,既能响应用户请求、又能检测到用户没提的退化,从而摆脱对退化先验和刚性预处理的依赖。
2. 语义提示引导的视觉解码器:让诊断语义当复原的"导航"
LLM 输出的答案特征 \(F_t\) 携带"该修哪些退化"的语义,MMDIR 把它当作引导信号注入复原。视觉解码器(公式 \(I_r = \text{VisDecoder}(F_e, F_t)\))对编码器特征 \(F_e\) 做 unpatch 上采样得到四个多尺度特征图 \(\{F_0,F_1,F_2,F_3\}\),按金字塔哲学用 PixelShuffle 每次放大 2 倍、沿通道拼接后送入 NAF Block(含 Simplified Channel Attention),逐级重建到原分辨率。融合的核心是 GuidedLayer:LLM 给出的文本 token \(F_t\) 先乘一个初始化为 1 的可学习权重 \(W_t\) 得到 \(F'_t\),再与视觉特征 \(F_e\) 逐元素相加,形成"文本语义引导的特征图"。可学习权重让模型自己决定语义引导的强度,避免硬性注入破坏视觉细节;而且推理时这段引导来自 LLM 对指令的推测性语义而非真值答案,使复原过程任务自适应、语义感知。
3. MixedDoc 混合退化基准与合成管线:补上"多退化共存"的数据空白
现有数据集大多只含单类退化、且忽略印章/文字水印这类常见遮挡,无法评估混合退化场景。作者据此合成数据:训练侧从 CDLA、CDDOD、FSDSRD 收集干净文档,合成 11 万张混合退化图,每张随机叠加 1–4 种退化(模糊随机取高斯/散焦/玻璃/缩放/运动模糊;印章用 2 万张合成图加 1597 张真实印章;阴影用 FSDSRD 与 SynShadow 的掩码;文字水印用自采中英文语料随机渲染,所有元素随机裁剪旋转)。测试侧基于 M6Doc 文档按类似管线合成、用未参与训练的 320 张真实印章和 432 张精选阴影掩码,最终得到 1837 张的 MixedDoc 基准。它系统性地填补了"真实多退化样本缺失"的数据缺口。
4. 多目标复合损失:像素 + 局部 + 结构 + 诊断四路监督
复原侧用像素级 L1 损失 \(L_{pixel}=\|I_{gt}-I_r\|_1\) 约束整体保真;为强化对退化区域的感知,引入局部 L1 损失 \(L_{local}=\|I_{gt}\times I_{mask}-I_r\times I_{mask}\|_1\),其中二值掩码 \(I_{mask}\) 在阴影/水印/印章等退化区域取 255、其余取 0,让模型重点盯住退化区域;再加 SSIM 损失 \(L_{ssim}\) 从感知空间评估质量;诊断侧用交叉熵 \(L_{ce}\) 监督退化识别。总损失为
平衡系数经验设为 \(\alpha=4,\ \beta=0.5,\ \lambda=0.5\)。局部损失权重最大,反映了"退化区域的修复质量"是该任务的核心。
实验关键数据¶
实现细节:LLM 用 Qwen2.5 (0.5B),除嵌入层外全程冻结;训练图尺寸 1024×1024,AdamW、batch 16、学习率峰值 \(3\times10^{-4}\) 余弦衰减,80 epoch(5% warmup),2 张 A100。评测用 PSNR/SSIM(像素级)+ LPIPS/DISTS(感知级,越低越好)。
主实验¶
单退化基准(去模糊 BMVC + 去阴影 OSR),* 表示用相同训练集复现:
| 任务 | 指标 | MMDIR | 次优 | 说明 |
|---|---|---|---|---|
| 去模糊 BMVC | PSNR↑ | 29.03 | 28.95 (LGA-Doc) | SOTA |
| 去模糊 BMVC | SSIM↑ | 0.977 | 0.978 (LGA-Doc) | 仅低 0.001 |
| 去模糊 BMVC | LPIPS↓ | 0.0150 | 0.0169 | ↓约 11.2% |
| 去模糊 BMVC | DISTS↓ | 0.0233 | 0.0470 | ↓约 43.0% |
| 去阴影 OSR | LPIPS↓ | 0.0547 | 0.0579 (DiffUIR1024*) | 最优 |
| 去阴影 OSR | DISTS↓ | 0.0816 | 0.0848 (DiffUIR1024*) | 最优 |
混合退化基准 MixedDoc(每图 1–4 种退化):
| 方法 | PSNR↑ | SSIM↑ | LPIPS↓ | DISTS↓ |
|---|---|---|---|---|
| DocDiff1024* | 21.14 | 0.863 | 0.1923 | 0.1966 |
| DiffUIR1024* | 22.09 | 0.853 | 0.2008 | 0.2064 |
| MMDIR | 24.43 | 0.908 | 0.1217 | 0.1323 |
MMDIR 在 MixedDoc 上四项指标全面领先,PSNR 比次优高 2.34 dB,感知指标 LPIPS/DISTS 大幅下降,说明它在不确定混合退化下的泛化与鲁棒性明显更强。值得注意的是,去阴影任务里 BGSNet/DiffUIR 的 PSNR/SSIM 更高,但它们 LPIPS/DISTS 更差——作者指出这些方法输出偏过平滑/模糊,MMDIR 的优化方向更贴合人眼感知。
消融实验¶
文本指令(Inst.)的作用,对比有/无指令:
| 基准 | 指令 | PSNR↑ | SSIM↑ | LPIPS↓ | DISTS↓ |
|---|---|---|---|---|---|
| BMVC | ✗ | 26.76 | 0.966 | 0.0219 | 0.0320 |
| BMVC | ✓ | 29.03 | 0.977 | 0.0150 | 0.0233 |
| OSR | ✗ | 18.79 | 0.922 | 0.0610 | 0.0960 |
| OSR | ✓ | 19.60 | 0.928 | 0.0547 | 0.0816 |
| MixedDoc | ✗ | 23.83 | 0.898 | 0.1324 | 0.1489 |
| MixedDoc | ✓ | 24.43 | 0.908 | 0.1217 | 0.1323 |
关键发现¶
- 文本指令是核心增益来源:去模糊上加指令让 PSNR 从 26.76 涨到 29.03(+2.27 dB),三个基准全线提升,证明"先识别退化、再据此引导复原"的语义信号确实有效,而非把 LLM 当摆设。
- 感知指标提升远大于像素指标:MMDIR 在 LPIPS/DISTS 上的领先幅度(去模糊 DISTS ↓43%)远超 PSNR/SSIM,说明它的优势在于生成更真实的纹理与边缘细节,而不只是逐像素逼近。
- 混合退化场景受益最大:相比单退化,MMDIR 在 MixedDoc 上对 DocDiff/DiffUIR 的全面碾压,印证了统一框架在多退化共存时能共享跨任务知识。
亮点与洞察¶
- 把"退化识别"重构成 VQA 式文本任务,让 LLM 输出可读的诊断("图里没有印章,但有文字水印"),既提升复原又带来可解释性——这是端到端复原模型普遍欠缺的透明度。
- GuidedLayer 用一个初始化为 1 的可学习标量 \(W_t\) 控制语义引导强度,是个轻量却关键的设计:让模型自己学"该信多少 LLM 的话",避免硬注入破坏视觉特征。这个"可学习引导权重"思路可迁移到任何"用高层语义引导低层重建"的任务。
- 推理时引导信号来自 LLM 对指令的推测性语义(而非真值答案),意味着即便用户描述的退化和实际不符,模型也能自我纠正——这把"用户指令"从硬约束变成了可被推翻的提示。
- 局部 L1 损失用退化区域二值掩码做加权,权重 \(\alpha=4\) 最大,是把"哪里该重点修"显式写进损失的简洁手段,可复用到任何有区域级标注的复原任务。
局限与展望¶
- LLM 仅用 0.5B 的 Qwen2.5 且冻结,诊断能力受限;退化类型也只覆盖模糊/阴影/文字水印/印章四类,扩展到折痕、撕裂、墨迹扩散等更复杂退化时是否还能靠指令识别,未验证。⚠️ 推理时若 LLM 误诊(把存在的退化判成不存在),会直接误导解码器,但论文未给出误诊率分析。
- MixedDoc 的混合退化是合成的(真实印章/阴影掩码有限),与真实世界的退化分布差距、以及在真实拍摄文档上的泛化,主要靠定性图展示,缺乏真实混合退化的定量评测集。
- 去阴影任务上 PSNR/SSIM 仍低于 BGSNet/DiffUIR,作者解释为"对方过平滑",但这也意味着在以像素保真为主的下游(如 OCR)上的实际收益需进一步验证。
相关工作与启发¶
- vs DocRes:DocRes 在预处理阶段估计退化类型、把弱视觉先验拼到输入上,需预知退化类别且依赖刚性管线;MMDIR 不要先验、用文本指令让 LLM 在线诊断退化,避免了先验抽取错误污染复原,且能处理退化未知的开放场景。
- vs DocDiff / NAF-DPM / LGA-Doc:它们是无提示的端到端单退化复原;MMDIR 用 LLM 语义引导做统一多退化复原,在感知指标上明显更优。
- vs DiffUIR:DiffUIR 是自然场景统一复原、用共享分布项把不同退化映到统一表示,本文把它迁移到文档域做公平对比并超越;MMDIR 的差异在于用显式的语言诊断(而非隐式分布项)来条件化复原。
评分¶
- 新颖性: ⭐⭐⭐⭐ 把指令驱动 VQA 式退化识别引入文档复原、并用诊断语义引导解码,角度新颖且实用。
- 实验充分度: ⭐⭐⭐⭐ 单退化+混合退化双基准、指令消融到位;但混合退化全是合成、缺真实定量评测与误诊分析。
- 写作质量: ⭐⭐⭐⭐ 动机和架构讲得清楚,图示充分;部分公式排版有 OCR 噪声。
- 价值: ⭐⭐⭐⭐ 提供了 MixedDoc 基准和一套可解释的统一复原范式,对真实文档预处理有实用意义。