AutoDIR: Automatic All-in-One Image Restoration with Latent Diffusion

AutoDIR: Automatic All-in-One Image Restoration with Latent Diffusion (Paper reading)

Yitong Jiang, The Chinese University of Hong Kong, arXiv23, Code, Paper

1. 前言

我们提出了一种具有潜在扩散的一体化图像恢复系统,名为AutoDIR,它可以自动检测和恢复具有多种未知退化的图像。我们的主要假设是,许多图像恢复任务,如超分辨率、运动去模糊、去噪、弱光增强、去雾和去噪,通常可以分解为一些共同的基算子,这些算子可以在不同方向上提高图像质量。AutoDIR旨在通过与多个图像恢复任务的联合训练,学习一个能够执行这些基本算子的统一图像恢复模型。具体而言,AutoDIR由基于CLIP的盲图像质量评估(BIQA)模块、基于潜在扩散的多功能图像恢复(AIR)模块和结构校正模块组成,BIQA模块自动检测输入图像的未知图像退化,AIR模块处理多种类型的图像退化,SCM模块进一步恢复图像结构。广泛的实验评估表明,AutoDIR在更广泛的图像恢复任务中优于最先进的方法。AutoDIR的设计还实现了灵活的用户控制(通过文本提示)和对新任务的泛化,作为图像恢复的基础模型。

2. 整体思想

整体思想就是分类不同降质,然后混合训练的扩散模型+增强模型,每一步根据分类的类型处理不同降质。仅仅扩散模型效果可能不好,也可能图片的condition方式不好。微调整个CLIP感觉有点多余,不如用分类器。思想是普通的,实验不太充分。

3. 方法

在这里插入图片描述
我们提出了AutoDIR,这是一种用于图像恢复的自动一体式模型,能够处理多种类型的图像退化,包括弱光、雾等。左:通过AutoDIR进行多任务图像恢复的管道,其中所述盲图像质量评估(BIQA)模块检测损坏图像的主要退化,并用文本提示指示基于潜在扩散的一体式图像恢复模块(AIR)进行恢复。结构校正模块(SCM)进一步改进了恢复图像的细节。对于退化程度未知的图像,例如以绿色虚线为边界的显示不足的相机图像,AutoDIR会自动将任务分解为多个步骤。右图:AutoDIR可以有效地恢复不同退化的干净图像,并可以处理未知退化的图像。(放大查看详细信息)。AutoDIR由一下结构组成:

  1. 盲图像质量评估(BIQA):该模块自动识别输入图像中存在的主要退化,如噪声、模糊、雾度,并生成相应的文本提示,表示为eauto,随后用于图像恢复过程。
  2. 一体式图像恢复(AIR):该模块基于预先训练的潜在扩散模型进行微调。在来自BIQA(或用户提供)的文本嵌入 e a u t o e_{auto} eauto的指导下,AIR模块输出恢复的图像 I s d I_{sd} Isd
  3. 结构校正模块(SCM):SCM是一个轻量级的卷积网络,旨在进一步恢复图像细节并校正 I s d I_{sd} Isd中的剩余失真。该恢复过程的输出是最终恢复的图像,表示为 I r e s I_{res} Ires

3.1 盲图像质量评估(BIQA)

我们使用CLIP模型作为我们的BIQA骨干。然而,由于CLIP是为强调语义信息而非图像质量的视觉识别任务预先训练的,因此它不能直接用于BIQA。下图左可以看到,原始CLIP对于清晰和有雾的图像无法在空间中分离,作者的目的是得到右边的,即不同任务的图像属于特定的空间。
在这里插入图片描述

为了克服这一点,作者分两个步骤来解决这个问题:(i)我们构建了一个新的图像质量评估任务来微调CLIP。(ii)我们为图像质量感知训练提出了一个新的正则化术语。

在这里插入图片描述

首先,作者冻结文本编码器并全微调图像编码器。作者在这里构建了正则本文输入,也就是固定句式只改变 c i { } c_i\{\} ci{},然后将文本输入到 ϵ T \epsilon_T ϵT中且降质图像输入到 ϵ I \epsilon_I ϵI中,获得的本文和图像编码计算他们的cosine相似性:

在这里插入图片描述

然后通过softmax取最大概率获得相应的text embedding:

在这里插入图片描述
然后作者使用多类保真度损失(multi-class fidelity loss)对图像编码器进行微调:

在这里插入图片描述

其中, y ( c i ∣ I ) y(c_i|I) y(ciI) c i c_i ci属于 I I I图片当降质类型为1,其他为0。这个损失的意思就是最大化 p ^ ( c i ∣ I ) \hat p(c_i|I) p^(ciI)这个概率。这种微调的方式还是无法区分域,如第一张图b所示。作者提出语义不可知损失(semantic-agnostic loss)解决这个问题(见第一张图c):

在这里插入图片描述

这个损失的意思和 L F I D L_{FID} LFID正好相反,这个损失是降质图像对应的GT匹配当前类型的概率尽可能的小,则最后的总损失函数为:
L B I Q A = L F I D + L S A L_{BIQA} = L_{FID} + L_{SA} LBIQA=LFID+LSA

3.2 All in one 图像复原 (AIR)

AIR模块是基于潜在扩散模型设计的,利用文本和图像嵌入条件来恢复具有生成先验的图像 I s d I_{sd} Isd。为了使文本条件能够指导不同的图像恢复,我们结合了交叉注意,将文本条件映射到潜在扩散模型的时间条件UNet主干的中间层。对于图像条件,我们将图像条件 z I z_I zI与噪声潜像 z t z_t zt连接起来,并将它们馈送到UNet主干。

3.3 结构校正模块 (SCM)

具体方法是一个神经网络F,输入是latent diffusion的输出和降质图像concat起来。这么做的话,我们需要先通过扩散采样得到输出 z z z,这是费时的。作者直接用任意时间步预测的 z ~ \tilde z z~来作为扩散采样的输出 z z z,损失函数如下:
L S C M = ∣ ∣ I g t − ( F ( D ( z ~ ) , I ) + D ( z ~ ) ) ∣ ∣ 2 2 L_{SCM} = ||I_{gt}-(F(D(\tilde z), I)+D(\tilde z))||_2^2 LSCM=∣∣Igt(F(D(z~),I)+D(z~))22
这里F是SCM模型,I是降质图像,D是VAE的解码器,其实F就是学习残差。如下图可以看到,他这个扩散模型的效果很差啊!!!没有这个SCM的话效果一定不行,所以他加SCM这个。

在这里插入图片描述

4. 实验

·不知道作者为什么只对比了2个,而且SD不算吧,至少也应该比一比不同任务的baselines啊?
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


·所谓的多步骤处理不同降质消融实验。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/181937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

西南科技大学信号与系统A实验三(线性连续时间系统的分析)

一、实验目的 1.掌握用 matlab 分析系统时间响应的方法 2.掌握用 matlab 分析系统频率响应的方法 3.掌握系统零、极点分布与系统稳定性关系 二、实验原理 1. 系统函数 H(s) 系统函数:系统零状态响应的拉氏变换与激励的拉氏变换之比. H(s)=R(s)/E(s) 在 matlab 中可采用…

图片伪装,将RAR文件隐藏到图片里

下载链接 效果图: 代码: ECHO OFF TITLE PtoR MODE con COLS55 LINES25 color 0A:main cls echo.当前时间:%date% %time% echo.欢迎使用图片伪装,本脚本可以将RAR文件隐藏到图片里. echo.set /p "imagefile①请拖入图像文件…

数据仓库数据管理模型

数据仓库分为贴源层、数据仓库层、数据服务层,有人叫做数仓数据模型,或者叫"数据管理模型”。 我们为什么要进行数据分层管理,下图的优点介绍已经说得比较明确,再补充几点: 保障数据一致性:上层的数…

最简单的Python程序员编辑器——学习Python的第二篇

第二章 基础 安装python 按照上一期的教程安装,如果有什么问题可以提出阿莱 安装完之后,在电脑的程序中查找SHELL 这里是Win10,win11你也是到程序菜单查找。 你可以把把它点击右键,保存到桌面上,或者固定到开始菜单…

数组元素积的符号

数组元素积的符号 描述 : 已知函数 signFunc(x) 将会根据 x 的正负返回特定值: 如果 x 是正数,返回 1 。如果 x 是负数,返回 -1 。如果 x 是等于 0 ,返回 0 。 给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的…

leetcode 283. 移动零

代码&#xff1a; class Solution {public void swap(int[] nums,int m,int n){int tmpnums[m];nums[m]nums[n];nums[n]tmp;}public void moveZeroes(int[] nums) {int cur0;int dest-1;int nnums.length;for(;cur<n;cur){if(nums[cur]!0){dest;swap(nums,cur,dest);}}} } …

数字系列——数字经济(2)​

上次呢&#xff0c;已经为大家捋了什么是数字经济&#xff1f;、数字经济的特点有哪些&#xff1f;和数字经济的构成&#xff0c;对于数字经济有了基础性的了解&#xff0c;今天继续为大家捋一捋。 数字经济的发展 1.互联网的普及 互联网作为数字经济的坚实基础&#xff0c;其…

香港身份、香港永居身份、香港护照区别,三种证件之间是什么关系?

香港身份、香港永居身份、香港护照区别&#xff0c;三种证件之间是什么关系&#xff1f; 在港“通常性”住满7年之后&#xff0c;可以申请永居身份&#xff01; 香港身份&#xff1a;也可以称之为临时身份&#xff0c;无论通过香港优才计划、高才通计划、专才计划或者留学拿身份…

基于QT的俄罗斯方块游戏设计与实现

基于QT的俄罗斯方块游戏设计与实现 摘要&#xff1a;信息时代正处于高速发展中&#xff0c;而电子游戏已经成为人生活中或不可少的消磨工具之一。科技时代在不断地高速发展中&#xff0c;游戏相关编程设计也随着发展变得越来越重要&#xff0c; 俄罗斯方块游戏是一款古老传遍世…

引领Serverless构建之路,亚马逊云科技re:Invent 2023首日主题演讲重磅发布

在每年的亚马逊云科技re:lnvent大会&#xff0c;由Peter DeSantis带来的《周一晚间直播》是re:lnvent大会的第一个并让人值得期待的主题演讲。作为亚马逊云科技高级副总裁&#xff0c;Peter发布了数据库和应用领域的三项Serverless创新&#xff0c;使客户能够更快、更轻松地扩展…

Java最难的语法<泛型>

时间过得很快&#xff0c;我们马上就进入了&#xff0c;Java最难语法的学习&#xff0c;加油吧&#xff01; 1.包装类 想要学好泛型就要了解包装类。 在Java中&#xff0c;由于基本类型不是继承自Object&#xff0c;为了在泛型代码中可以支持基本类型&#xff0c;Java给每个…

基于springBoot实现的学生成绩在线管理

一、系统架构 前端&#xff1a;html | js | css | jquery | bootstrap 后端&#xff1a;springboot | ibatis 环境&#xff1a;jdk1.7 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 管理员-首页 03. 管理员-学生管理 04. 管理员-教师管理 05. 管理员-班级管…

任务管理流程及任务管理工具

Leangoo领歌是一款永久免费的专业的敏捷开发管理工具&#xff0c;提供端到端敏捷研发管理解决方案&#xff0c;涵盖敏捷需求管理、任务协同、进展跟踪、统计度量等。 Leangoo支持敏捷研发管理全流程&#xff0c;包括小型团队敏捷开发&#xff0c;规模化敏捷SAFe&#xff0c;Scr…

【LeetCode】每日一题 2023_11_29 无限集中的最小数字(哈希/堆)

文章目录 刷题前唠嗑题目&#xff1a;无限集中的最小数字题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 今天的题目也比较的简单&#xff0c;因为数据量不大&#xff0c;所以什么做法都能过的去 题目&a…

主流之选!Galaxybase荣获工信部赛宝信创解决方案全国三等奖

喜报&#xff01;“创邻图智能方案”再获工信部官方认可&#xff01; 11月23日&#xff0c;由工业和信息化部电子第五研究所和中国通信企业协会联合主办的“第二届中国赛宝信息技术应用创新优秀解决方案征集活动”结果正式公布&#xff0c;创邻科技Galaxybase智能风控解决方案…

leetcode刷题详解十一

⭕️583. 两个字符串的删除操作 思路&#xff1a;核心代码就是最长公共子序列&#xff0c;但是需要注意的是结果 就是如果说公共子序列为0&#xff0c;则需要两个字符串长度的才行 如果有&#xff0c;就是 n m ∗ 2 d p [ n ] [ m ] nm*2dp[n][m] nm∗2dp[n][m] int minDist…

【LeetCode刷题】数组篇1

&#x1f387;数组简单题Part &#x1f308; 开启LeetCode刷题之旅 &#x1f308; 文章目录 &#x1f387;数组简单题Part&#x1f370;1.两数之和&#x1f451;思路分析1.暴力法2.哈希表法 &#x1f370;26.删除有序数组中的重复项&#x1f451;思路分析1.双指针2.利用vector…

Trapcode Suite 2024.0.2

Trapcode Suite是一款用于在After Effects中模拟和建模3D粒子和效果的软件。 该软件包包含11种不同的工具&#xff0c;可以帮助用户模拟火、水、烟、雪等粒子效果&#xff0c;以及创建有机视觉效果和3D元素。它还支持在AE与PR 2022插件&#xff0c;使得用户可以轻松地在后期制作…

11月第4周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!

飞瓜轻数发布2023年11月20日-11月26日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数、带货数据等维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营…

《第一行代码:Android》第三版-如何为一个Activity添加layout文件

确切地说就是讲如何给一个不带view的Activity添加一个view&#xff0c;就是添加一个layout文件。 新建安卓项目&#xff0c;如果选择&#xff1a;就会给你创建一个没有view的Activity&#xff0c;如果后来你发现需要为这个Activity添加view&#xff0c;就是添加一个布局文件怎…