ImIR: Image-Instruction Tuning for All-in-One Image Restoration
Süleyman Aslan, Görkay Aydemir, Mısra Yavuz, Yunus Bilge Kurt, Nasrin Rahimi, Ahmet Rasim Emirdağı, Burak Can Biner, M. Akın Yılmaz
cs.CV
2026-09-22
用退化图自身嵌入预测干净图指令,单卡三小时把 Qwen-Image-Edit 改成六任务复原器。图像指令六项全面超过同骨干文本提示,无退化标签也能复原。
一张照片上的退化种类事先不知道:可能是欠曝、雨丝、雾、运动模糊、传感器噪声,也可能是 JPEG 压缩。专门网络质量高,但每种退化要单独训、单独存,部署时还得先选对模型。全功能复原(all-in-one restoration)把多种退化塞进一套权重,难点是告诉模型这次该去什么,同时别让任务互相抢参数。
一条最近走得通的路,是把已经会听指令的图像编辑模型拿来微调。Edit2Restore 给 FLUX.1 Kontext 加低秩适配器(LoRA),再用任务文本提示来引导。文本是离散的全局信号:要写 prompt,任务词表是封闭的,也没法按当前这张图连续调节。对图像到图像的逆问题,最有信息量的指令其实是图像自己。干净目标的视觉语言模型嵌入会是理想指令,可测试时那张干净图正好是未知数。
ImIR(Image-Instructed Restoration)把指令从文本换成「从退化图预测出来的干净图嵌入」。骨干是冻结的 Qwen-Image-Edit(论文主报 2511 版),语义编码器是 Qwen2.5-VL,生成器是 MMDiT。退化图 y 走两条通道:
Mapper 做成残差:预测嵌入等于 ey 加上校正网络 gθ。先对有效 token 做掩码均值池化,得到整图摘要;FiLM 生成器读任务标签 τ 和这份摘要,产出跨 token 共享的缩放和偏移;逐 token 的 MLP 再做校正。MLP 看不到任务标签,只看到 ey 和调制参数,所以把 τ 收成一个共享槽位就能做成无标签变体。输出投影和 FiLM 门控都零初始化,训练前预测嵌入等于 ey,校正只在能降损失的地方长出来。
训练分两段。先在预计算的嵌入上用掩码均方误差让 mapper 回归干净嵌入减退化嵌入;再冻住 mapper,用流匹配(flow matching)训一个 rank 32 的 LoRA,六个任务共用,LoRA 打在 MMDiT 的注意力投影、前馈和调制模块上。测试时只给 y:VAE 出结构,视觉语言模型编码器加 mapper 出指令,再跑采样器。指令是连续向量,把残差乘上标量 s,就能沿退化到干净的方向滑动。低光增强的正确曝光是一段区间,扫 s 能得到一族合理结果;去雨、去雾这类目标几乎唯一的任务,有用的工作点则很窄。
六个任务各用一个基准:LOLv2-real(低光)、Rain100L(去雨)、RESIDE SOTS(去雾)、GoPro(去模糊)、SIDD(真实噪声)、Kodak JPEG。训练集一共 688 对,按任务配平。指标是 PSNR、SSIM 和 LPIPS,所有基线都用同一套预处理和度量代码重跑。
和同一骨干上的文本 LoRA 对照,是这篇真正站得住的比较:
| 任务 | ImIR PSNR | 文本 LoRA | 无标签 ImIR |
| 低光 | 21.3 | 16.3 | 21.2 |
| 去雨 | 33.2 | 32.5 | 33.0 |
| 去雾 | 24.7 | 21.0 | 24.4 |
| 去模糊 | 27.6 | 26.8 | 27.6 |
| 去噪 | 35.7 | 34.4 | 35.6 |
| JPEG | 28.1 | 27.4 | 27.9 |
六项全赢。差距最大的是低光,正好是目标最不由输入唯一确定的任务。逐图符号检验里,18 个格子有 15 个显著,低光上 88% 到 91% 的图 ImIR 更好;去雨的 PSNR 和 SSIM 分不开,只在 LPIPS 上赢。
无标签变体几乎贴着有标签模型。文本那边拿掉任务提示就塌:去雨从 32.5 dB 掉到 17.5 dB;让同一个 Qwen2.5-VL 给每张图写一句指令,也只比中性提示好大约 1 dB,仍比无标签 ImIR 低 4.7 到 17.0 dB。无标签 ImIR 的 PSNR 还全面超过「知道任务」的文本 LoRA。
零样本 Qwen-Image-Edit-2511 去雾 17.7 dB,适配后 24.7 dB。相对 Edit2Restore,低光 21.3 对 18.6、去雨 33.2 对 32.6。从零训练的专家仍然更高:InstructIR 低光 31.2 dB,AdaIR 去雨 37.9 dB。消融里,mapper 相对直接喂 ey 提升 2.6 到 7.0 dB,补上 identity 到 oracle 缺口的至少 82%;去掉全局摘要分支会掉 1.2 到 4.9 dB。
这是渐进改进,但改进打在条件信号上,不是又堆一个从零训练的骨干。想把现成图像编辑模型改成复原器的人,可以丢掉 prompt 工程,用图像自己当指令。688 对、单卡约三小时、可训参数 326M(LoRA 235M 加 mapper 91M),数据量比 InstructIR、AdaIR 那种十万到几十万对小一个数量级。
两个文本方案给不了的能力可以分开看。一是无标签:部署时不用先分类退化。二是连续控制:低光这类目标不唯一的任务,调 s 就能扫曝光,固定 prompt 没有对应旋钮。代码和权重已公开。
不该期待它在 PSNR 上干掉从零专家。生成式先验会编出看起来合理但不忠实的细节,VAE 有损,全参考指标本身有天花板。推理在 H100 上约 1 百万像素、30 步要 14 秒,前馈复原网络会快一个数量级。
论文自己写了:迭代采样慢;生成先验会编细节;没有专门的盲复原、真实世界或分布外评测。这些都该当真。
对照设置也有缝。Edit2Restore 的训练数据不同,去噪用的是 BSD400 而不是 SIDD,论文也说不要把它当排名。RealRestorer 面向无参考真实退化,在这对齐测试集上偏低是预期内的。SIDD 测试只有 32 张,去噪 LPIPS 的符号检验刚好没过 0.05。Kodak JPEG 是额外加的任务,和前人数字不可比,他们重跑了基线,但社区里直接引用旧表会错位。
Mapper 关在 Qwen2.5-VL 的嵌入空间里。换编辑器或换视觉语言模型编码器要重训。指令合成(同时去雨又提亮)写在未来工作里,这篇没做。688 对配平训练集很小,六种退化都是单种、成对的基准,不是街上那张又暗又糊又压缩的手机照片。