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的有效性

相关推荐
wayman_he_何大民2 分钟前
初始机器学习算法 - 聚类分析
前端·人工智能
TDengine (老段)9 分钟前
TDengine IDMP 高级功能(4. 元素引用)
大数据·数据库·人工智能·物联网·数据分析·时序数据库·tdengine
curdcv_po10 分钟前
😲AI 💪🏻超级 整合时代 已经 到来~
人工智能·trae
*星星之火*16 分钟前
【GPT入门】第47课 大模型量化中 float32/float16/uint8/int4 的区别解析:从位数到应用场景
人工智能·gpt
aneasystone本尊1 小时前
学习 Coze Studio 的工作流执行逻辑
人工智能
aneasystone本尊1 小时前
再学 Coze Studio 的智能体执行逻辑
人工智能
xuanwuziyou1 小时前
LangChain 多任务应用开发
人工智能·langchain
新智元2 小时前
一句话,性能暴涨 49%!马里兰 MIT 等力作:Prompt 才是大模型终极武器
人工智能·openai
猫头虎2 小时前
猫头虎AI分享|一款Coze、Dify类开源AI应用超级智能体Agent快速构建工具:FastbuildAI
人工智能·开源·github·aigc·ai编程·ai写作·ai-native
新智元2 小时前
AI 版华尔街之狼!o3-mini 靠「神之押注」狂赚 9 倍,DeepSeek R1 最特立独行
人工智能·openai