conference:2024 ICLR
paper:https://arxiv.org/pdf/2310.01018
code:https://github.com/Algolzw/daclip-uir
文章目录
- 作者
- 动机
- 核心思想
- 常见解决方案
- 挑战
- 本文解决方法
- 贡献
- 方法
- 基本框架
- Controller的优化与Loss函数
- 数据对的生成
- 基本框架
- 数据展示
- 实验
- 实验细节
- 实验效果
- 本文的方法和其他方法在四个特定退化数据集上的定量比较
- 可视化比较
- 四种不同算法对十类退化的表现
- 训练曲线证明DA-CLIP的有效性
作者
动机
尽管CLIP在high-level的视觉任务中有较好的性能,但当涉及到low-level的视觉任务(如图像恢复)时,由于输入图像的退化,它们的性能会急剧下降。因此本文方法的核心就是控制预训练的CLIP模型,能够从退化图像中输出高质量的图像特征,并且同时预测退化类型。
核心思想
使用单一模型在多个任务和数据集上进行恢复。
- 对不同退化类型有更好的泛化能力。
- 能高效地部署于实际应用中。
常见解决方案
针对退化分类训练单独的模块
- AirNet [1] 使用对比学习训练一个额外的编码器来区分退化类型。
- PromptIR [2] 采用视觉提示模块来指导不同任务的恢复。
局限性:它们受限于少量的退化类型和特定数据集!
挑战
- 由于不同任务的数据集不平衡,导致预测不准确。
- 没有合适的方法利用退化来进行图像恢复。
本文解决方法
大规模预训练视觉 - 语言模型!!!
贡献
- 提出了DA - CLIP(Degradation-Aware CLIP),利用视觉 - 语言模型进行通用图像恢复。关键组件是一个 image controller ,它可以预测退化情况,并调整固定的CLIP图像编码器,以便从损坏的输入中输出高质量的内容嵌入。
- 使用交叉注意力将高质量的内容嵌入整合到不同的图像恢复网络中,以提高它们的性能。此外,引入了一个提示学习模块,以便更好地利用退化背景进行统一的图像恢复。
- 构建了一个包含十种不同退化类型的混合退化数据集,并配有高质量的合成标题。该数据集可用于训练DA - CLIP或统一图像恢复模型。
- 通过将DA - CLIP应用于特定退化和统一图像恢复的图像恢复模型,展示了DA - CLIP的有效性。我们的方法在所有十种退化类型上都取得了极具竞争力的性能。
方法
基本框架
Controller的优化与Loss函数
对于image controller的优化,首先冻结预训练的CLIP模型,只更新controller。这里使用的是一个对比损失,假设一个训练的batch中,共有N个样本,则Loss如下:
L
con
(
x
,
y
)
=
−
1
N
∑
i
=
1
N
log
(
exp
(
x
i
T
y
i
/
τ
)
∑
j
=
1
N
exp
(
x
i
T
y
j
/
τ
)
)
\mathcal{L}_{\text{con}}(\mathbf{x}, \mathbf{y}) = - \frac{1}{N} \sum_{i = 1}^{N} \log \left( \frac{\exp (\mathbf{x}_i^T \mathbf{y}_i / \tau)}{\sum_{j = 1}^{N} \exp (\mathbf{x}_i^T \mathbf{y}_j / \tau)} \right) \
Lcon(x,y)=−N1i=1∑Nlog(∑j=1Nexp(xiTyj/τ)exp(xiTyi/τ))
其中
(
x
,
y
)
(x,y)
(x,y) 为归一化后的
(
e
c
T
,
e
c
I
)
(e^T_c, e^I_c)
(ecT,ecI) 或
(
e
d
T
,
e
d
I
)
(e^T_d, e^I_d)
(edT,edI),
τ
\tau
τ是一个可学习的超参数,用于控制对比学习的力度。
数据对的生成
基本框架
使用BLIP,通过高质量的图像生成准确的、干净的文本,并与对应的退化图像、退化类型进行组合。
数据展示
实验
实验细节
在四个NVIDIA A100 GPU上训练DA-CLIP模型50个epoch加粗样式。对于恢复模型,使用16的批量大小,并随机将图像裁剪为256 × 256以进行数据增强。