论文阅读 PromptIR: Prompting for All-in-One Blind Image Restoration

论文阅读 PromptIR: Prompting for All-in-One Blind Image Restoration

作者:Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan, Ming-Hsuan Yang

机构:Mohamed bin Zayed University of AI, Linköping University

来源期刊:NeurIPS

发表时间:2023年
 

一、研究动机

        1.研究目标


        构建一个“All-in-One”盲图像复原网络,用单一模型、单次训练、无需先验地处理多种退化(去噪、去雨、去雾),并在各任务上均达到 SOTA 性能。

        2.过去方法


        任务专用网络:DnCNN、MPRNet、Restormer 等,每类退化需独立模型,存储/部署成本高。
         早期 All-in-One:AirNet 用对比学习额外训练退化编码器,两阶段训练、参数量大,且对退化表征耦合严重。
        通用视觉 Transformer:SwinIR、Uformer 等需针对任务微调,没考虑过退化统一。

         3.本文方法      


        核心思想:把“退化类型”当作可学习的轻量提示(prompt),在解码阶段动态注入网络,引导特征自适应恢复。
关键模块:
        Prompt Generation Module (PGM):根据输入特征实时生成退化条件提示。
        Prompt Interaction Module (PIM):将提示与图像特征做通道级拼接 + Transformer 融合,实现退化感知恢复。
        整体为 4 级 U 型 Transformer,仅在解码器侧插入 3 个 Prompt Block,即插即用、端到端单阶段训练。

        4.优势以及创新点


        ① 首个把提示学习引入低层视觉,用 <0.5% 的额外参数实现多任务统一。
        ② 无需退化先验或对比学习,训练友好。
        ③ 在 denoising/deraining/dehazing 三大任务 6 个公开测试集上,平均 PSNR 比 AirNet 高 0.86 dB,最高领先 2.64 dB;参数量仅 26 M,推理速度提升 1.7×。
        ④ Prompt Block 架构无关,可一键嵌入任意现有复原网络。

二、算法主要思想与原理详解

PromptIR架构概述
  1. Prompt 架构整体就是在Restormer 的架构基础上在每层采样之间加上了一个Prompt Block模块。
  2. 整体流程
    输入退化图 I ∈ R^(H×W×3)
    → 卷积提取浅层特征 F0
    → 4 级编码器(Transformer Block 数=[4,6,6,8])下采样到 1/8 分辨率
    → 解码器逐级上采样,每两级间插入 1 个 Prompt Block(共 3 个)
    → 输出复原图 Î

        3.Prompt Block 内部机制
        (1) PGM:动态生成提示
        Fl ∈ R^(Hi×Wi×C)
        → GAP → 向量 v ∈ R^C
        → 1×1 Conv 降维 → Softmax 得权重 w ∈ R^N(N=5 个 prompt components)
        → w 对可学习组件 Pc ∈ R^(N×H×W×C) 加权求和 → 输入条件提示 P

        (2) PIM:提示-特征交互
           通道拼接 → 送入标准 Transformer Block:
        – MDTA(Multi-Dconv Head Transposed Attention)
          在通道维计算自注意力,复杂度 O(C^2) 而非 O(HW^2),适合高分辨率。
          输出 Y = Wp·V·Softmax(K·Q/α)+X
        – GDFN(Gated-Dconv Feed-Forward)
          两路 1×1+3×3 深度卷积,一路 GeLU 激活后逐元乘,增强非线性且抑制噪声。
        → 3×3 Conv 输出增强特征 F̂l

三、实验结果

  1. 数据集
  2. 训练:BSD400+WED(denoising)、Rain100L(deraining)、SOTS-indoor(dehazing)合并,共约 7.7 万张128×128块。
  3. 测试:
    – BSD68、Urban100(denoising σ=15,25,50)
    – Rain100L(deraining)
    – SOTS-indoor(dehazing)
  4. 评价指标
    PSNR (dB) 、SSIM 

四.定性试验​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

去雨场景下的性能对比

单任务专用模型再对比:
 去雾:PromptIR 31.31 dB,比 AirNet 高 8.13 dB,比 Restormer 高 0.44 dB。
 去雨:37.04 dB,比 AirNet 高 2.13 dB。
 去噪 σ=50:29.39 dB(Urban100),比 AirNet 高 0.51 dB。 

去噪场景下的性能对比

定量结果(All-in-One 单模型)

全集成修复场景下的性能对比分析
去雾场景下的性能对比
图片去雨比较
图片去噪比较
  1.  去雾场景,PromptIR 彻底去除远处雾幕,建筑边缘无伪影;AirNet 有残留灰色雾墙。
     去雨场景,雨丝密度高时,PromptIR 无条纹残留,车牌文字清晰;AirNet 可见轻微雨痕。
     去噪 σ=50,纹理细节(砖缝、窗户)保持完整,无过度平滑。
  2. 消融实验
图片去雾比较
消融实验

        无 Prompt Block:平均 PSNR 降 0.38 dB。  固定 Prompt:再降 0.19 dB。 Prompt 放在编码器+解码器:性能反而下降 0.92 dB,说明“解码器单侧注入”最佳。  未见噪声水平 σ=35:AirNet 仅 13.64 dB,PromptIR 21.03 dB,差距 7.4 dB,验证泛化能力。

五、结论

PromptIR 首次把提示学习引入图像复原,用极轻量插件实现“一个模型、三种退化、盲设置”下的新 SOTA。未来工作将:

  1. 把 Prompt Block 拓展到更多退化(模糊、低分辨率、混合失真)以逼近“通用复原大模型”
  2. 结合物理退化模型与对抗训练,进一步提升极端场景鲁棒性

Read more

解决下载慢!Whisper 模型国内镜像源汇总与各版本快速获取

解决 Whisper 模型下载慢问题:国内镜像源汇总与快速获取指南 如果您在下载 OpenAI 的 Whisper 语音识别模型时遇到速度慢的问题,这通常是由于网络延迟或访问国外服务器导致的。通过使用国内镜像源,您可以显著提升下载速度(最高可达 10 倍),并快速获取不同版本(如 base、small、medium、large 等)。本指南将汇总可靠的国内镜像源,并提供分步下载方法。所有信息基于开源社区实践,确保真实可靠。 一、为什么使用国内镜像源? * 问题根源:Whisper 模型托管在 Hugging Face Hub 等国外平台,国内用户直接下载时可能受网络限制影响速度。 * 解决方案:国内镜像源通过缓存模型文件,提供本地化加速服务,减少延迟。 * 适用版本:Whisper 模型的所有官方版本均支持,包括: * whisper-base(基础版,约 74MB) * whisper-small(小型版,

【2024最全Seedance 2.0解析】:基于17篇顶会论文+3家AIGC大厂内部技术文档的架构逆向推演

第一章:Seedance 2.0 双分支扩散变换器架构解析 Seedance 2.0 是面向高保真视频生成任务设计的新型双分支扩散变换器(Dual-Branch Diffusion Transformer),其核心创新在于解耦时空建模路径:一条分支专注帧内空间语义重建,另一条分支显式建模跨帧时序动态。该架构摒弃了传统单流Transformer对时空维度的粗粒度联合编码,转而通过协同门控机制实现分支间细粒度特征对齐。 双分支协同机制 空间分支采用分层ViT结构,以16×16 patch嵌入输入,逐级下采样并保留局部细节;时间分支则将同一空间位置在多帧中的token沿时间轴堆叠,经轻量级时序注意力模块处理。两分支输出通过Cross-Gating Fusion(CGF)模块融合,其门控权重由共享的上下文感知投影器动态生成。 关键组件实现 class CrossGatingFusion(nn.Module): def __init__(self, dim): super().__init__() self.proj_s = nn.Linear(dim, dim) # 空间分支门控投影

【低代码+AI编程】GitHub Copilot各个模型区别,实现高效编程

【低代码+AI编程】GitHub Copilot各个模型区别,实现高效编程

Copilot AI模型对比说明 模型分类 🏆 高级模型 (需额外付费) 模型名称相对成本特点说明Claude Haiku 4.50.33x性价比最高,速度快,成本低Claude Sonnet 3.51.0x平衡性能与成本的主力模型Claude Sonnet 41.0x升级版本,能力更强Claude Sonnet 4.51.0x最新版本,综合表现优秀GPT-51.0x最强大旗舰,复杂推理能力顶尖Gemini 2.5 Pro1.0x超长上下文,适合处理大量文本 📊 标准模型 (包含在基础套餐内) 模型名称成本特点说明GPT-4.1免费GPT-4优化版本GPT-4o免费多模态专家,视觉语音交互强GPT-5 mini免费GPT-5轻量版,速度快Grok Code Fast 1免费编程专用,代码生成优化 选择指南 根据需求推荐: 🚀 日常使用 * 推荐:GPT-4o 或 GPT-5

llama.cpp最新版Windows编译全记录:从源码下载到模型测试(含w64devkit配置)

llama.cpp Windows编译实战:从工具链配置到模型部署全解析 在本地运行大型语言模型正成为开发者探索AI能力的新趋势,而llama.cpp以其高效的C++实现和跨平台特性脱颖而出。本文将深入探讨Windows平台下llama.cpp的完整编译流程,特别针对开发者常遇到的环境配置、API兼容性和性能优化问题进行系统化梳理。 1. 开发环境准备与工具链配置 Windows平台编译C++项目需要精心配置工具链,而w64devkit提供了一个轻量级但功能完整的解决方案。与常见的Visual Studio或MinGW-w64不同,w64devkit将所有必要工具集成在单个便携包中,特别适合需要干净编译环境的开发者。 核心组件获取步骤: 1. 访问w64devkit官方GitHub仓库,下载最新稳定版本(当前推荐1.23.0) 2. 解压至不含中文和空格的路径,例如D:\dev\w64devkit-1.23.0 3. 验证基础功能:运行w64devkit.exe后执行gcc --version 注意:Windows 7用户需确保系统已安装KB2533623补丁,否则