DeblurGANv2的复现过程

本文详细介绍了如何从GitHub上下载并复现DeblurGANv2代码,包括配置文件、数据处理、模型结构和训练过程。着重讨论了训练设置的调整和可能出现的问题,以及GOPRO数据集的下载。作者还分享了对代码的改进尝试和训练结果的评估。
摘要由CSDN通过智能技术生成

最近复现了DeblurGANv2,写个博客记录一下
官网源代码链接:https://github.com/TAMU-VITA/DeblurGANv2
把文件从官网上下载下来:即 DeblurGAN-master
要想顺利的复现DeblurGANv2,以及后续尝试对该代码进行改进,需要对整个文件内容有一个清晰的了解
文件的目录如下图所示
在这里插入图片描述
首先介绍一下文件夹内的文献:
Config:config.yaml是项目的配置文件:包括训练集的路径设置,验证集路径设置,对数据集内图片的处理,数据集增强等;backbone的选择,backbone冻结的轮数;训练的轮数,每轮训练和验证的批数batch,批次batch的大小;优化器的选择,学习率的设置,学习率的变化设置
dataset1:blur文件夹 #在执行预测代码时,放置的图片
doc_images:作者发表的论文,里面的数据相关图片
fpn:在代码运行过程中的日志,可以使用tensorboard进行查看
GOPRO:训练和验证的数据集test放置验证集,train放置训练集
models:文件夹内放置的是所使用搭建出来框架(主),含有包括哪些东西和怎么排列;
骨干模块,用到哪些骨干网络需要放入哪些骨干网络(不同尺度特征的提取);
neck模块,主要用到FPN模块,是对提取到的特征进行尺度融合(特征的处理
损失函数模块,对训练过程优劣的量化,对损失函数进行修改也是这里
submit:该文件夹存放的是执行predict后,去模糊后的图片
test_img:该文件夹存放可用于测试的图片
util:该文件夹存放计算图片质量模块,PSNR,SSIM的计算方式
gitignore:gitignore文件可以用于指定Git版本控制系统忽略特定文件或文件夹的规则,这些文件不被纳入版本控制,比如日志文件、临时文件等
adversarial_trainer:这个文件给出对抗训练的过程,如果要使用对抗生成,必须有这部分的设置
aug:增强的缩写,对输入的单张图像进行格式化处理和增强,用于减少过拟合的一些操作
best_fpn.h5:经过训练,效果最好的权重文件,用于predict调用
dataset.py:对输入的数据集即多张图片进行批次处理,即做出每一批次用于训练
LICENSE:免责和知识产权保护声明
Metric_counter.py:用于记录和统计模型中各种指标的工具类,比如PSNR,SSIM等,主要用于记录和监视关键指标,便于模型性能的评估和调优
Picture_to_video.py:就是把一个个图片进行合成视频的代码,按照顺序放置
Predict.py:就是对输出图片进行预测处理,根据端到端的处理,即经过所训练模型处理,得到了什么结果
README.md:就是这个项目包括哪些内容,代码该如何使用,这是了解一个项目的第一步
Requirements:实现该项目的依赖环境,可以用pip install -r “requirements”进行一次性安装
Schedulers.py:对应config文件中学习率的调整方法,那里是调用模块,这里是封装的模块,和优化器一起使用的类
Test.py:用于运行指定代码
Test.sh:用于运行指定代码
Test_aug.py:测试aug的代码,开发者编写过程排除bug,编写完成寻找错误
Test_batchsize.py:用于测试batchsize的代码,开发者编写过程排除bug
Test_dataset.py:用于测试dataset的代码,开发者编写过程排除bug
Test_metrics.py:评价指标(metric),用于测试metrics的代码,测试性能和指标,输出单个图片的PSNR或者输出批次的SSIM等,用于测试相关指标
Train.py:用于执行训练的代码,运行就开始训练,其中要指定相应的参数

需要注意的地方:
0.环境搭建可能碰到的问题
依据依赖requirements进行整个训练环境的搭建,先执行train文件,缺少什么模块就去百度,安装什么模块;不要卸载并更改自己计算机的cuda,和计算机的保持一致;根据cuda的版本去安装pytorch(去pytorch官网下载);最重要的一点是根据requirements进行环境的搭建!!!
1.训练集与验证集路径放置问题
训练集和验证集的设置代码如下所示
注释:如果数据集这部分放置的不对,有可能导致以下三个问题
能够进行训练,但是损失函数是负的,不正常
能够进行训练,能够得到权重文件,在预测的时候,没有效果,或者去模糊是蓝色的
在训练过程的对话框,val始终达不到100%
在这里插入图片描述
2.训练文件中train的设置
这里的源代码和论文中的代码不一致,进行了如下修改
在这里插入图片描述
训练过程可视化:
这里是根据backbone是Inception进行训练的过程和结果
损失的变化:
在这里插入图片描述
在这里插入图片描述
衡量指标PSNR和SSIM的变化:
在这里插入图片描述
在这里插入图片描述
去模糊的效果:
原图如下
在这里插入图片描述
去模糊后的图片
在这里插入图片描述
总结:
对于指标来说,并没有论文中的那么高,但是还是有一定的效果,存在一定的改进空间!!

GOPRO数据集下载链接:
百度云:https://pan.baidu.com/s/1oBCOwLA9gu1XAaXdRXhMbQ?pwd=9fpt 提取码:9fpt
参照博客:
https://blog.csdn.net/DW_CK/article/details/106222308?ops_request_misc=&request_id=&biz_id=102&utm_term=GOPRO%E6%95%B0%E6%8D%AE%E9%9B%86%E4%B8%8B%E8%BD%BD&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-106222308.nonecase&spm=1018.2226.3001.4187

评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值