【深度学习】实验7布置,图像超分辨

清华大学驭风计划

因为篇幅原因实验答案分开上传,

实验答案链接http://t.csdnimg.cn/P1yJF

如果需要更详细的实验报告或者代码可以私聊博主

有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~

深度学习训练营
案例 7 :图像超分辨
相关知识点:生成对抗网络、图像处理( PIL )和可视化( matplotlib

1 任务和数据简介

本次案例将使用生成对抗网络来实现 4 倍图像超分辨任务,输入一张低分辨率图像,生成器会生成一张 4 倍超分辨率的图像,如图 1 所示。生成对抗网络选用 SRGAN 结构 [1] 。本案例训练集使用 DIV2K 数据集 [2] ,包含有 800 2K 左右高分辨率的图像和 800 张对应的低分辨率图像;测试集使用 DIV2K 验证集 [2] 、Set5、 Set14 B100 Urban100 五个数据集,分别包括高分辨率图像和对应的低分辨率图像。训练集和测试集中的所有低分辨图像都是由高分辨率图像下采样得到,下采样方法为使用 Matlab 中的 resize 函数, scale factor 0.25 ,其余为默认参数(双三次插值)。
1 图像超分辨任务
本案例使用 PSNR SSIM 两个评价指标来衡量生成的高分辨率图像的质量,但指标的高低并不能直接反应图像质量的好坏,因此最终结果评价会加入人工评价,具体见第 4 部分的要求。

2 方法描述

模型结构

案例使用 [1] 中提出的 SRGAN 结构,生成器和判别器的结构与原论文保持一致,本案例要求自行实现 SRGAN 网络结构。

内容损失函数

对抗损失函数

3 参考程序及使用说明

本案例提供了部分代码供使用,各程序简介如下:
create_data_lists.py : 下载好训练集和测试集后,根据提供的数据集地址来生成案例训练测试所需要的 csv 文件。
datasets.py : 定义符合 pytorch 标准的 Dataset 类,供读入数据,注意训练阶段每张图片采样了 100 patch 来扩充训练集。
imresize.py : python 实现了 matlab resize 函数,用于图像下采样。目前
python 第三方包中尚未有能得到与 matlab resize 函数一样结果的函数。
solver.py : 定义了一个 epoch 的训练过程。
models.py : 定义 SRGAN 模型结构,需要自行实现。
train.ipynb : 用于训练的 jupyter 文件,其中超参数需要自行调节,训练过程中可以看到模型损失的变化,每个 epoch 训练后都会进行模型保存。
test.ipynb : 加载指定的训练好的模型文件,在 5 个测试集上进行测试,计算并报告各个数据集上的 PSNR SSIM 指标数值。
super_resolution.ipynb : 加载指定的训练好的模型文件,针对单个图片进行 4倍超分辨,并对结果进行可视化。
utils.py : 定义了一些可能会用到的函数,如图像数值格式转换等。
环境要求: python pytorch, torchvision, numpy, csv, PIL, matplotlib, easydict ,tqdm 等。
使用说明:
1) 下载训练集和测试集 [5] ,更改 create_data_lists.py 中数据集存放的位置,指定输出文件夹,运行该文件生成案例所需的 csv 文件; 2) 按照 SRGAN 网络结构完成 models.py
3) 运行 train.ipynb 训练网络,现在的训练模式为初始化生成器和判别器后,对生成器和判别器进行交替更新。这样的训练模式只能得到一个表现很差的模型。案例要求自行设计训练模式,如加入生成器的预训练等[4] ,更改 solver.py train.ipynb 训练出一个性能好的模型;
4) 运行 test.ipynb 对训练的模型进行测试,现在是对 5 个测试集进行 PSNR和 SSIM 的计算。其中包含了 DIV2K 数据集中的验证集,这个验证集也可以作为训练时用于调整参数的验证集(如需验证请自行修改 train.ipynb实现,不做要求);
5) 模型训练好之后运行 super_resolution.ipynb 生成供人工测评的图片。
4 要求与建议
完成 models.py 文件 ,可参考原论文 [1]
调节 train.ipynb 中的超参数,使网络结构与原论文保持一致。运行 train.ipynb使案例可以跑通基础模式的训练;
设计生成器和判别器的训练方式 ,可参考 [4] 中的训练方式,修改 solver.py 和train.ipynb 训练出性能更好的模型;
运行 test.ipynb 对模型在 5 个测试集上进行测试,记录 PSNR SSIM 结果;
运行 super_resolution.ipynb ,为 Set5 测试集 中的每一张低分辨图片生成相应的高分辨图片,保留结果供人工评价
完成一个实验报告,内容包括生成器和判别器的训练方式说明、模型最佳参数和对应的测试集结果、Set5 测试集图片生成结果、自己所做的尝试和改进;
5 参考材料
[1] Ledig, Christian, et al. "Photo-realistic single image super-resolution using a generative adversarial network." Proceedings of the IEEE conference on computervision and pattern recognition. 2017. https://arxiv.org/abs/1609.04802
[2] https://data.vision.ee.ethz.ch/cvl/DIV2K/
[3] https://zhuanlan.zhihu.com/p/50757421
[4] https://github.com/tensorlayer/srgan
[5] 数据集下载链接
训练集: http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_HR.zip http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_LR_bicubic_X4.zip
测试集: http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_valid_HR.zip
http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_valid_LR_bicubic_X4.zip
https://cloud.tsinghua.edu.cn/d/d97daf4c4b394abf86ec/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/676500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计Python+django医院后勤服务系统flask

结合目前流行的 B/S架构,将医疗后勤服务管理的各个方面都集中到数据库中,以便于用户的需要。该平台在确保平台稳定的前提下,能够实现多功能模块的设计和应用。该平台由管理员功能模块,工作人员模块,患者模块,患者家属模…

基于SpringBoot的记账系统项目

点击以下链接获取源码:https://download.csdn.net/download/qq_64505944/88822660?spm1001.2014.3001.5503 Java项目-8 开发工具:IDEA/Eclipse,MySQL,Tomcat 项目框架:SpringBoot,layui 功能:可以按照类型和时间查询&#xff0c…

基于tomcat运行jenkins常见的报错处理

目录 1.jenkins.util.SystemProperties$Listener错误 升级jdk11可能遇到的坑 2.java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration 3.There were errors checking the update sites: UnknownHostException:updates.jenkins.i…

力扣:51. N 皇后

回溯解法思路: 1.用二维char数组来模拟放置皇后操作,同时要先把先将二维数组中全部赋值为.来表示空位。 再调用回溯函数 ,终止条件为遍历的行数等于n时结束遍历,把char【】【】类型的值加入到集合li1中,再加加入过程…

notepad++成功安装后默认显示英文怎么设置中文界面?

前几天使用电脑华为管家清理电脑后,发现一直使用的notepad软件变回了英文界面,跟刚成功安装的时候一样,那么应该怎么设置为中文界面呢?具体操作如下: 1、打开notepad软件,点击菜单栏“Settings – Prefere…

最新基于MATLAB 2021b的机器学习、深度学习实践

基于MATLAB 2021b的机器学习和深度学习实践是一个广泛的主题,下面是一些基本的步骤和资源,可以帮助你开始: 安装MATLAB 2021b: 首先,你需要安装MATLAB 2021b。你可以从MathWorks网站下载并安装最新版本的软件。学习MATLAB基础知识…

Modern C++ 内存篇1 - std::allocator VS pmr

大年三十所写,看到就点个赞吧!祝读者们龙年大吉!当然有问题欢迎评论指正。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. 前言 从今天起我们开始内存相关的话题,内存是个很大的话题,一时不…

探索未来:集成存储器计算(IMC)与深度神经网络(DNN)的机遇与挑战

开篇部分:人工智能、深度神经网络与内存计算的交汇 在当今数字化时代,人工智能(AI)已经成为科技领域的一股强大力量,而深度神经网络(DNN)则是AI的核心引擎之一。DNN是一种模仿人类神经系统运作…

sqli.bypass靶场本地小皮环境(1-5关)

1、第一关 http://sqli.bypass/index1.php 单引号报错id1 双引号正常id1,应该是单引号闭合 id1--注释符用不了,%20和都用不了 %0a可以用 没有报错,用布尔盲注,POC:id1%0aand%0asubstr(ss,1,1)s%0aand%0a11 脚本跑数…

跨模态行人重识别都需要学什么

跨模态行人重识别(Cross-Modality Person Re-identification, 简称Cross-Modality Re-ID)是计算机视觉领域的一项挑战性任务,旨在跨越不同模态之间(例如,可见光与红外线图像)识别同一行人。该任务涉及图像处…

大模型学习笔记二:prompt工程

文章目录 一、经典AI女友Prompt二、prompt怎么做?1)注重格式:2)prompt经典构成3)简单prompt的python询问代码4)python实现订阅手机流量套餐的NLU5)优化一:加入垂直领域推荐6&#xf…

Django开发_21_中间键

一、说明 (一)根据实际测试,中间键的文件名不是固定的,可以自定义,比如:my_middleware.py、middleware.py都不影响实际的运行 (二)根据实际测试,中间键文件放在根目录下…

GPT-4模型中的token和Tokenization概念介绍

Token从字面意思上看是游戏代币,用在深度学习中的自然语言处理领域中时,代表着输入文字序列的“代币化”。那么海量语料中的文字序列,就可以转化为海量的代币,用来训练我们的模型。这样我们就能够理解“用于GPT-4训练的token数量大…

homework day6

第五章 静态成员与友元 一、填空题 1、一个类的头文件如下所示&#xff0c;num初始化值为5&#xff0c;程序产生对象T&#xff0c;且修改num为10&#xff0c;并使用show()函数输出num的值10。 #include <iostream.h> class Test { private: static int num; publi…

Java 错误 java.util.InputMismatchException

本文将讨论Java编程语言主线程中的 java.util.InputMismatchException。 Java 中的 java.util.InputMismatchException 每当 JVM 收到一种数据作为输入但需要另一种类型的值&#xff08;这表明数据不匹配&#xff09;时&#xff0c;它就会抛出 java.util.InputMismatchExcepti…

从一到无穷大 #23 《流计算系统图解》书评

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 文章目录 引言内容总结 引言 春节假期回到家里断然是不会有看纸质书的时间的。造化弄人&#…

HCIA--ACL和远程登陆实验

1.划分网段&#xff0c;配IP地址&#xff0c;启用OSPF协议&#xff1a; AR1配置&#xff1a; [Huawei]sys R1 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24 [R1-GigabitEthernet0/0/0]int g0/0/1 [R1-GigabitEthernet0/0/1]ip add 12.1.1.1 24 [R1-Gigabi…

STM32的ADC电压采集

时间记录&#xff1a;2024/2/9 一、ADC相关知识点 &#xff08;1&#xff09;STM32的ADC时钟不要超过14MHz&#xff0c;不然结果的准确率将下降 &#xff08;2&#xff09;ADC分为规则组和注入组&#xff0c;规则组相当于正常运行的程序&#xff0c;注入组相当于中断可以打断…

贵金属交易包括哪些?香港有哪些贵金属交易平台?

随着金融市场的不断发展&#xff0c;贵金属交易作为一种投资方式&#xff0c;越来越受到投资者的关注。贵金属交易不仅具有投资价值&#xff0c;还能够为投资者提供规避风险和保值的工具。本文将介绍贵金属交易的种类和香港的贵金属交易平台。 一、贵金属交易的种类 贵金属交…

2024.2.7-8 寒假训练记录(21)

文章目录 洛谷P3193 [HNOI2008] GT考试ATC abc339E Smooth SubsequenceATC abc339F Product Equality 洛谷P3193 [HNOI2008] GT考试 题目链接 KMPdp矩阵快速幂 还没有理解得很清楚&#xff0c;主要是对KMP理解还不够深刻 #include <bits/stdc.h>using namespace std;…