https://arxiv.org/abs/1902.06068
摘要:图像超分辨率(SR)是计算机视觉中增强图像和视频分辨率的一类重要图像处理技术。近几年来,图像超分辨率研究已经利用深度学习技术取得了重大进展。文本旨在系统性综述图像超分辨率技术利用深度学习技术所取得的最新进展。总体来看,现有的 SR 技术研究大体可以分为三大类:监督 SR、无监督 SR 以及特定领域的 SR。除此之外,本文还介绍了其他一些重要内容,如公共开源基准数据集和性能评估指标。最后,本文还指出了未来的几个方向以及一些待解决的问题。
这篇综述主要介绍目前深度学习领域超分辨率问题的一些方法。首先介绍了图像超分辨率问题以及问题的评价标准,之后重点介绍了监督学习领域的几大关键,包括上采样方法、网络结构、学习策略、其他优化策略等。并且分析了各种不同方法的优缺点。之后介绍了无监督学习的一些方法,最后给出了一些未来可能的研究方向。
主要贡献如下:
全面回顾了基于深度学习的图像超分辨率技术,包括问题设置、基准数据集、性能度量、一系列基于深度学习的 SR 方法、特定领域的 SR 应用等。
以分层和结构化的方式系统回顾了基于深度学习的 SR 技术的最新进展,总结了有效 SR 方案每个部分的优势和局限性。
讨论了当前的挑战和开放性问题,确认了新的发展趋势和未来方向,为该社区提供了见解和指导
在下面的章节中,我们将介绍深度学习图像超分辨率最新进展的各个方面。图中。1以层次结构的方式显示了本调查中要涵盖的图像SR的分类法。第2节给出了问题的定义,并回顾了主流数据集和评估指标。第三节模块化地分析了监督SR的主要成分。第4节简要介绍了无监督的SR方法。第5节介绍了一些流行的特定领域的SR应用程序,第6节讨论了未来的方向和开放的问题。
图像超分辨率旨在从 L R LR LR图像中恢复相应的 H R HR HR图像。通常, L R LR LR图像 I x I_x Ix被建模为以下缩放的输出:
I x = D ( I y ; δ ) I_x = D(I_y;\delta) Ix=D(Iy;δ)
SR问题就是需要从 L R LR LR 图像 I x Ix Ix 中恢复真实 H R HR HR 图像 I y I_y Iy 的 H R HR HR 近似 I ^ y \hat{I}_y I^y,公式如下:
I y ^ = F ( I x ; θ ) \hat{I_y} = F(I_x;\theta) Iy^=F(Ix;θ)
因此研究人员需要对退化映射建模,也就是对退化函数进行估计。
第一种建模方式(大多数工作)直接将退化建模为单个降采样操作,也就是:
D ( I y ; σ ) = ( I y ) ↓ s , s ⊂ σ D(I_y;σ) = (Iy)↓_s,s⊂σ D(Iy;σ)=(Iy)↓s,s⊂σ
其中 ↓ s ↓_s ↓s为缩放系数为s的下采样操作。事实上,大多数通用SR的数据集都是基于这种模式构建的,其中的降采样操作是具有抗混叠的双边插值。但是退化过程未知,并可能受到各种因素的影响(压缩伪影(compression artifacts)、各向异性退化(anisotropic degradations)、传感器噪声和散斑噪声(sensor noise and speckle noise))。
所以还有另一种估计:
D ( I y ; σ ) = ( I y ⊗ κ ) ↓ s + n ϵ , κ , s , ϵ ⊂ σ , 其 中 s 为 缩 放 系 数 D(I_y;σ)=(I_y⊗κ)↓_s+n_ϵ,κ,s,ϵ⊂σ, 其中s为缩放系数 D(Iy;σ)=(Iy⊗κ)↓s+nϵ,κ,s,ϵ⊂σ,其中s为缩放系数
其中 I y ⊗ κ I_y⊗κ Iy⊗κ是blur kernel与 I y I_y Iy的卷积, n ϵ n_ϵ nϵ是标准差为 ϵ ϵ ϵ的高斯白噪声。这种估计方式更接近现实,效果更好。
因此SR问题的目标就可以表述成:
θ ^ = a r g m i n θ L ( I ^ y , I y ) + λ ϕ ( θ ) , 其 中 λ 为 t r a d e o f f 参 数 , ϕ ( θ ) 为 r e g u l a r i z a t i o n t e r m \hat{θ}=argminθL(\hat{I}_y,I_y)+λϕ(θ), \ \ 其中λ为tradeoff参数,ϕ(θ)为regularization\ term θ^=argminθL(I^y,Iy)+λϕ(θ), 其中λ为tradeoff参数,ϕ(θ)为regularization term
除了这些数据集外,一些广泛用于其他视觉任务的数据集也被用于SR,如ImageNet [51]、MS-COCO[52]、VOC2012[53]、CelebA[54]。此外,结合多个数据集进行训练也很受欢迎,如结合T91和BSDS300[26]、[27]、[55]、[56],结合DIV2K和Flickr2K[31]、[57]。
根据判断依据:基于人类感知的主观方法(即图像看起来的真实性)和客观的计算方法
根据参照对象:使用参考图像进行评估的全参考方法,基于提取特征比较的简化参考方法,以及没有任何参考图像的无参考方法(即盲IQA)
Peak Signal-to-Noise Ratio, PSNR
PSNR = 10 ⋅ log 10 ( L 2 1 N ∑ i = 1 N ( I ( i ) − I ^ ( i ) ) 2 ) \operatorname{PSNR}=10 \cdot \log _{10}\left(\frac{L^{2}}{\frac{1}{N} \sum_{i=1}^{N}(I(i)-\hat{I}(i))^{2}}\right) PSNR=10⋅log10(N1∑i=1N(I(i)−I^(i))2L2)
通过最大可能像素值(表示为L)和图像之间的平均平方误差( M S E MSE MSE)来定义 P S N R PSNR PSNR。一般情况下使用8位图像表示, L = 255 , P S N R L=255,PSNR L=255,PSNR的典型值从20到40不等,越高越好。
是目前最受欢迎的对有损变换的重建质量评估之一,缺点是仅考虑了像素级别的均方差,没有考虑视觉角度。
Structural Similarity, SSIM
SSIM ( I , I ^ ) = [ C l ( I , I ^ ) ] α [ C c ( I , I ^ ) ] β [ C s ( I , I ^ ) ] γ \operatorname{SSIM}(I, \hat{I})=\left[\mathcal{C}_{l}(I, \hat{I})\right]^{\alpha}\left[\mathcal{C}_{c}(I, \hat{I})\right]^{\beta}\left[\mathcal{C}_{s}(I, \hat{I})\right]^{\gamma} SSIM(I,I^)=[Cl(I,I^)]α[Cc(I,I^)]β[Cs(I,I^)]γ
从亮度、对比度和结构三个角度对图像质量进行独立的评估,更接近人眼视觉。(也提出了MSSIM,它将图像分割为多个窗口,评估每个窗口的SSIM,最后将它们平均为最终的MSIM。)
具体公式内容可参考此文章图像质量评价指标之 PSNR 和 SSIM
Mean Opinion Score, MOS
常用的主观IQA,由人来给图像评分,1~5表示从坏到好,最后取平均。
缺陷:尺度、偏置和评分标准的方差都是非线性感知的。
-> NIMA:根据主观视觉分数 No-reference Ma
-> DeepAQ:预测视觉相似性
-> LPIPS:根据深层特征的差异评估 perceptual image patch similarity(LPIPS)
训练网络对图像的质量进行预测,目前的主要问题是我们所需要哪些视觉特征仍未知。
SR任务可以作为其他任务的基础,提升其他任务的表现。因此可以根据其他任务的表现对SR任务进行评估
MS-SSIM : multi-scale SSIM
FSIM : feature similarity
NIQE : Natural Image Quality Evalutor
RGB(最近用的多) YCbCr(早期用的多)
值得注意的是,在不同颜色的空间或通道上进行操作(培训或评估)可以使评估结果有很大的差异(最高可达4dB)。
NTIRE Challenge
PIRM Challenge
它们本质上是一组组件的一些组合,如模型框架、上采样方法、网络设计和学习策略等。下面的小节也是围绕这些内容展开。
基于所采用的上采样操作及其在模型中的位置,它们可以归纳为四个模型框架。
主要分为基于插值和基于深度学习两大类。
传统的插值方法包括近邻插值、双线性和双边插值、Sinc和Lanczos重采样等。由于这些方法易于解释且易于实现,其中一些方法仍然被广泛应用于基于cnn的SR模型中。
最近邻插值
将目标各点的像素值设为源图像中与其最近的点。速度快,但通常会导致低质量的块状图案。
双线性插值
选取源图像中最近的2××2,先在一个坐标轴上进行一次线性插值,再在另一个坐标轴上进行线性插值。
上图中目标点为P,选取的点为四个Q。先以横坐标进行线性插值,得到两个R点,再用R以纵坐标进行线性插值。
在两个坐标轴上进行三次插值,考虑的是4××4的范围。得到的结果会更光滑,失真更少,但速度较慢。事实上,具有抗混齿的BCI是构建SR数据集的主流方法(即将HR图像降级为LR图像),也被广泛应用于[预上采样SR框架](#3.1.1 预上采样超分框架)。
详细内容可参考此文章 一篇文章为你讲透双线性插值
基于插值的上采样方法仅基于自己的图像信号就提高了图像分辨率,而不带来更多的信息。相反,它们经常会引入一些副作用,如计算复杂度、噪声放大、模糊结果。因此,目前的趋势是用可学习的上采样层取代基于插值的方法。
为克服基于插值方法的缺点,用端到端的方式学习上采样,研究者将转置卷积层和子像素卷积层引入SR领域中。
可以视为与卷积对称的过程。如果我们将卷积的过程表示为矩阵,输入和输出均为列向量。那么卷积可以表示为 Y = C X Y=CX Y=CX, 反卷积可以表示为 X = C T Y X=C^TY X=CTY。反卷积过程可以恢复 X X X的大小,但不能恢复每个元素值。
缺点:容易造成“不均匀重叠”的现象, 在两个坐标轴上相乘的结果进一步创建了一个大小不同的棋盘式模式
反卷积详细推导(偏数学,有代码)
理解转置卷积(译文,易理解)
反卷积的棋盘格效应-解释译文 反卷积的棋盘格效应-原文与交互
首先,如果我想对原图放大3倍,那么我需要生成出3^2=9个same size的特征图。将九个same size的特征图拼成一个X3的大图,这就是sub-pixel convolution的操作。用卷积操作生成 s 2 s^2 s2个channel,再reshape。与反卷积相比感受野更大,可以提供更多的信息,以帮助生成更真实的细节。
缺点:是感受野分布不平均且块状区域共享相同的感受野会导致不同块的边界处存在失真。独立预测块状区域相邻像素会导致不光滑结果。因此Gao等人[94]提出了PixelTCL,它将独立预测取代为相互依赖的序列预测,并产生了更平滑、更一致的结果。
I S R ( i , j ) = Φ ( F L R ( i ′ , j ′ ) , W ( i , j ) ) I^{SR}(i,j) = \Phi(F^{LR}(i',j'),W(i,j)) ISR(i,j)=Φ(FLR(i′,j′),W(i,j))
由于先前的方法需要预先定义缩放因子,即针对不同的因子训练不同的上采样模块,SR图像中的每个像素点都与卷积核有关,对于不同的尺度因子 r ,卷积核的weights都不相同,为了实现任意尺度的超分,Meta-SR提出了基于尺度因子和坐标的元上采样模型来动态预测权重 W ( i , j ) W(i,j) W(i,j)。
对HR中每一个目标位置,将其映射到LR特征图中的一小块区域,预测卷积权重。对于任意的缩放因子可以不断缩放。
缺点是结果可能不稳定,当遇到较大的缩放因子时效率不高。
Meta-SR:A Magnification-Arbitrary Network for Super-Resolution 论文阅读笔记
如今,这些基于学习的层已成为使用最广泛的上采样方法。 尤其是在上采样后框架(第3.1.2节)中,这些层通常用于最终的上采样阶段,以基于在低维空间中提取的高级表示来重建HR图像,从而实现端到端的SR同时应当避免在高维空间中进行繁重的操作。
如今,网络设计已成为深度学习最重要的部分之一。 在超分辨率领域,研究人员在四个SR框架(第3.1节)的基础上应用各种网络设计策略来构建最终的网络。 在本节中,我们将这些网络分解为网络设计的基本原理或策略,对其进行介绍并逐一分析其优势和局限性。
在He之前等提出ResNet用于学习残差而不是彻底的映射,残差学习已被SR模型广泛采用,如图所示。 其中,残差学习策略可以大致分为全局残差学习和局部残差学习。
实际上,上述方法都是通过快捷方式连接(通常由一个小常数缩放)和逐元素加法来实现的,不同之处在于前者直接连接输入和输出图像,而后者通常在层之间添加多个快捷方式 在网络内部具有不同的深度。
在最近几次基于学习的成功案例中,卷积神经网络(SRCNN)证明了端到端的sr方法的可行性。改进SRCNN的一种可能性是简单地尽可能多地叠加权重层。然而,这大大增加了参数的数量,需要更多的数据来防止过拟合。在这项工作中,我们试图设计一个卷积网络,模型的长期像素依赖的有限容量。我们的网络递归地扩大了接受域而不增加模型的容量。
——[DRCN]: Deeply-Recursive Convolutional Network for Image Super-Resolution
另:用于序列处理的递归神经网络的详细内容可参考此博客:深度学习-神经网络:Recursive Neural Network/递归神经网络(General Form of Recurrent Neural Network/循环神经网络
多路径学习是指通过多条路径传递特征,它们执行不同的操作,并将它们融合回来以提供更好的建模能力。具体来说,它可以分为全局、局部和尺度特定的多路径学习。
LapSRN:特征提取+重建,以粗略到精细的方式预测子带残差的特征提取路径,以及基于来自两条路径的信号重建HR图像的另一条路径。使用的是[渐进式上采样框架](#3.1.3 渐进式上采样超分框架);
DSRN:低分辨率+高分辨率,利用两条路径分别提取低维和高维空间中的信息,并不断交换信息以进一步提高学习能力;condition+prior
MSRN:用不同卷积核(3×3和5×5)对图像进行卷积后,concat,再一齐送入同样的操作中,并通过1*1卷积,从多个缩放尺度中提取图像特征并进一步提高性能.
它们共享模型的主要部分(即,用于特征提取的中间部分),并且分别在网络的开始和结束处附加特定的预处理路径和上采样路径。仅使用和更新与选定规模相对应的路径,也利用了参数共享机制。
原理:对于稠密块体中的每一层,将所有前一层的特征图作为输入,并将其自身的特征图作为输入传递到所有后续层
优点:稠密连接不仅有助于减轻梯度消失、增强信号传播和鼓励特征重用,而且还通过采用小增长率(即密集块中的信道数)和在连接所有输入特征映射后压缩通道数来显著减小模型尺寸。
模型:
RDN : Residual Dense Network for Image Super-Resolution(CVPR2016)
SRDenseNet : Image Super-Resolution Using Dense Skip Connections(ICCV2017)
主要有通道注意力和非局部注意力。通道注意力考虑了不同通道特征表示间的相互依赖关系来提高网络的学习能力。
通道注意机制:通道相互依赖的显式建模,使用全局平均池化将每个输入信道压缩到信道描述符(即常量)中,然后将这些描述符输入到两个全连接层中,从而生成信道级计算因子。显著提高了模型的表示能力,提高了SR的性能。
非局部注意机制:大多数现有的SR模型的局部接受域非常有限。然而,一些遥远的对象或纹理可能对局部补丁的生成非常重要。Residual non-local attention networks for image restoration提出了局部和非局部注意块来提取捕获像素之间的长期依赖关系的特征。具体来说,他们提出了一个用于提取特征的主干分支,以及一个用于(非)局部掩码分支的自适应调整主干分支特征的局部掩码分支。其中,局部分支采用编码解码器结构来学习局部注意,而非局部分支使用嵌入式高斯函数来评估特征图中每两个位置索引之间的成对关系来预测尺度权值。通过这种机制,该方法能很好地捕捉到空间注意,并进一步提高了表示能力。
待看:
超分辨率中的注意力机制基础知识
更多注意力模型即应用于超分领域的论文解析参考此文章:超分辨中的注意力机制模型论文
由于卷积运算是深度神经网络的基础,研究人员也试图提高卷积运算,以提高性能或提高效率
空洞卷积:在卷积核中间填充0,有两种实现方式,第一,卷积核填充0,第二,输入等间隔采样。可以扩大感受野,捕捉多尺度上下文信息,而不引入额外参数。但会造成局部信息的丢失
知乎问答:如何理解空洞卷积?
分组卷积:IDN和CARN-M可以在性能损失很小的情况下将参数量与运算量大量减少。
假设常规卷积的输入尺寸为 C × H × W C×H×W C×H×W,卷积核尺寸为 C × K × K C×K×K C×K×K,卷积核数量为N.现在分成G组,每组的输入变为 C G × H × W \frac {C} {G}×H×W GC×H×W,卷积核尺寸也相应的变为 C G × K × K \frac {C} {G}×K×K GC×K×K.则卷积的总参数量变为原来的 1 G \frac {1} {G} G1
原因:大多数SR模型将SR视为一个像素独立的任务,因此不能正确地获取生成的像素之间的相互依赖关系。
概念:一种基于概率的模型,利用生成像素之间的相互依赖。采用两个网络分别捕获全局上下文信息和串行生成相关性。引入了像素之间的条件独立性。
模型:受PixelCNN [111]的启发,Dahl等人[64]首先提出像素递归学习来执行逐像素生成,分别使用两个网络来捕获全局上下文信息和逐像素生成依赖性。这种方式在人脸图像的真实头发和皮肤细节还原上表现很好,并且远远超过了以前关于MOS检测标准[64]的方法(2.3.3)。 在注意力转移机制[112]的激励下,attention-FH[113]也采用了这一策略,通过一个循环策略网络依次发现参与的补丁并执行局部增强。这样,它就能够根据每个图像自身的特征自适应地个性化每个图像的最优搜索路径,从而充分利用图像的全局内感知
缺点:长传播路径的递归过程大大增加了计算成本和训练难度,特别是对于超分辨的HR图像。
更好地利用全局和本地上下文信息。对于尺寸是h×w×c的feature map,每个特征映射被划分为M*M块,经过全局平均池化,生成M×M×c的结果。再用 1 × 1 1×1 1×1卷积将输出压缩到一个单通道后,采用双线性插值方法,将低维特征图向上采样到与原始特征映射相同的大小。当 M 变化时,模块结合全局和局部的上下文信息以提升性能。
将图像信号分解为表示纹理细节的高频小波和包含全局拓扑信息的低频小波。将插值后的LR小波的子带作为输入,并预测相应HR子带的残差。小波变换和逆小波变换分别用于LR输入的分解和HR输出的重构。
有些模型也在小波区域进行超分处理。
上采样sub-pixel中shuffle的反操作。将图像像素分开,堆成额外的channel从而避免信息丢失。先将图像desubpixel操作,在低维空间学习,最后上采样至对应尺寸。
一种带有可学习参数的激活函数,适合图像恢复类的任务。可以捕捉更复杂的特征从而减少层数和参数。xUnit对计算的要求更高,但由于其对性能的巨大影响,它可以在使性能与ReLU相匹配的同时大大减小模型尺寸。
在超分辨率领域,损失函数用于测量重建误差并指导模型优化。 早期,研究人员通常采用像素级L2损失,但后来发现它无法非常准确地测量重建质量。 因此,提出了多种损失函数(例如,内容损失,对抗性损失)来更好地测量重构误差并产生更现实,更高质量的结果。
L pixel_11 ( I ^ , I ) = 1 h w c ∑ i , j , k ( I ^ i , j , k − I i , j , k ) 2 \mathcal{L}_{\text {pixel\_11 }}(\hat{I}, I)=\frac{1}{h w c} \sum_{i, j, k}\left(\hat{I}_{i, j, k}-I_{i, j, k}\right)^2 Lpixel_11 (I^,I)=hwc1i,j,k∑(I^i,j,k−Ii,j,k)2
其中h,w和c分别是评估图像的高度,宽度和通道数。 此外,还有一个像素L1损耗的变体,即Charbonnier损耗: (其中 ε ε ε是用来保持稳定性的常数(例如 1 0 − 3 1 0^{−3} 10−3。)
L pixel_Cha ( I ^ , I ) = 1 h w c ∑ i , j , k ( I ^ i , j , k − I i , j , k ) 2 + ϵ 2 \mathcal{L}_{\text {pixel\_Cha }}(\hat{I}, I)=\frac{1}{h w c} \sum_{i, j, k} \sqrt{\left(\hat{I}_{i, j, k}-I_{i, j, k}\right)^{2}+\epsilon^{2}} Lpixel_Cha (I^,I)=hwc1i,j,k∑(I^i,j,k−Ii,j,k)2+ϵ2
像素损失将生成的HR图像 $ \hat{I} $ 限制为足够接近像素值上的地面真实 I I I。与L1损耗相比,L2损耗会惩罚较大的误差,但更能容忍较小的误差,因此通常会导致结果过于平滑。 实际上,与L2损耗相比,L1损耗显示出更高的性能和收敛性。像素级损失和PSNR定义([见2.3.1](#2.3.1 峰值信噪比))相关,应用广泛。
内容损失: 为了评估图像的感知质量,将内容损失引入SR。具体来说,它使用预先训练的图像分类网络来测量图像之间的语义差异。将该网络表示为φ,将在第 l l l 层上提取的高级表示表示为$φ ( l ) ( I ) $内容损失表示为两个图像的高级表示之间的欧式距离,如下所示:
L content ( I ^ , I ; ϕ , l ) = 1 h l w l c l ∑ i , j , k ( ϕ i , j , k ( l ) ( I ^ ) − ϕ i , j , k ( l ) ( I ) ) 2 \mathcal{L}_{\text {content }}(\hat{I}, I ; \phi, l)=\frac{1}{h_{l} w_{l} c_{l}} \sqrt{\sum_{i, j, k}\left(\phi_{i, j, k}^{(l)}(\hat{I})-\phi_{i, j, k}^{(l)}(I)\right)^{2}} Lcontent (I^,I;ϕ,l)=hlwlcl1i,j,k∑(ϕi,j,k(l)(I^)−ϕi,j,k(l)(I))2
其中 h l , w l 和 c l h_l,w_l和c_l hl,wl和cl 分别是第l ll层上表示形式的高度,宽度和通道数。
即希望生成的图片从视觉上看更像是真实的图片。衡量不同图像通过预训练的模型后得到的特征图之间的差异,计算图像之间的感知相似性
纹理损失: 考虑到重建图像应具有与目标图像相同的风格(如颜色、纹理、对比度),将图像纹理视为不同特征通道之间的相关性,并定义为Gram矩阵 G ( l ) ∈ R c l × c l G ( l ) ∈ R^{ c_l × c l } G(l)∈Rcl×cl,。
G i j ( l ) ( I ) = vec ( ϕ i ( l ) ( I ) ) ⋅ vec ( ϕ j ( l ) ( I ) ) G_{i j}^{(l)}(I)=\operatorname{vec}\left(\phi_{i}^{(l)}(I)\right) \cdot \operatorname{vec}\left(\phi_{j}^{(l)}(I)\right) Gij(l)(I)=vec(ϕi(l)(I))⋅vec(ϕj(l)(I))
其中 v e c ( ⋅ ) vec(·) vec(⋅)表示矢量化操作,$ \phi^{(l)}_i(I) 表 示 图 像 表示图像 表示图像I 的 第 的第 的第l 层 上 特 征 图 的 第 层上特征图的第 层上特征图的第i$个通道。然后纹理损失由下式给出:
L texture ( I ^ , I ; ϕ , l ) = 1 c l 2 ∑ i , j ( G i , j ( l ) ( I ^ ) − G i , j ( l ) ( I ) ) 2 \mathcal{L}_{\text {texture }}(\hat{I}, I ; \phi, l)=\frac{1}{c_{l}^{2}} \sqrt{\sum_{i, j}\left(G_{i, j}^{(l)}(\hat{I})-G_{i, j}^{(l)}(I)\right)^{2}} Ltexture (I^,I;ϕ,l)=cl21i,j∑(Gi,j(l)(I^)−Gi,j(l)(I))2
通过使用纹理损失,由Sajjadi等人提出的EnhanceNet 产生更逼真的纹理并产生视觉上更令人满意的结果。 尽管如此,确定batch大小需要一定的调参经验,patch太小会造成纹理部分重影,太大会整张图像重影。
基于交叉嫡损失函数 Loss based on cross entropy SRGAN |
L gan_ce_g ( I ^ ; D ) = − log D ( I ^ ) L gan_ce_d ( I ^ , I s ; D ) = − log D ( I s ) − log ( 1 − D ( I ^ ) ) \begin{aligned} \mathcal{L}_{\text {gan\_ce\_g }}(\hat{I} ; D) &=-\log D(\hat{I}) \\ \mathcal{L}_{\text {gan\_ce\_d }}\left(\hat{I}, I_{s} ; D\right) &=-\log D\left(I_{s}\right)-\log (1-D(\hat{I})) \end{aligned} Lgan_ce_g (I^;D)Lgan_ce_d (I^,Is;D)=−logD(I^)=−logD(Is)−log(1−D(I^)) |
---|---|
基于最小均方偏差损失函数 Loss based on least square error |
L gan_ls_g ( I ^ ; D ) = ( D ( I ^ ) − 1 ) 2 L gan_ls_d ( I ^ , I s ; D ) = ( D ( I ^ ) ) 2 + ( D ( I s ) − 1 ) 2 . \begin{aligned} \mathcal{L}_{\text {gan\_ls\_g}}(\hat{I} ; D) &=(D(\hat{I})-1)^{2} \\ \mathcal{L}_{\text {gan\_ls\_d }}\left(\hat{I}, I_{s} ; D\right) &=(D(\hat{I}))^{2}+\left(D\left(I_{s}\right)-1\right)^{2} . \end{aligned} Lgan_ls_g(I^;D)Lgan_ls_d (I^,Is;D)=(D(I^)−1)2=(D(I^))2+(D(Is)−1)2. |
饺链式对抗损失 Hinge - f ormat adversarial loss |
L gan_hi_g ( I ^ ; D ) = − D ( I ^ ) L gan_hi_d ( I ^ , I s ; D ) = min ( 0 , D ( I ^ ) − 1 ) + min ( 0 , − D ( I s ) − 1 ) \begin{aligned} \mathcal{L}_{\text {gan\_hi\_g }}(\hat{I} ; D) &=-D(\hat{I}) \\ \mathcal{L}_{\text {gan\_hi\_d }}\left(\hat{I}, I_{s} ; D\right) &=\min (0, D(\hat{I})-1)+\min \left(0,-D\left(I_{s}\right)-1\right) \end{aligned} Lgan_hi_g (I^;D)Lgan_hi_d (I^,Is;D)=−D(I^)=min(0,D(I^)−1)+min(0,−D(Is)−1) |
优点: 大量的MOS测试([第2.3.3节](#2.3.3 平均主观意见分))显示,即使与对抗性和内容损失相比,经过对抗性损失和内容损失训练的SR模型实现的PSNR较低,但它们也会带来感知质量的显着提高。事实上,判别器提取出一些难以学习的真实HR图像的潜像图案,并推动生成的HR图像符合要求,从而有助于生成更逼真的图像。
缺点: 目前GAN的训练过程仍然困难且不稳定。尽管已经有一些关于如何稳定GAN训练的研究,但是如何确保正确集成到SR模型中的GAN并发挥积极作用仍然是一个问题。
循环一致性损失: 由Zhu等人提出的CycleGAN激励。Yuan等提出了一种超分辨率的循环方法CinCGAN。 具体而言,它们不仅将LR图像 I I I解析为HR图像 I ^ \hat{I} I^,而且还将 $\hat{I} 通 过 另 一 个 C N N 下 采 样 回 到 另 一 个 L R 图 像 通过另一个CNN下采样回到另一个LR图像 通过另一个CNN下采样回到另一个LR图像I’ 。 再 生 的 必 须 与 输 入 。 再生的必须与输入 。再生的必须与输入I$相同,因此引入了循环一致性损失以限制其像素级一致性:
L cycle ( I ′ , I ) = 1 h w c ∑ i , j , k ( I i , j , k ′ − I i , j , k ) 2 \mathcal{L}_{\text {cycle }}\left(I^{\prime}, I\right)=\frac{1}{h w c} \sqrt{\sum_{i, j, k}\left(I_{i, j, k}^{\prime}-I_{i, j, k}\right)^{2}} Lcycle (I′,I)=hwc1i,j,k∑(Ii,j,k′−Ii,j,k)2
全变分损失: 用于抑制噪声,提升图像的空间平滑性,它被定义为相邻像素之间的绝对差值之和,度量图像中多少噪声。
L T V ( I ^ ) = 1 h w c ∑ i , j , k ( I ^ i , j + 1 , k − I ^ i , j , k ) 2 + ( I ^ i + 1 , j , k − I ^ i , j , k ) 2 \mathcal{L}_{\mathrm{TV}}(\hat{I})=\frac{1}{h w c} \sum_{i, j, k} \sqrt{\left(\hat{I}_{i, j+1, k}-\hat{I}_{i, j, k}\right)^{2}+\left(\hat{I}_{i+1, j, k}-\hat{I}_{i, j, k}\right)^{2}} LTV(I^)=hwc1i,j,k∑(I^i,j+1,k−I^i,j,k)2+(I^i+1,j,k−I^i,j,k)2
在实践中,研究人员常常通过加权平均组合多个损失函数来约束生成过程的不同方面。但如何合理有效地结合这些损失函数仍然是一个问题。
在训练过程中,隐层的输入分布老是变来变去,这就是所谓的“Internal Covariate Shift”,Internal指的是深层网络的隐层,是发生在网络内部的事情。使用了BN通过校准内部特征分布减轻梯度消失,使网络可以使用更高的学习率,不需要过分关心初始化。
但是,Lim等认为BN会丢失每个图像的比例尺信息,并且会失去网络的距离灵活性。 因此,他们删除了BN并使用节省的内存成本(高达40%)来开发更大的模型,从而大幅提高了性能。 其他一些模型也采用了这种经验并实现了性能改进。
具体了解BN的思想:https://www.cnblogs.com/guoyaohua/p/8724433.html
模仿人类的学习过程,从较简单的子任务开始,逐步增加任务难度,容易使模型找到更好的局部最优,同时加快训练的速度。根据训练样本训练的难易程度,给不同难度的样本不同的权重,一开始给简单的样本最高权重,他们有着较高的概率,接着将较难训练的样本权重调高,最后样本权重统一化了,直接在目标训练集上训练。
训练从2×上采样部分开始,在完成训练部分后,具有4×或更大比例因子的部分逐渐加入并与前一个上采样混合。比如8*超分问题涉及三个子问题(即,1×到2×,,2×至4×,4×至8×,SR),并针对每个子问题对单个网络进行训练。然后将其中的两个连接在一起,并进行精调,然后再与另一个连接。
课程学习减少了训练难度,提高了训练效果,尤其是对于大缩放因子,也大大缩短了训练时间。
多监督是指在模型中添加多个监督信号,以增强梯度传播并避免梯度消失和爆炸。
DRCN: 为了防止递归学习([3.3.2节](#3.3.2 递归学习))引入的梯度问题,作者对递归单元进行多监督,它们将递归单元的每个输出 输入到一个重构模块中,生成HR图像,并通过加权平均所有这些中间HR图像来构造最终的预测。 MemNet和DSRN也采用了类似的策略,它们也是基于递归学习的。
LapSRN:由于在渐进式上采样框架([第3.1.3节](#3.1.3 渐进式上采样超分框架))在传播过程中会产生不同规模的中间结果,因此采用多监督策略是很简单的。具体地,中间结果被迫与从地面真实HR图像下采样的中间图像相同。
在实践中,这种多监督技术通常是通过在损失函数中添加一些项来实现的,这样,监督信号就可以更有效地向后传播,从而减少了训练难度并增强了模型训练。
基于上下文的网络融合(CNF):指将多个SR网络的预测融合在一起的叠加技术(比如[3.3.3 多路径学习](#3.3.3 多路径学习))。它们分别对具有不同架构的各个SR模型进行训练,将每个模型的预测反馈到各个卷积层,最后将输出求和以作为最终预测。
对于图像超分辨率,一些有用的增强选项包括裁切,翻转,缩放,旋转,颜色抖动等。贝等也随机打乱RGB通道,这不仅增加了数据,而且还减轻了由颜色不平衡的数据集引起的颜色偏差。
通过利用其他相关任务训练数据中包含的指定领域信息提升泛化能力。例如对象检测和语义分割,头部姿势估计和面部属性推断。
在SR领域,Wang等人引入了语义分割网络,用于提供语义知识并生成特定于语义的细节。 具体而言,他们提出了空间特征变换,以将语义图作为输入并预测在中间特征图上执行的仿射变换的空间方向参数。 因此,提出的SFT-GAN在具有丰富语义区域的图像上生成了更逼真的视觉效果的纹理。
此外,考虑到直接超分辨噪点图像可能会导致噪声放大,DNSR提出分别训练去噪网络和SR网络,然后将它们连接起来并进行微调。
同样,循环周期GAN(CinCGAN)结合了循环周期降噪框架和循环周期SR模型,共同执行降噪和超分辨率。 由于不同的任务倾向于关注数据的不同方面,因此将相关任务与SR模型结合起来通常可以通过提供额外的信息和知识来提高SR性能。
基于PSNR的模型产生的图像更接近真实情况,但引入了模糊问题,而基于GAN的模型带来了更好的感知质量,但引入了令人不快的伪影(例如,无意义的噪声使图像更加“逼真’’)。
为了更好地平衡失真和感知,Wang等提出了一种网络插值策略ESRGAN、Deep Network Interpolation for Continuous Imagery Effect Transition。 具体来说,他们通过微调训练基于PSNR的模型并训练基于GAN的模型,然后对两个网络的所有相应参数进行插值以得出中间模型。 通过在不重新训练网络的情况下调整插值权重,它们可产生有意义的结果,且伪像少得多。
在LR图像上应用不同角度的旋转(即0度、90度、180度、270度)和翻转以获得一组8种LR图像,然后将这些图像送到SR模型中,并且将相应的反向变换,重构的HR图像以获得输出。最后的预测结果由 这些输出的平均值或中位数。(SR常用)
近年来,基于深度学习的图像超分辨率模型受到越来越多的关注,并获得了最先进的性能。 在前面的章节中,本文将SR模型分解为特定的组件,包括模型框架(3.1),上采样方法(3.2),网络设计(3.3)和学习策略(3.4),对这些组件进行分层分析,并确定其优势和局限性。 实际上,当今大多数最先进的SR模型基本上都可以归因于我们上面总结的多种策略的组合。 例如,RCAN 的最大贡献来自信道关注机制(第3.3.5节),它还采用了其他策略,例如亚像素上采样(第3.2.2节),残差学习(第3.3.1节),像素L1丢失(第3.4.1节)和自集成(第3.5.5节)。 如表2所示,我们以类似的方式总结了一些代表性的模型及其关键策略。
除SR精度外,效率是另一个非常重要的方面,不同的策略或多或少会对效率产生影响。 因此,在前面的部分中,我们不仅分析了所提出策略的准确性,而且还指出了对效率产生较大影响的策略的具体影响,例如后采样(第3.1.2节),递归 学习(第3.3.2节),密集连接(第3.3.4节),xUnit(第3.3.11节)。 我们还以SR精度(即PSNR),模型大小(即参数数量)和计算成本(即多次添加数量)为基准对一些代表性SR模型进行了基准测试。如图8所示,准确性是通过4个基准数据集(即Set5,Set14,B100和Urban100)上PSNR的平均值来衡量的。 然后使用PyTorch-OpCounter计算模型大小和计算成本,其中输出分辨率为720p(即1080×720)。此外,交互式在线版本:https://github.com/ptkin/Awesome-Super-Resolution。
现有的超分辨率作品主要集中于有监督的学习,即用匹配的LR-HR图像对进行学习。但是,由于难以收集具有相同分辨率的相同场景的图像,因此通常通过对HR图像执行预定义的降级来获得SR数据集中的LR图像。 因此,训练有素的SR模型实际上学习了预定义退化的逆过程。 为了在不引入人工降级先验的情况下学习现实世界中的LR-HR映射,研究人员越来越多地关注无监督的SR,在这种情况下,仅提供未配对的LR-HR图像进行训练,因此生成的模型更有可能 以解决现实情况中的SR问题。 接下来,我们将简要介绍几种具有深度学习的无监督SR模型,以及待探索的更多方法。
在测试时进行训练,对要测试的图像II用不同缩放比进行一系列下采样,再进行图像增强得到一组图片。学习这组图片到测试图像II之间的映射,用这个映射去获得II所对应的HR图像。由于是在测试时对不同图片进行学习,因此预测的耗时长。 ZSSR_CVPR2018
用未配对的LRHR图像。其中,一些研究人员首先学习HR到LR的退化,并利用其构建训练SR模型的数据集,而其他研究人员设计周期网络同时学习LR-到HR和HR-到LR的映射。
学习HR-LR的退化过程
用未配对的图像学习HR-LR退化过程,HR图像被输入生成器以产生LR输出,这些输出不仅需要匹配通过缩小HR图像(平均池)而获得的LR图像,而且还需要模仿真实的LR图像。生成器训练结束后,被当作生成LR-HR图像对的退化模型。之后对于LR-to HR ,生成器(即SR模型)将生成的LR图像作为输入并预测HR输出。
循环学习【???】:
无监督超分的另一种方法是将LR空间和HR空间视为两个域,并使用循环结构来学习彼此之间的映射。
CinCGAN:四个生成器和两个判别器,noisy LR -> clean LR 和 clean LR ->clean HR在第一个circleGAN中,噪声的LR图像被输入到一个生成器中,并且输出必须与真实的干净LR图像的分布相一致,然后它被送入另一个生成器并要求恢复原来的输入(the original input),第二个GAN设计与前面一个一样,只不过作用域不同。性能不错,但是训练难度较大,且不稳定。
深度信息在许多任务中起着重要的作用,深度图记录场景中视点与物体之间的距离,深度传感器制作的深度图通常是低分辨率的,并受到噪声、量化和缺失值等退化效应。故可以将超分运用到深度图中。
目前,一般利用另一个rgb相机(而不是传感器)获取相同场景的HR图像,以引导LR深度图的超分辨率。
一种方法,可以利用景深统计,低分辨率的深度图与RGB图像之间的局部相关性来约束全局统计和局部结构;另一种方法,利用两个cnn,同时上采样LR深度图和下采样HR rgb图像,然后以rgb特征作为相同分辨率的上采样过程的指导;还有的研究者提取HR边缘图,预测缺失高频分量;用功能强大的变分模型的形式将CNNs与能量最小化模型相结合,以恢复HR深度图,而无需其他参考图像。
面部图像具有更多的面部相关结构化信息,可以用做先验知识,约束生成的图像。不同的方法对先验知识的处理不一样。
最直接的方法之一是将生成的图像约束为具有与面部事实相同的面部相关属性。 具体而言,CBN通过交替优化FH和密集对应字段估计来利用面部优先。 Super-FAN和MTUN都引入了FAN,以通过端到端的多任务学习来保证面部标志的一致性。 FSRNet不仅使用面部地标热图,还使用面部解析图作为先验约束。SICNN旨在恢复真实身份,它采用了超级身份丧失功能和域集成训练方法来稳定联合训练。
除了显式地使用面部先验,隐式方法也得到了广泛的研究。 TDN 包含用于自动空间变换的空间变换器网络,从而解决了人脸未对准的问题。TDAE基于TDN,采用解码器-编码器-解码器框架,其中第一个解码器学习升采样和降噪,编码器将其投影回对齐且无噪声的LR面,最后一个解码器产生幻觉 HR图片。 相比之下,LCGE使用特定于组件的CNN对五个面部组件执行SR,对HR面部组件数据集使用k-NN搜索以找到相应的补丁,合成更细粒度的组件,最后将它们融合到FH 结果。同样,Yang等。将解块后的人脸图像分解为人脸成分和背景,使用成分界标在外部数据集中检索足够的HR样本,在背景上执行通用SR,最后融合它们以完成HR脸部。
此外,研究人员还从其他角度改善了跳频。 在人类注意力转移机制的推动下,Attention-FH诉诸于递归策略网络,该网络顺序发现有人参与的面部补丁并进行局部增强,从而充分利用了面部图像的全局依赖性。UR-DGN采用类似于SRGAN的具有对抗性学习的网络。 徐等提出了一种由通用生成器和特定类标识符组成的基于GAN的多类FH模型。 李等人和Yu等基于条件GAN利用附加的面部属性信息执行具有指定属性的FH。
与全色图像(PANs,即具有3个波段的RGB图像)相比,包含数百个波段的高光谱图像(HSI)提供了丰富的光谱特征并有助于各种视觉任务。但是,由于硬件限制,收集高质量的HSI比PAN困难得多,而且分辨率也较低。 Masi等使用SRCNN并合并了几个非线性辐射指标图以提高性能。 Qu等联合训练两个编码器-解码器网络分别在PAN和HSI上执行SR,并通过共享解码器并应用诸如角度相似度损失和重构损失之类的约束将SR知识从PAN转移到HSI。 最近,傅等人。评估相机光谱响应(CSR)功能对HSI SR的影响,并提出了一个CSR优化层,该层可以自动选择或设计最佳CSR,并胜过最新技术。
通常,用于训练SR模型的LR图像是通过手动对RGB图像进行降采样(例如,通过双三次降采样)生成的。 但是,现实世界中的相机实际上会捕获12位或14位RAW图像,并通过相机ISP(图像信号处理器)执行一系列操作(例如,去马赛克,去噪和压缩),最终产生8位RGB 图片。 通过此过程,RGB图像丢失了许多原始信号,并且与相机拍摄的原始图像有很大不同。因此,直接将手动下采样的RGB图像用于SR并不是最佳选择。为了解决这个问题,研究人员研究了如何使用真实世界图像进行SR。 其中,Chen等分析成像系统中图像分辨率(R)与视场(V)之间的关系(即RV降级),提出数据采集策略以进行真实世界的数据集City100,并通过实验证明其优越性 提出的图像合成模型。 张等通过相机的光学变焦建立了另一个真实世界的图像数据集SR-RAW(即,成对的HR RAW图像和LR RGB图像),并提出了上下文双向损失来解决错位问题。 相反,Xu等提出了一种通过模拟成像过程来生成现实训练数据的管道,并开发了双CNN以利用RAW图像中最初捕获的辐射信息。 他们还建议学习一种空间变化的颜色变换,以进行有效的颜色校正并推广到其他传感器。
帧内空间相关性,以及帧间时间依赖(运动、亮度和颜色变化等)。因此,现有的工作主要集中于光流、运动补偿、以及使用递归方法来捕获时空依赖。
对于视频超分辨率,多个帧提供了更多的场景信息,不仅存在帧内空间依赖性,而且还存在帧间时间相关性(例如运动,亮度和颜色变化)。 因此,现有工作主要集中在更好地利用时空相关性,包括显式运动补偿(例如基于光流,基于学习的运动补偿)和递归方法等。在基于光流的方法中,廖等人使用光流方法来生成HR候选者,并由CNN将它们集成在一起。 VSRnet 和CVSRnet通过Druleas算法处理运动补偿,并使用CNN将连续帧作为输入并预测HR帧。 而刘等执行校正的光流对准,并提出一种时间自适应网络以生成各种时间尺度的HR帧并自适应地对其进行聚合。
此外,其他人也尝试直接学习运动补偿。 VESPCN利用可训练的空间变换器来学习基于相邻帧的运动补偿,并将多个帧输入到时空ESPCN 中进行端到端预测。 陶等从精确的LR成像模型出发,提出了一个亚像素样模块,以同时实现运动补偿和超分辨率,从而更有效地融合对齐的帧。
另一个趋势是使用递归方法来捕获时空相关性,而无需显式的运动补偿。 具体而言,BRCN 采用双向框架,并使用CNN,RNN和条件CNN分别对空间,时间和空间时间依赖性进行建模。 同样,STCN使用深层CNN和双向LSTM提取空间和时间信息。 FRVSR 使用先前推断的HR估计值以递归方式通过两个深CNN重建后续的HR帧。 最近,FSTRN采用了两个小得多的3D卷积滤波器来代替原始的大滤波器,因此通过更深的CNN增强了性能,同时保持了较低的计算成本。 RBPN通过循环编码器-解码器提取空间和时间上下文,并将其与基于反投影机制的迭代细化框架相结合(第3.1.4节)。
另外,FAST利用压缩算法提取的结构和像素相关性的紧凑描述,将SR结果从一帧传输到相邻帧,并以极少的速度加快了最新SR算法的发展。 性能损失。 和乔等基于每个像素的局部时空邻域生成动态上采样滤波器和HR残差图像,并且还避免了显式的运动补偿。
感知GAN通过将小对象的表示形式超分辨来解决小对象检测问题,使其具有与大对象相似的特征,并且对检测更具区分性。 同样,FSR-GAN可以在特征空间而不是像素空间中对小尺寸图像进行超级解析,从而将原始的不良特征转换为具有高度区分性的特征,从而极大地有利于图像检索。 此外,Jeon等利用立体图像中的视差先验来重建具有配准中亚像素精度的HR图像。 Wang等。提出了一种视差注意模型来解决立体图像的超分辨率问题。Li等结合了3D几何信息和超分辨3D对象纹理贴图。 张等将一个光场中的视图图像分为几组,学习每组的固有映射,最后将每组中的残差组合起来,以重建更高分辨率的光场。
总而言之,超分辨率技术可以在各种应用程序中发挥重要作用,尤其是当我们可以很好地处理大型物体而不能处理小型物体时。
本文对深度学习的图像超分辨率的最新进展进行了广泛的调查。我们主要讨论了监督和无监督SR的改进,并介绍了一些特定于领域的应用。尽管取得了巨大的成功,但仍有许多未解决的问题。因此,在本节中,我们将明确地指出这些问题,并介绍未来发展的一些有前途的趋势。我们希望本调查不仅能为研究人员更好地理解图像SR,而且能促进该领域未来的研究活动和应用发展。
良好的网络设计不仅决定了具有良好性能上界的假设空间,而且有助于有效学习空间冗余和计算冗余。下面我们将介绍一些很有前途的网络改进方向。
近年来,用于深度学习的神经体系结构搜索(NAS)技术变得越来越流行,在几乎没有人工干预的情况下极大地提高了性能或效率。 对于SR领域,将上述方向的探索与NAS结合起来具有巨大的潜力。
除了良好的假设空间外,还需要鲁棒的学习策略来获得令人满意的结果。接下来,我们将介绍一些很有前途的学习策略的方向。
评估指标是机器学习的最基本组成部分之一。 如果无法准确评估性能,研究人员将很难验证改进。 超分辨率的度量标准面临此类挑战,需要更多探索。
如第四节所述。 通常很难收集同一场景的不同分辨率的图像,因此双三次插值被广泛用于构建SR数据集。但是,在这些数据集上训练的SR模型可能仅学习预定义降级的逆过程。因此,如何执行无监督的超分辨率(即在没有配对LR-HR图像的数据集上进行训练)是未来发展的有希望的方向。
在现实世界中,图像的超分辨率受到极大限制,例如遭受未知的降级,缺少配对的LR-HR图像。 下面我们将介绍一些针对实际场景的指导。
https://daimajiaoliu.com/daima/7b75cba02022802
https://www.cnblogs.com/wyboooo/p/13261646.html
https://blog.csdn.net/GrayOnDream/article/details/104596448
https://blog.csdn.net/weixin_43692612/article/details/1058392