【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.mzph.cn/news/810791.shtml

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

相关文章

LabVIEW闭环步进电机运动系统设计及精度分析

LabVIEW闭环步进电机运动系统设计及精度分析 在自动化设备不断发展的当代,闭环步进电机以其高精度和可靠性成为了自动化设备的重要组成部分。以LabVIEW软件为核心,结合运动控制卡及驱动器模块,设计并实现了一个闭环步进电机的多轴运动控制系…

Rancher1.0版本安装使用

Rancher1.0版本安装使用 准备环境 rancher是一个容器管理和服务编排工具。 如下链接,讲的可以,大家参考下,我已经测试过了。 http://tonybai.com/2016/04/14/an-introduction-about-rancher/ 操作系统Centos7.2 用户为root。最好使用Cent…

Mapbox 教程: 改变地图样式

注:相关功能在Mapbox GL JS v3中可用。在新版本中,默认使用标准样式,在创建地图时,可以在构造函数中明确指定style option 设置指定样式,也可以不设置style option 从而使用默认样式。 本示例通过Mapbox加载了一份带三…

esxi配置使用以及虚拟机管理

vSphere Client安装和esxi主机 esxi配置 许可证 虚拟机管理 vSphere Client中创建、删除等虚拟机的管理。 vSphere Client中创建虚拟机并安装操作系统; 步骤1 创建虚拟机 密码:Tongxin2023 (1) 厚置备延迟置零 以默认的厚格式创建虚拟磁盘。创建过…

佛山市人工智能产业生态交流会:实在智能Agent引领“智造浪潮”

制造业,实体经济的核心,技术创新的先锋,供给侧结构性改革的关键。在新一轮产业竞争中,数字化转型成为制造业升级的必由之路,是引领未来的重要抓手。 为促进数字经济赋能实体经济,加快人工智能技术的推广应用…

ubuntu 20.04 设置国内镜像源(阿里源、清华源)

在网上搜了好多设置国内镜像源,都写的乱七八糟的,都是随便换,最后还是换得一堆问题。 镜像源也是跟版本一一对应的,不能随便一个国内源就还过去用,否则会出现各种各样的问题,我也是吃过亏之后才发现的。 国…

通讯录项目(用c语言实现)

一.什么是通讯录 通讯录是一种用于存储联系人信息的工具或应用程序。它是一种电子化的地址簿,用于记录和管理个人、机构或组织的联系方式,如姓名、电话号码、电子邮件地址和邮寄地址等。通讯录的目的是方便用户在需要时查找和联系他人。 通讯录通常以列…

手眼标定问题排查_2_圆网格数据排查

经过昨天晚上的调试,发现了一个主要问题:使用圆网格标定板标定时,不能使用cornerSubPix()函数,否则寻找角点时,会导致图一的情况(裁剪为30万像素)。就找到能参考的程序,推进还是很快的。 图一 一些数据对比…

imu6xl点灯(C语言)

参考正点原子开发指南 根据原理图可以看出,我们需要设置低电平导通电路。 在原理图上找到LED0,对应IO为GPIO3 IO复用配置 IMX6UL每个引脚都可以复用 在用户手册第30章可以找到IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03这个寄存器,地址为0x020E0068&…

Linux网络名称空间和虚拟机有何区别

在Linux系统中,网络名称空间和虚拟机都是实现资源隔离和虚拟化的技术,但它们在设计理念、实现机制、资源消耗、使用场景等方面存在着显著的区别。本文旨在全方位、系统性地分析这两种技术的区别。🔍 1. 设计理念与实现机制 1.1. 网络名称空…

未来汽车硬件安全的需求(2)

目录 4.汽车安全控制器 4.1 TPM2.0 4.2 安全控制器的硬件保护措施 5. EVITA HSM和安全控制器结合 6.小结 4.汽车安全控制器 汽车安全控制器是用于汽车工业安全关键应用的微控制器。 他们的保护水平远远高于EVITA HSM。今天的典型应用是移动通信,V2X、SOTA、…

python使用ffmpeg分割视频为Hls分片文件/使用OpenSSL加密m3u8和TS文件

FFmpeg和OpenSSL是一个开源免费的软件,在官网上就能下载, FFmpage网址(建议选择文件名full结尾的文件):Builds - CODEX FFMPEG gyan.dev OpenSSL网址(建议选择win64的MSI文件):Win3…

maven依赖管理:依赖仓库管理

1、Maven的依赖如何存放管理? Maven中存在依赖组件(常用的是jar包、war包、pom等,也可把Zip包等通过POM文件定义为依赖组件)的地方称为仓库(Repository)。 在Maven中,仓库有三种类型&#xff1…

CSS中grid网格布局(秒懂如何实现网格布局)-菜鸟教程

目录 一、概念 二、使用 1.网格元素 2.display属性 3.网格轨道 4.fr 单位 5.网格单元 6.网格区域 7.网格列与行 8.CSS 网格属性 三、网格容器 display: grid-template-columns 和 grid-template-rows: grid-gap、grid-row-gap 和 grid-column-…

如何使用SQL注入工具?

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

计算机网络-TCP断开连接阶段错误应对机制

连接断开阶段 四次挥手机制:TCP连接的断开需要四次挥手,这是因为双方都需要独立地关闭数据传输。第二次和第三次挥手不能合并,因为在回复第二次挥手的时候,可能还有数据没有接收完成,所以需要先回复ACK报文&#xff0c…

【U8+】打开固定资产卡片,提示:运行时错误‘91’,未设置对象变量或with block变量。

【问题描述】 用友U8软件,固定资产模中打开某张卡片后, 提示:运行时错误‘91’,未设置对象变量或with block变量。 Ps:但不是所有卡片打开的时候都会提示,有的正常。 【解决方法】 跟踪数据库后&#xff…

SpringBoot入门(Hello World 项目)

SpringBoot关键结构 1.2.1 Core Container The Core Container consists of the Core, Beans, Context, and Expression Language modules. The Core and Beans modules provide the fundamental parts of the framework, including the IoC and Dependency Injection featur…

C语言易错知识点(3):字符数组的修改、sscanf、sprintf

字符数组是一个很细节的语法,涉及很多知识点,这篇文章我主要分享一下如何理解字符数组,以及对应的sscanf、sprintf有什么用 1.字符数组的初始化以及内容修改易错点 字符数组的初始化方式有两种,一种是直接用字符串进行初始化&am…

每日一题---OJ题: 相交链表

片头 嗨! 小伙伴们,大家好! 今天我们来一起学习这道OJ题---相交链表,准备好了吗? Ready Go! ! ! emmm,看这道题好像不怎么难,我们一起画图分析分析 上图中,A链表有5个结点,分别为 a1,a2,c1,c2,c3 ; B链表有6个结点,分别为 b1,b2,b3,c1,c2,c3 ; A链表和B链表在c1结点相交 …