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

2024-04-13 03:44

本文主要是介绍【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 、图像修复、图像去雨、图像去噪、图像去模糊对应模型权重,感兴趣可以去试一下其他的

这篇关于【IR-SDE】Image Restoration SDE项目演示运行app.py的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899054

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

flask库中sessions.py的使用小结

《flask库中sessions.py的使用小结》在Flask中Session是一种用于在不同请求之间存储用户数据的机制,Session默认是基于客户端Cookie的,但数据会经过加密签名,防止篡改,... 目录1. Flask Session 的基本使用(1) 启用 Session(2) 存储和读取 Se

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手