CVPR2020原论文:Closed-loop Matters: Dual Regression Networks forSingle Image Super-Resolution
开源代码(pytorch框架):https://github.com/guoyongcs/DRN
1.问题
1)低分辨率图像(Low Resulotion)经过非线性映射成高分辨率图像(High Resulotion)本身是个病态问题。因为高分辨率的图像可以任意采样成低分辨率图像,所以其反向变换的非线性映射函数的解空间是非常大的。在这样大的解空间中找到合适的非线性映射函数是十分困难的。
2)真实世界无法得到成对的低分辨图像(LR)和高分辨率图像(HR)时,模型的训练变得十分困难。因此处理真实世界图像没有很好的泛化能力。

2.主要工作
1)提出了双重回归的方案。引入一个额外的限制性条件(即,如果LR到HR的映射是最优的,则HR经过降采样能够得到LR),以重建低分辨率图像去增强超分辨率模型,形成闭环映射,减小了映射函数解空间。并为这种方案在处理超分辨率图像问题上提供了必要性和可行性的理论支持。
2)由于双重回归的方案,重建LR与HR无关(即Dual Regression Task回归过程不涉及到高分辨y图像)。得到的模型处理真实世界的图像具有泛化能力。

双重回归方案图:

先是LR到HR的映射,计算HR的loss,然后再是HR到LR的映射,计算LR的loss。如此形成闭环双重回归。

3.模型训练
该方法同时采用真实世界的单LR图像和成对(LR,HR)人工合成图像两种数据集。
定义:低分辨图像为x,高分辨率图像HR为y(相当于ground truth)。
定义:Primal Regression Task映射回归过程为P(…)。
定义:Dual Regresion Task映射回归过程为D(…)。
则训练的损失函数为:

Primal Regression loss:计算回归映射输出P(x)与高分辨率图像y的L1损失。
Dual Regresion loss:计算重建的LR与初始低分辨率图像x的L1损失。

总损失为两者之和,其中λ为权重,i表示第i对(LR,HR)图像。

算法主要流程:

注意:这里运用的是真实世界单LR图像 和成对(LR,HR)合成图像两种数据集。训练过程中,若图像取自单LR图像,则Indicator function:Lsp(…)为0,此时只计算Dual Regresion loss。若图像取自成对(LR,HR)合成图像,则Indicator function:Lsp(…)为1,此时同时计算Primal Regression loss和Dual Regresion loss。

4.模型主体结构:

该网络基于U-NET结构。主要分为两部分:a.低分辨率到高分辨率的pimal net。b.高分辨率到低分辨率的dual net(红线部分)。

primal net :和U-NET主体结构相似,左边为下采样模块,右边为上采样模块。下采样模块数和上采样模块数相同。但不同的是,上采样利用了B residual channel attention block(RCAB)来增大模型的容量。
采用了多输出的方式来训练模型,即每进行一次上采样就输出图像去计算loss来训练模型。例如,第一次上采样输出1×image,第二次上采样输出2×image,第三次上采样输出4×image。
还利用了跳跃残差连接,将低层特征和深层特征进行融合(图中虚线)。

dual net(上图红线部分): 该部分主要是模拟降采样操作,用高分辨率图像产生低分辨率图像。结构比primal net简单多了。由两层Conv和 LeakyReLU激活层组成。计算量远远小于primal net部分。

深度学习——Dual Regression Networks for Single Image Super-Resolution(DRN)相关推荐

  1. 【超分辨率】(DRN)Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution

    论文名称:Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution 论文下载地址:https:// ...

  2. CVPR2020-对偶回归与SISR | Closed-loop Matters:Dual Regression Networks for Single Image Super-Resolution

    思想很新,效果也很好,CVPR的文章的确质量挺高.可以拿来作为改进的baseline. Github : https://github.com/guoyongcs/DRN. Abstract: 通过学 ...

  3. DRN(CVPR2020)Dual Regression Networks

    DRN: [ Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution ]DRN文论链接 SISR ...

  4. 吴恩达深度学习笔记——神经网络与深度学习(Neural Networks and Deep Learning)

    文章目录 前言 传送门 神经网络与深度学习(Neural Networks and Deep Learning) 绪论 梯度下降法与二分逻辑回归(Gradient Descend and Logist ...

  5. 利用Theano理解深度学习——Convolutional Neural Networks

    注:本系列是基于参考文献中的内容,并对其进行整理,注释形成的一系列关于深度学习的基本理论与实践的材料,基本内容与参考文献保持一致,并对这个专题起名为"利用Theano理解深度学习" ...

  6. 利用Theano理解深度学习——Logistic Regression

    一.Logistic Regression 1.LR模型 Logistic回归是广义线性模型的一种,属于线性的分类模型,在其模型中主要有两个参数,即:权重矩阵 W W W和偏置向量 b b b.在Lo ...

  7. 超分辨率重建学习总结、SR、super resolution、single image super resolution

    目录 背景 方法 结论 挖坑,超分辨率重建.一直关注超分辨重建任务,最近着力研究超分辨率重建,随着我个人的任务进行,我会逐渐更新完善本栏目,将写一些经典方法的介绍,超分辨率重建的较为系统的学习,代码复 ...

  8. 深度学习-Non-local Neural Networks非局部神经网络

    Non-local Neural Networks非局部神经网络 0.概述 1.相关工作 1.1.Non-local image processing.(非局部影像处理) 1.2.Graphical ...

  9. Dual Regression Networks for SISR 环境搭建 | 2020Paper | 【❤️Pytorch 实现❤️】

最新文章

  1. python 通过 实例方法 名字的字符串调用方法
  2. 数学--数论--鸽巢原理
  3. 可以用在任何人身上:百战百胜人生10大成功秘诀
  4. 新能源汽车太猛了,这些卡脖子技术你了解吗?
  5. ASP连接各类数据库的语句
  6. python手机版-python手机版
  7. webpack编译流程漫谈
  8. 【180928】小飞机打陨石游戏源码
  9. CCS软件的安装教程
  10. MEGA视频目标检测
  11. Android音频剪辑裁剪自定义view
  12. JS基础特效---网页常用特效
  13. 作业1:关于使用python中scikit-learn(sklearn)模块,实现鸢尾花(iris)相关数据操作(数据加载、标准化处理、构建聚类模型并训练、可视化、评价模型)
  14. 二分法查找(dichotomy)--python实现
  15. 解决使用CSV包,将写入字符串写入csv文件时字符串被拆分成很多单元的问题
  16. bzoj1618 购买干草
  17. 【推荐】javaweb JAVA JSP家政服务管理系统服务网站jsp服务信息管理jsp保姆月嫂招聘系统案例设计与实现源码
  18. 计算机二级基础知识点全部讲解,计算机二级基础知识点整理
  19. Linux 中 dlopen、dlsym、dlclose、dlerror函数
  20. 【转】Android-Input 键盘设备

热门文章

  1. 用JS 控制文字两行 ,展示省略号(兼容谷歌 IE等各大浏览器)
  2. L1正则化降噪,对偶函数的构造,求解含L1正则项的优化问题,梯度投影法
  3. 金融银行软件测试超大型攻略,最受欢迎的金融银行大揭 秘附面试题
  4. 操作系统练习题(2)
  5. 【软件测试】稳定性和可靠性测试在软件开发中的重要性
  6. js可以打开mat文件吗_企业微信最大可以传多大文件?企业微信发送文件有限制吗?...
  7. AutoJs学习-读取手机短信
  8. SIP协议及其简单介绍
  9. sap 用户权限表_sap权限相关后台表
  10. js实现登录页面的背景图片的随机展示