超分扩散模型 SR3 可以做图像去雨、去雾等恢复任务吗?

news2024/11/15 12:32:44

文章目录

      • 前言
      • 代码及原文链接
      • 主要的点
      • 如何进行图像恢复

前言

关于扩散模型以及条件扩散模型的介绍,大家可以前往我的上一篇博客:扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码。

SR3是利用扩散模型进行图像超分辨率研究的,它在使用低分辨率图像作为条件来进行反向采样时先将低分辨率图像直接上采样到高分辨率图像。因此,它通过一些改进可以作为图像恢复这种输入与输出图像大小相等的任务。

代码及原文链接

在这里插入图片描述
原文:https://arxiv.org/abs/2104.07636
源代码:https://github.com/Janspiry/Image-Super-Resolution-via-Iterative-Refinement
我用它来做图像恢复的代码:图像去雨、去雾等恢复任务:代码简化的SR3扩散模型,有注释及实验流程

主要的点

SR3模型将DDPM中的残差块替换为BigGAN的残差块,并将跳跃连接重新缩放 1 2 \frac{1}{\sqrt{2}} 2 1
增加了剩余块的数量,以及不同分辨率下的通道乘法器。
还有一个拼接操作,就是将低分辨图像直接上采样后的图像与噪声图像进行拼接,从而实现条件噪声估计。

如何进行图像恢复

  1. 源代码中包括大量的小文件,不适合初学者调试和使用。
  2. 我根据其核心代码进行简化,将一些不必要的代码文件和代码块删除,并在Rain13K (就是MPRNet、Restormer等方法使用的去雨数据集) 上进行了实验,目前取得不错的表现。可以参考下边的对比。
    在这里插入图片描述在这里插入图片描述
  3. 其他的任务应该也是可以直接使用的,只需要修改一下配置文件中的数据集路径即可。
  4. 需要使用SR3扩散模型做图像去雨、去雾等恢复任务的可以前往:图像去雨、去雾等恢复任务:代码简化的SR3扩散模型,有注释及实验流程。
  5. 附上一组在Rain13K训练集上训练,在Rain100H上测试的结果。源代码中的迭代次数为1, 000, 000,我这里是只迭代了 180, 000次后进行测试的结果。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

优化Facebook广告ROI的数据驱动方法:从投放到运营

“投放广告并不是最终的目的,关键在于如何最大程度地利用数据驱动的方法来提高广告投放的回报率(ROI)”Facebook广告是现代数字营销中最为常见和重要的广告形式之一。但是,要让Facebook广告真正发挥作用,需要通过数据驱…

Allegro如何自动添加测试点操作指导

Allegro如何自动添加测试点操作指导 在做PCB设计的时候,在一些应用场合下需要给PCB上的网络添加测试点,如下图 测试点除了可以手动逐个添加之外,Allegro还支持自动添加测试点,具体操作如下 点击Manufacture点击Testprep

PlantUML画出如女神漂亮的流程图

一:环境准备 1,本地安装好vscode 2,vscode安装PlantUML插件 3,本地安装java环境,我本地用的是jdk-11.0.178,配置好环境变量 4,在vscode上新建一个文件以wsd结尾,输入以下两行&#x…

Go语言容器之数组和切片

Go语言的容器分为值类型和引用数据类型 一、数组 1.数组的声明和初始化 (1) 数组声明的语法 var 数组变量名 [数组大小]数组类型 举例: package main import "fmt"func main(){//数组的声明var arr[10]int//打印数组长度fmt.Println("arr的长度为…

《Java高并发核心编程. 卷1, NIO、Netty、Redis、ZooKeeper》 读书笔记

第2章 高并发IO的底层原理 2.1 IO读写的基本原理 为了避免用户进程直接操作内核,保证内核安全,操作系统将内存(虚拟内存)划分为两部分:一部分是内核空间(Kernel-Space),另一部分…

Ubantu docker学习笔记(二)拉取构建,属于你的容器

文章目录一、拉取启动容器二、本地镜像初解三、构建镜像3.1使用docker commit构建镜像切换阿里镜像3.2使用dockerfile构建镜像四、总个结吧这里的话,就详细说说小唐对于容器的配置,对了!小唐参考的书籍是Linux容器云实战!&#xf…

做更好的自己!NAS部署wiki.js现代化知识管理工具,让知识上云!

知识管理是一个永恒的课题,各种方法、工具层出不穷。老Q这么多年也体验过了非常多的工具,这几年来,老Q使用的工具逐步从付费迁移到开源,从公有云迁移到私有云。前者是为了折(SHENG)腾 (QIAN&…

红黑树的介绍和实现

文章目录1. 红黑树1.1 红黑树的概念1.2 红黑树的性质1.3 红黑树节点的定义1.4 红黑树的插入1.5 红黑树的验证1.6 红黑树与AVL树的比较1. 红黑树 1.1 红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以…

linux 内存泄露检测工具-Valgrind的使用

Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。安装,我是先valgrind一下发现这个的版本apt install valgrind # version 1:3.15.0-1ubuntu9.1新建一个项目与添加一个main.c编辑main.c的代码:#include <stdio.h> /*标准输入输出定义*/ #incl…

springcloud3 GateWay

一 GateWay 1.1 GateWay的作用 gateway相当于所有服务的门户&#xff0c;将客户端请求与服务端应用相分离&#xff0c;客户端请求通过gateway后由定义的路由和断言进行转发&#xff0c;路由代表需要转发请求的地址&#xff0c;断言相当于请求这些地址时所满足的条件&#xff…

Mybatis中的一级缓存和二级缓存

Mybatis作为一款强大的ORM框架&#xff0c;其中也用到了缓存来加速查询&#xff0c;今天我们一起来探讨下。 Mybatis可以使用懒加载来提高查询的效率&#xff0c;并且可以通过缓存来提高查询的效率。其中包括有一级缓存和二级缓存。 一级缓存是sqlSession级别的缓存&#xff0c…

怎么给电脑分盘与合并磁盘?教你三招

电脑只有一个C盘&#xff0c;想要再分出一个或多个分区&#xff0c;怎么办&#xff1f;电脑C盘的容量太小&#xff0c;太容易满了&#xff0c;想重新分盘&#xff0c;或者把其他盘跟它合并&#xff0c;但因为文件太多备份实在是太麻烦&#xff0c;怎么办&#xff1f;怎么给电脑…

tomcat 启动时卡住问题排查

正常项目无法访问&#xff08;Linux 服务器&#xff09;&#xff0c;启动tomcat时卡在下图位置&#xff0c;项目无法启动。 1、先检查tomcat日志、项目日志没有报错信息&#xff0c;且没再产生新的日志信息。 2、jdk、tomcat 、 jvm 配置&#xff0c;服务器环境、内存、存储没…

论文阅读:Adversarial Cross-Modal Retrieval对抗式跨模式检索

Adversarial Cross-Modal Retrieval 对抗式跨模式检索 跨模态检索研究的核心是学习一个共同的子空间&#xff0c;不同模态的数据可以直接相互比较。本文提出了一种新的对抗性跨模态检索&#xff08;ACMR&#xff09;方法&#xff0c;它在对抗性学习的基础上寻求有效的共同子空间…

JVM学习笔记九:对象实例化与直接内存

0. 前言 声明&#xff1a; 感谢尚硅谷宋红康老师的讲授。 感谢广大网友共享的笔记内容。 B站&#xff1a;https://www.bilibili.com/video/BV1PJ411n7xZ 本文的内容基本来源于宋老师的课件&#xff0c;其中有一些其他同学共享的内容&#xff0c;也有一些自己的理解内容。 1. …

一文解码:如何在人工智能热潮下实现产业“智”变

近期由ChatGPT有关人工智能的话题引发了全民热议&#xff0c;在这股子浪潮下&#xff0c;讨论最多的话题就是ChatGPT的出现会为我们带来怎样的技术变革&#xff1f;是否会改变我们目前的生产方式&#xff1f;对于未来人工智能技术的发展&#xff0c;我们该如何客观看待&#xf…

Unity Lighting -- 使用Light Probes

什么是动态物体&#xff08;dynamic objects&#xff09; 到目前为止的例子中&#xff0c;我们场景中的所有东西都是静止的。但在实际的游戏或实时应用中&#xff0c;场景中有移动的物体很正常&#xff0c;比如走动的人或动物&#xff0c;汽车&#xff0c;飞机等&#xff0c;它…

MRCP在美团语音交互中的实践和应用

当你和智能语音机器人对话交互时&#xff0c;你是否好奇电话背后的机器人如何“听懂”你的意思&#xff0c;又如何像人一样“回答”你的问题&#xff1f;其中比较重要的技术就是 MRCP。本文主要介绍了 MRCP 在美团语音交互中的实践和应用&#xff0c;基于美团自研的语音识别及语…

动态规划入门经典问题讲解

最近开始接触动态规划问题&#xff0c;以下浅谈&#xff08;或回顾&#xff09;一下这些问题的求解过程。解题思路对于动态规划问题&#xff0c;由于最终问题的求解需要以同类子问题作为基础&#xff0c;故需要定义一个dp数组&#xff08;一维或二维&#xff09;来记录问题求解…

Vue 3.0 单文件组件 【Vue3 从零开始】

#介绍 在很多 Vue 项目中&#xff0c;我们使用 app.component 来定义全局组件&#xff0c;紧接着用 app.mount(#app) 在每个页面内指定一个容器元素。 这种方式在很多中小规模的项目中运作的很好&#xff0c;在这些项目里 JavaScript 只被用来加强特定的视图。但当在更复杂的…