图像去噪——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网络推理测试的详细图文教程,官网提供了测试源码,没有开源训练源码。

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

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

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

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

相关文章

C#,斯特林数(Stirling Number)的算法与源代码

1 斯特林数 在组合数学,斯特林数可指两类数,第一类斯特林数和第二类斯特林数,都是由18世纪数学家James Stirling提出的。它们自18世纪以来一直吸引许多数学家的兴趣,如欧拉、柯西、西尔沃斯特和凯莱等。后来哥本哈根(…

氢气泄漏检测仪使用方法:守护安全,从细节开始

随着科技的发展,我们的生活和工作环境中充满了各种潜在的危险。其中,氢气作为一种清洁能源,其使用日益广泛,但同时也带来了泄漏的风险。为了确保我们的安全,了解并正确使用氢气泄漏检测仪至关重要。下面将详细介绍氢气…

用户界面(UI)、用户体验(UE)和用户体验(UX)的差异

对一个应用程序而言,UX/UE (user experience) 设计和 UI (user interface) 设计非常重要。UX设计包括可视化布局、信息结构、可用性、图形、互动等多个方面。UI设计也属于UX范畴。正是因为三者在一定程度上具有重叠的工作内容,很多从业多年的设计师都分不…

[香橙派开发系列]使用蓝牙和手机进行信息的交换

文章目录 前言一、HC05蓝牙模块1.HC05概述2.HC05的连接图3.进入HC05的命令模式4.常用的AT指令4.1 检查AT是否上线4.2 重启模块4.3 获取软件版本号4.4 恢复默认状态4.5 获取蓝牙的名称4.6 设置蓝牙模块的波特率4.7 查询蓝牙的连接模式4.8 查询模块角色 5.连接电脑6.通过HC05发送…

【大厂AI课学习笔记】1.4 算法的进步(1)

2006年以来,以深度学习为代表的机器学习算法的发展,启发了人工智能的发展。 MORE: 自2006年以来,深度学习成为了机器学习领域的一个重要分支,引领了人工智能的飞速发展。作为人工智能专家,我将阐述这一时期…

算法——A/算法通识

目录 一、复杂度分析 A/时间复杂度 B/空间复杂度 C/分析技巧 二、枚举分析 A/枚举算法介绍 B/解空间的类型 C/循环枚举解空间 三、模拟算法 四、递归 A/递归介绍 递归的两个关键要素: B/递归如何实现 C/递归和循环的比较 一、复杂度分析 A/时间复杂度…

腾讯mini项目总结-指标监控服务重构

项目概述 本项目的背景是,当前企业内部使用的指标监控服务的方案的成本很高,无法符合用户的需求,于是需要调研并对比测试市面上比较热门的几款开源的监控方案(选择了通用的OpenTelemetry协议:Signoz,otel-…

grafana安装DevOpsProdigy KubeGraf 1.5.2

安装DevOpsProdigy KubeGraf需要安装kube-state-metrics 官方地址:https://github.com/kubernetes/kube-state-metrics/tree/release-2.10/examples/standard 查看k8s版本和kube-state-metrics对应版本: [rootmaster1 kube-state-metrics]# ll 总用量 …

Elasticsearch:Geoshape query

Geoshape 查询可以用于过滤使用 geo_shape 或 geo_point 类型索引的文档。 geo_shape 查询使用与 geo_shape 或 geo_point 映射相同的索引来查找具有与查询形状相关的形状的文档,并使用指定的空间关系:相交(intersect)、包含(con…

Linux 命令 —— top

Linux 命令 —— top 相对于 ps 是选取一个时间点的进程状态,top 则可以持续检测进程运行的状态。使用方式如下: 用法: top [-d secs] | [-p pid] 选项与参数: -d secs:整个进程界面更新 secs 秒。默认是 5 5 5 秒。…

Tomcat 部署项目时 war 和 war exploded区别

在 Tomcat 调试部署的时候,我们通常会看到有下面 2 个选项。 是选择war还是war exploded 这里首先看一下他们两个的区别: war 模式:将WEB工程以包的形式上传到服务器 ;war exploded 模式:将WEB工程以当前文件夹的位置…

安泰前置微小信号放大器工作原理是什么

前置微小信号放大器是电子电路中的一种重要组件,主要用于放大输入信号中的微小电压。这种放大器的工作原理涉及到电子器件的特性和基本电路理论。以下是前置微小信号放大器的工作原理的详细解释: 前置微小信号放大器通常用于增强输入信号,以便…

YOLOv8-Segment C++

YOLOv8-Segment C https://github.com/triple-Mu/YOLOv8-TensorRT 这张图像是运行yolov8-seg程序得到的结果图,首先是检测到了person、bus及skateboard(这个是检测错误,将鞋及其影子检测成了滑板,偶尔存在错误也属正常),然后用方…

2024/2/1学习记录

echarts 为柱条添加背景色: 若想设置折线图的点的样式,设置 series.itemStyle 指定填充颜色就好了,设置线的样式设置 lineStyle 就好了。 在折线图中倘若要设置空数据,用 - 表示即可,这对于其他系列的数据也是 适用的…

Git安装,Git镜像,Git已安装但无法使用解决经验

git下载地址&#xff1a; Git - 下载 (git-scm.com) <-git官方资源 Git for Windows (github.com) <-github资源 CNPM Binaries Mirror (npmmirror.com) <-阿里镜像&#xff08;推荐&#xff0c;镜…

vue使用antv-x6 绘制流程图DAG图(二)

代码&#xff1a; <template><div class"graph-wrap" click.stop"hideFn"><Toobar :graph"graph"></Toobar><!-- 小地图 --><div id"minimap" class"mini-map-container"></div>…

0202-1-处理机调度与死锁

第三章:处理机调度与死锁 处理机调度算法的目标 处理机调度算法的共同目标 资源利用率:CPU的利用率CPU有效工作时间/(CPU有效工作时间CPU空闲等待时间)公平性平衡性策略强制执行 批处理系统的目标 平均周转时间短系统吞吐量高处理机利用率高 分时系统的目标 响应时间快均…

帅气的性能监控平台Grafana(Windows下使用Grafana监控系统指标与GPU指标)

帅气的性能监控平台Grafana&#xff08;Windows下使用Grafana监控系统指标与GPU指标&#xff09; 前情提要 系统环境准备 windows_exporter下载 nvidia_gpu_exporter下载 prometheus下载 Grafana下载 安装指导 windows_exporter安装与nvidia_gpu_exporter安装 promethe…

Mac brew教程

一、安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"二、查看brew版本 brew -vbrew -v 三、搜索软件 命令格式&#xff1a;brew search 软件名 eg&#xff1a; brew search nginx四、安装软件 命令格…

布局技巧及CSS初始化

一&#xff0c;margin负值巧妙应用 二&#xff0c;文字围绕浮动元素 三&#xff0c;行内块 四&#xff0c;CSS三角强化 五&#xff0c;CSS初始化 一&#xff0c;margin负值巧妙应用 制作盒子的细线边框&#xff1a; 鼠标经过li后变色&#xff1a; 二&#xff0c;文字围绕…