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

本文详细介绍了CTNet的图像去噪方法,包括模型原理、源码包准备(包含测试集和模型权重)、环境设置、配置参数修改、官方测试流程、以及如何直接测试真实噪声图像。作者提供了自定义脚本以优化测试过程并展示了测试结果和推理速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《图像增强》
📝《模型优化》
📝《模型实战部署》
📝《图像配准融合》
📝《数据集》
📝《高效助手》


在这里插入图片描述

在这里插入图片描述

一、CTNet

CTNet是一种交叉Transformer的图像去噪方法。

串并行方式获取结构信息:CTNet采用深度和广度搜索以串并行方式来获得更多的结构信息,提高图像去噪性能。

多层特征交互:利用三个并行异构网络实现多层特征交互,增强不同网络间的关系,以提高针去噪网络对复杂场景的适应性。

交叉Transformer技术:交叉Transformer技术可以根据像素关系提取显著性特征,从而优化去噪效果。

二、源码包准备

官网提供的源码包用起来有些别扭,文件路径或者模型权重路径都得用绝对路径,配置文件中参数贼多。另外在推理测试部分网络是导入干净图像,然后在干净图像基础上加随机噪声生成噪声图像,没有直接推理测试真实噪声图像的脚本,参考官网源码我自己重写了一个脚本,用于直接推理测试自己真实噪声图,并直接输出测试结果到指定路径。还有其它的地方我也修改了部分代码。

本教程也是基于我提供源码进行讲解,测试集,模型权重都打包在源码包中。获取我提供源码包的方法为文章末扫码到公众号中回复关键字:图像去噪CTNet。获取下载链接。

官网源码包下载链接:CTNet官网

论文下载链接:论文

下载解压后的样子如下:

在这里插入图片描述

2.1 测试集

测试集位于根目录下的Test_Image文件夹中,如下:

在这里插入图片描述

2.2 模型权重

模型权重位于根目录下的Save_model文件夹中,包含了多个权重文件,分别是单通道图像和三通道图像,在不同噪声水平下的模型权重。

在这里插入图片描述

在这里插入图片描述

三、环境准备

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

在这里插入图片描述

四、推理测试

4.1 配置参数修改

配置参数的脚本中有很多参数,学者根据自己需求对应修改,如下:

在这里插入图片描述

4.2 官网测试

在官网源码基础上我改了一部分代码,测试的脚本名为train_noise.py,官网原始的脚本为train.py,如下:

在这里插入图片描述

运行该脚本,读入干净图像后,加噪,生成噪声图像,最后会输出原始干净图像,噪声图和去噪图,打印出评价指标:PSNR,SSIM,FSIM。如下:

在这里插入图片描述

4.2.1 测试单通道图像

4.2.1.1 命令方式测试

在对应终端环境中输入下面命令进行测试:

python trian_noise.py --mode test --model_name gtd --rgb_range 1 --n_colors 1 --sigma 25 --num_layers 1 --n_GPU 1 --GPU_id 0 --test_dataset F:\Code\Python\CTNet\CTNet-main\Test_Image\Set12 --model_file_name F:\Code\Python\CTNet\CTNet-main\Save_model\ctnet\g25\model_sigma25.pth --dir_test_img F:\Code\Python\CTNet\CTNet-main\Result_Images

上面命令中,根据自己情况修改路径,各参数解析如下:

–mode表示要训练还是测试,如果要训练就改为train,测试就改为test;

–n_colors表示通道数量,测试单通道图像设为1,测试三通道图像设为3;

–n_GPU表示电脑显卡数量;

–GPU_id表示选用哪块显卡运行代码;

–test_dataset表示测试集路径,一定要用绝对路径;

–model_file_name表示模型权重路径,同样绝对路径;

–dir_test_img表示测试后去噪结果的保存路径。

4.2.1.2 Configuration配置测试

右击鼠标,进入Configuration配置窗口,如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.2.1.3 测试结果

在指定的保存路径中会保存原始图像,加噪后的图像,去噪后的图像,如下所示:

在这里插入图片描述

4.2.2 测试彩色图像

4.2.2.1 命令方式测试

测试方法和测试单通道图像一样,只需要修改–n_colors为3,导入彩色图像路径,导入彩色图像的模型权重路径即可。

python trian_noise.py --mode test --model_name gtd --rgb_range 1 --n_colors 3 --sigma 25 --num_layers 1 --n_GPU 1 --GPU_id 0 --test_dataset F:\Code\Python\CTNet\CTNet-main\Test_Image\CBSD68 --model_file_name F:\Code\Python\CTNet\CTNet-main\Save_model\ctnet\c75\model_sigma75.pth --dir_test_img F:\Code\Python\CTNet\CTNet-main\Result_Images

参数解析见:4.2.1.1

4.2.2.2 Configuration配置测试

在这里插入图片描述

4.2.2.3 测试结果

测试结果如下,包含了原始图,加噪图,去噪图。

在这里插入图片描述

4.3 直接测试真实噪声图

该脚本是我重新写的,命名为Predict.py,直接读入噪声图,推理结果输出到指定的路径下,不会输出评价指标。如下:

在这里插入图片描述

测试单通道图像和彩色三通道的函数我都写在了一个脚本里面,如下:

在这里插入图片描述

在这里插入图片描述

4.3.1 测试单通道图像

代码需要修改的地方如下:

在这里插入图片描述

4.3.1.1 命令测试

在终端中输入下面命令测试:

python Predict.py --mode test --model_name gtd --rgb_range 1 --n_colors 1 --sigma 25 --num_layers 1 --n_GPU 1 --GPU_id 0 --model_file_name F:\Code\Python\CTNet\CTNet-main\Save_model\ctnet\g50\model_sigma50.pth
4.3.1.2 Configuration配置测试

在这里插入图片描述

4.3.1.3 测试结果

在这里插入图片描述

4.3.1.4 推理速度

GPU测试环境:Nvidia GeForce RTX 3050,256256分辨率,5s/fps;512512分别率,20s/fps;481*321,12s/fps。

在这里插入图片描述

4.3.2 测试彩色图像

代码需要修改的地方如下:

在这里插入图片描述

4.3.2.1 命令测试

在终端中输入下面命令测试:

python Predict.py --mode test --model_name gtd --rgb_range 1 --n_colors 3 --sigma 25 --num_layers 1 --n_GPU 1 --GPU_id 0 --model_file_name F:\Code\Python\CTNet\CTNet-main\Save_model\ctnet\c75\model_sigma75.pth
4.3.2.2 Configuration配置测试

在这里插入图片描述

4.3.2.3 测试结果

在这里插入图片描述

4.3.2.4 推理速度

GPU测试环境:Nvidia GeForce RTX 3050,测试图片481*321左右,推理时间:12s/fps。

在这里插入图片描述

4. 4 CPU推理测试

如果想在CPU上推理模型,在源码基础上需要修改的代码见下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

测试命令和上面一样的,只是推理过程会放到CPU上处理,速度很慢。

五、测试结果

5.1 合成噪声

下面左侧是原始干净图,中间是去噪后的图,右侧是合成的噪声图。

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

5.2 真实噪声

下面图最最左侧都为真实模糊噪声图,第2列为噪声水平15模型测试结果,第3列为噪声水平25模型测试结果,最右侧为噪声水平50测试结果。

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

六、总结

以上就是图像去噪CTNet网络推理测试的详细过程,由于推理较耗时,我没有训练,测试了官网提供的模型,学者要训练的参考官网。有什么疑问的,欢迎留言讨论。

感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖

关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!

评论 58
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉研坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值