当前位置: 首页 > news >正文

DA-CLIP论文阅读笔记

在这里插入图片描述

  • 这是ICLR2024的一篇用VLM做multi-task image restoration的论文
  • 首页图看起来就很猛啊,一个unified模型搞定10个任务:
    在这里插入图片描述
  • 文章的贡献点主要是两个,一个是提出一个利用Image Controller,CLIP,cross-attention 和 diffusion restoration network 来实现 unified image restoration 的框架,一个是提出了一个数据集,有10种 degradation types 同时配有 hig-quality 的 synthetic captions。
  • 文章提出的框架如下图所示,要train的是两个东西,一个是image controller,一个是restoration network:
    在这里插入图片描述
  • Image controller的作用是从corrupted image feature 变成 high quality image feature,同时输出degradation type。train好的controller可以用来提取degradation prompt,同时把image encoder的特征变成HQ的特征,prompt用来指导restoration 的diffusion,HQ特征用来和diffusion的特征算cross attention,从而实现一个unified 模型解决multi-task restoration。
  • Image Controller是从CLIP copy过来的一个image encoder,和CLIP 的image encoder之间用全连接相连,全连接初始化为0(Adding conditional control to text-to-image diffusion models),对CLIP image encoder的影响是通过残差的方式,直接加到每一层上面去:
    在这里插入图片描述
  • train这个模型用的是对比损失,需要的数据集是LQ图片,对应每张LQ图片需要有两个text,一个是对LQ图片内容的clean描述,即描述中不包含degradation,一个是degradation的描述,损失如下。其实就是对controller的两个输出分别算损失,degradation prompt的输出要和degradation的描述提取的text feature计算对比损失,controller控制到的image encoder的输出要和clean的描述提取的text feature计算对比损失:
    在这里插入图片描述
    在这里插入图片描述
  • train完这个模块,只需要把从LQ上提取到的图像特征和text特征注入到diffusion的网络中作为输入之一,在包括多种degradation的成对数据集上train这个diffusion网络即可,注入的方法和使用的网络都是现有的工作(包括用作diffusion模型的IR-SDE(Image restoration with mean-reverting stochastic differential equations),用了这个工作的cross attention(High-resolution image synthesis with latent diffusion models)),文章就没有仔细介绍。text特征在注入前用了prompt learning(Learning to prompt for visionlanguage models)的方式,加了个模块才注入:
    在这里插入图片描述

实验结果

  • 首先确实是有效的,从两点可以证明,一点是相比没有加DA-CLIP的baseline模型,性能是提高了的。第二点是相比直接用原来的CLIP提取的特征进行cross attention,用DA-CLIP提取的特征进行cross attention效果更好(没有加degradation prompt)。文章其实做了非常非常多的实验,感兴趣可以自己去论文中看,直观感受是虽然通用性是提高了,但是每个任务上的性能其实并不是很高,从Figure8就可以看出来无论是inpainting还是denoising,效果都并不是很好。
  • 此外,我比较好奇的是,这样一种unified image restoration的思路,能不能在训练完后,对混合视觉增强,即一张图上同时有多种degradation,来实现restoration呢。从附录本文给的LIMITATION可以看到,作者认为是不能的,证据是一张有阴影的雨图,模型只进行了去雨,没有把阴影去掉。说明prompt并没有混合degradation,而是体现了效应最明显的degradation。
    在这里插入图片描述
    在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何在VSCode中修改默认终端
  • 如何使用JMeter 进行全链路压测
  • 【Linux取经路】线程同步——条件变量
  • 1、什么是模块化,为什么要模块化?2、衡量模块独立的定性标准是什么?用自己的话表达其含义3、如何理解信息隐藏和局部化?用自己的话或者例子表达其含义
  • JavaScript异步编程:理解和使用Promise、Async/Await
  • Sentinel的授权规则详解
  • 浅析FAT32文件系统
  • 洗地机十大品牌排名:2024十大值得入手的洗地机盘点
  • 高德地图PlaceSearch标记点清除
  • vite+ts+mock+vue-router+pinia实现vue的路由权限
  • C# NetworkStream 流的详解与示例
  • 【Linux学习】深入了解Linux中进程状态及其转换
  • golang中的字节序 binary BigEndian 大端 , LittleEndian 小端 理解与write写入注意事项
  • docker 版 mysql 主从同步
  • idea 出现 cpu占用100%
  • 《深入 React 技术栈》
  • Apache Pulsar 2.1 重磅发布
  • CSS实用技巧
  • DataBase in Android
  • Docker: 容器互访的三种方式
  • docker-consul
  • Java小白进阶笔记(3)-初级面向对象
  • Lucene解析 - 基本概念
  • Python中eval与exec的使用及区别
  • Redis 中的布隆过滤器
  • spring学习第二天
  • Zepto.js源码学习之二
  • 从0到1:PostCSS 插件开发最佳实践
  • 从输入URL到页面加载发生了什么
  • 高程读书笔记 第六章 面向对象程序设计
  • 机器学习学习笔记一
  • 聊聊sentinel的DegradeSlot
  • 前端代码风格自动化系列(二)之Commitlint
  • 原生Ajax
  • HanLP分词命名实体提取详解
  • ​浅谈 Linux 中的 core dump 分析方法
  • ​如何防止网络攻击?
  • # 飞书APP集成平台-数字化落地
  • #Lua:Lua调用C++生成的DLL库
  • #pragma 指令
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (第61天)多租户架构(CDB/PDB)
  • (二) 初入MySQL 【数据库管理】
  • (十八)三元表达式和列表解析
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (数据结构)顺序表的定义
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转) ns2/nam与nam实现相关的文件
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .bat批处理(一):@echo off