1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 基于SRGAN的图像超分辨率实例

基于SRGAN的图像超分辨率实例

时间:2019-03-15 20:59:55

相关推荐

基于SRGAN的图像超分辨率实例

之前自学了有关图像超分辨处理方面的知识,这篇博文参考了这位博主的例子:博客地址,完整地跑了一下代码,记录一下自己的学习过程

工程文件:压缩包链接

提取码:1111

1.建议新建一个专门的环境,之后的各种配置基于此环境(Python版本选择3.6)

2.安装CUDA

安装之前,我们首先要确定本机是否有独立显卡。以win10为例,在控制面板\系统和安全\系统找到设备管理器下的显示适配器中,查看是否有独立显卡,如下图所示:

接下来就可以开始安装cuda,打来官网:/cuda-toolkit-archive,

由于需要适配Pytorch1.4,因此我们选择CUDA Toolkit 10.1进行下载,并按以下配置下载到本地

双击安装,可以改变解压目录(路径最好不要有中文名),然后选择默认安装方式即

可。

测试一下cuda是否安装成功。打开cmd命令终端,然后输入命令:nvcc -V

如下图所示,安装成功。

3.安装cudnn

cudnn官网下载地址:/cudnn

单击Download Cudnn,注册账号后才能开始下载,之后选择如下版本:

按自己系统选择,我的是win10,所以选则如下图:

下载之后,解压缩,将CUDNN压缩包里面的bin、clude、lib文件直接复制到CUDA的安装目录下(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1),直接覆盖

安装即可完成。

添加系统环境变量到path中:

C:\Program Files\NVIDIA Corporation\NVSMI

然后在Windows PowerShell终端中运行命令,可以查看GPU使用情况:

nvidia-smi

4.安装pytorch

在anaconda中找到之前新建的环境,以环境名sr为例,打开命令行终端,输入如下指令,开始安装:

pip install torch===1.4.0 torchvision===0.5.0 -f /whl/torch_stable.html

后边加阿里云镜像源加速:

-i /pypi/simple/

安装完成后,验证是否成功并且能够成功调用cudnn,在该环境下(sr),输入python进入python环境,输入命令,如下图显示版本号即pytorch安装成功:

import torch print(torch.__version__)

接着,验证pytorch调用cuda是否正确,显示为true即调用成功:

安装cpu版tensorflow,利用tensorboard可视化运行结果

pip install tensorflow==2.1.0 -i /pypi/simple/

安装scikit-image(提供PSNR和SSIM的计算)

pip install scikit-image==0.16.2 -i /pypi/simple/

至此,项目所需配置基本完成。

7. 下载项目工程文件(COCO数据集因为有18个G左右,所以仅给出部分数据)

下载到本地后,打开Pycharm导入工程文件,然后选择新建的python环境即可,如下图所示:

项目组织架构

8.1项目根目录下有8个.py文件和3个文件夹,下面对各个文件和文件夹进行简单说明。

1) create_data_lists.py:生成数据列表,检查数据集中的图像文件尺寸,并将符合的图像文件名写入JSON文件列表供后续Pytorch调用;

2) datasets.py:用于构建数据集加载器,主要沿用Pytorch标准数据加载器格式进行封装;

3) models.py:模型结构文件,存储各个模型的结构定义;

4) utils.py:工具函数文件,所有项目中涉及到的一些自定义函数均放置在该文件中;

5) train_srresnet.py:用于训练SRResNet算法;

6) train_srgan.py:用于训练SRGAN算法;

7) eval.py:用于模型评估,主要以计算测试集的PSNR和SSIM为主;

8) test.py:用于单张样本测试,运用训练好的模型为单张图像进行超分重建;

9) data:用于存放训练和测试数据集以及文件列表;

10) results:用于存放运行结果,包括训练好的模型以及单张样本测试结果;

11) runs: 模型训练过程中的各项指标记录,可以作为数据文件利用tensorboard来查看训练结果,在程序运行的过程中可以再开一个终端运行下述命令:tensorboard --logdir runs,从而打开tensorboard监视器,打开后可以在浏览器中访问:http://localhost:6006/ 来监视训练结果。

8.2整个代码运行顺序如下:

1) 运行create_data_lists.py文件用于为数据集生成文件列表;

2) 运行train_srresnet.py进行SRResNet算法训练,训练结束后在results文件夹中会生成checkpoint_srresnet.pth模型文件;(已经训练完毕可以直接调用)

3) 运行eval.py文件对测试集进行评估,计算每个测试集的平均PSNR、SSIM值;

4) 运行test.py文件对results文件夹下名为test.jpg的图像进行超分还原,还原结果存储在results文件夹下面;

5) 运行train_srgan.py文件进行SRGAN算法训练,训练结束后在results文件夹中会生成checkpoint_srgan.pth模型文件;(已经训练完毕可以直接调用)

6) 修改并运行eval.py文件对测试集进行评估,计算每个测试集的平均PSNR、SSIM值;·

7) 修改并运行test.py文件对results文件夹下名为test.jpg的图像进行超分还原,还原结果存储在results文件夹下面;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。