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

背景:

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.rhkb.cn/news/307311.html

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

相关文章

ppt技巧:如何将Word文档大纲中导入到幻灯片中?

在PowerPoint中,将Word文档的大纲导入到新的幻灯片是一种非常实用的技巧。以下是详细的步骤: 首先,需要打开PowerPoint软件并打开原始的幻灯片文件。 在PowerPoint的顶部【开始】菜单栏中,找到并点击“新建幻灯片”按钮&#xff0…

最新常见的图数据库对比,选型,架构,性能对比

图数据库排名 地址:https://db-engines.com/en/ranking/graphdbms 知识图谱查询语言 SPARQL、Cypher、Gremlin、PGQL 和 G-CORE 语法 / 语义 / 特性SPARQLCypherGremlinPGQLG-CORE图模式匹配查询语法CGPCGPCGP(无可选)1CGPCGP语义子图同态、包 2无重复边、包 2子…

Django Rest Framework的序列化和反序列化

DRF的序列化和反序列化 目录 DRF的序列化和反序列化Django传统序列化Django传统反序列化安装DRF序列化器serializers序列化反序列化反序列化保存instance和data CBV和APIView执行流程源码解析CBV源码分析APIView源码分析 DRF的Request解析魔法方法__getattr__ 什么是序列化&…

动力学-坐标系

文章目录 1 转动坐标系2 运动坐标系3 刚体运动参数• 拉格朗日建立机器人动力学方程需用齐次变换矩阵,计算效率低。优点是可以写成状态方程的形式,便于运用控制方法。 • 牛顿—欧拉动力学方程可得到一组正向和反向递推方程,显著优点是可把驱动力矩的计算时间缩短到可实时控…

物联网实战--驱动篇之(五)TEA和AES加密算法

目录 一、前言 二、TEA算法 三、AES算法 四、加解密测试 五、安全性保障 一、前言 物联网的安全性是经常被提及的一个点,如果你的设备之间通讯没有加密的话,那么攻击者很容易就能获取并解析出报文的协议,从而根据攻击者的需要进行设备操…

Redis--16--Spring Data Redis

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Spring Data Redishttps://spring.io/projects/spring-data-redis 1.依赖2.RedisTemplate3.案例 序列化1.默认是 JdkSerializationRedisSerializer2.添加Redis配置文…

JRT多平台初始化程序

这么多年客户端一直只做Windows,所以初始化程序用C#写个Exe,按网站生成的下载清单文件一个个下载和部署客户端环境是可以的。新的由于设计目标就是支持多平台的,所以需要重新考虑初始化设计。 介绍和演示视频 设计目标有以下: 1…

软件开发安全备受重视,浙江某运营商引入CWASP认证课程,

​浙江省某大型运营商是一家实力雄厚、服务优质的通信运营商,致力于为全省用户提供优质、高效的通信服务。数字时代,该运营商顺应信息能量融合发展趋势,系统打造以5G、算力网络、能力中台为重点的新型信息基础设施,夯实产业转型升…

idea keymap用eclipse的相关快捷键

idea快捷键用eclipse的方式 CtrlShiftR 搜索文件 shiftshift 全部文件/类搜索 CtrlH 全局搜索 CtrlO 快速打开Outline大纲视图 ctrle 查看recent窗口文件 ctrlt 快速进入接口的实现类 ctrlshiftf 格式化代码 altshiftr 变量或函数的重命名 ctrlshifto 移除无用的头文…

C/C++内存泄漏及检测

“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用…

【LeetCode】二叉树类题目详解

二叉树 二叉树的理论基础 二叉树是结点的度数之和不超过2的树,二叉树总共有五种基本形态 二叉树的种类主要有: 满二叉树完全二叉树 二叉树的存储方式 顺序存储链式存储 二叉树的遍历方式 先序遍历(深度优先搜索)中序遍历&…

Python单元测试pytest捕获日志输出

使用pytest进行单元测试时,遇到了需要测试日志输出的情况,查看了文档 https://docs.pytest.org/en/latest/how-to/capture-stdout-stderr.html https://docs.pytest.org/en/latest/how-to/logging.html 然后试了一下,捕捉logger.info可以用…

微信小程序 uniapp+vue.js医疗在线问诊挂号系统4oy17

预约挂号系统的逐渐发展,进一步方便了广大用户,使其可以更方便、快捷地预约挂号,并且也有效地防止号贩子“倒号”,使用户预约挂号更公平,然而现有预约挂号系统或多或少有所欠缺 小程序前端框架:uniapp 小程…

7、configMap

1、configMap是什么 类似与pod的配置中心,不会因为pod的创建销毁,相关配置发生改变 pod定义硬编码意味着需要有效区分⽣产环境与开发过程中的pod 定义。为了能在多个环境下复⽤pod的定义,需要将配置从pod定义描 述中解耦出来。 2、向容器中…

python-study-day2

pycharm注释(也可修改) 快捷键ctrl /手敲一个 " # " 这个是单行注释""" """ 左边这个三个引号可以完成多行注释 基础知识 常用的数据类型 def hello(self):print("Hello")print(type(1)) print(type("1"…

Unity Standalone File Browser,Unity打开文件选择器

Unity Standalone File Browser,Unity打开文件选择器 下载地址:GitHub链接: https://github.com/gkngkc/UnityStandaloneFileBrowser简单的示例代码 using SFB; using System; using System.IO; using UnityEngine; using UnityEngine.UI;…

Redis从入门到精通(十六)多级缓存(一)Caffeine、JVM进程缓存

文章目录 第6章 多级缓存6.1 什么是多级缓存?6.2 搭建测试项目6.2.1 项目介绍6.2.2 新增商品表6.2.3 编写商品相关代码6.2.4 启动服务并测试6.2.5 导入商品查询页面,配置反向代理 6.3 JVM进程缓存6.3.1 Caffeine6.3.2 实现JVM进程缓存6.3.2.1 需求分析6.…

C语言--结构体大小

基本数据类型占用的字节数分别为:char(1),short(2),int(4),long(4),long long(8),float(4),double(8)。 分析一下下面结构体占用的字节数。 struct A { int a; }; struct B { char a; int b; }; int main() { printf("sizeof(struct A)%d\n", sizeof(struct A));//测…

BI数据分析软件:行业趋势与功能特点剖析

随着数据量的爆炸性增长,企业对于数据的需求也日益迫切。BI数据分析软件作为帮助企业实现数据驱动决策的关键工具,在当前的商业环境中扮演着不可或缺的角色。本文将从行业趋势、功能特点以及适用场景等方面,深入剖析BI数据分析软件&#xff0…

Docker容器tomcat中文名文件404错误不一定是URIEncoding,有可能是LANG=zh_CN.UTF-8引起

使用Docker部署tomcat,出现中文名文件无法读取,访问就是404错误。在网上搜索一通,都说是在tomcat的配置文件server.xml中修改一下URIEncoding为utf-8就行,但是我怎么测试都不行。最终发现,是Docker启动时,传…