Image Super-Resolution Using Deep Convolutional Networks图像超分辨----SRCNN

Image Super-Resolution Using Deep Convolutional Networks 图像超分辨----SRCNN测试及训练

本文详细介绍了图像超分辨方法–SRCNN代码测试及训练
论文地址:https://ieeexplore.ieee.org/document/7115171?arnumber=7115171
代码地址:https://github.com/yjn870/srcnn-pytorch

1、SRCNN测试:

(Window10系统下进行)
(1)创建虚拟环境
(2)安装python3.6pytorch1.7.0cuda11.0以及必要的安装包
h5pytqdm
(3)安装pytorch1.7.0和对应版本的cuda11.0:终端输入如下命令

conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=11.0 -c pytorch

(4)将下载的预训练模型拷贝到项目文件model文件夹下。
本次测试使用的模型为srcnn_x3.pth,也可以使用其他模型。

运行测试命令:

python test.py --weights-file model/srcnn_x3.pth --image-file data/butterfly_GT.bmp --scale 3

结果图片和原始图片都保存在data文件夹下,运行结果显示峰值信噪比为27.53

原始图片为:
Image Super-Resolution Using Deep Convolutional Networks图像超分辨----SRCNN_第1张图片
下面结果分别为butterfly_GT_bicubic_x3(双三次插值)和butterfly_GT_srcnn_x3(SRCNN)
Image Super-Resolution Using Deep Convolutional Networks图像超分辨----SRCNN_第2张图片
可以更改scale参数,改变规模,进行测试以及峰值信噪比的计算。
Image Super-Resolution Using Deep Convolutional Networks图像超分辨----SRCNN_第3张图片
改变规模进行测试,scale为2,3,4时对应的PSNR分别为34.69,35.82,38.34
在这里插入图片描述
也可以对自己的数据进行测试,将需要测试的图片放在data文件夹下,运行命令的时候,将图片的名称改为自己测试图片的名称。
在这里插入图片描述
也可以更改相应的参数。

2、SRCNN训练:

(Window10系统下进行)
(1)在代码地址中下载用于训练的数据集,如下:
Image Super-Resolution Using Deep Convolutional Networks图像超分辨----SRCNN_第4张图片
(2)在项目工程文件夹下创建数据集文件夹,如下:
文件夹名称分别为train_dataeval_dataoutputs
并将数据集和评估文件放到如下文件夹下,本次训练使用91-image_x3.h5Set5_x3.h5,也可以使用其他数据文件。
Image Super-Resolution Using Deep Convolutional Networks图像超分辨----SRCNN_第5张图片
(3)接下来需要设置train.py文件中的参数,如下:
图中①②③分别为训练数据、评估文件、输出模型保存文件夹,可以自己进行创建,修改此处即可。
图中④⑤⑥分别为训练的batch_sizenum_epochsnum_workers,如果显存不够可以适当改小batch_size;需要简单测试,节省时间,可以将num_epochs 减少;windows下训练,需要将num_workers改成0。
Image Super-Resolution Using Deep Convolutional Networks图像超分辨----SRCNN_第6张图片
输入命令:python train.py
在这里插入图片描述
开始训练,并同时输出此周期下的psnrloss等指标。(注:本次训练10个周期)
训练结束,模型会保存在outputs文件夹下。同时会生成最好的模型,也就是峰值信噪比最高的模型。之后,可以使用best.pth进行测试。
Image Super-Resolution Using Deep Convolutional Networks图像超分辨----SRCNN_第7张图片
在这里插入图片描述
以上就是SRCNN测试及训练的全过程了,希望对大家有所帮助!

你可能感兴趣的:(图像视频超分辨,计算机视觉,超分辨率重建,pytorch)