写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除!
前言
图像恢复是指从降级版本恢复高质量干净图像的过程。这是一个极具挑战性的病态问题,与传统方法相比,基于深度学习的修复方法已经成为更有效的选择。
基于深度神经网络的方法在解决图像恢复问题的方法上有很大的不同。一些研究在网络中加入了明确的任务特定知识来处理相应的恢复任务,如去噪、去模糊和去雾。然而,这些方法缺乏泛化,超出了特定的退化类型和水平。另一方面,一些工作侧重于开发一个健壮的架构设计,并从数据中隐式学习图像先验,针对不同的退化类型、退化水平,以及在更极端的情况下,在不同的数据集上训练相同网络的单独副本。
然而,为不同的退化类型、级别和数据分布复制相同的恢复模型是一个计算密集型且繁琐的过程,并且对于移动设备和边缘设备等资源受限的平台通常是不切实际的。此外,为了在测试期间选择合适的恢复模型,这些方法需要关于输入图像中存在的退化的先验知。
PromptIR
:一种基于提示学习的方法来执行一体化图像恢复。具有以下的特点
- 完全依赖于输入图像来恢复干净的图像,而不需要任何退化的先验知识。
- 很容易地集成到任何现有的恢复网络。。
- 具有动态适应能力
论文
论文名: PromptIR: Prompting for All-in-One Blind Image Restoration
论文速递: 点我转跳哦
代码通道: GitHub(PromptIR)
网络框架
PromptIR使用了即插即用的提示模块,它隐式地预测退化条件提示,以指导具有未知退化的输入图像的恢复过程。从提示信息中获得的指导在多个解码阶段被注入到网络中,并且具有很少的可学习参数。这允许学习一个一体化的统一模型,可以在多个图像恢复任务中表现良好(如去雨,去雾和去噪)。
网络详解
在“All-in-one”图像恢复中,目标是学习一个单一的模型
M
M
M,从退化的图像中恢复图像
I
I
I,该图像已经使用退化D进行了退化,而没有关于D的先验信息。虽然模型最初对退化的性质是“盲目的”,但它在恢复干净图像方面的性能可以通过提供关于退化类型的隐含上下文信息来增强。PromptIR是一个基于提示学习的图像恢复框架,结构如下:
对于给定的降级输入图像 I ∈ R H × W × 3 I∈\mathbb{R}^{H×W×3} I∈RH×W×3,PromptIR首先通过卷积运算提取底层特征 F 0 ∈ R H × W × C F_0∈\mathbb{R}^{H×W×C} F0∈RH×W×C ,其中H×W为空间分辨率,C为通道。接下来,特征嵌入 F 0 F_0 F0经过4级分层编解码器,转化为深度特征 F r ∈ R H × W × 2 C F_r∈\mathbb{R}^{H×W×2C} Fr∈RH×W×2C 。编解码器的每一层使用多个Transformer块,块的数量从顶层到底层逐渐增加,以保持计算效率。从高分辨率输入开始,编码器的目标是在增加信道容量的同时逐步降低空间分辨率,从而产生低分辨率潜在表示 F l ∈ R H 8 × W 8 × 8 C F_l∈\mathbb{R}^{\frac{H}{8}× \frac{W}{8}×8C} Fl∈R8H×8W×8C。
从低分辨率的潜在特征 F l F_l Fl中,解码器的目标是逐步恢复高分辨率的干净输出。为了帮助解码过程,解码过程中加入了提示块。提示块是按顺序连接每两级解码器的适配器模块。在每个解码器级别,提示块隐式地丰富输入特征,其中包含有关退化类型的信息,用于引导恢复。
提示模块
在自然语言处理和视觉任务中,已经探索了基于提示的技术,用于从源任务
S
\mathcal S
S 训练到目标任务
T
\mathcal T
T 的大型冻结模型的参数有效微调。基于提示的技术的有效性能归功于它们能够有效地将特定于任务的上下文信息编码到提示组件中。PromptIR中,提示成分是可学习的参数,它们与输入特征交互,以丰富它们的退化类型。给定N个提示组件
P
c
∈
R
N
×
H
^
×
W
^
×
C
^
P_c∈\mathbb{R}^{N×\hat{H}×\hat{W}×\hat{C}}
Pc∈RN×H^×W^×C^,输入特征
F
l
∈
R
H
^
×
W
^
×
C
^
F_l∈\mathbb{R}^{\hat{H}×\hat{W}×\hat{C}}
Fl∈RH^×W^×C^,则提示块的整体过程定义为:
提示块由两个关键组件组成:提示生成模块(PGM)和提示交互模块(PIM),下面将分别描述这两个模块。
提示符生成模块(PGM)
提示组件 P c P_c Pc形成一组可学习的参数,与输入的特征交互以嵌入退化信息。功能提示交互的一种简单方法是直接使用学习到的提示来校准功能。然而,这种静态方法可能产生次优结果,因为它与输入内容无关。因此,提出了一种基于输入特征动态预测基于注意力的权重的PGM,并将其应用于提示组件,以产生输入条件提示P。此外,PGM创建了一个共享空间,以促进提示组件之间的相关知识共享。
为了从输入特征
F
l
F_l
Fl中生成提示权值,PGM首先应用跨空间维度的全局平均池化(global average pooling, GAP)来生成特征向量
v
∈
R
C
^
v∈\mathbb{R}^{\hat{C}}
v∈RC^。接下来,将
v
v
v 通过信道降尺度卷积层得到一个紧凑的特征向量,然后进行softmax运算,从而得到提示权值
w
∈
R
N
w∈\mathbb{R}^{N}
w∈RN。最后,使用权重对提示组件进行调整,然后是3×3卷积层。总的来说,PGM过程可以总结为:
由于在推理时,需要恢复网络能够处理不同分辨率的图像,不使用固定尺寸的提示组件
P
c
P_c
Pc。因此,应用双线性上采样操作将提示分量提升到与输入特征相同的大小。
提示交互模块(PIM)
PIM的主要目标是支持输入特征 F l F_l Fl 和提示P之间的交互,以进行引导恢复。在PIM中,沿着通道维度将生成的提示与输入特征连接起来。
本文的主要贡献是提示块,它是一个插件模块,与体系结构无关。因此,PromptIR框架中,使用现有的Transformer块,而不是开发一个新的。Transformer模块由两个顺序连接的子模块组成:Multi-Dconv头转置注意(MDTA)和Gated-Dconv前馈网络(GDFN)。MDTA采用跨通道而非空间维度的自注意操作,具有线性复杂性。GDFN的目标是以一种可控的方式转换特征,即抑制信息较少的特征,只允许有用的特征通过网络传播。PIM的总体流程是:
其中
[
;
]
[;]
[;]是级联操作。MDTA公式为
Y
=
W
p
V
⋅
S
o
f
t
m
a
x
(
K
⋅
Q
/
α
)
+
X
Y = W_pV·Softmax (K·Q/α) + X
Y=WpV⋅Softmax(K⋅Q/α)+X,其中X和Y是输入和输出特征。Q、K、V分别表示查询投影、键投影、值投影,分别是通过对层归一化输入特征映射进行1×1逐点卷积和3×3深度卷积得到的。
W
p
W_p
Wp为逐点卷积,
α
α
α为可学习缩放参数,(·)为点积交互作用。GDFN的过程定义为
Z
=
W
p
0
(
ϕ
(
W
d
1
W
p
1
(
L
N
(
Y
)
)
)
⊙
W
d
2
W
p
2
(
L
N
(
Y
)
)
)
+
Y
Z = W^0_p(ϕ(W^1_d W^1_p (LN(Y)))⊙W^2_d W^2_p (LN(Y)))+ Y
Z=Wp0(ϕ(Wd1Wp1(LN(Y)))⊙Wd2Wp2(LN(Y)))+Y,其中
W
d
(
⋅
)
W^{(·)}_d
Wd(⋅)为3×3深度卷积,
⊙
⊙
⊙表示元素乘法,
ϕ
ϕ
ϕ为GELU非线性,
L
N
LN
LN为层归一化。
实验
为了证明PromptIR的有效性,对三个代表性的图像恢复任务进行了评估:图像去雾、图像去噪和图像去噪。在两种不同的实验设置下进行了实验:(a) All-in-One和(b) Single-task。在all-In-one设置中,训练了一个统一的模型,可以恢复所有三种退化类型的图像。然而,对于单任务设置,为不同的恢复任务训练单独的模型。
- 优化器:Adam (β1 = 0.9, β2 = 0.999)
- batch size
-
- all-in-one :32
-
- single-task :8
- 学习率:2e−4
对于单任务设置下的图像去噪,使用BSD400和WED数据集的组合集进行训练。BSD400数据集包含400张训练图像,WED数据集包含4,744张图像。从这些数据集的干净图像中,通过添加不同噪声水平σ∈{15,25,50}的高斯噪声来生成噪声图像。在BSD68和Urban100数据集上进行了测试。对于单任务图像训练,使用Rain100L数据集,该数据集由200对用于训练的干净雨图像对和100对用于测试的图像对组成。最后,对于单任务设置下的图像去雾,使用了包含72,135张训练图像的SOTS数据集。
实验-多重降解一体化
PromptIR与几种通用的图像恢复方法以及专门的一体化方法进行了比较。
当在不同恢复任务之间进行平均时,PromptIR比之前的最佳方法AirNet产生0.86 dB的性能增益,比第二最佳方法DL产生2.08 dB的性能增益。
具体来说,PromptIR通过在图像去雾任务上提供2.64 dB PSNR的改进,显着推进了最先进的技术。PromptIR有效地去除了输入图像中的雾霾,生成的结果比AirNet更干净。同样在图像脱除任务上,与DL和AirNet相比,所提出的PromptIR实现了3.73 dB的可观增益。
PromptIR能够去除各种方向的雨纹,并生成视觉上令人愉悦的无雨图像。最后,在去噪任务上,对于σ=50的高噪声水平,PromptIR比DL算法提供了1.16 db的提升。图6给出了定性示例,其中PromptIR再现了无噪声图像,其结构保真度优于AirNet算法。
实验-单次降解
在单任务设置下评估PromptIR的性能,即为不同的恢复任务训练一个单独的模型。这表明通过提示块的内容自适应提示对单任务网络也很有用。除雾效果见表2。
结果表明,PromptIR比AirNet提高了8.13 dB,比基线方法Restormer提高了0.44 dB。在训练和去噪任务中也可以观察到类似的趋势。例如,与AirNet相比,在Urban100数据集上,当噪声水平σ=50时,PromptIR在去噪任务上的性能提高了2.13 dB(表3),在去噪任务上的性能提高了0.51 dB(见表4)。
消融实验
PGM的影响。在Rain100L上进行了该烧蚀实验,用于离线任务。表5显示,PromptIR网络中的提示块比基线带来了0.3 dB的性能提升。此外还表明,通过PGM生成以输入内容为条件的动态提示,比固定提示组件提供了0.19 dB的有利增益。
提示块的位置:在PromptIR的层次结构中,分析了在解码器端放置提示块的位置。表6显示,在潜在空间中只使用一个提示块会降低网络的性能。然而,在解码器的每个连续级别之间合并提示块效果最好。
泛化到看不见的退化水平:取仅在噪声水平σ∈{15,25,50}上训练的模型,并在σ = 100的未见噪声水平上测试其性能。表7显示,与AirNet相比,PromptIR显示出明显优于AirNet的泛化能力,产生约7 dB的PSNR差异。
空间变异退化的性能:评估PromptIR在各种退化损坏的图像上的性能。密切关注AirNet的工作,并通过在图像的不同空间位置应用不同水平的高斯噪声σ =[0,15,25,50],从BSD68中准备了一个新的测试集。表8中的结果表明,PromptIR框架在恢复这些图像方面比AirNet更有效,提供了0.23 dB的改进。
用不同的退化组合训练模型:在表1中,报告了在所有三个恢复任务的组合数据集上训练一体化模型的结果。在这里,通过退化类型(任务)的不同组合来评估对PromptIR性能的影响。从表9)可以看出,随着退化类型的增加,网络恢复图像变得越来越困难,从而导致性能下降。
总结
总结: PromptIR提出了一个插入式提示块,它可以与输入特征交互,以动态调整表示,从而使恢复过程适应相关的降解。通过将提示块集成到SoTA恢复模型中,展示了提示块在一体化图像恢复中的效用,该模型显著改善了图像去噪、去训练和去雾任务。在未来,将把模型扩展到更广泛的损坏集,以实现通用模型的目标,以便在图像恢复任务中更好地泛化。
致谢
欲尽善本文,因所视短浅,怎奈所书皆是瞽言蒭议。行文至此,诚向予助与余者致以谢意。
参考
[1]. Vaishnav P, Syed W Z, Salman K, Fahad S K, et al. PromptIR: Prompting for All-in-One Blind Image Restoration[J], CoRR, 2023, abs/2306.13090
[2]. Markdown常见语法