图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

Deep Learning for Image Super-resolution: A Survey

本文是2019年发表的一篇图像超分辨率综述文章。
paper:Deep Learning for Image Super-resolution: A Survey

简介

本文的目标在于对近几年基于深度学习的图像超分辨率方法进行全面的介绍。
现有的基于深度学习的图像超分方法可以大致分为以下三类:有监督的SR、无监督的SR和特定领域的SR。此外,本文还对一些重要的概念进行了说明,比如超分领域常用的公开数据集、重建质量评估方法等。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

问题简介和术语

问题定义

Ix =D(Iy;δ) Ix是低分辨率图像,Iy是高分辨率图像,D是下采样过程,δ是参数(下采样因子/噪声)。
超分辨率重建过程可以由下式表示:
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

Iˆy是重建图像,F是超分辨率模型,θ是F的参数。
大多数模型的LR数据集都是通过对HR数据做简单下采样(其中最常用的是bicubic插值)得到的,然而,有的模型会采用更复杂的降质(Degradation)方法:
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记
上式中k代表模糊核,nς代表高斯加性白噪声;经过此方法产生的图像会更加接近真实图像,对后续的重建操作更有益。

数据集

下表展示了图像超分辨率任务中常用的数据集,并分别列出了各数据集的图像数量、平均尺寸、图像格式等。图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

图像质量评估方法

峰值信噪比PSNR(objective)
结构相似性SSIM(objective)
平均主观意见分MOS(subjective)

操作通道

常见的图像颜色模型包括RGBYCbCr,早期的一些模型会选择对YCbCr中的Y通道进行操作,最近的一些模型则倾向于对RGB通道进行超分处理。值得一提的是,颜色模型的选取会很大程度上影响最终的生成效果。


有监督的超分方法

超分网络框架

有监督方法的基础是LR-HR图像对,网络模型的结构多种多样,下面介绍四种常见的结构。

a.pre-upsampling SR

因为直接学习低分辨率图像和高分辨率图像之间的映射过程会比较困难,Dong等人在SRCNN中首次使用了pre-upsampling SR结构,即先对低分辨率图像做上采样操作,使上采样后的图像尺寸与高分辨率相同,然后学习该上采样后的图像和高分辨率图像之间的映射关系,极大地降低了学习难度。但是,预先上采样通常会带来副作用(例如,噪声放大和模糊),并且由于大多数操作是在高维空间中执行的,因此时间和空间的成本比其他框架要高得多。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

b.Post-upsampling SR

为了提高计算效率并充分利用深度学习技术,研究人员提出在低维空间进行大多数的运算,在网络的末端再进行上采样操作。该做法的好处是,由于具有巨大计算成本的特征提取过程仅发生在低维空间中,大大降低了计算量和空间复杂度,该框架也已成为最主流的框架之一,在近年的模型中被广泛应用。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

c. Progressive upsampling SR

虽然Post-upsampling SR很大程度上降低了计算难度,但对于比例因子较大的情况(4倍、8倍超分),使用Post-upsampling SR方法有较大的学习难度。而且,对于不同比例因子,需要分别训练一个单独的SR网络模型,无法满足对多尺度SR的需求。Progressive upsampling SR 框架下的模型是基于级联的CNN结构,逐步重建高分辨率图像。在每一个阶段,图像被上采样到更高的分辨率,Laplacian金字塔SR网络(LapSRN)就采用了上述框架。通过将一个困难的任务分解为简单的任务,该框架下的模型大大降低了学习难度,特别是在大比例因子的情况下,能够达到较好的学习效果。然而,这类模型也存在着模型设计复杂、训练稳定性差等问题,需要更多的建模指导和更先进的训练策略。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

d.Iterative up-and-down Sampling SR

为了更好地捕捉LR-HR图像对之间的相互依赖关系,在SR中引入了一种高效的迭代过程,称为反投影。DBPN就是基于该结构的模型之一,它交替连接上采样层和下采样层,并使用所有中间过程来重建最终的HR。该框架下的模型可以更好地挖掘LR-HR图像对之间的深层关系,从而提供更高质量的重建结果。然而,反投影模块的设计标准仍然不清楚,由于该机制刚刚被引入到基于深度学习的SR中,具有很大的潜力,需要进一步探索。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

上采样方法

基于插值的上采样方法:最近邻插值法、双线性插值法、双三次插值法
此类上采样方法只根据图像本身的信号来提高图像的分辨率,而没有带来更多的信息。

基于学习的上采样方法:转置卷积、亚像素卷积

转置卷积
原理如图所示:
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记
操作分为两步,首先对输入图像进行插值(零)使图像尺寸放大,然后对放大后的图像进行卷积操作。以上图为例,输入图像尺寸为3x3,对图像进行补零操作后,尺寸变为6x6,对该图像进行卷积处理,就能得到尺寸为6x6的目标图像,也就实现了二倍上采样。
转置卷积的缺点是容易产生棋盘格现象。

亚像素卷积
亚像素卷积的原理如图所示,首先对输入图像做卷积处理,生成sxs个特征图(s为上采样因子),然后对sxs个特征图做reshape操作,得到目标图像。(reshape方法如图)

图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

网络设计

残差学习

分为全局残差学习和局部残差学习两种。

全局残差学习
由于图像SR是一种图像到图像的转换任务,其中输入图像与目标图像高度相关,因此我们可以只学习它们之间的残差,这就是全局残差学习。在这种情况下,可以避免学习从一个完整图像到另一个图像的复杂变换,而只需要学习一个残差图来恢复丢失的高频细节。由于大部分区域的残差接近于零,模型的复杂度和学习难度大大降低。

局部残差学习
类似于ResNet中的残差学习,shortcut连接可以用于缓解网络深度不断增加所带来的模型退化问题,降低了训练难度,被广泛应用在超分任务中。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记
举例:
SRGAN:Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

RCAN: Image Super-Resolution Using Very Deep Residual Channel Attention Networks
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

递归学习

为了在不引入过多参数的情况下学习到更高级的特征,递归学习(即以递归方式多次应用相同模块)被应用到超分任务中,如图所示。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记
一般来说,递归学习确实可以在不引入过多参数的情况下学习更精细的特征,但仍然无法避免较高的计算成本。它固有地带来了梯度问题的消失或爆炸问题,因此一些技术,如残差学习和多重监督经常与递归学习相结合,以缓解这些问题。
e.g. DRCN、MemNet、CARN、DSRN

MemNet: A Persistent Memory Network for Image Restoration

图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

多路径学习

多路径学习是指通过多条路径传递特征,每条路径执行不同的操作,将它们的操作结果融合以提供更好的建模能力。具体来说,它可以分为全局、局部和特定规模的多路径学习。

全局多路径学习
是指利用多条路径来提取图像不同方面的特征,这些路径在传播过程中可以相互交叉,从而大大提高学习能力。(e.g. LapSRN、DSRN)

LapSRN:Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


局部多路径学习

模块结构如下图所示,在该模块中,采用核尺寸为3×3和5×5的两个卷积层同时提取特征,然后将输出串接并再次进行相同的运算,最后再进行1×1的卷积运算。通过这种局部多路径学习,SR模型可以更好地从多尺度中提取图像特征,进一步提高性能。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记
CVPR2020中的CSNLN便是应用了局部多路径学习,将三个通道的信息整合。包括原始的输入(下)、尺度内非局部注意力(中)、跨尺度非局部注意力(上)。

CSNLN: Image Super-Resolution with Cross-Scale Non-Local Attention and Exhaustive Self-Exemplars Mining

图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


特定尺度的多路径学习

考虑到不同尺度的SR模型需要经过相似的特征提取,Lim等人提出了尺度特定的多路径学习方法来实现单网络的多尺度重建。具体地说,它们共享模型的主要组件(即用于特征提取的网络层),并分别在网络的开始和结束处附加特定比例的预处理结构和上采样结构(如图所示)。在训练期间,仅启用和更新与选定比例相对应的模块。这样,所提出的MDSR通过共享不同尺度下的大部分参数,大大减小了模型的规模,并表现出与单尺度模型相当的性能。CARN和ProSR也采用了类似的特定尺度的多路径学习。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

稠密连接

(Dense Connections 不知道是不是这样翻译)

自从Huang等人提出基于稠密块的DenseNet以来,稠密连接在视觉任务中的应用越来越广泛。对于稠密块体中的每一层,将所有前一层的特征图作为输入,并将其自身的特征图作为输入传递到所有后续层。稠密连接不仅有助于减轻梯度消失、增强信号传播和鼓励特征重用,而且还通过采用小增长率(即密集块中的信道数)和在连接所有输入特征映射后压缩通道数来显著减小模型尺寸。

图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


RDN: Residual Dense Network for Image Super-Resolution
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


SRDenseNet: Image Super-Resolution Using Dense Skip Connections

图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

注意力机制

考虑到不同通道之间特征的相互依赖关系,Hu等人提出了SENet,通过考虑通道之间的相互依赖关系来提高网络的学习能力。在该模块中,使用全局平均池化(GAP)将每个输入信道压缩成一个通道描述符(即常数),然后将这些描述符输入到两个密集层中,以产生各通道的权重因子。最近,Zhang等人将通道注意机制应用在超分中,提出了RCAN,显著提高了模型的表达能力。为了更好地探究特征之间的相关性,Dai等人进一步提出二阶通道注意力(SOCA)模块。SOCA通过使用二阶特征统计量代替了全局平均池化,以提取更加精细的特征。

SENet: Squeeze-and-Excitation Networks

图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


RCAN: Image Super-Resolution Using Very Deep Residual Channel Attention Networks
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


SAN: Second-order Attention Network for Single Image Super-Resolution
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


CSNLN: Image Super-Resolution with Cross-Scale Non-Local Attention and Exhaustive Self-Exemplars Mining

图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

高级卷积

由于卷积运算是深层神经网络的基础,研究人员也试图改进卷积运算以获得更好的性能或更高的效率。包括使用扩张卷积(空洞卷积)、分组卷积、深度可分离卷积等。

学习策略

损失函数


像素(级)损失 pixel loss
分为L1损失和L2损失。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

在早期,研究者们通常采用L2损失作为模型的损失函数,但后来发现它不能很准确地衡量重建的质量。与L1损失相比,L2损失惩罚较大的error,但对小error的容忍度更高,因此常常导致结果过于平滑。因为PSNR的定义与“对应像素之间的误差”高度相关,最小化像素损失直接使PSNR最大化,像素损失逐渐成为应用最广泛的损失函数。


内容损失 content loss

衡量不同图像通过预训练的模型后得到的特征图之间的差异,计算图像之间的感知相似性。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记
φ是预先训练好的图像分类网络,如VGG、ResNet;l指该网络的第l层。


纹理损失texture loss
考虑到重建图像应具有与目标图像相同的风格(如颜色、纹理、对比度),将图像纹理视为不同特征通道之间的相关性.


对抗损失
在生成对抗网络中,判别器被用来判断当前输入信号的真伪,生成器则尽可能产生“真”的信号,以骗过判别器。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


循环一致性损失
该损失被用在cycleGAN中,其目的是保证生成的图像必须保留有原始图像的特性。在超分任务中,低分辨率图像I经过超分重建后得到重建图像Iˆ,I’则是对该重建图像做下采样后的低分辨率图像,重新生成的I′应该尽可能与输入I相同。

图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


总变化损失
为了抑制生成图像中的噪声,引入了总变化损失,它被定义为相邻像素之间的绝对差异之和。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记



批量标准化/批量归一化

为了加速和稳定深部神经网络的训练,Sergey等人提出批量标准化(BN)以减少网络的内部协变量偏移。具体来说,它们对每个小批量执行规范化,并为每个通道训练两个额外的转换参数,以保持表示能力。然而,Lim等人在EDSR中提出BN会丢失每个图像的比例信息,并从网络中去除范围灵活性。此外,由于BN层与前面的卷积层消耗的内存量相同,因此移除BN层后,GPU内存使用量也充分减少。与SRResNet相比,没有批量标准化层的baseline模型在训练期间节省了大约40%的内存使用量。因此,在有限的计算资源下,我们可以建立一个比传统ResNet结构有更好性能的更大的模型。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

State-of-the-art 超分辨率模型

下表总结了一些有代表性的模型及其关键策略。
图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记

无监督的超分方法

现有的超分辨率研究主要集中在有监督学习上,即利用匹配的LR-HR图像对进行学习。然而,由于同一场景不同分辨率的图像难以采集,因此通常通过对HR图像进行预先降质处理来获得SR数据集中的LR图像。为了学习真实世界的LR-HR映射,研究者们越来越关注无监督SR,在这种情况下,只提供未配对的LR-HR图像进行训练,从而使生成的模型更有可能处理真实场景中的SR问题。

考虑到单个图像内部的图像统计信息,Shocher等人提出了ZSSR,既不需要先验的图像样本也不需要先验的训练,它利用单张图片的内部重复信息在测试期间训练一个小型针对特定图片的CNN。具体地说,从单个图像估计退化内核,并使用该内核通过对该图像执行不同比例因子的降级和增强来构建一个小数据集,然后在这个数据集上训练一个小的用于SR的CNN并用于最终的预测。

ZSSR: Zero-Shot Super-Resolution Using Deep Internal Learning

ZSSR有以下几点贡献:

(1)第一篇采用无监督方式搭建的CNN超分辨率算法;
(2)能对非理想条件下的图像进行处理;
(3)不需要进行预训练,并且计算量小;
(4)没有任何的尺寸限制,可以应用到任何比例的SR任务;


下面这篇是CVPR2020中的一篇无监督超分文章,数据集为非配对的LR、HR,同时加入了CycleGAN的思想。

Unpaired Image Super-Resolution using Pseudo-Supervision

图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记


总结

本文对图像超分辨率进行了全面整体的介绍,提出了以后可以重点探索的方向:

1.网络设计

Combining Local and Global Information. 结合局部和全局信息

Combining Low-and High-level Information. 将浅层CNN提取的信息(如色彩等)与深层CNN提取的图像特征结合。

Context-specific Attention.

More Efficient Architectures. 在实际应用中,过于复杂的模型结构是不太能被接受的,因此需要更加高效的结构。

Upsampling Methods上采样方法
如何进行有效和高效的上采样仍然需要研究,特别是在高比例因子的情况下。

2.学习策略

损失函数
现有的损失函数可以看作是在LR/HR/SR图像之间建立约束条件,并根据这些约束条件来指导优化过程。在实际应用中,这些损失函数往往是加权组合的,而SR的最佳损失函数仍不清楚。因此,探索这些图像之间潜在的相关性,寻求更精确的损失函数是最有前途的方向之一。

BN
尽管BN被广泛应用于视觉任务中,大大加快了训练速度并提高了性能,但对于超分辨率来说,它的效果并不好。因此,需要对SR的其它有效归一化技术进行研究。

3.评价方法
Blind IQA Methods 目前用于SR的大多数指标都是参考方法,即假设我们已将LR-HR图像与完美质量配对。但由于这类数据集的获取比较困难,常用的评价数据集往往采用人工降级的方式进行。在这种情况下,我们执行的评估任务实际上是预定义降级的逆过程。因此,发展Blind IQA 方法有很大的需求。

4.无监督超分辨率




图像超分辨率综述:Deep Learning for Image Super-resolution: A Survey 阅读笔记