基本信息:
- 标题:CONTROLLING VISION-LANGUAGE MODELS FOR MULTI-TASK IMAGE RESTORATION
- 作者:Ziwei Luo, Fredrik K. Gustafsson, Zheng Zhao, Jens Sjölund, Thomas B. Schön
- 机构:Department of Information Technology, Uppsala University
- 发表日期:该论文是在2024年的ICLR(International Conference on Learning Representations)会议上发表的。
- paper
https://openreview.net/pdf?id=t3vnnLeajU
简介:
文章提出了一种名为DA-CLIP(Degradation-Aware CLIP)的新型视觉-语言模型,旨在通过结合大规模预训练的CLIP模型与图像恢复网络,提高多任务图像恢复的性能。文章的主要成果包括:
-
DA-CLIP模型:开发了一个能够适应固定CLIP图像编码器以预测高质量特征嵌入的额外控制器。该控制器还能输出与输入图像实际退化类型相匹配的退化特征。
-
多任务图像恢复:DA-CLIP能够在统一的框架下处理特定的图像退化任务,如去雾、去噪、去模糊等,实现高质量的图像恢复。
-
混合退化数据集:构建了一个包含十种不同图像退化类型的大型数据集,并使用BLIP框架为高质量图像生成合成标题,用于训练DA-CLIP。
模型结构:
具备退化类型检测功能,Image Controller对CLIP的图像编码器微调
IR-SDE(一种均值回归微分方程,如下图)稍作修改作为图像恢复的基本框架。。论文没有给出具体复原模型的框架图,但对思路进行了描述
图像复原论文解读:IR-SDEhttps://blog.youkuaiyun.com/qq_20448873/article/details/130457619
相关文章解读:
CONTROLLING VISION-LANGUAGE MODELS FOR MULTI-TASK IMAGE RESTORATION_controlling vision-language models for universal i-优快云博客https://blog.youkuaiyun.com/qq_43800752/article/details/134670677图像恢复最近的工作 - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/686235079UniversalImageRestoration | 多任务图像修复-腾讯云开发者社区-腾讯云 (tencent.com)
https://cloud.tencent.com/developer/article/2350183图像重建《Controlling Vision-Language Models for Universal Image Restoration》 - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/6701295262023 ICML | 用于通用图像复原的可控视觉与语言模型 - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/680311992
实验目标
codehttps://github.com/Algolzw/daclip-uir
readme.md中提示app.py中已有Gradio写好的运行界面。
- 下载DA-CLIP和UIR并修改在options/test.yml的模型地址
- 运行app.py在http://localhost:7860
!安装虚拟环境,注意请阅读完本人踩过的坑
-
下载的要么统一mix版或统一非mix版,不然可能出现无法识别的情况。
readme有Ubuntu的参考,但博主尝试在windows中运行。
在Anaconda Prompt 创建conda虚拟环境或者在Anaconda3 Navigator创建,python3.8
想在Anaconda Prompt的项目目录下
pip install -r requirement.txt
但是一直报错无法全部安装(解决办法,一份为多份文件逐次安装)。原因有,
- 下载源网络连接太差httpconnection error,几十kb/s;(解决办法,换源)
Pip install ** -i https://pypi.tuna.tsinghua.edu.cn/simple/
-
yanked version(已撤回的包版本,不记得哪个包,没有管)
-
nvidia-nccl-cu11==2.14.3报错(不安装了)
-
nvidia-cudnn-cu11==8.5.0.96版本不存在(换新版本)
-
一个python,import问题但实质是导的包问题
地址没错,但无法调用函数,原来是import另一个文件出错,但是被pass掉了
-
注意torch相关需要安装GPU版本,否则运行报错,或者修改配置文件和相关代码?还未尝试使用CPU运行
- 环境配置:选择正确版本的CUDA和PyTorch安装(windows) - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/672526561
-
下载模型修改地址,博主在本地采用绝对地址,需要修改下文的部分代码来适配训练和测试,注意不要混用模型否则会出现意想不到的问题,参考问题1有解释。
-
options.py的prase方法有一处需要将/改为\\,原因是源代码的工作环境是Linux,而博主采用的是windows的绝对路径名,附上代码注释
config_dir = path.split("/")[-2] 修改为 config_dir = path.split("\\")[-2]
运行及相关结果
-
界面完善功能齐全。提供的10个样例都能成功运行。具备上传下载,展示对比进度读秒等功能。
- 部分素材包图像可复原,readme中有素材包链接
-
问题1:素材包和外部数据集有无法识别任务的情况,下图本意应该是去噪。
问题分析:daclip模型和图像恢复参数版本不匹配,导致无法识别或识别后无法修复。修改为统一mix版或非mix版。博主原先下载的版本:
修改后正常去噪:
-
问题2:素材包的动作模糊样例全都out of menory,本地GPU运行内存只有6G不够
-
尝试使用gradio添加外网访问链接。
需要在app.py最后一行改为
interface.launch(share=True)
由于下载的gradio包缺少frpc,无法穿透外网需要对应包的支持
1. Download this file: https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_windows_amd64.exe
2. Rename the downloaded file to: frpc_windows_amd64_v0.2注意把后面的.exe删去不然无法运行
3. Move the file to this location: C:\Users\86136\anaconda3\envs\DA-CLIP\lib\site-packages\gradio博主的虚拟环境地址中的gradio包的位置,修改为你自己的地址
如果无法连接huggingface,参考下面博文
需要等一会才能打开。注意关掉梯子才能出外网链接。不然只会提示你查看gradio的连接状态
-
还未尝试更多外部数据集测试。用手机拍的照片容易OOM