【IR-SDE】Image Restoration SDE项目演示运行app.py

news2025/1/11 16:58:45

背景:

code:GitHub - Algolzw/image-restoration-sde: Image Restoration with Mean-Reverting Stochastic Differential Equations, ICML 2023. Winning solution of the NTIRE 2023 Image Shadow Removal Challenge.

paper:

Official PyTorch Implementations of [IR-SDE](ICML 2023) and [Refusion](CVPRW 2023).

在Rain100H图像去雨数据集上获得SOTA,其中IR-SDE和DA-CLIP都是该团队的。 

 IR-SDE数值上比Restormer略高,当时获得SOTA

 暂时没细看论文先贴一下摘要

Image Restoration with Mean-Reverting Stochastic Differential Equations

提出了一种通用图像复原的随机微分方程(SDE)方法。关键构造是一个均值恢复的SDE,将高质量图像转换为具有固定高斯噪声的均值状态的降质图像。然后,通过模拟相应的逆时SDE,能够恢复低质量图像的来源,而不依赖任何特定于任务的先验知识。至关重要的是,所提出的恢复均值的SDE有一个闭式解决方案,允许我们计算基本真值依赖于时间的分数,并用神经网络学习它。提出了一个最大似然目标来学习一个最优的反向轨迹,以稳定训练并提高恢复结果。实验表明,所提出的方法在图像去模糊、去模糊和去噪的定量比较中取得了极具竞争力的性能,在两个去模糊数据集上取得了新的先进水平。最后,在图像超分辨率、修复和去雾等方面的定性实验结果进一步证明了本文方法的普遍适用性。

Refusion: Enabling Large-Size Realistic Image Restoration with Latent-Space Diffusion Models

该工作旨在提高扩散模型在真实感图像复原中的适用性。从网络结构、噪声水平、去噪步骤、训练图像大小和优化器/调度器等几个方面增强了扩散模型。调优这些超参数可以在失真和感知分数上取得更好的性能。本文还提出了一种基于U-Net的潜扩散模型,在低分辨率潜空间中进行扩散,同时为解码过程保留原始输入的高分辨率信息。与之前训练VAE-GAN压缩图像的潜扩散模型相比,所提出的U-Net压缩策略明显更加稳定,可以在不依赖对抗优化的情况下恢复高精度的图像。重要的是,这些修改使我们能够将扩散模型应用于各种图像恢复任务,包括真实世界的阴影去除、HR非均匀去雾、立体超分辨率和散景效果转换。通过简单地替换数据集并略微改变噪声网络,我们的模型Refusion能够处理大尺寸图像(例如,6000 x 4000 x 3的HR去雾),并在所有上述恢复问题上产生良好的结果。我们的再融合在NTIRE 2023图像阴影去除挑战中取得了最佳的感知性能,并赢得了第二名。

 本文目标:

按照readme实现IR-SDE的演示运行/codes/config/drain/app.py。

Dependenices

使用之前的 DA-CLIP 项目虚拟环境,DA-CLIP中的复原模型与IR-SDE基本相同,运行没有环境报错。

运行前you need to download the pretrained weights and modify the model path in options/test/ir-sde.yml.

预训练权重地址

修改地址

#### path
path:
  pretrain_model_G: E:\daclip\pretrained\rain100h_sde.pth

IndexError: list index out of range

源代码运行在Ubuntu。 我写的Windows下的绝对路径,没有”/“所以划分报错,改为”\\“或者直接使用path都可以。记得改的是对应derain项目下的yml。

    config_dir = path

app.py代码就不讲了,和DA-CLIP里的代码类似。另外找时间整理一下model和IRSDE类之间的函数参数传递和复原过程代码。 

运行结果 

按钮是中文因为改了Gradio包代码,详细内容看我另一篇博文。 修改Gradio按钮中文 

提供了 单帧超分辨率SISR 、图像修复、图像去雨、图像去噪、图像去模糊对应模型权重,感兴趣可以去试一下其他的

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

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

相关文章

Salient Object Detection 探索经历

概述 显著性目标检测也被称为显著性检测,旨在通过模拟人类视觉感知系统来检测自然场景图像中最显著的目标和区域。虽然,显著性目标检测听名字是一个检测任务,但是实际上是一个图像分割任务,即一个像素级分类任务,是一…

毅速ESU丨增材制造有助于传统制造企业打造新增长极

在科技浪潮的推动下,传统制造企业正面临着前所未有的挑战与机遇。产品的复杂程度不断提升,个性化需求层出不穷,越来越短的生产周期,不断升级的品质要求等,传统的生产模式在应对这些变化并不容易。而增材制造&#xff0…

[大模型]Yi-6B-Chat 接入 LangChain 搭建知识库助手

Yi-6B-Chat 接入 LangChain 搭建知识库助手 环境准备 在 autodl 平台中租赁一个 3090 等 24G 显存的显卡机器,如下图所示镜像选择 PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打开刚刚租用服务器的 JupyterLab,并且打开其中的终端开始…

港科夜闻|叶玉如校长牵头举办大湾区国际科创峰会,与海内外教育领袖共话全球合作,教育与创新...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大校长叶玉如教授牵头举办大湾区国际科创峰会,与海内外教育领袖共话全球合作、教育与创新。粤港澳大湾区院士联盟主办的“第二届大湾区国际科创峰会”4月3日在香港科学园举行,汇聚了区内及海…

浅说深度优先搜索(上)——递归

好久没有讲算法了,今天我们就来谈谈“初学者”的第二个坑,深度优先搜索,其实也就是递归。 写在最前 相信很多人都和我一样刚开始的时候完全不知道怎么下手,甚至可以说是毫无头绪,那么我们来理一理递归到底要怎么写。…

C/C++ 入门(5)内存管理

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 欢迎指教! 目录 一、内存分布 二、C中动态内存管理 new delete 三、C语言的动态内存管理 四、operator new 和operator delete函数 operator new operator delete 五、new和delete的…

STM32H743VIT6使用STM32CubeMX通过I2S驱动WM8978(4)

接前一篇文章:STM32H743VIT6使用STM32CubeMX通过I2S驱动WM8978(3) 本文参考以下文章及视频: STM32CbueIDE Audio播放音频 WM8978 I2S_stm32 cube配置i2s录音和播放-CSDN博客 STM32第二十二课(I2S,HAL&am…

php反序列化(2)

一.pop链 在反序列化中,我们能控制的数据就是对象中的属性值(成员变量),所以在php反序列化中有一种漏洞利用方法叫“面向属性编程”,即pop(property oriented programming)。 pop链就是利用魔…

蓝桥杯基础18——第13届省赛真题与代码详解

目录 0.心得体会 1.题目如下 2.代码实现的思路 键值扫描 数码管窗口切换 数码管的动态扫描 继电器工作时L3闪烁,整点时刻L1灯光亮5秒 3.变量列表 定义的常量和数组 功能控制和状态变量 定时器和计数变量 4.代码参考 4.1 头文件 onewire.h ds1302.h 4…

vscode远程免密登录ssh

vscode远程免密登录ssh 1. 安装vscode2. 安装ssh3. 本地vscode配置免密登录远端开发机1. 本地配置秘钥2. 远程开发机配置秘钥 4. vscode常用小工具1. vscode怎么设置ctrl加滚轮放大字体 1. 安装vscode 2. 安装ssh 设置符号打开config配置文件,点击符号ssh连接新的远…

(UDP)其他信息: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

“System.Net.Sockets.SocketException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理其他信息: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。这个异常表示端口已经被占用了,需要释放端口或者使用其他端口来建立连接。您可以…

单片机方案 发声毛绒小黄鸭

随着科技的不断进步,智能早教已经成为了新时代儿童教育的趋势。智能早教玩具,一款集互动陪伴、启蒙教育、情感培养于一身的高科技产品。它不仅能陪伴孩子成长,还能在游戏中启迪智慧,是家长和孩子的理想选择。 酷得电子方案开发特…

程序员Java.vue,python前端后端爬虫开发资源分享

bat面试资料 bat面试题汇总 提取码:724z 更多资料

MYSQL5.7详细安装步骤

MYSQL5.7详细安装步骤: 0、更换yum源 1、打开 mirrors.aliyun.com,选择centos的系统,点击帮助 2、执行命令:yum install wget -y 3、改变某些文件的名称 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base…

python 今日小知识2—— globals() 函数

globals() 函数语法: globals() 参数 无 返回值 返回全局变量的字典。 globals()函数示例 下面是一个简单的示例,展示了globals()函数的用法: a 10 b 20def test_func():c 30for key,value in globals().items():print(key,value)t…

如何使用SQL注入工具?

前言 今天来讲讲SQL注入工具,sqlmap。如何使用它来一步步爆库。 sqlmap官方地址如下。 sqlmap: automatic SQL injection and database takeover tool 前期准备,需要先安装好docker、docker-compose。 一个运行的后端服务,用于写一个存在…

关于Unity使用DLL的说法

最近在研究一些构建依赖相关的,特别是Unity在不同平台上使用第三方类库时候的问题。简单查了一下资料,其实不难理解,这里只是简单的记录一下,弄明白一个简单的道理就行了。 为什么有的第三方库(DoTween),NewtonSoft等的dll库&…

HTML、CSS --javaweb学习笔记

记录一些重要的知识点 CSS引入方式 行内样式&#xff1a;<h1 style"...">内嵌样式&#xff1a;<style>…</style>外联样式&#xff1a;xxx.css <link href"..."> 颜色表示 关键字&#xff1a;red、green.......rgb表示法&…

C++矩阵库Armadillo出现warning solve() system is singular错误的解决

本文介绍使用C 语言的矩阵库Armadillo时&#xff0c;出现报错system is singular; attempting approx solution的解决方法。 在之前的文章中&#xff0c;我们介绍过Armadillo矩阵库在Visual Studio软件C环境中的配置方法&#xff08;https://blog.csdn.net/zhebushibiaoshifu/a…

回归预测 | Matlab实现SSA-GRNN麻雀算法优化广义回归神经网络多变量回归预测(含优化前后预测可视化)

回归预测 | Matlab实现SSA-GRNN麻雀算法优化广义回归神经网络多变量回归预测(含优化前后预测可视化) 目录 回归预测 | Matlab实现SSA-GRNN麻雀算法优化广义回归神经网络多变量回归预测(含优化前后预测可视化)预测效果基本介绍程序设计参考资料预测效果