图像去噪——SpatiallyAdaptiveSSID网络推理测试(详细图文教程)

SpatiallyAdaptiveSSID 是一种有效的图像去噪方法,它通过自适应地处理不同区域的噪声,能够在保持图像细节的同时,有效地去除噪声。

目录

  • 一、SpatiallyAdaptiveSSID网络简介
  • 二、源码包准备
    • 2.1 测试集
    • 2.2 模型权重文件
  • 三、测试环境
  • 四、推理测试
    • 4.1 mat格式数据制作
    • 4.2 mat数据测试
      • 4.2.1 测试集路径修改
      • 4.2.2 模型权重路径修改
      • 4.2.3 官网测试
      • 4.2.4 官网测试+保存推理结果
      • 4.2.5 只输入噪声数据+保存推理结果
    • 4.3 png数据直接测试
    • 4.4 推理速度
      • 4.4.1 GPU
      • 4.4.1 CPU
    • 4.5 效果展示
  • 五、总结

一、SpatiallyAdaptiveSSID网络简介

Spatially Adaptive Self-Supervised Learning for Real-World Image Denoising (SpatiallyAdaptiveSSID) 是一种新的自监督真实世界图像去噪视角。这种方法的主要贡献是根据图像特征学习去噪网络的空间自适应监督。

对于平坦区域,该方法将盲点网络扩展到盲邻域网络(blind-neighborhood network, BNN),以提供监督信息。对于纹理区域,该方法提出了一个局部感知网络(locally aware network, LAN)来从相邻像素中学习网络。

该方法的实验结果显示,它能够很好地处理平坦区域和纹理区域的噪声,对于具有空间相关噪声的真实sRGB图像具有很好的去噪效果。然而,具体的去噪效果可能会受到图像内容、噪声类型和噪声级别等因素的影响。

二、源码包准备

官网源码包链接为:SpatiallyAdaptiveSSID

我在官网源码包基础上修改了很多代码,也添加了很多实用脚本,建议学者配套我提供的源码包学习此教程,我提供的源码包获取方法为文章末扫码到公众号中回复关键字:图像去噪SASSID。获取下载链接。

论文地址:论文

下载源码包解压后的样子如下:

在这里插入图片描述

2.1 测试集

配套教程中提供了部分测试集,位置如下,其中data中的mat格式的数据,Test_Images是png或JPG数据。

在这里插入图片描述

2.2 模型权重文件

模型权重文件位于pretrained_models文件夹下:

在这里插入图片描述

三、测试环境

下面是我自己的测试环境,供参考,其它版本也行。

在这里插入图片描述

在这里插入图片描述

四、推理测试

4.1 mat格式数据制作

官网源码中要求导入数据是mat格式数据,关于什么是mat格式数据,已经怎么制作mat格式数据,看另外博文:制作mat格式数据

在我提供的源码包中有一个.png图像转mat格式格式数据的脚本,如下:

在这里插入图片描述

使用此脚本需要修改的地方如下,修改路径还有文件名,注意转换干净图像和噪声图像,要对应修改mat文件名,下面我用不同颜色字体区分出来了。

在这里插入图片描述

运行脚本后的结果如下:

在这里插入图片描述

4.2 mat数据测试

4.2.1 测试集路径修改

下面是导入测试集路径的地方,用绝对路径:

在这里插入图片描述

4.2.2 模型权重路径修改

下面是模型权重修改的地方:

在这里插入图片描述

4.2.3 官网测试

在官网源码中,测试脚本为validate_SIDD.py,如下,只能给出测试的PSNR值,没有将推理结果保存下来,而且测试噪声图像必须有配对的干净图像。

在这里插入图片描述

直接运行此脚本的输出为:

在这里插入图片描述

4.2.4 官网测试+保存推理结果

如果你想将推理结果保存下来,同时输出PSNR值,运行我提供的predict_PSNR.py脚本,如下:

在这里插入图片描述

此脚本只需要修改图像保存路径即可:

在这里插入图片描述

保存的推理结果如下:

在这里插入图片描述

4.2.5 只输入噪声数据+保存推理结果

如果你想只输入噪声图像测试,不要输入干净图像,也不要输出指标PSNR,运行我提供的脚本predict_mat_onlyNoise.py,如下:

在这里插入图片描述

4.3 png数据直接测试

官网提供的原始方法,需要转mat格式数据,很麻烦,我重新写了两个脚本,直接读入png噪声图像的路径,批量推理测试后保存到指定路径中,这两个脚本一个是GPU推理的,脚本为predict_GPU.py;另外一个是CPU推理的,脚本为predict_CPU.py,如下:

在这里插入图片描述

在这里插入图片描述

使用上面两个脚本,只需要修改png格式噪声图片文件夹路径和模型推理结果输出路径,如下:

在这里插入图片描述

运行脚本后的结果如下:

在这里插入图片描述

4.4 推理速度

4.4.1 GPU

GPU测试环境:Nvidia GeForce RTX 3050,测试图片480*360,推理时间:4.75ms/fps。

在这里插入图片描述

4.4.1 CPU

测试环境:12th Gen Intel® Core™ i7-12700H 2.30 GHz,测试图片480*360,推理速度:256.76ms/fps。

在这里插入图片描述

4.5 效果展示

测试的噪声图像,有真实的噪声图,也有合成的噪声图,具体去噪效果如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、总结

以上就是图像去噪SpatiallyAdaptiveSSID网络推理测试的详细图文教程,官网提供了测试源码,没有开源训练源码。

总结不易,多多支持,谢谢!

欢迎扫码关注 视觉研坊,学习更多经典和最新开源资源,一起交流图像处理。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python-环境搭建】

Python-环境搭建 ▼ Python安装► 进入Python官网 地址如下 [Python官网](https://www.python.org/)► Python安装向导对话框► 测试是否安装成功 ▼ PyCharm 安装► Pycharm的下载和安装 ▼► 开始在 Windows 上使用 Python(初学者) ▼ Python安装 ► …

Web3生态系统:构建去中心化的数字社会

随着科技的飞速发展,我们正处在迈向数字未来的道路上,而Web3生态系统则成为这一变革的中心。不仅仅是技术的演进,Web3代表着对传统互联网体系的颠覆,致力于构建一个去中心化的数字社会。本文将深入探讨Web3的核心特征、对金融、社…

2024年美赛B题思路分析 - 搜索潜水器

# 1 赛题 问题B:搜索潜水器 总部位于希腊的小型海上巡航潜艇(MCMS)公司,制造能够将人类运送到海洋最深处的潜水器。潜水器被移动到该位置,并不受主船的束缚。MCMS现在希望用他们的潜水器带游客在爱奥尼亚海底探险&…

MySQL中where和having的区别

前言 数据库中的 WHERE 和 HAVING 子句在 SQL 查询中扮演着关键的角色,帮助我们有效地筛选和过滤数据。这两个子句虽然都用于限定结果集,但它们的应用场景和操作对象存在明显的区别。在理解和运用这两个子句的过程中,我们能够更灵活地进行数据…

MySql主从同步,同步SQL_ERROR 1032解决办法

1.登录从库 mysql -u root -p 2.输入命令查看状态 SHOW SLAVE STATUS\G; 3.找到对应的错误数据位置 Slave_IO_Running: YesSlave_SQL_Running: NoReplicate_Do_DB: app_push_centerReplicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Tabl…

仰暮计划|“现在不一样了,时代发展了,年轻人都有自己想做的事了,也不急着结婚生育了,我觉得挺好的”

仰暮计划|“现在不一样了,时代发展了,年轻人都有自己想做的事了,也不急着结婚生孩子了,我觉得挺好的” 忆暖行动 口述人:赵凤云(女) 整理人:王鑫雨 河南财经政法大学 202134060501 …

欧拉函数及其代码实现

欧拉函数: 欧拉函数定义:欧拉函数是指对于一个正整数 n ,小于等于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n)。 例如φ(8) 4,因为1,3,5,7均和8互质。 性质: 当 n 是质数…

PythonStudio 控件使用常用方式(六)TMemo

PythonStudio是一个极强的开发Python的IDE工具,它使用的是Delphi的控件,常用的内容是与Delphi一致的。但是相关文档并一定完整。现在我试试能否逐步把它的控件常用用法写一点点,也作为PythonStudio的参考。 TMemo就是一个文本框 常用属性 …

java(面向对象基础)

面向对象的三大特征:封装、继承、多态 一、封装 用 类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些数据的方法,设计到一个对象中去。 封装规范:合理隐藏,合理暴露(先将成…

sql注入之GETSHELL

2024.2.1 GETSHELL 利用SQL注入获取MYSQL数据库权限的要求: 文件读写基本要求: 是root用户最高权限 知道网站的绝对路径 文件读写注入的原理: 利用文件的读写权限进行注入,它可以写入一句话木马,也可以读取系统文件的敏感信息 文件读写…

飞腾固件在线更新

这次尝试给飞腾D2000+X100的机器在线更新固件。 1 测试说明 首先说下固件版本: D2000 UEFI:edk2-code-3.5.0.rar PBF:imagefixd2000_v1.70.rar X100 x100packv1.7_0909-2.tar 我们今天试验让固件自己升级自己,也就是先用上面的版本做好固件,先烧到D2000和X100的flash…

前端小案例——导航回顶部(HTML+CSS+JS, 附源码)

一、前言 实现功能: 这个案例实现了页面滚动到一定位置时显示"回到顶部"按钮,并且点击按钮能够平滑滚动回页面顶部的功能。 实现逻辑: 页面结构:通过HTML标签定义了页面的基本结构。页面主要由多个div.content组成&am…

Tomcat(2)安装启动步骤及目录内容说明

1、步骤 Tomcat官网下载压缩包,解压: Windows:解压后打开bin目录(这个目录放的是可执行文件,.bat是windows系统可执行程序,.sh是linux系统里使用的)- 找到startup.bat 双击启动(出…

【百度Apollo】自动驾驶的领航者

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…

C++进阶--多态

概念 多态是面向对象编程中的一个重要概念,它允许不同类型的对象对同一个消息做出不同的响应。具体的来说,当相同的消息传递给不同的对象时,这些对象能够以不同的方式进行处理,从而产生不同的行为。 对于多态的实现,…

Leetcode 热门百题斩(第二天)

介绍 针对leetcode的热门一百题,解决大多数实习生面试的基本算法题。通过我自己的思路和多种方法,供大家参考。 1.两数之和(题号:1) 方法一 最先想到的就是两个for去遍历匹配。 class Solution {public int[] twoSum(int[]…

QT播放gstreamer命令(三)---使用QMediaPlayer

前文: 因为之前听说过,QMediaPlayer已经集成了gstreamer,但是并没有什么接口来例子来说明,根本看不出来有任何gstreamer的形式,于是在QT5助手里面搜了一下,发现确实有gstreamer的痕迹,但是例子写的极其拉胯,经过自己尝试,终于发现了一种直接使用QMediaPlayer播放gstre…

二进制安全虚拟机Protostar靶场(6)堆的简单介绍以及实战 heap1

前言 这是一个系列文章&#xff0c;之前已经介绍过一些二进制安全的基础知识&#xff0c;这里就不过多重复提及&#xff0c;不熟悉的同学可以去看看我之前写的文章 程序静态分析 https://exploit.education/protostar/heap-one/#include <stdlib.h> #include <unis…

深入解剖指针篇(3)

个人主页&#xff08;找往期文章&#xff09; &#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录 二级指针 指针数组 指针数组模拟二维数组 字符指针变量 数组指针 数组指针初始化 二维数组传参的本质 函数指针 函数指针的使用 typedef关键字 函数指针数组 二级指针…

108.乐理基础-五线谱-五线谱的拍号、音符与写法

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;十五度记号-CSDN博客 上一个内容联系的答案&#xff1a; 调号、拍号、速度的性质与内涵跟简谱里一样&#xff0c;所以这里只会写它们在五线谱里造型上有什么改变&#xff0c;该怎样去识别。 拍号&#xff1a;五线…