位置: IT常识 - 正文

图像超分辨率重建(pytorch)(图像超分辨率重建数据集)

编辑:rootadmin
图像超分辨率重建(pytorch) 本文代码

推荐整理分享图像超分辨率重建(pytorch)(图像超分辨率重建数据集),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:图像超分辨率重建经典论文,图像超分辨率重构,图像超分辨率重建数据集,图像超分辨率重建算法,图像超分辨率重建算法,图像超分辨率重建,图像超分辨率重建,图像超分辨率重建经典论文,内容如对您有帮助,希望把文章链接给更多的朋友!

         本文代码主体来自CVPR2020论文《Closed-loop matters: Dual regression networks for single image super-resolution》,但原作者并未提供论文亮点--如何使用unpair数据进行训练的代码,所以我在其基础上补齐了该过程的代码。

        代码仓库:https://github.com/VitaminyW/Super_Solution

        PS:对代码存在问题可以通过私信或评论区提问。

一、数据预处理

为了训练模型实现8倍超分,本工作中使用BICUBIC算法对高清图像进行下采样8倍,从而获得作为网络输入的低分辨率图像。

BICUBIC算法:双三次插值又称立方卷积插值。三次卷积插值是一种更加复杂的插值方式。该算法利用待采样点周围16个点的灰度值作三次插值,不仅考虑到4个直接相邻点的灰度影响,而且考虑到各邻点间灰度值变化率的影响。其权重函数如下所示,

       其中a=-0.5,x为待插值点与插值点的距离。插值过程可由下式所示,

   

       其中代表距离待插值点的像素值。

图1. 0200.png下采图像展示

二、算法原理

图2.DRN网络结构图

2.1  算法目标

      在超分辨率问题中,存在着两个问题:

      a. 从超分辨率图像到低分辨率图像存在着非常多种下采样方式,即真实世界的低分辨率图像形成的原因多种多样。

      b. 深度学习是一种基于数据的学习方式,若数据集的输入是由某种特定下采方式得到的,则模型可能会学习到该特定下采方式的伪逆。

2.2  解决方法以及算法原理

      a. 正向过程

           网络通过借鉴UNet网络的结构方式,通过多级下采样提取图像特征,并通过concat方式结合原有图像特征与上采特征图进行上采样,从而产生多个高分辨率图像。若网络存在3个层级,则每个层级分别对应1倍、2倍以及4倍分辨率重建网络。最后通过MSE或MAE损失函数可以促使网络学习如何进行正向重建。

图像超分辨率重建(pytorch)(图像超分辨率重建数据集)

      b. 对偶过程

           正向过程是求解由低分辨率到高分辨率的解,即该问题解空间较大,所以需要较为复杂的网络结构。对偶过程指在学习数据中由高分辨率到低分辨率的下采过程,该过程解空间较小,可以使用较为简单的网络结构进行学习。

      c. 半监督学习

           由于对偶过程输入的为网络重建出来的高分辨率图像,其学习标签为低分辨率图像,所以该过程不依赖于是否拥有真实超分标签,从而网络可以进行半监督学习。

      d. 损失函数

        其中表示第i张低分辨率图像,表示第张高分辨率图像,代表网络重建,分别代表正向过程和反向过程的评估函数,代表指示是否有对应的的函数,若有为1,否则为0. 由函数,在编程中易得pair数据与unpair数据分别计算损失函数进行反向传播。

三、代码流程3.1 详细步骤:

3.1.1 构建数据集,数据集结构如下图所示:

下采样代码位于代码目录的dataProcessing.ipynb

图3. 数据集结构

3.1.2 设置option.py文件

        将--data_dir,--data_train,--data_val参数修改为对应数据集路径与名称。也可选择通过命令行输入。

3.1.3 运行训练代码

        使用终端打开main.py所在文件目录,输入以下指令进行训练。

python main.py –batch_size 32 –n_GPUs 4 –save ./experiment/training_result --model DRN-S

3.1.4 由于原文作者未提供使用unpaired数据进行网络fine-tune代码,本工作根据论文逻辑,编写了 main_fine_tune.py代码,输入以下指令进行训练

python main.py –batch_size 32 –n_GPUs 4 –save ./experiment/fine_tune_result --pre_train {预训练正向模型的参数保存地址} --pre_train_dual {预训练对偶模型的参数保存地址} --model DRN-S

3.1.5 由于原文作者未提供重建unpaired数据的代码,本工作根据代码逻辑编写了对应main_reconstruction.py代码,输入指令进行预测。

python main_reconstruction.py --no_augment --model DRN-S --test_only --save ./reconstruction --save_results --batch_size 1 --save ./reconstruction --pre_train {fine-turn后正向模型的参数保存地址} --pre_train_dual {fine-turn后对偶模型的参数保存地址}3.2 过程截图

a. ./experiment/training_result文件夹下:

图4.train输出内容展示

b. ./experiment/fine_tune_result

图5.fine-tune输出内容展示

c. ./reconstruction

图6.reconstrution输出内容展示

四、部分结果展示

本文链接地址:https://www.jiuchutong.com/zhishi/299439.html 转载请保留说明!

上一篇:各浏览器useragent大全 包括(chrome/360/搜狗浏览器以及百度/google/搜狗/神马)(各浏览器主页的网址)

下一篇:联邦学习攻击与防御综述

  • 秀米怎么直接用别人的排版(秀米怎么直接用免费风格排版模板)

    秀米怎么直接用别人的排版(秀米怎么直接用免费风格排版模板)

  • 华为nova5怎么关闭锁屏(华为nova5怎么关机)

    华为nova5怎么关闭锁屏(华为nova5怎么关机)

  • 骁龙660aie和660区别(骁龙660 aie)

    骁龙660aie和660区别(骁龙660 aie)

  • 苹果11pro与11pro max区别(苹果11pro与11pro max拍照有区别吗)

    苹果11pro与11pro max区别(苹果11pro与11pro max拍照有区别吗)

  • 小米8安全模式怎么解除(小米8安全模式怎么退出来啊手机)

    小米8安全模式怎么解除(小米8安全模式怎么退出来啊手机)

  • qq验证消息添加好友(QQ验证消息添加的好友是什么意思)

    qq验证消息添加好友(QQ验证消息添加的好友是什么意思)

  • 微信余额怎么设置密码(微信余额怎么设置指纹)

    微信余额怎么设置密码(微信余额怎么设置指纹)

  • 美团拼团后其中一个人能退嘛(美团拼团后其中一个订单)

    美团拼团后其中一个人能退嘛(美团拼团后其中一个订单)

  • mt6755相当于骁龙哪一款处理器(mt6757相当于骁龙)

    mt6755相当于骁龙哪一款处理器(mt6757相当于骁龙)

  • 华为的ai语音助手叫什么(华为ai语音助手的名字)

    华为的ai语音助手叫什么(华为ai语音助手的名字)

  • 华为后台锁定(华为手机如何锁住应用不关掉)

    华为后台锁定(华为手机如何锁住应用不关掉)

  • 荣耀9支持光学防抖吗(荣耀支持光学变焦吗)

    荣耀9支持光学防抖吗(荣耀支持光学变焦吗)

  • 苹果home键是什么(苹果home键是什么材质)

    苹果home键是什么(苹果home键是什么材质)

  • 苹果官网预计送达时间准吗(苹果官网预计送达时间没送到)

    苹果官网预计送达时间准吗(苹果官网预计送达时间没送到)

  • nova5如何截屏(华为nova5的截屏方式)

    nova5如何截屏(华为nova5的截屏方式)

  • 华为mate305G版怎么进入智慧视觉(华为mate305g手机价格)

    华为mate305G版怎么进入智慧视觉(华为mate305g手机价格)

  • oppor11t不推送colors5.2怎么办(为什么oppo新版本不推送)

    oppor11t不推送colors5.2怎么办(为什么oppo新版本不推送)

  • Word中保存文本的快捷键是(文本文档保存)

    Word中保存文本的快捷键是(文本文档保存)

  • qq删除好友是双向的吗(qq删除好友双方聊天记录还在吗)

    qq删除好友是双向的吗(qq删除好友双方聊天记录还在吗)

  • word文档偏左怎么调到中间(word文档向左偏移)

    word文档偏左怎么调到中间(word文档向左偏移)

  • 小米9喇叭只有一个响(小米9喇叭只有一个响另一个是干嘛用的)

    小米9喇叭只有一个响(小米9喇叭只有一个响另一个是干嘛用的)

  • 怎样解除抖音评论限制(怎样解除抖音评论被永久封禁)

    怎样解除抖音评论限制(怎样解除抖音评论被永久封禁)

  • 图片保存到手机看不见(图片保存到手机怎么找到)

    图片保存到手机看不见(图片保存到手机怎么找到)

  • 哔哩哔哩如何投屏(哔哩哔哩如何投稿视频)

    哔哩哔哩如何投屏(哔哩哔哩如何投稿视频)

  • 在电脑上,网页字体太大或太小怎么办?(在电脑上网页打不开怎么办)

    在电脑上,网页字体太大或太小怎么办?(在电脑上网页打不开怎么办)

  • 记录转载:Vite多环境配置--让项目拥有更高定制化能力(viite)

    记录转载:Vite多环境配置--让项目拥有更高定制化能力(viite)

  • 什么情况下不能做近视激光手术
  • 免税农产品发票怎么做账
  • 扫码开票开错了怎么改
  • 单一窗口出口退税申报
  • 增值税普通发票几个点
  • 个体工商户增值税申报操作流程
  • 职工的补助金需交税吗
  • 展板制作费属于什么服务
  • 应计提的存货跌价准备
  • 可供出售金融资产新准则叫什么
  • 外币账户收款如何做账务处理呢?
  • 房地产企业城建税预缴可以抵扣吗
  • 工业企业用电是收入的几倍
  • 企业接收供应商赠品怎么正确的入账?
  • 行政单位举办活动能发奖奖金吗
  • 小规模纳税人需要汇算清缴吗
  • 投资性房地产转为存货
  • 装修预付款怎么做账
  • 营业外收入有哪些情况
  • 劳务外包开票税目由所提供的服务性质来决定
  • 办公室空调维修属于办公费吗
  • 剑灵怎么双开2023
  • 什么车不用交保险
  • 门店出纳的工作内容
  • 微软正在测试什么意思
  • 建筑行业收到工程款会计分录
  • iphone助手
  • PHP:stream_get_contents()的用法_Stream函数
  • pytorch卷积操作
  • windowlocation用法
  • 有趣的html简单代码
  • sync命令是什么意思
  • 工资月末结转
  • 学电脑网站
  • linux下安装mysql数据库5.6源码安装,修改登录用户密码
  • mongodb reference
  • 简述sql server
  • 小微企业季度申报所得税税率
  • sqlserver模糊查询表名
  • 营业收入净额是利润表的哪个数
  • 固定资产卡片账是明细账吗
  • 广告赞助支出能抵扣吗
  • 工程造价不能超出多少预算
  • 小数点引起小数大小变化
  • 补贴费用申请书怎么写
  • 贷款利息进项税额转出
  • 融资租赁首付款的性质
  • 股份有限公司向股东借款
  • 车船税怎么抵扣进项
  • 所有者权益的概念和特征
  • 营改增后不动产发票怎么开
  • 未达起征点的收入怎么入账
  • 国企背书是什么意思
  • 国库单一账户体系包括哪些账户
  • 如何清除sql2008r2日志
  • 批量修改 sql
  • 微软宣布今年不会为全职员工加薪j
  • 安装 apt
  • windows中输入法的安装步骤
  • 怎么检测软件有没有毒
  • 如何找回windows删除的文件
  • 软件源推荐
  • linux,Centos5,Ubuntu关掉ipv6的方法
  • linux系统怎么安装wine
  • win10怎么进去
  • Win10打开浏览器就未响应
  • 浅谈特殊儿童的融合教育论文
  • cocos2dx 4.0
  • http状态码一览表
  • cocos2dx-js
  • 浅析中国式现代化的理论价值与现实意义
  • 拖拽js实现
  • python中字典怎么用
  • python struct库
  • javascript获取对象方法属性
  • unity旋转角度范围限制
  • 广西个人医保缴费时间
  • 深圳国税电子税务局官网
  • 航信报税
  • 卖钢材交哪些税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设