DiffIR: Efficient Diffusion Model for Image Restoration

问题引入

  • IR任务和image synthesis任务不同点是IR任务本身有一个很强的低质量图片作为先验,所以可以不完全遵循图片生成的范式,本文主要在compact的IPR空间进行DM;
  • 本文提出的模型分为三个部分,1)CPEN(compact IR prior extraction network)来得到IPR(IR prior representation),这个作为回归模型的指导信息;2)DIRformer回归模型,类比为decoder;3)DM来通过LQ图片得到IPR
  • 训练分为两个stage,首先第一个stage训练CPEN和DIRformer,此时CPEN输入的是高质量图片;第二个stage使用的IPR是DM得到的;

methods

  • stage1: 训练CPEN和DIRformer,首先将gt和LQ concat到一起,然后经过pixelunshuffle得到CPEN的输入,输出IPR Z = C P E N S 1 ( P i x e l U n s h u f f l e ( C o n c a t ( I G T , I L Q ) ) ) , Z ∈ R 4 C ′ Z = CPEN_{S1}(PixelUnshuffle(Concat(I_{GT},I_{LQ}))),Z\in\mathbb{R}^{4C'} Z=CPENS1(PixelUnshuffle(Concat(IGT,ILQ))),Z∈R4C′,之后IPR被送到DIRformer的DGFN和DMTA模块,第一阶段训练的损失是GT和生成HQ的L1损失,超分和inpainting任务还有erceptual loss and adversarial
    loss;
  • DMTA的操作 F ′ = W l 1 Z ⊙ N o r m ( F ) + W l 2 Z F' = W_l^1Z\odot Norm(F) + W_l^2 Z F′=Wl1Z⊙Norm(F)+Wl2Z,其中 W l W_l Wl是linear层, F , F ′ F,F' F,F′分别是输入和输出的feature map, Q = W d Q W c Q F ′ , K = W d K W c K F ′ , V = W d V W c V F ′ Q = W_d^QW_c^QF',K=W_d^KW_c^KF',V = W_d^VW_c^VF' Q=WdQWcQF′,K=WdKWcKF′,V=WdVWcVF′,其中 W d W_d Wd是depthwise卷积, W c W_c Wc是pointwise卷积,之后被reshape成 Q ^ ∈ R H ^ W ^ × C ^ , K ^ ∈ R C ^ × H ^ W ^ , V ^ ∈ R H ^ W ^ × C ^ \widehat{Q}\in\mathbb{R}^{\widehat{H}\widehat{W}\times\widehat{C}},\widehat{K}\in\mathbb{R}^{\widehat{C}\times\widehat{H}\widehat{W}},\widehat{V}\in\mathbb{R}^{\widehat{H}\widehat{W}\times\widehat{C}} Q ∈RH W ×C ,K ∈RC ×H W ,V ∈RH W ×C ,最后 F ^ = W c V ^ ⋅ S o f t m a x ( K ^ ⋅ Q ^ / γ ) + F \widehat{F}=W_c\widehat{V}\cdot Softmax(\widehat{K}\cdot \widehat{Q}/\gamma)+F F =WcV ⋅Softmax(K ⋅Q /γ)+F;
  • DGFN的操作: F ^ = G E L U ( W d 1 W c 1 F ′ ) ⊙ W d 2 W c 2 F ′ + F \widehat{F}=GELU(W_d^1W_c^1F')\odot W^2_dW_c^2F' + F F =GELU(Wd1Wc1F′)⊙Wd2Wc2F′+F;
  • stage2:同时训练三个部分,首先使用 C P E N S 1 CPEN_{S1} CPENS1得到 Z Z Z,之后经过diffusion process得到 Z T ∈ R 4 C ′ Z_T\in\mathbb{R}^{4C'} ZT∈R4C′, C P E N S 2 CPEN_{S2} CPENS2得到 D = C P E N S 2 ( P i x e l U n s h u f f l e ( I L Q ) ) D = CPEN_{S2}(PixelUnshuffle(I_{LQ})) D=CPENS2(PixelUnshuffle(ILQ)),之后进行DM,以D为条件,进行去噪t-1次得到 Z ^ \widehat{Z} Z ,和 C P E N S 1 CPEN_{S1} CPENS1得到的 Z Z Z计算损失 L d i f f = 1 4 C ′ ∑ i = 1 4 C ′ ∣ Z ^ ( i ) − Z ( i ) ∣ L_{diff} = \frac{1}{4C'}\sum_{i = 1}^{4C'}|\widehat{Z}(i) - Z(i)| Ldiff=4C′1∑i=14C′∣Z (i)−Z(i)∣,这损失和stage1的损失在一起计算总损失;

实验

相关推荐
君科程序定做6 小时前
多源遥感与深度学习视角下耕地识别与耕地监测的局限性、研究空白与科学问题
人工智能·深度学习
AI先驱体验官7 小时前
智能体变现:从技术实现到产品化的实践路径
大数据·人工智能·深度学习·重构·aigc
龙腾AI白云8 小时前
什么是AI智能体(AI Agent)
人工智能·深度学习·自然语言处理·数据分析
做个文艺程序员9 小时前
华为昇腾NPU部署开源大模型全攻略(以Qwen3-8B为例)
人工智能·深度学习·华为
gorgeous(๑>؂<๑)11 小时前
【CVPR26-索尼】EW-DETR:通过增量低秩检测Transformer实现动态世界目标检测
人工智能·深度学习·目标检测·计算机视觉·transformer
胖祥12 小时前
onnx之优化器
人工智能·深度学习
li三河13 小时前
paddleocr识别和推理,并用MNN进行推理
人工智能·深度学习·mnn
bryant_meng13 小时前
【AI】《Explainable Machine Learning》(2)
人工智能·深度学习·机器学习·计算机视觉·explanation
老鱼说AI14 小时前
大模型学习与面试精讲第六期:损失函数篇
人工智能·深度学习·神经网络·学习·机器学习·语言模型
Joker 00714 小时前
Ubuntu上安装FreeSurfer的详细流程
linux·深度学习·ubuntu