DRN(CVPR2020)Dual Regression Networks

article/2025/9/24 4:18:53

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

SISR两个潜在的局限

  1. 学习LR到HR的隐射是一个病态问题,因为从HR下采样到LR,可以有无限个HR与LR对应。所以解空间太大,很难找到很好的解。
  2. 应用程序中可能无法获得成对的LR-HR数据,而且底层的退化方法通常是未知的。

所以为了很好解决上面问题,使得模型得到更好适用性。文章提出对偶回归(对称回归?感觉特别像反投影,只是这里的投影和反投影的操作不对称,但是本文章好像是受到CycleGANd 启发)。
通过在LR数据上引入额外的约束来减少可能函数的空间,我们提出了一个双重回归方案。,除了LR到HR图像的映射之外,我们还学习了一个额外的对偶回归映射,它可以估计下采样核并重构LR图像,从而形成一个闭环,提供额外的监督。(LR->HR->LR)。
在这种模型下,我们可以不依赖HR,直接从LR中学习,所以也能将这个模型用在现实数据中。
在这里插入图片描述

论文三点贡献:

  1. 通过引入额外的约束,我们提出了一个双重回归方案,这样映射可以形成一个闭环,LR图像可以重建来提高SR模型的性能。此外,我们还从理论上分析了该方法的泛化能力,进一步证明了该方法相对于现有方法的优越性。
  2. 我们研究了一个更一般情况下的超分辨率,对于现实世界中的LR数据没有相应的HR数据(就是数据不成对的情况)。通过提出的双重回归方案,深层模型可以很容易地适应现实世界的数据,例如YouTube的原始视频帧。
  3. 通过对训练数据和非配对真实数据的大量实验,证明了二元回归方法在图像超分辨方面的有效性。

Dual learning(对偶学习,对称学习?)

它包含一个原始模型(传统SISR的LR->HR映射)和一个对偶模型(逆模型),可以同时学习两个相对的映射,提高语言翻译的性能。最近,该方案也被用于不需要对训练数据的图像变换,例如CycleGAN, DualGAN。具体地说,提出了循环一致性损失以避免GAN方法的模式崩溃问题并帮助最小化分布发散。这些方法不能直接用到SISR中,在此基础上,我们利用闭环来缩小SR的可能解空间,并考虑学习非对称映射,为使用循环的合理性和必要性提供了理论保证。

文章方法

Dual Regression Scheme for Paired Data(配对数据的双重回归方案)

除了像传统SISR那样用<LR,HR>学习映射,我们还学习了从HR到LR图像的逆/对偶映射。(这篇论文就是缩小解空间,像极了迭代反投影,DBPN前期网络
假设X是LR,Y是HR。同时学习原始映射P( H R 1 = P ( L R ) HR_1=P(LR) HR1=P(LR)使得 H R 1 ≈ H R HR_1\approx HR HR1HR),和逆映射D( L R 1 = D ( H R 1 ) LR_1=D(HR_1) LR1=DHR1,使得 L R 1 ≈ L R LR_1\approx LR LR1LR),两者形成闭环。
在这里插入图片描述
注意,逆映射可以看作是对底层下采样核的估计。形式上,我们将SR问题表示为包含两个回归任务的对偶回归方案。
为了共同学习这两个映射,我们提出一个超分辨训练模型(就是损失函数),给N个配对的数据,损失函数为:
在这里插入图片描述
其中 L D L_D LD L p L_p Lp使用 L 1 L_1 L1范数, λ \lambda λ是逆映射的权重。
实际上,我们还可以在HR域上添加一个约束,即通过下采样和上采样来重构原始HR图像(像不像迭代反投影),但是会增加计算量而且效果有限。在实践中,我们只在LR数据上增加了双重回归损失,这极大地提高了性能,同时保留了与原始SR模型(SISR的传统映射)大致相同的代价。

Dual Regression for Unpaired Data(非配对的双重回归方案)

这里是针对一般情况,就是数据不配对的情况。用下面的算法(Algorithm1)
在这里插入图片描述

逆回归映射学习的是底层退化模型(一个下采样模型),并且这不一定依赖HR。因此,我们可以使用它直接从未配对的真实LR数据中学习,让模型有更好的适应性。为了保证HR图像的重建性能,我们还结合了成对数据的信息(比如用Bicubic来生成成对的数据。
m个不成对,n个成对的数据,目标函数为:
在这里插入图片描述

其中 1 S p ( x i ) 1_{S_p}(x_i) 1Sp(xi)函数指示函数, S P S_P SP是成对数据集 ( x i , y i ) i = 1 N {(x_i,y_i)}^N_{i=1} (xi,yi)i=1N,若 x i ∈ S P x_i\in S_P xiSP,则 1 S p ( x i ) = 1 1_{S_p}(x_i)=1 1Sp(xi)=1,或者 1 S p ( x i ) = 0 1_{S_p}(x_i)=0 1Sp(xi)=0

Training Method(训练方式)

Training method on paired data.(有成对数据的训练)

就是最小化公式1

Training method on unpaired data.(非成对数据的训练)

参照算法1(Algorithm1),在每次迭代中,我们m个非成对,n个成对数据,然后最小化等式2。比较好的比例是用 ρ = m / ( m + n ) \rho=m/(m+n) ρ=m/(m+n) 这个公式,当 ρ = 30 \rho=30% ρ=30 的时候,得到的结果最好。(这是作者实验结果

Differences from CycleGAN based SR Methods(和CycleGAN方法的区别)

  1. CycelGAN在解决欠约束图片转移问题,使用循环一致性损失(cycle consistency loss)来解决模型崩溃问题。本文为了提高性能,增加了约束,该约束通过将SR图像映射回相应的LR图像来减少可能的函数空间,这样提高我们的超分辨模型。
  2. CycleGAN是不要成对数据,DRN是用了成对和没有成对的(人工合成就是HR下采样到LR,真实世界数据就是看到啥就是啥。

Architecture Design of DRN (DRN细节)

U形网络,两个部分:原始映射网络(比如传统SISR,LR->HR)和逆映射网络(HR->LR)
在这里插入图片描述
原始网络:遵循下采样,再上采样的U形设计。每个包含一个log2(s)的块,s是尺度因子。这意味着,放大4倍,需要2个块,8倍就要3个块。与原始U形设计(就是改进)不同,我们使用B剩余通道注意块(RCAB)来构建每个基本块,以提高模型容量。在此之后我们添加额外的输出来生成相应比例的图像(即1×、2×、4×图像),并将所提出的损失应用于这些图像来训练模型。在输入网络之前,图片用Bicubic放大对应尺寸。
文章设计逆映射网络,就是为了从HR中学到一个下采样模型,它比原始映射简单,用了2个卷积,一个ReLU激活函数。

Theoretical Analysis

其他的还是看论文附录吧,怕公式推导翻译不太准确
论文:https://arxiv.org/pdf/2003.07018.pdf
代码:https://github.com/guoyongcs/DRN


http://chatgpt.dhexx.cn/article/Ms8XuKdv.shtml

相关文章

DRN:Dilated Residual Networks(论文解读十四)

Title&#xff1a;Dilated Residual Networks From&#xff1a;CVPR2017 Note data&#xff1a;2019/06/12 Abstract&#xff1a;提出一种有利于分类任务的扩张残差网络DRN。 Code &#xff1a;pytorch 目录 DRN论文解读 1 Abstra 2 Introduction 3 Method Degridding …

浅谈深度神经网络 — ResNet(DRN)

Deep Residual Learning for Image Recognition 1. 思想 作者根据输入将层表示为学习残差函数。实验表明&#xff0c;残差网络更容易优化&#xff0c;并且能够通过增加相当的深度来提高准确率。 核心是解决了增加深度带来的副作用&#xff08;退化问题&#xff09;&#xff0…

深度学习——BRNN和DRNN

双向循环神经网络&#xff08;Bidirectional RNN&#xff09; 双向 RNN 模型可以让你在序列的某点处不仅可以获取之前的信息&#xff0c;还可以获取未来的信息 why we need BRNN&#xff1f; 这个网络有一个问题&#xff0c;在判断第三个词 Teddy&#xff08;上图编号 1 所示&a…

DPRNN的学习

可以以非常简单的方式组织任意类型的RNN层&#xff08;不重要&#xff0c;因为我这里会换成transformer&#xff09;。 优点&#xff1a; 1.模型更小 2.性能更好&#xff08;SI-SNR&#xff09; 模型组成&#xff1a; 首先肯定是encoder和decoder了&#xff0c;一个声音的…

drndrn_seg代码

问题&#xff1a; drn文件 import pdb #pdb是 ThePythonDebugger 的缩写&#xff0c;为Python标准库的一个模块。pdb模块规定了一个Python程序交互式源代码调试器&#xff0c;支持在设置断点&#xff08;包括条件断点&#xff09;&#xff0c;也支持源码级单步调试&#xff…

深度学习——DRD-Net

CVPR2020原论文&#xff1a;Detail-recovery Image Deraining via Context Aggregation Networks 开源代码&#xff08; tensorflow框架&#xff09;&#xff1a;https://github.com/Dengsgithub/DRD-Net 1.主要工作&#xff1a;提出了双分支去雨网络。一个分支为基于压缩激励…

论文阅读:DRN: A Deep Reinforcement Learning Framework for News Recommendation

文章目录 摘要一、Introduction1、引入原因2、结构框架 二、相关工作1、新闻推荐算法2、推荐中的强化学习3、问题定义 三、实现原理1、模型框架2、特征构造3、深度强化推荐Deep Reinforcement Recommendation4、用户活跃度5、探索 四、实验结果1、数据集2、评价指标3、实验设置…

使用飞桨PaddlePaddle复现用于图像光源处理的深度重照明网络(DRN)

使用飞桨PaddlePaddle复现用于图像光源处理的深度重照明网络&#xff08;DRN&#xff09; 一、效果展示二、实现思路冠军模型&#xff1a;Wavelet Decomposed RelightNet (WDRN)经典模型&#xff1a;Norm-Relighting-U-Net (NRUNet)本次项目&#xff1a;Deep Relighting Networ…

弱监督学习框架 Detectron2/DRN-WSOD-pytorch 在服务器/windows上配置安装及使用

最近做弱监督学习研究&#xff0c;进行相关分析。发现Detectron2是一个不错的框架&#xff0c;其中也有model zoo相当多种类的预训练模型可以拿来直接用。但是安装配置使用中碰到了许多坑。跟各位小伙伴们分享。 推荐使用Linux Ubuntu16.04以上版本安装&#xff0c;虚拟机不太…

大话深度残差网络(DRN)ResNet网络原理

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”&#xff08;BigdataAILab&#xff09;&#xff0c;欢迎关注。 一说起“深度学习”&#xff0c;自然就联想到它非常显著的特点“深、深、深”&#xff08;重要的事说三遍&#xff09;&#xff0c;通过很深层次的网络实现…

DRN: A Deep Reinforcement Learning Framework for News Recommendation学习

欢迎转载&#xff0c;请注明出处https://blog.csdn.net/ZJKL_Silence/article/details/85798935。 本文提出了&#xff08;基于深度Q-learning 的推荐框架&#xff09;基于强化学习的推荐系统框架来解决三个问题&#xff1a; 1&#xff09;首先&#xff0c;使用DQN网络来有效建…

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

论文名称&#xff1a;Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution 论文下载地址&#xff1a;https://arxiv.org/pdf/2003.07018.pdf 论文代码地址&#xff1a;https://github.com/guoyongcs/DRN 但是代码有问题 论文标题&#xff1a; 1…

CNN经典模型:深度残差网络(DRN)ResNet

一说起“深度学习”&#xff0c;自然就联想到它非常显著的特点“深、深、深”&#xff08;重要的事说三遍&#xff09;&#xff0c;通过很深层次的网络实现准确率非常高的图像识别、语音识别等能力。因此&#xff0c;我们自然很容易就想到&#xff1a;深的网络一般会比浅的网络…

2021-11-11SR-DRN

闭环问题&#xff1a;单张图像超分辨的对偶回归网络&#xff08;DRN) SR主要是要学习LR和HR之间的某种映射来重建相应的HR图像。 一、SISR存在的两个潜在的问题&#xff1a; 1.学习从LR到HR的映射是一个病态的逆问题。一张LR图像可以对应多张HR图像&#xff0c;也就是说存在…

DNN

文章目录 前向传播从感知机到神经网络DNN的基本结构DNN前向传播算法数学原理 DNN前向传播算法反向传播算法(BP)DNN反向传播算法要解决的问题 DNN反向传播算法的基本思路DNN反向传播算法过程损失函数和激活函数的选择均方差损失函数Sigmoid激活函数的问题使用交叉熵损失函数Sigm…

DRCN神经网络

1 DRCN DRCN&#xff08;Deeply-Recurisive Convolutional Network)&#xff0c;一种利用深度递归卷积网络。DRCN与之前的VDSR都是来自首尔国立大学计算机视觉实验室的工作。该网络将插值后的图像作为输入&#xff0c;并像SRCNN中一样预测目标图像。 该网络分为三个部分&…

DRM(一):什么是DRM

之前说了要一起学习一下与安全紧密相关的业务事项&#xff0c;于是这就开始了。 今天就来看看与版权保护相关的技术&#xff1a;DRM 内容基本上来自&#xff1a;【DRM架构介绍】 还是我推荐的那个号–》内核工匠&#xff0c;确实内容不错&#xff0c;学到很多。 1、DRM是什…

推荐系统强化学习DRN

文章目录 强化学习的基本概念强化学习推荐系统框架强化学习推荐模型的特点 深度强化学习推荐模型中的DQNDRN的学习过程DRN竞争梯度下降算法 强化学习的基本概念 强化学习的基本概念就是一个智能体通过与环境进行交互&#xff0c;不断学习强化自己的智力&#xff0c;来指导自己的…

DRN - 扩张残留网络(图像分类和语义分割)

DRN - 扩张残留网络&#xff08;图像分类和语义分割&#xff09; 原标题 | Review: DRN — Dilated Residual Networks (Image Classification & Semantic Segmentation) 作者 | Sik-Ho Tsang 翻译 | had_in&#xff08;电子科技大学&#xff09; 编辑 | Pita 本文回顾…

DRN——强化学习与推荐系统结合

强化学习是近年来机器学习领域非常热门的研究话题&#xff0c;它的研究起源于机器人领域&#xff0c;针对智能体在不断变化的环境 中决策和学习的过程进行建模。在智能体的学习过程中&#xff0c;会完成收集外部反馈,改变自身状态,再根据自身状态对下一步的行动进行决策&#x…