CVPR2020丨DRN:用于单图像超分辨率的对偶回归网络

简介: 论文针对这两个主要的问题进行改进,提出了对偶回归策略,通过引入对 LR 图像额外的约束,从而减小解空间的大小。也就是说,模型除了学习LR到HR图像的映射外,还学习了额外的对偶回归映射,用于估计下采样内核并重建LR图像,从而形成一个闭环以提供额外的监督。

640.png


目前超分辨率算法存在两个明显的问题:


  • 从 LR 图像到 HR 图像通常是一个高度病态的反问题,存在无数可能的HR 图像通过降采样得到同一张 LR 图像。解空间过大,从而很难去找到一个合适的解。


  • 真实场景应用中,成对的 LR-HR 图像往往无法获得,因此对应图像降采样方式也往往未知。因此对于更普遍的情形,现有的SR模型经常会引起适应性问题,从而导致性能不佳。


论文针对这两个主要的问题进行改进,提出了对偶回归策略,通过引入对 LR 图像额外的约束,从而减小解空间的大小。也就是说,模型除了学习LR到HR图像的映射外,还学习了额外的对偶回归映射,用于估计下采样内核并重建LR图像,从而形成一个闭环以提供额外的监督。


特别地是,由于对偶回归策略并不依赖 HR 图像,因此可以直接从 LR 图像中进行学习。因此,可以很好地使得 SR 模型适应真实世界图像。


640.jpg

                                                                        对偶回归任务


首先看一下Bicubic 降采样数据测试集上,DRN 和过去的 SOTA 方法在4倍放大比例下的性能比较。从表中可以看到,DRN 模型在5个数据集上取得了SOTA 性能,并且其模型参数量也仅为9.8M。


640.jpg


它是如何实现的?


Model 模型


DRN 首先采用了 Closed-Loop 闭环模型。模型结构类似于 U-Net,如下图所示:



640.png


模型中黑色箭头所指部分,为DRN模型的 Primary 网络,而红色箭头所指部分,则对应Dual Regression 网络。


Primary 网络实现了从 LR 到 HR 映射,并且生成多尺度的 SR 图像:x1 SR,x2 SR。


Dual Regression 网络则是HR 到 LR 映射,生成多尺度的 LR 图像:x2 LR,x1 LR。


为了控制网络模型参数,卷积输出特征图数量很小,假设特征图数量为 F,RCAB 模块在每一层级的数量为 B。


对于4× SR, DRN-S 有 F=16,B=30;DRN-L 有 F=20,B=40 ;

对于8× SR, DRN-S 有F=8,B=30;DRN-L 有F=10,B=36;


因为 DRN模型是一个deep-and-narrow 的模型。


Loss 函数


DRN 采用了对偶回归学习,因此引入了额外的对偶回归Loss :


640.jpg


论文中采用L1 Loss, 为对偶回归 Loss的权重参数。


值得注意的是,在作者公开的源码中可以看到, LP(.)包含着多尺度图像的 Loss。举一个例子:对于4x SR,DRN 会生成 x1 SR 图像,x2 SR图像,x4 SR 图像。这3个尺寸的图像,分别和对应尺度下的HR 图像(可以理解为 HR 图,x2 LR图像,LR 图像 )进行对比,计算 Loss。


loss_primary = self.loss(sr[-1], hr)
for i in range(1, len(sr)):
    loss_primary += self.loss(sr[i - 1 - len(sr)], lr[i - len(sr)])


对于没有成对数据集的情况下,DRN 采用了半监督学习,引入部分的成对数据集用于训练,DRN损失函数为:


640.png

1SP(Xi)表示当Xi 属于成对数据集时,该函数等于1,否则等于0。


训练策略如下:

640.jpg


实验对比


从以下两张图中可以看到,在4x SR 和 8x SR 上,DRN 均能够在模型参数和性能上取得很好的平衡。


640.jpg

640.jpg

640.jpg


对于无成对数据集Unpaired Data,DRN 还额外引入成对的数据集(DIV2K+bicubic 降采样)用于模型训练。


Unpaired Data 生成过程:从ImageNet中选取3000张图像,并采用不同的图像退化方式如 Nearest 和 BD生成 LR 图像。


DRN 与其他方法在合成数据上进行了定量的比较,图像退化方法为Nearest 和 BD。


640.jpg


在真实图像上,由于没有 HR 图像,所以仅仅进行了定性的比较。


640.jpg


论文作者还进行一系列的消融实验,以验证两个问题:


  1. 对偶回归是否有效?
  2. 在半监督学习中,不成对数据集和成对数据集比例多少合适?


对偶回归有效性


640.jpg


表中可以看到,当引入对偶回归之后,DRN-S 和 DRN-L 均取得了明显的性能提升,说明了对偶回归的有效性。


不成对数据集和成对数据集比例


640.jpg

其中,image.png表示不成对数据集数量在训练数据集中的比例。image.png或者image.png模型性能均会出现明显的下降。当image.png时,模型的性能表现最佳。


总结


这篇论文提出了一种新的学习策略:对偶回归学习。这种学习策略不仅能够进一步提升监督学习下 SR 的性能,同时为半监督学习甚至是无监督学习提供了一种可行的思路。对真实图像超分辨率算法的研究,也能够起到很好的促进作用。

相关文章
|
6月前
|
机器学习/深度学习 算法 网络架构
基于yolov2深度学习网络的人脸检测matlab仿真,图像来自UMass数据集
**YOLOv2算法在MATLAB2022a中实现人脸检测:** 展示6个检测结果图,利用Darknet-19进行特征提取,网络每个网格预测BBox,包含中心偏移、尺寸、置信度和类别概率。多任务损失函数结合定位、置信度和分类误差。程序加载预训练模型,遍历图像,对检测到的人脸以0.15阈值画出边界框并显示。
|
6月前
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
338 1
|
6月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
PYTHON TENSORFLOW 2二维卷积神经网络CNN对图像物体识别混淆矩阵评估|数据分享
PYTHON TENSORFLOW 2二维卷积神经网络CNN对图像物体识别混淆矩阵评估|数据分享
|
10天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
29 3
|
11天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习的奇迹:如何用神经网络识别图像
【10月更文挑战第33天】在这篇文章中,我们将探索深度学习的奇妙世界,特别是卷积神经网络(CNN)在图像识别中的应用。我们将通过一个简单的代码示例,展示如何使用Python和Keras库构建一个能够识别手写数字的神经网络。这不仅是对深度学习概念的直观介绍,也是对技术实践的一次尝试。让我们一起踏上这段探索之旅,看看数据、模型和代码是如何交织在一起,创造出令人惊叹的结果。
22 0
|
1月前
|
机器学习/深度学习 PyTorch API
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
|
2月前
|
机器学习/深度学习 自然语言处理 计算机视觉
用于图像和用于自然语言的神经网络区别
主要区别总结 数据结构:图像数据是二维像素矩阵,具有空间结构;文本数据是一维序列,具有时间结构。 网络架构:图像处理常用CNN,注重局部特征提取;自然语言处理常用RNN/LSTM/Transformer,注重序列和全局依赖。 操作单元:图像处理中的卷积核在空间上操作;自然语言处理中的注意力机制在序列上操作。
23 2
|
6月前
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
386 2
|
3月前
|
机器学习/深度学习 人工智能 编解码
【神经网络】基于对抗神经网络的图像生成是如何实现的?
对抗神经网络,尤其是生成对抗网络(GAN),在图像生成领域扮演着重要角色。它们通过一个有趣的概念——对抗训练——来实现图像的生成。以下将深入探讨GAN是如何实现基于对抗神经网络的图像生成的
37 3
|
6月前
|
机器学习/深度学习 监控 自动驾驶
【传知代码】从零开始搭建图像去雾神经网络-论文复现
本文介绍了基于集成学习的双分支非均匀去雾神经网络的复现,该网络由迁移学习子网和数据拟合子网组成,分别处理全局表示和数据拟合。网络使用Res2Net作为编码器,并结合通道和像素注意力模块。代码可在提供的链接下载。网络在交通监控、自动驾驶、航海和目标跟踪等领域有广泛应用,通过提升图像质量来提高系统性能。实验在O-Haze、I-Haze和NH-Haze数据集上进行,展示了网络在去除雾霾方面的效果,尽管存在细节模糊和色彩饱和度低的问题。
156 1