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

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

  • 抖音怎么加灯牌(抖音怎么加灯牌等级)

    抖音怎么加灯牌(抖音怎么加灯牌等级)

  • ipad天气显示北京怎么改(为什么ipad天气显示不是所在地?)

    ipad天气显示北京怎么改(为什么ipad天气显示不是所在地?)

  • vivox27拍照模糊(vivox27拍照模糊怎么办)

    vivox27拍照模糊(vivox27拍照模糊怎么办)

  • oppor17手机上边有个HD 还有个电话(oppo手机边上有个小框怎么弄出来)

    oppor17手机上边有个HD 还有个电话(oppo手机边上有个小框怎么弄出来)

  • 售后电池与新电池区别(售后电池是新的吗)

    售后电池与新电池区别(售后电池是新的吗)

  • 微信公众号视频审核要多久(微信公众号视频怎么转发到QQ)

    微信公众号视频审核要多久(微信公众号视频怎么转发到QQ)

  • 手机充电发热怎么解决(手机充电发热怎么回事?)

    手机充电发热怎么解决(手机充电发热怎么回事?)

  • 苹果小圆点不见了原因(苹果小圆点不见了怎么弄)

    苹果小圆点不见了原因(苹果小圆点不见了怎么弄)

  • 多重区域如何复制粘贴(excel多重区域)

    多重区域如何复制粘贴(excel多重区域)

  • iphone11从安卓设备转移数据在哪里(苹果11怎么把安卓手机数据导入苹果手机)

    iphone11从安卓设备转移数据在哪里(苹果11怎么把安卓手机数据导入苹果手机)

  • 480p分辨率是多少像素(分辨率480p是什么意思)

    480p分辨率是多少像素(分辨率480p是什么意思)

  • 苹果电脑显示电源已接通未充电怎么办(苹果电脑显示电脑因出现故障重启)

    苹果电脑显示电源已接通未充电怎么办(苹果电脑显示电脑因出现故障重启)

  • 微机主板主要组件是什么(微机主板结构)

    微机主板主要组件是什么(微机主板结构)

  • 群投票能看见谁投的吗(群投票可以看到是谁吗)

    群投票能看见谁投的吗(群投票可以看到是谁吗)

  • 黑莓手机怎么下载微信(黑莓手机怎么下歌)

    黑莓手机怎么下载微信(黑莓手机怎么下歌)

  • 无感认证啥意思(什么是无感认证)

    无感认证啥意思(什么是无感认证)

  • 苹果x摄像头是哪家的(苹果x摄像头是蓝宝石玻璃吗)

    苹果x摄像头是哪家的(苹果x摄像头是蓝宝石玻璃吗)

  • ept是什么(ept mmu)

    ept是什么(ept mmu)

  • 快手怎么快速取关多人(快手怎么快速取消关注多个人)

    快手怎么快速取关多人(快手怎么快速取消关注多个人)

  • 如何清楚输入法的记忆(如何清楚输入法里的记忆词苹果)

    如何清楚输入法的记忆(如何清楚输入法里的记忆词苹果)

  • xr有红外线吗(xr手机有红外线吗)

    xr有红外线吗(xr手机有红外线吗)

  • 进程从运行状态进入就绪状态的原因(以下可能导致一个进程从运行状态)

    进程从运行状态进入就绪状态的原因(以下可能导致一个进程从运行状态)

  • 苹果macOS Big Sur系统怎么选择首选语言? mac更改系统语言的技巧(苹果官网入口)

    苹果macOS Big Sur系统怎么选择首选语言? mac更改系统语言的技巧(苹果官网入口)

  • Win10版本20H2/2004 Build 19042.746/19041.746累积更新补丁KB4598242推送(Win10版本21H2卡死)

    Win10版本20H2/2004 Build 19042.746/19041.746累积更新补丁KB4598242推送(Win10版本21H2卡死)

  • 综合所得税和单独计税
  • 捐赠劳务支出可在企业所得税前扣除吗
  • 我国的税种有哪些种类
  • 如何开银行卡账户
  • 个人所得税应补税额怎么办
  • 网上社保增减员操作流程
  • 残保基金的计算公式
  • 员工冲借款收据怎么开?
  • 期末应交企业所得税怎么算
  • 给分公司开发票由总公司付款怎么办?
  • 开具增值税专用发票证明
  • 年底没有取得发票企业所得税
  • 个人所得税app入职时间不对
  • 在建工程转固定资产后如何计提折旧
  • 收到发票后怎么处理
  • 预收房屋租金如何交房产税
  • 常见的审计调整事项
  • 企业员工差旅平台排行
  • 发出商品退回
  • 盈余积累转增股本的个税问题
  • 供应商赠送的原材料怎么做分录
  • 华为nova9se参数详细参数
  • 如何结转销售收入
  • 给客户买的礼品怎么报销
  • 病毒dll文件
  • 只有高新技术企业能享受研发加计扣除吗
  • phpstudy的ftp
  • "php"
  • 最保值的ipad
  • 往来款怎么查
  • 酒店没有营业执照可以举报吗?
  • 烟草企业亏损
  • 准备动作怎么做
  • 购买股票的会计科目
  • thinkphp d
  • 期末余额跟年初余额是什么意思
  • vue自定义指令生命周期
  • 运筹最优化方法有哪些
  • 卷积神经网络CNN实验报告
  • 哈士奇新手礼包
  • inature前沿
  • 帝国cms真的很好用
  • 前一个月开的发票怎么查
  • 用vue-cli搭建项目
  • wordpress换域名后主题乱了
  • 个人所得税隔月交么
  • sql server 2014删除
  • 当月开的票必须开发票吗
  • 企业的纳税申报数据来源于
  • 进出口货物报关单填制规范
  • 合同资产根据什么来编报表
  • 支付银行贷款利息的会计处理
  • sql合并数据库
  • win8系统安装的软件在哪里
  • netdrive mac
  • win10找不到打印机驱动
  • ubuntu2004分区教程
  • linux find 查找文件并重命名
  • openssh centos
  • linux下nanosleep() & sleep()的区别
  • windows10粘滞键
  • win7 24小时制
  • cocos2d-js-min.js
  • Cocos2d-x +Android + Windows 7
  • perl use vars pragma使用技巧
  • javascript中interval与setTimeOut的区别示例介绍
  • bootstrap制作的网站页面
  • shell删除一个文件
  • python给批量图片添加文字
  • python中csv怎么用
  • python 字符串
  • js中alert怎么用
  • 国税税控开票系统
  • 粮食企业所得税优惠
  • 福建国税电子税务局app
  • 政府无偿划拨土地涉及的税费
  • 江西省电子信息职业学院
  • 什么是出口退税政策
  • 不想订亲
  • 北京市生育津贴发放标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设