DA-CLIP:Controlling Vision-Language Models for Universal Image Restoration

conference:2024 ICLR

paper:https://arxiv.org/pdf/2310.01018

code:https://github.com/Algolzw/daclip-uir

文章目录

作者

动机

尽管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以进行数据增强。

实验效果

本文的方法和其他方法在四个特定退化数据集上的定量比较

可视化比较

四种不同算法对十类退化的表现

训练曲线证明DA-CLIP的有效性

相关推荐
FBI780980459424 分钟前
利用API接口优化电商平台的用户体验
大数据·服务器·网络·数据库·人工智能·python
小楼先森1 小时前
【数据集】医学常见9种皮肤疾病检测数据集11294张YOLO+VOC格式(已增强)
人工智能·深度学习·yolo
dundunmm1 小时前
机器学习之拟合
人工智能·深度学习·算法·机器学习·数据挖掘
坐吃山猪1 小时前
机器学习04-为什么Relu函数
人工智能·深度学习·机器学习
捂一捂啊啊1 小时前
深度学习中,用损失的均值或者总和反向传播的区别
人工智能·深度学习·均值算法
敲代码不忘补水1 小时前
PyTorch 神经网络回归(Regression)任务:关系拟合与优化过程
人工智能·pytorch·python·科技·深度学习·神经网络
第七在线(7thonline)2 小时前
AI智能决策赋能服装零售 实现精准商品计划与供需平衡
人工智能·零售
树莓集团2 小时前
什么是数字化转型?对企业发展的帮助有哪些?
大数据·人工智能·云计算·新媒体运营·媒体
清弦墨客2 小时前
点亮技术写作之路:CSDN文章创作秘籍分享
人工智能
zaim12 小时前
计算机的错误计算(一百八十六)
人工智能·python·ai·大模型·llm·误差·decimal