Deep Unfolding Network for Image Super-Resolution

  • Abstract
  • 1. Introduction
  • 2. Related work
    • 2.1. 退化模型
    • 2.2. 灵活的SISR方法
    • 2.3. 深度展开图像复原
  • 3. Method
    • 3.1. Degradation model: classical vs. bicubic
    • 3.2. Unfolding optimization
    • 3.3. Deep unfolding network
      • 数据模块D
      • 先验模块P
      • 超参数模块H
      • 3.4. 端到端训练
  • 4. Experiments
    • 4.1. PSNR results
    • 4.2. Visual results
    • 4.3. Analysis on D and P
    • 4.4. Analysis on H
    • 4.5. Generalizability
    • 4.6. Real image super-resolution
  • 5. Conclusion

Abstract

目前基于学习的方法在图像超分工作上有显著成就,但与基于模型的方法不同的是,在统一的MAP框架下可以处理具有不同的尺度因子、模糊核和噪声水平的SISR问题,基于学习的方法通常缺乏这种灵活性。 为了解决这一问题,本文提出了一种利用基于学习的方法和基于模型的方法的端到端可训练展开网络。 具体来说,通过半二次分裂算法 (half-quadratic splitting algorithm) 展开MAP推理, 可以得到由交替求解数据子问题和先验子问题组成的固定迭代次数。 这两个子问题可以用神经网络模块来解决,从而形成一个端到端可训练的迭代网络。 因此,所提出的网络继承了基于模型的方法的灵活性,通过单个模型对不同尺度因子的模糊、噪声图像进行超解, 同时保持基于学习的方法的优势。

1. Introduction

问题:SISR经典降质模型如式1所示,为方便起见,研究人员通常使用双三次退化来得到LR数据,这阻碍了基于模型的方法的研究。目前的SISR方法多是基于学习的方法,然而应用CNN对式1的解决并没有什么帮助,且 CNN通常缺乏灵活性,无法通过单端到端训练模型对不同尺度因素的模糊、噪声LR图像进行超解。

贡献: 提出了一个深度展开超分辨率网络(USRNet),以弥补基于学习的方法和基于模型的方法之间的差距。 一方面,与基于模型的方法相似,USRNet可以通过一个模型,有效地处理具有不同的模糊核,尺度因子和噪声水平的经典的退化模型; 另一方面,类似于基于学习的方法,USRNet可以端到端的方式进行培训,以保证有效性和效率。 为了实现这一点,首先通过半二次分裂算法展开基于模型的能量函数。 相应地,可以得到一个在求解两个子问题之间迭代交替的推断, 一个与数据项相关,另一个与先验项相关,将其看作一个深度网络,用神经模块代替两个子问题的解。 由于这两个子问题分别对应于增强退化一致性知识和保证denoiser先验知识, USRNet具有明确的退化和先验约束, 与现有的基于学习的SISR方法相比,这是一个独特的优势。 值得注意的是,由于USRNet涉及每个子问题的超参数,因此该网络包含一个用于超参数生成的附加模块。 此外,为了减少参数的数量,所有先验模块共享相同的体系结构和相同的参数。
1)提出了一种端到端可训练展开超分辨率网络(USR Net)。 USRNet是第一次尝试通过单端到端训练模型处理具有不同尺度因子、模糊核和噪声水平的经典退化模型。
2)USRNet集成了基于模型的方法的灵活性和基于学习的方法的优点, 为弥合基于模型的方法和基于学习的方法之间的差距提供了一条途径。
3)USRNet本质上在解上施加了退化约束(即,估计的HR图像应符合退化过程)和先验约束(即估计的HR图像应该具有自然特征)。
4)USRNet在不同退化设置的LR图像上表现良好,在实际应用中显示出巨大的潜力。

2. Related work

2.1. 退化模型

虽然已经提出了许多退化模型,但基于CNN的经典退化模型的SISR却很少受到关注,值得进一步研究。

2.2. 灵活的SISR方法

虽然基于CNN的SISR方法在处理双三次退化方面取得了令人印象深刻的成功,但将它们应用于处理其他更实际的退化模型并不简单。为了实用性,最好设计一种灵活方法,考虑三个关键因素,即尺度因子、模糊核和噪声水平。
解决不同尺度的双三次退化: 具有渐进上采样的LAPSR, 具有特定尺度分支的MDSR,具有Meta-scale的Meta-SR。 为了灵活地处理模糊LR图像,[44,67]提出的方法以PCA降维模糊核为输入。 然而,这些方法仅限于高斯模糊核。
也许最灵活的基于CNN的工作,可以处理各种模糊内核,尺度因素和噪声水平,是deep plug-and-play方法。这种方法的主要思想是将学习的CNN先验插入到MAP框架下的迭代解决方案中。这些基本上是基于模型的方法,它们具有很高的计算负担,它们涉及手动选择的超参数。 如何设计一个端到端的可训练模型,以便在较少的迭代中可以获得更好的结果,仍然是未知的。
事实上,非盲SISR仍然是一个积极的研究方向。首先,可以估计模糊内核和噪声级别,或者根据其他信息(例如摄像机设置)知道。 第二,用户可以通过调整模糊内核和噪声水平来控制锐度和平滑度的偏好。 第三,非盲SISR可以是解决盲SISR的中间步骤。

2.3. 深度展开图像复原

除了deep plug-and-play方法外,深度展开方法(deep unfolding methods)还可以集成基于模型的方法和基于学习的方法。 它们的主要区别在于后者通过最小化大训练集上的损失函数,以端到端的方式优化参数,因此,即使迭代较少,通常也会产生更好的结果。
与普通的基于学习的方法相比,深度展开方法是可解释的,可以将退化约束融合到学习模型中,但具有以下一个或多个缺点。(i)在不使用深度CNN的情况下解决先验子问题是不够强大以获得良好的性能的。
(ii)数据子问题不是由闭环形式的解决方案解决的,这可能会阻碍收敛。 (iii)整个推理是通过分阶段和微调的方式而不是完全端到端的方式进行训练的。 此外,由于不存在深度展开SISR方法来处理经典的退化模型, 提出这样一种克服上述缺点的方法是特别有意义的。

3. Method

3.1. Degradation model: classical vs. bicubic

采用数据驱动的方法, 通过最小化大HR/Bicubic-LR对上的重建误差来解决以下核估计问题

3.2. Unfolding optimization

根据MAP框架,可以通过最小化以下能量函数来估计HR图像

式3中,第一项是数据项,第二项是先验项, λ是一个权衡参数。 为了获得方程的展开推理,半二次分裂(HQS)算法由于其简单性和在许多应用中的快速收敛性而被选择,HQS通过引入辅助变量z来处理式3,得到以下等价近似:

其中µ是惩罚参数, 这种问题可以通过迭代求解x和z的子问题来解决:


根据式5, µ应该足够大,这样x和z近似等于定点。 然而,这也会导致收敛速度缓慢。 因此,一个好的经验法则是迭代地增加µ。 为了方便起见,第k次迭代中的µ用µk表示。为求解式5,假设卷积是在圆形边界条件下进行的,则可以利用快速傅里叶变换(FFT),它有一个封闭形式的表达:

其中d被定义为:

其中
F代表FFT,F-1代表逆FFT,加上划线的F代表其复杂共轭,⊙s代表 具有元素乘法的不同块处理运算符,即将元素乘法应用于F(K)共轭的s×s不同块, ⇓s表示不同的块降采样器,即平均每s×s个不同的块,↑表示标准的s-fold上采样器,即通过用零填充新条目来对空间大小进行上采样。式7在s=1时,也适用于去毛刺的特殊情况。对于式6的解, 从贝叶斯的角度来看,它实际上对应于噪声水平的去噪问题。

3.3. Deep unfolding network

USRNet应在数据模块D和先验模块P之间交替。 此外,由于子问题的解决方案也分别以超参数αk和βk作为输入,因此进一步将超参数模块H引入USRNet。 图3用K迭代说明了USRNet的总体架构,其中K被经验地设置为8,用于速度精度的权衡。

USRNet由三个主要模块组成,其中包括使HR估算更加清晰的数据模块D,使HR估计更干净的先验模块P,以及控制D和P输出的超参数模块H。

数据模块D

数据模块D代表式7, 这是数据子问题的封闭形式解。 直观地,它旨在找到一个更清晰的HR形象,最小化用trade-off超参数αk权衡的数据项和二次正则化项的加权和。 因为数据项对应于退化模型,数据模块不仅具有以尺度因子s和模糊核k作为输入的优点,而且对解施加退化约束。 实际上,很难手动设计这样一个简单但有用的多输入模块。为了简洁,将式7改写为:

请注意,x0是通过最简单的最近邻插值用尺度因子s插值y初始化的。式8没有可训练的参数, 这反过来又导致了更好的可推广性,因为数据项和先验项之间的完全解耦。
对于实现,使用PyTorch,其中主FFT和逆FFT操作符可以分别由torch.rfft和torch.irfft实现。

先验模块P

先验模块旨在通过具有噪声级βk的去噪器通过zk获得更干净的HR图像xk。 在[66]的启发下,提出了一个深度CNN去噪器,它以噪声水平作为输入:

提出的去噪器,即ResUnet,将[21]的残差块集成到U-Net[45]中。U-Net被广泛用于图像到图像的映射,而ResNet的流行归功于快速训练和具有许多残差块的大容量。ResUnet以zk和噪声level map的concat
作为输入,输出去噪图像xk。 通过这样做,ResUnet可以通过一个模型处理各种噪声水平,这大大减少了参数的总数。 遵循U-Net的共同设置,ResUNet涉及四个级别,每个级别在降采样和上采样操作之间有一个 identity skip connection。 具体而言,从第一个尺度到第四个尺度的每一层通道的数量分别设置为64、128、256和512。 对于降尺度和上尺度运算,分别采用了2×2跨步卷积(SConv)和2×2转置卷积(TConv)。 注意,没有激活函数后面是SConv和TConv层,以及第一层和最后一层卷积层。在每个尺度的降尺度和上尺度中采用一组2个残差块。每个残差块由两个3×3个卷积层组成,中间有ReLU激活,并有一个与其输出相加的 identity skip connection。

超参数模块H

超参数模块充当“滑动条”来控制数据模块和先验模块的输出。根据αk和βk的定义,αk是由σ和µk决定的,而βk取决于λ和µk。 虽然可以学习固定的λ和µk,但我们认为,如果λ和µk随两个关键元素即尺度因子s和噪声水平σ的变化而变化,则可以获得性能增益,这影响了不适定的程度。让α=[α1、α2、.、αK]和β[β1、β2、.、], 使用一个模块来预测α和β:

超参数模块由三个全连接层组成,RELU作为前两个激活函数,Softplus[19]作为最后一个激活函数。 每层隐藏节点数为64个。式7应该避免极小αk, 输出Softplus层之后额外添加1e-6。

3.4. 端到端训练

使用DIV2K和Flickr2K作为HR训练数据集,通过式1得到LR数据集。尺度因子属于{1,2,3,4} 。对于模糊核,我们使用各向异性高斯核和运动核,我们将内核大小固定为25×25。 对于噪声水平,我们将其范围设置为[0,25]。
在损失函数方面,USRNET采用了PSNR性能的L1损失。 USRGAN进一步采用L1损失、VGG感知损失和相对对抗性损失的加权组合,为了感知质量,将权重设置为1、1和0.005。USRGAN只考虑比例因子4。 不使用额外的损失来限制中间输出,因为上述损失工作良好。 一个可能的原因是先前的模块跨迭代共享参数。
为了优化USRNet的参数,我们采用了mini batch size为128的Adam求解器。 值得指出的是,由于并行计算对不同尺度因子的不可行性,每个mini batch只涉及一个随机尺度因子。
USRNet的学习率为从1x10-4 每4×104次迭代衰减0.5倍直至3x10-6;USRGAN的学习率为1x10-5 . USRNet和USRGAN的HR图像的patch大小设置为96×96。

4. Experiments

选择广泛使用的彩色BSD68数据集来定量评估不同的方法, 该数据集由68幅具有微小结构和精细纹理的图像组成,因此在改进定量度量方面具有挑战性,如PSNR。为了通过式1得到LR图像,应提供模糊内核和噪声水平。 一般来说,采用多种模糊内核和噪声水平进行彻底评估是有帮助的,但这也会导致繁琐的评估过程。因此,如表1所示,我们只考虑12个具有代表性和多样性的模糊核,包括4个不同宽度的各向同性高斯核(即0.7、1.2、1.6和2.0), 4个各向异性高斯核和4个运动模糊核。对于噪声水平,我们选择2.55(1%)和7.65(3%)。

4.1. PSNR results

不同方法对不同退化设置的平均PSNR结果见表1。 比较方法包括RCAN[70]、ZSSR[51]、IKC[20]和IRCNN[65]。 具体来说,RCAN是SOTA面向PSNR的双三次退化方法;ZSSR是一种非盲零样本方法,具有对于各向异性高斯核处理式1的能力;IKC是各向同性高斯核的盲迭代核校正方法;IRCNN是一种基于非盲深度去噪器的plug-and-play方法。
根据表1结果, 首先,我们的USRNet具有单一的模型,在不同的尺度因子、模糊内核和噪声水平上显著优于其他竞争方法。USRNet比IRCNN至少有一个平均的PSNR增益为1DB,在迭代次数为30次的端到端训练下。 第二,RCAN可以在类似于双三次退化的环境中取得良好的性能,但当退化偏离双三次时会严重恶化。 第三,对于小尺度因子,ZSSR在各向同性和各向异性高斯模糊核上都表现良好,但对运动模糊核和大尺度因子失去了有效性。 事实上,由于单一的图像学习策略,ZSSR在严重退化的图像上难以捕获自然图像特征。 第四,IKC不能很好地推广到各向异性高斯核和运动核。
虽然USRNet不是为双三次退化而设计的, 用图2中近似的双三次核作为输入来测试它的结果是很有趣的。 从表2中可以看出,USRNet在不训练双三次核的情况下仍然表现良好。

4.2. Visual results

图4 给出了不同方法对具有尺度因子4的超分辨无噪声LR图像的视觉效果。 除了RCAN、IKC和IRCNN之外,我们还包括RankSRGAN[69],以便与我们的USRGAN进行比较。请注意,ZSSR的视觉结果被省略,因为在尺度因子4上的性能较差。 从图中可以观察到。 在具有运动模糊核的LR图像上,USRNet和IRCNN比RCAN和IKC产生更好的视觉效果。 虽然USRNet比IRCNN可以恢复锐利的边缘,但它们都无法产生真实的纹理。 正如预期的那样,USRGAN可以产生比USRNet更好的视觉效果。 另一方面,如果退化在很大程度上偏离双三次,RankSRGAN的性能就不好。 相反,USRGAN灵活地处理各种LR图像。

4.3. Analysis on D and P

由于所提出的USRNet是一种迭代方法,因此研究数据模块D和先前模块P在不同迭代中的HR估计是很有趣的。图5给出了具有尺度因子4的LR图像的USRNet和USRGAN在不同迭代中的结果。有趣的是,由于任务特定的训练,P也可以作为高频恢复的细节增强器。 此外,它不减少模糊核诱导的退化,这验证了D和P之间的解耦。 因此,端到端训练的USRNet比基于高斯去噪器的即插即用SISR具有特定任务的优势。 为了定量分析D的作用,训练了一个USRNet模型,迭代5次,结果表明,在高斯模糊核上,平均PSNR值将降低约0.1dB,在运动模糊核上降低0.3dB。 这进一步表明,D旨在消除模糊核诱导的退化。 此外,可以看到USRGAN在前几次迭代中与USRNet有相似的结果,但在最后几次迭代中会恢复微小的结构和精细的纹理。

4.4. Analysis on H

图6显示了不同比例因子s和噪声级σ组合的超参数模块的输出。 从图6(a)中可以观察到α与σ正相关,并随s而变化。从图6(b)可以看出,随着迭代次数的增加,β有下降的趋势,并且随着尺度因子和噪声水平的增加而增加。 这意味着HR估计的噪声水平在迭代过程中逐渐降低,复杂的退化需要很大的βi来解决这一问题。 需要指出的是,学习的超参数设置与IRCNN[65]的设置是一致的。 总之,学习到的H是有意义的,因为它发挥了适当的作用。

4.5. Generalizability

图7在LR图像上显示了USRNet和USRGAN的视觉结果,其核远大于训练大小25×25。 可以看出,USRNet和USRGAN都能产生视觉上令人愉快的结果,这可以归因于可训练的无参数数据模块。USRGAN的先验模块可以推广到其他尺度因素。 总之,所提出的深度展开体系结构在通用性方面具有优越性。

4.6. Real image super-resolution

使用以下三个步骤来对真实LR图像做这样的预处理。 首先,LR图像被插值到所需的大小。 其次,在具有模糊核的插值图像上采用[38]提出的边界处理方法。 最后,将下采样边界填充到原始LR图像。图8显示了USRNet在具有尺度因子4的真实LR图像上的视觉结果。模糊核根据用户偏好手动选择为宽度为2.2的各向同性高斯核。从图中可以看到,提出的USRNet可以重建HR图像,提高视觉质量。

5. Conclusion

在本文中,我们重点研究了经典的SISR退化模型,并提出了一个深度展开的超分辨率网络。 在传统基于模型方法展开优化的启发下,设计了一种集模型方法的灵活性和基于学习的方法优点于一体的端到端可训练深度网络。 该网络的主要新颖之处在于它可以通过一个单一的模型来处理经典的退化模型。 广泛的实验结果证明了该方法对各种退化LR图像进行超分辨的灵活性、有效性和通用性。

CVPR2020:Deep Unfolding Network for Image Super-Resolution 论文阅读笔记相关推荐

  1. RFA-Net: Residual feature attention network for fine-grained image inpainting 论文阅读笔记

    RFA-Net: Residual feature attention network for fine-grained image inpainting 论文阅读笔记 摘要 尽管大多数使用生成对抗性 ...

  2. 解决参考图像分割中的随机性问题:MMNet: Multi-Mask Network for Referring Image Segmentation 论文阅读笔记

    解决参考图像分割中的随机性问题:MMNet: Multi-Mask Network for Referring Image Segmentation 论文阅读笔记 一.Abstract 二.引言 三. ...

  3. SPIN: Structure-Preserving Inner Offset Network for Scene Text Recognition —— 论文阅读笔记

    SPIN:用于场景文本识别的保留结构的内部偏移网络 Paper : 论文地址 本文提出的方法主要解决色彩失真的图片.如下图中的(c)和(d) SPIN(Structure-Preserving Inn ...

  4. iCAN: Instance-Centric Attention Network for Human-Object Interaction Detection 论文阅读笔记

    摘要 本文研究场景图中人-物交互问题.其核心思想是人或物体实例的外观包含指示线索,利用这些信息可以注意到图像中可以促进交互预测的部分.为了利用这些线索,研究者提出了一个以实例为中心的注意力模块,学习根 ...

  5. Polysemy Deciphering Network for Human-Object Interaction Detection论文阅读笔记

    笔记 这篇文章作者提出现有的模型没有考虑一词多义的情况,即认为同一个动词的视觉特征差不多,然而实际情况下同一个动词的视觉特征可能会有特别大的变化,本文作者基于此提出了一系列策略和PD-Net模型,来克 ...

  6. 论文阅读笔记——A deep tree-based model for software defect prediction

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--A deep tree-based model for software defect prediction 论文阅读笔记 ...

  7. CVPR2020:Deep Unfolding Network for Image Super-Resolution解读

    Title:Deep Unfolding Network for Image Super-Resolution(图像超分辨率的深度展开网络) Writers:Kai Zhang Luc Van Goo ...

  8. Dense Deep Unfolding Network with 3D-CNN Prior for Snapshot Compressive Imaging

    源论文+源代码:Search for Dense Deep Unfolding Network with 3D-CNN Prior for Snapshot Compressive Imaging | ...

  9. 2020CVPR超分系列二Deep Unfolding Network for Image SR+Meta-Transfer Learning ZSSR+Res FeatureAggregation

    1.Deep Unfolding Network for Image Super-Resolution 代码传送门 1.1 总结 作者认为: learning-base方法目前展现出相比传统model ...

最新文章

  1. 使用read write 读写socket
  2. ANDROID_MARS学习笔记_S01_011ProgressBar
  3. 谷歌X实验室开源了一款像血糖仪一样的EEG识别系统
  4. buildpack_使用Buildpack容器化Spring Boot应用程序
  5. python自动修图_有码变高清!AI修图PULSE一秒还原马赛克
  6. 【二分法】计蒜客:二分快速幂
  7. java 对象复制_程序员应该知道java虚拟机的22个重难点(干货)
  8. 编译SNMP使用的MIB文件步骤
  9. fortran调用MKL函数库中的gemm的fortran95接口计算矩阵相乘
  10. Django Book 中对于MVC的阐释
  11. 《Linux系统最佳实践工具:命令行技术》新书抢先看
  12. Linux之Python代码打包工具Nuitka使用说明
  13. 学生如何提高专业英文阅读能力(转自施一公博客)
  14. vb.net 拓展教程目录
  15. 【bzoj4826】[Hnoi2017]影魔
  16. VB中Byval与Byref的区别。
  17. JavaScript ES6 特性
  18. DEV GridView 部分属性
  19. 413 request entity too large php,413 Request Entity Too Large
  20. Spark面试,Spark面试题,Spark面试汇总

热门文章

  1. 卫星信号的上行下行学习笔记
  2. 【路径规划-VRP问题】基于人工蜂群算法求解双层2E-VRP问题matlab代码
  3. 【VRP问题】基于matlab模拟退火算法求解带容量的VRP问题(多车型)
  4. js获取播放器播放时间和停止播放
  5. simulink中的变压器参数解释及测量方法
  6. 智能电视验收测试软件,2018智能电视用户赞不绝口的三款屏幕检测软件,绝对干货!...
  7. 无法加载xxx.dll文件,找不到指定的模块(异常来自HRESULT:0x8007007E)解决
  8. 安徽省淮北市谷歌卫星地图下载
  9. BlackBerry软件TOP10排行榜
  10. 【转帖】 深入剖析多普达◆HTC◆CECT◆O2几者之间的关系