位置: 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/搜狗/神马)(各浏览器主页的网址)

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

  • 网易云唱片收藏架怎么编辑(网易云唱片收藏架怎么换)

    网易云唱片收藏架怎么编辑(网易云唱片收藏架怎么换)

  • win10如何退出安全模式(win10如何退出安全模式下重启)

    win10如何退出安全模式(win10如何退出安全模式下重启)

  • 华为p40有智能遥控器功能吗(华为p40有智能遥控功能吗)

    华为p40有智能遥控器功能吗(华为p40有智能遥控功能吗)

  • 荣耀30pro+如何分屏(荣耀30Pro如何分屏)

    荣耀30pro+如何分屏(荣耀30Pro如何分屏)

  • 苹果手机指南针不动(苹果手机指南针怎么显示经纬度)

    苹果手机指南针不动(苹果手机指南针怎么显示经纬度)

  • 微信怎么显示顾客次数(微信怎么显示顾客昵称呢)

    微信怎么显示顾客次数(微信怎么显示顾客昵称呢)

  • 华为拉黑后对方打电话(华为拉黑后对方打电话会有拦截提示吗)

    华为拉黑后对方打电话(华为拉黑后对方打电话会有拦截提示吗)

  • 华为vieal10是什么手机(华为vieal10是哪一年的手机)

    华为vieal10是什么手机(华为vieal10是哪一年的手机)

  • 网络抖动多少正常(网络抖动和ping多少正常)

    网络抖动多少正常(网络抖动和ping多少正常)

  • 转发别人的抖音别人会知道吗(转发别人的抖音如何去掉水印)

    转发别人的抖音别人会知道吗(转发别人的抖音如何去掉水印)

  • 朋友圈一横一点一横什么意思(朋友圈一横一点是删除好友了吗)

    朋友圈一横一点一横什么意思(朋友圈一横一点是删除好友了吗)

  • 手机服务器走丢了怎么办(服务器走丢了)

    手机服务器走丢了怎么办(服务器走丢了)

  • 每次打开微信都是地球怎么办(每次打开微信都有响声)

    每次打开微信都是地球怎么办(每次打开微信都有响声)

  • 普通群员怎么解除禁言(如何解群聊)

    普通群员怎么解除禁言(如何解群聊)

  • 微信注册需要辅助验证(微信注册需要辅助吗)

    微信注册需要辅助验证(微信注册需要辅助吗)

  • vivox30上市了吗

    vivox30上市了吗

  • xs与x的区别(xs和x是一样的吗)

    xs与x的区别(xs和x是一样的吗)

  • 微信收不到消息但是可以发出去(为什么关机后微信收不到消息)

    微信收不到消息但是可以发出去(为什么关机后微信收不到消息)

  • 怎么找回删除的聊天记录(怎么找回删除的照片)

    怎么找回删除的聊天记录(怎么找回删除的照片)

  • 天猫88会员可以退吗(天猫88会员可以买苹果手机吗)

    天猫88会员可以退吗(天猫88会员可以买苹果手机吗)

  • airpods充电盒怎么定位(airpods充电盒丢了怎么找)

    airpods充电盒怎么定位(airpods充电盒丢了怎么找)

  • 腾讯视频怎么绑定手机(腾讯视频怎么绑定王卡)

    腾讯视频怎么绑定手机(腾讯视频怎么绑定王卡)

  • 有5g手机可以用5g网络吗(5g手机就可以用5g网吗)

    有5g手机可以用5g网络吗(5g手机就可以用5g网吗)

  • 米读极速版安全吗(米读极速版会不会透露个人信息)

    米读极速版安全吗(米读极速版会不会透露个人信息)

  • 快手悬浮窗怎么设置(快手悬浮窗怎么调大小)

    快手悬浮窗怎么设置(快手悬浮窗怎么调大小)

  • DedeCMS织梦TAG标签SEO描述功能开发(织梦标签教程)

    DedeCMS织梦TAG标签SEO描述功能开发(织梦标签教程)

  • 上年度已交房产税减免如何做账务处理
  • 出口退税退的税是用进项税抵扣吗
  • 一键报税财务软件破解版
  • 补缴关税税率
  • 企业所得税法允许税前扣除的费用划分为
  • 另收取包装物押金
  • 委托加工直接对外销售的消费税
  • 主营业务收入计入
  • 采购设备包含安装费用吗
  • 以前年度损益调整会计分录
  • 商业折扣的纳税影响
  • 费用发票已报销怎么入账
  • 专项土地补偿款怎么入账?
  • 新公司接手之前公司的固定资产
  • 境外代扣代缴的税最后归谁所有
  • 增值税专用发票怎么开
  • 增值税票查无此票是什么原因
  • 在下列哪种情况下
  • 外地职工医保怎么报销
  • 小规模纳税人按季收入不达30万
  • 办公家具可以一次性抵扣吗?
  • 支票可以自己给自己开吗
  • 进料加工可分为
  • 基本户注销帐户余额怎么分配?
  • 薪酬支出包括什么
  • 委托加工代收代缴增值税吗
  • 其他货币资金包括哪些内容
  • stk al00华为
  • 租赁公司收到租赁费发票分录
  • launcher process
  • 交易性金融资产的入账价值
  • 营改增前甲供材施工企业如何缴纳企业所得税
  • 销售多余材料计入什么
  • 企业所得税职工福利扣除标准
  • phpstudy8
  • php aes
  • HTTP 协议
  • 企业注销亏损怎么处理
  • 发票入账怎么做分录
  • java静态方法和动态方法的区别
  • 长期股权投资种类
  • 定额的个体户怎么交税
  • sql默认路径在哪里
  • sql 临时表格
  • 哪些税种影响当期损益
  • 关于sql的问题
  • 分公司注销怎么起诉公司
  • 哪些合同不用计提印花税
  • 疫情期间社保减免优惠政策几个月
  • 季度所得税计提分录
  • 运输费用如何做账
  • 税金及附加如何预测
  • 老板从公司借款怎么处理
  • 非税收入票据如何开具
  • 新增社保需要工资表和记账凭证吗
  • 怎么样创建
  • 不固定参数的存储器
  • vistasp3
  • freebsd使用手册
  • ubuntu安装教程20.04 u盘
  • xp系统安装版如何安装
  • thinkpadx230i5
  • vc6_cn_full.exe
  • win7防病毒设置在哪
  • win8右下角图标不见了
  • win10激活后是什么样子
  • 支付宝安全控件可以卸载吗
  • 操作系统安全配置一般包括哪些内容
  • win7系统c盘占用空间大
  • 一个简单的灵魂
  • c语言 ls
  • vim命令详解
  • 狗刨怎么学
  • javascript中的splice
  • javascript函数中的参数,也可以称之为下面哪项内容?
  • webgl fbo
  • python的params
  • 税务局稽查科有什么处理企业的办法
  • 粮食收储企业税收优惠
  • 深圳龙华九价怎么预约
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设