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

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

2、SRCNN训练:

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

版权声明:本文为CSDN博主「BingY_998」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/BingY_998/article/details/122179101

BingY_998

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

YOLO-V3-SPP详细解析

YOLO-V3-SPP 继前两篇简单的YOLO博文 YOLO-V1 论文理解《You Only Look Once: Unified, Real-Time Object Detection》YOLO-V2论文理解《YOLO9000: Bet

目标检测部署(卡牌识别)

最近在折腾yolov5,训练了一个识别纸牌的模型,最后使用onnxruntime进行部署,感兴趣的可以上github上clone下来玩玩,模型的权重文件上传到了百度网盘,链接

基于YOLOv5的垃圾目标检测

使用yolov5实现垃圾目标检测(有图形化界面,webapp)。 计算机视觉爱好者,有自己的算力(8块2080Ti),熟练运用pytorch深度学习框架&#x