NTIRE 2022 ESR 方案与结果

  • 竞赛要求
    • 主赛道:运行时间赛道
    • 子赛道1:模型复杂性赛道
    • 子赛道2:综合性能赛道
  • 挑战结果
  • 方案结构和主要思想
  • 各队伍方案
    • ByteESR
    • NJU_Jet
    • NEESR
    • XPixel
    • NJUST ESR
    • HiImageTeam
    • rainbow
    • Super
    • MegSR
    • VMCL Taobao
    • Bilibili AI
    • NKU-ESR
    • NJUST RESTORARION
    • TOVBU
    • Alpan
    • xilinxSR
    • cipher
    • NJU MCG
    • IMGWLH
    • imgwhl
    • whu sigma

博客所提及的图x和表x直接参考对应文字下方的图即可。

竞赛要求

该挑战的目的是设计一个网络,减少运行时间、参数、FLOPs、激活和内存消耗一个或多个方面,同时至少保持验证集29.00dB的PSNR。根据5个评估指标,挑战被分为3个赛道。

主赛道:运行时间赛道

在本赛道中,我们将评估提交内容的实际运行时间性能。团队的排名直接由验证集和测试集上平均运行时间的绝对值决定。

子赛道1:模型复杂性赛道

在本赛道中,我们将考虑参数量和FLOPs,并将这两个指标的排名汇总来决定本赛道的最终排名。

子赛道2:综合性能赛道

在本赛道中,我们将考虑挑战描述中提到的5个指标,包括运行时间、参数、FLOPs、激活和GPU内存。与子赛道1类似,5个指标的排名被汇总,以确定本赛道的最终排名。

挑战结果

NTIRE 2022高效SR挑战赛结果


每个指标值后面圆括号中的下标数字表示方案在该指标中的排名。“Ave. Time”是在DIV2K验证和测试数据集上的平均值。“#Params”表示参数的总数。“FLOPs”是浮点运算的缩写。“#Acts”衡量卷积层所有输出的元素数量。“GPU Mem。表示根据PyTorch函数torch.cuda.max memory allocated()在DIV2K验证集推断期间的最大GPU内存消耗。#Conv表示卷积层数。“FLOPs”和“#Acts”在大小为256×256的LR图像上进行测试。这并不是一个为了提高PSNR的挑战。“验证/测试PSNR”和“#Conv”不排名。

方案结构和主要思想

本次挑战中,提出了几个技术以提高深度神经网络的效率,同时尽可能地保持性能。根据团队想要优化的参数,会提出不同的解决方案。下面列出了一些典型的想法。

  1. 对信息多重蒸馏模块(IMDB)和残差特征蒸馏模块(RFDB)的结构进行修改是目前的主流方案。IMDB和RFDB模块来自AIM 2019受限图像SR挑战赛和AIM 2020高效图像SR挑战赛的第一名。因此,该挑战的一些团队从修改这两个基本架构开始。在运行时间主赛道上获得第一名的ByteESR提出了一个残差局部特征块(RLFB)来取代RFDB和IMDB模块。主要区别是去掉了拼接操作和相关的1 × 1卷积特征蒸馏层。此外,该团队还减少了ESA模块中的卷积数。

  2. 多级信息蒸馏可能会影响超高效模型的推理速度。观察到主赛道运行时间的前两名的方案在网络中不包含多级信息蒸馏模块。在其他研究中也有报道称,使用过多的跳跃连接和相关的1 × 1信息蒸馏层会有损运行时间的性能。

  3. 重新参数化可以带来轻微的性能改进。在网络训练期间,一些团队试图用多种基本操作(3×33 \times 33×3卷积,1×11 \times 11×1操作,一阶和二阶导数算子,跳跃连接)重新参数化一个普通的卷积层。在推理过程中,对一个卷积进行重新参数化的多个操作可以合并回单个卷积。实验结果表明,该方法能获得些许峰值信噪比的增益。例如,NJU Jet用重新参数化的残差块替换了一个正常的残差块。NEESR团队使用面向边缘(edge-oriented)的卷积块来重新参数化普通的卷积。

  4. 滤波分解的方法可以有效降低模型复杂度。滤波分解的方法一般指用几个轻量级卷积(深度可分离depthwise, 1×11 \times 11×1, 1×31 \times 31×3和3×13 \times 13×1 卷积)替换一个普通的卷积。例如,XPixel使用了深度可分离卷积和1×11 \times 11×1卷积的结合。NJUST ESR团队也使用了反向残差模块(inverted residual block)。两个团队提出的解决方案获得了模型复杂性赛道的前两名。

  5. 网络剪枝开始发挥作用。可以观察到,有几个团队使用网络剪枝技术略微压缩了基准网络。例如,ByteESR团队在最后的训练阶段将网络中的通道数量从48个略微削减到46个。MegSR团队将权重参数归一化,并将可学习参数应用于归一化通道。他们根据这些参数的大小修剪网络。xilinxSR团队还试图修剪IMDB模块。

  6. 激活函数是一个重要的因素。观察到一些团队在他们的网络中使用了高级激活函数。例如,除了最后一个1×11 \times 11×1卷积外,rainbow团队对每个卷积都使用SiLU激活函数。很多团队也使用了GeLU激活函数。

  7. 损失函数的设计也是需要考虑的问题之一。损失函数也是高效SR网络成功的重要因素。虽然大多数团队使用L1或L2损失,一些团队也证明使用更高级的损失函数可以带来些许PSNR增益。例如,ByteESR团队使用对比损失在不同的验证集上提高了0.01dB - 0.02dB的PSNR。NKU-ESR团队提出了边缘增强的梯度方差损失。

  8. 高级的训练策略保证了网络的性能。高级的训练策略包含训练设置的许多方面。例如,大多数队伍延长了训练时间。由于模型的尺寸大多较小,因此可以同时使用大的patch size和大的batch size进行训练。一些团队使用了周期性学习率策略和余弦学习率策略,它们可以帮助训练跳出局部最小值。冠军方案的训练通常包含几个阶段。网络架构的高级调优(如剪枝、重新参数化操作的合并)将在最后的微调阶段使用。

  9. 还尝试了其他各种技术。一些队伍也提出了一些基于神经结构搜索的方案,视觉transformer,甚至是快速傅里叶变换。

各队伍方案

ByteESR

网络结构 ByteESR团队针对高效SR提出了残差局部特征网络(RLFN)。如图3所示,提出的RLFN采用了一种基本的SR架构,类似于IMDN等方法。不同的是,RLFN使用4个残差局部特征块(RLFB)作为构建块。

ByteESR团队:残差局部特征网络(RLFN)架构

RLFN是在残差特征蒸馏模块(RFDB)基础上改进而成。如图2a所示,RFDB使用3个conv1进行特征提取,并将提取出来的特征串联在一起。尽管聚合提取出来的多层蒸馏特征可以生成更强大的特征,但拼接占用了大部分推理时间。考虑减少推理时间和内存消耗,RLFB(见图2b)去掉了拼接层和相关的特征蒸馏层,取而代之的是用加法实现局部特征学习。此外,在RLFB中,为了降低模型的深度和复杂度,将ESA中的卷积组(见图2c)简化为一个3×33 \times 33×3卷积。

ByteESR团队:(a)残差特征蒸馏模块(RFDB) (b)残差局部特征模块(RLFB) (c)加强空间注意力

对比损失 最近的一些研究发现,一个随机初始化的特征提取器,不需要任何训练,就可以提高模型在几个密集预测任务上的性能。受这些工作的启发,RLFN构建了一个两层网络作为特征提取器,卷积核的权值是随机初始化的。对比损失的定义为:

CL=∣∣ϕ(ysr−ϕ(yhr))∣∣∣∣ϕ(ysr−ϕ(ylr))∣∣(2)CL=\frac{||\phi(y_{sr}-\phi(y_{hr}))||}{||\phi(y_{sr}-\phi(y_{lr}))||} \tag{2}CL=∣∣ϕ(ysr​−ϕ(ylr​))∣∣∣∣ϕ(ysr​−ϕ(yhr​))∣∣​(2)

其中ϕ\phiϕ表示特征提取器生成的特征图,∣∣ϕ(ysr−ϕ(yhr))∣∣||\phi(y_{sr}-\phi(y_{hr}))||∣∣ϕ(ysr​−ϕ(yhr​))∣∣表示特征图ysr,yhry_{sr},y_{hr}ysr​,yhr​之间的L1距离,∣∣ϕ(ysr−ϕ(ylr))∣∣||\phi(y_{sr}-\phi(y_{lr}))||∣∣ϕ(ysr​−ϕ(ylr​))∣∣表示特征图ysr,ylry_{sr},y_{lr}ysr​,ylr​之间的L1距离。

实现细节。RLFN共有4个RLFB,其中特征通道数设置为48,而ESA的通道数设置为16。训练过程中使用了DIV2K和Flickr2K数据集。具体训练步骤如下:

  1. 在第一阶段,模型从零开始训练。从HR图像中随机剪切大小为256×256256 \times 256256×256的HR patch,设置mini-batch size为64。利用Adam优化器最小化L1损失函数来训练RLFN模型。初始学习率设置为5×10−45 \times 10^{−4}5×10−4,每200个epoch减半。epoch的总数是1000。
  2. 在第二阶段,使用预训练权重对模型进行初始化,并使用与上一步相同的设置进行训练。这个过程重复两次。
  3. 在第三阶段,利用第二阶段的预训练权重对模型进行初始化。保持与阶段一相同的训练设置来训练模型,只是损失函数被L1损失和对比损失结合正则化因子×255\times 255×255取代。
  4. 第四阶段,使用软滤波器剪枝(Soft Filter Pruning)将预训练模型中RLFB的1×11 \times 11×1卷积数量从48调整到46。训练设置与阶段一相同,不同的是HR patch的大小改为512×512512 \times 512512×512。1000个epoch后,L2 loss用于640×640640 \times 640640×640 HR patch的微调,学习率为10−510^{−5}10−5。

NJU_Jet

运行时间和内存消耗是部署在资源受限设备上的高效图像超分辨率(EISR)模型的两个重要因素。最近的EISR研究利用了大量通道分割和连接操作的蒸馏和聚合策略,以充分利用有限的层次特征。相比之下,顺序网络避免了频繁访问先前状态和额外节点,因此有利于减少内存消耗和运行时间开销。按照这个思路,团队主要通过叠加多个高度优化的卷积层和激活层,减少特征融合的使用,设计了一个轻量级的网络骨干。网络总体架构如图4所示。特征提取部分和重构部分与最近的研究相同,高频学习部分由提出的增强残差模块(ERB)和高频注意力模块(HFAB)对组成。

NJU_Jet团队:快速和内存高效网络(FMEN)的整体架构

增强残差模块。该团队首先提出了增强残差模块(enhanced residual block, ERB)来取代EDSR中的普通残差模块(normal residual block, RB),以降低跳跃连接引入的内存访问成本(memory access cost, MAC)。如图5所示,ERB由两个重参数化块(RepBlock)和一个ReLU组成。在训练过程中,每个RepBlock利用1×11 \times 11×1卷积来扩展或减少特征图的数量,并采用3×33 \times 33×3卷积来提取高维空间中的特征。此外,还采用了两个跳跃连接,以减轻训练难度。在推理过程中,所有的线性转换都可以被合并。因此,每个RepBlock都可以被转换成一个3×33 \times 33×3的卷积。一般情况下,ERB利用了残差学习,且不需要额外的MAC。

NJU_Jet团队:普通残差模块(RB)和增强残差模块(ERB)的比较

高频注意力模块。近年来,注意力机制在SR社区中得到了广泛的研究。根据细粒度组成分为通道注意力、空间注意力、像素注意力和层注意力。以前基于注意力的方案缺乏两个重要方面的考虑。首先,一些注意力方案,如CCA和ESA,具有多分支拓扑,引入了过多的额外内存消耗。其次,注意力分支中的一些节点在计算上不是最优的,如ESA中使用的7×77 \times 77×7卷积,其效率远远低于3×33 \times 33×3卷积。
考虑到这两个方面,设计了一个顺序注意力分支,根据其附近的像素对每个位置进行缩放。注意力分支的灵感来自边缘检测,附近像素的线性组合可以用来检测边缘。此外,该队伍发现注意力分支集中在高频区域,因此将提出的模块命名为高频注意力模块(HFAB),如图4所示。HFAB根据其窗口的非线性组合对每个位置进行缩放。在HFAB中,采用3×33 \times 33×3卷积而不是1×11 \times 11×1卷积来降低和扩展特征维数,以获得更大的感受野和效率。注意力分支采用批处理归一化(BN),引入全局统计量,并将特征保持在sigmoid函数的不饱和区域内。在推理过程中,可以将BN合并为卷积,而无需额外的计算成本。

实现细节。使用DIV2K和Flickr2K作为训练数据集。5个ERB-HFAB按顺序堆叠。设置ERB和HFAB的特征图(feature map)数量分别为50和16。在每个训练批次中,对64个HR RGB patch进行大小为256×256256 \times 256256×256的裁剪,并进行随机翻转和旋转增强。学习率初始化为5×10−45 \times 10^{−4}5×10−4,每2×1052 \times 10^52×105次迭代学习率降低一半。利用Adam优化器最小化L1损失函数,训练网络共10610^6106次迭代。团队将训练好的权重进行加载,重复上述训练设置4次。之后,利用L2损失进行微调。初始学习率设为1×10−51 \times 10^{−5}1×10−5,迭代次数为2×1052 \times 10^52×105次。最后,对重构部分进行了10510^5105次迭代微调,batch size大小为256,HR patch大小为640,采用L2损失。

NEESR

NEESR团队提出了面向边缘(edge-oriented)的特征蒸馏网络(EFDN)用于轻量级图像超分辨率。本文提出的EFDN是在RFDN的基础上进行改进的,并考虑了一些提高效率的因素,如更少的通道,以及用面向边缘的卷积模块(ECB)取代了浅层残差模块(SRB)。与RFDN不同,EFDN仅使用了42个通道来进一步加快网络速度。受ECBSR的启发,EFDN采用了重新参数化技术来提高SR性能,同时保持高效率。EFDN有四个RFDECB,如图6所示。在训练阶段,RFDECB使用ECB模块(模块由四种精心设计的算子组成,包括普通的3×33 \times 33×3卷积,通道扩展和压缩卷积,来自中间特征的一阶和二阶空间导数)。这样的设计可以更有效地提取边缘和纹理信息。在推理阶段,将ECB模块转换为一个标准的3×33 \times 33×3卷积层。图7展示了融合过程。训练过程包含三个步骤,两个阶段。

(左) NEESR团队:RFDECB的详细架构;(右) NEESR团队:面向边缘的卷积模块(ECB)的细节。在推理阶段,将ECB模块转换为一个标准的3 × 3卷积层

  1. 第一阶段,ECB模块配置多个分支
    DIV2K+Flickr2K (DF2K)的预训练。从HR图像中随机剪切大小为256×256256 \times 256256×256的HR patch,设置mini-batch size为64。利用Adam优化器最小化L1损失函数来训练原始的EFDN模型。初始学习率设置为6×10−46 \times 10^{−4}6×10−4,每200个epoch减半。epoch的总数是4000。
    DF2K微调。HR patch size设为1024×10241024 \times 10241024×1024, minibatch size设为256。EFDN模型通过最小化L2损失函数进行微调。初始学习率设置为2.5×10−42.5 \times 10^{−4}2.5×10−4,每200个epoch减半。epoch的总数是4000。
  2. 第二阶段,将ECB模块转化为单个3×3卷积层,得到最终简化的EFDN模型
    DF2K微调。HR patch大小设置为1024×10241024 \times 10241024×1024, mini-batch大小设置为256。最终的EFDN模型通过最小化L2损失函数进行微调。初始学习率设置为5×10−65 \times 10^{−6}5×10−6,每200个epoch减半。epoch的总数是4000。

XPixel

一般方法描述。XPixel团队提出了蓝图可分离残差网络(BSRN),如图8所示。BSRN遵循RFDN的整体架构,包括浅层特征提取、深层特征提取、多层特征融合和重构四个阶段。在第一阶段,浅层特征提取(包含输入复制、线性映射和深度可分离卷积)将输入图像的空间映射到更高维度的特征空间。然后堆叠高效的可分离残差模块ESDB来建立深度特征提取,逐步细化提取的特征。每个ESDB生成的特征在主干末端沿着通道维度融合。最后,由3×33 \times 33×3卷积和非参数亚像素运算组成的重建模块生成SR图像。

XPixel团队:蓝图可分离残差网络(BSRN)架构

构造模块描述。为了进一步优化,在所提出的蓝图可分离残差模块BSRB中采用蓝图可分离卷积(一种非常高效的卷积分解)来代替常规卷积,如图9所示。RFDN将对比感知通道注意力(CCA)替换为增强空间注意力(ESA)以获得更好的性能。研究发现,通道级特征尺度变换对深度浅的SR模型提高重建精度是有效的。因此,每个ESDB都引入一个通道加权层,用于对通道级的关系进行建模,以利用通道之间内在依赖的关系,但这也略微增加了成本。

XPixel团队:提出的高效可分离残差块(ESDB)的架构

模型细节。提出的BSRN模型包含5个ESDB。整体框架遵循RFDN。在网络末端采用全局特征聚合来聚合最终的特征,设为48(指的应该是聚合后的通道数)。相应的,通道权重矩阵设为1×1×481 \times 1 \times 481×1×48来匹配维度,采用正态分布初始化,σ=0.9,μ=1\sigma=0.9, \mu=1σ=0.9,μ=1。
训练策略。数据增强包括对DIV2K和Flickr2K训练图像进行随机旋转90°90\degree90°,180°180\degree180°,270°270\degree270°和水平翻转。在每个训练批次中,取72个64×6464 \times 6464×64大小的LR color patch作为GPU的输入。模型采用ADAM优化器进行训练,β1=0.9,β2=0.999\beta1 = 0.9, \beta2 = 0.999β1=0.9,β2=0.999。初始学习率设置为5×10−45 \times 10{−4}5×10−4,并采用余弦学习率衰减。与最近的SR模型不同,L2 loss用于重新训练,迭代次数为1×1061 \times 10^61×106次。该模型使用Pytorch 1.9.1实现,并使用4块GeForce RTX 2080ti gpu进行训练。

NJUST ESR

NJUST ESR提出了一种基于视觉transformer(ViT)的高效SR方法,该方法结合了卷积和多头自注意力的优点。采用包含ViT模块和反向残差模块的混合结构,同时提取局部和全局信息。该模块通过多次堆叠学习可区分的特征表示。
该网络由三个阶段组成,具体如图10所示。首先,卷积层将输入图像映射到特征空间。然后堆叠5个混合模块学习可区分的特征表示。最后,通过多个卷积层和pixel shuffle层生成HR图像。

NJUST ESR团队:MobileSR模型的架构

提出的MobileSR模型是在DIV2K数据集上训练的。从LR图像中随机裁剪大小为64×6464 \times 6464×64的patch作为输入,并将mini-batch size设为64。MobileSR通过Adam优化器最小化L1损失和频率损失。初始学习率设置为5×10−45 \times 10^{−4}5×10−4,每100个epoch减半,共450个epoch。

HiImageTeam

HiImageTeam团队在IMDN和RFDN的启发下,提出了针对高效SR的非对称残差特征蒸馏网络ARFDN(Asymmetric Residual Feature Distillation Network )。IMDN虽然是一种针对图像SR的高效网络架构,但仍存在很多冗余计算和低效算子,如图11a所示。如图11b所示,与IMDB相比,RFDB在计算效率上有明显的提高。在RFDN中,一个浅层残差模块(SRB)相当于一个经过充分训练的普通卷积。RFDB的等效架构如图11c所示。也就是说,在RFDN中也存在冗余计算。在RFANet中,蒸馏信息增强阶段使用了一个高效的注意力模块,即ESA模块。因此,该模块也被用于本文提出的网络中。如图11d所示,设计了一个非对称残差特征蒸馏模块,由非对称信息蒸馏和信息重组两部分组成。

HiImageTeam团队:(a)原始信息多重蒸馏模块(IMDB) (b)残差特征蒸馏模块(RFDB) (c) RFDB的等效架构(RFDB- e) (d)不对称残差特征蒸馏模块(A-RFDB)

提出的ARFDN中有4个ARFDB,整个框架遵循RFDN,使用全局特征聚合来增强最终特征,并将特征通道数量设置为50。在ARFDN训练时,将HR patch设置为256×256256 \times 256256×256,并从HR图像中随机裁剪。mini-batch size大小设置为36。整个训练过程分为两个阶段。在第一阶段,使用Adam优化器最小化L1损失函数,对ARFDN模型进行1000个epoch的训练,初始学习率设置为2×10−42\times 10^{−4}2×10−4,每30个epoch减半。第二阶段采用L2损失函数,学习率设为1×10−41 \times 10^{−4}1×10−4对网络进行微调。使用Div2K、OST和Flickr2K数据集训练ARFDN模型。

rainbow

rainbow团队提出了如图12所示的改进信息蒸馏网络,以实现高效的SR。该方案主要致力于提高信息多重蒸馏模块(IMDB)的有效性。与原始IMDB不同的是,如图14所示,改进后的IMDB (IMDB+)使用了5个通道分割操作。输入通道数设置为36,为了提高IMDB+的性能,在训练阶段使用结构重参数化方法来代替“conv3”,如图13所示。虽然重参数可以提升性能(在DIV2K验证集上大概0.03dB),但是增加了训练时间。与ECBSR提出的ECB不同,为了提高训练效率,删除了Conv1×1-Sobel和Conv1×1-Laplacian。这是因为Sobel和Laplacian滤波器是通过深度可分离卷积实现的。

rainbow Team:改进的信息多重蒸馏网络(IMDN+)架构 IMDB+的个数为8

rainbow团队:结构重参数化策略示意图

rainbow团队:提出的改进信息多重蒸馏模块(IMDB+)架构 这里的36、30、24、18、12和6都表示卷积层输出通道数。“conv3”表示3 × 3卷积层,除了最后一个1 × 1的卷积外,每个卷积后面都有一个SiLU激活函数

Super

Super团队提出了一种基于RFDN的方案,即IMDB中用于特征蒸馏的通道分割操作由1×11 \times 11×1卷积替代。该方案与RFDN有三个不同之处:1)在网络中引入像素注意力,有效提高特征表示能力。2)采用模型重参数化技术,在保证推理计算量的同时,在训练过程中扩展网络容量。3)模型的进一步压缩是通过减少前三个块(block)的大小(size)来完成的。
框架。 该团队使用了与RFDN类似的框架,如图15所示。像素注意力特征蒸馏网络(RePAFDN)由四个部分组成:特征提取卷积、堆叠不同大小的特征蒸馏模块(FDB-S和FDB)、特征融合部分和重建模块。

Super团队:整体网络框架

给定输入xxx,首先提取粗特征为:
F0=h(x)F_0=h(x) F0​=h(x)
hhh表示特征提取函数,由3×33 \times 33×3卷积实现,F0F_0F0​表示提取的特征。接下来,将三个FDB- S和一个FDB进行堆叠,逐步细化提取的特征,公式为:
Fk=Hk(Fk−1),k=1,...,4F_k=H_k(F_{k-1}),k=1,...,4 Fk​=Hk​(Fk−1​),k=1,...,4
HkH_kHk​表示第kkk个特征蒸馏模块,Fk−1F_{k-1}Fk−1​和FkF_{k}Fk​分别表示第kkk个特征蒸馏模块输入特征和输出特征。所有中间特征都由1×11 \times 11×1卷积和3×33 \times 33×3卷积融合。然后将融合的特征输入像素注意力层:
Ffused=HPA(Hf(Concat(F1,...,F4)))F_{fused}=H_{PA}(H_f(Concat(F_1,...,F_4))) Ffused​=HPA​(Hf​(Concat(F1​,...,F4​)))
其中Concat表示通道维度的拼接操作,HfH_fHf​由1×11 \times 11×1卷积后接一个3×33 \times 33×3卷积组成,HPAH_{PA}HPA​是像素注意力层,FfusedF_{fused}Ffused​是融合特征。最后,输出为:
y=Up(Ffused+F0)y=Up(F_{fused}+F_0) y=Up(Ffused​+F0​)
其中UpUpUp为重建函数(即3×33 \times 33×3卷积和亚像素运算),yyy为输出SR图像。

特征蒸馏模块。设计了两种不同的特征蒸馏模块(FDB)。原始FDB(图16a)与RFDB相似,不同之处在于移除了残差连接,并用重参数化块(reparameterized Block, ReB)代替了浅层残差模块(Shallow residual Block, SRB)。如图16c所示,ReB包含一个重参数化的3×33 \times 33×3卷积(ReConv3)和LReLU函数。ReConv3的细节将在下一段中解释。FDB的整体结构可以描述为:
Fdistilled1,Fremain1=DL1(Fin),RL1(Fin)Fdistilled2,Fremain2=DL2(Fremain1),RL2(Fremain1)Fdistilled3,Fremain3=DL3(Fremain2),RL3(Fremain2)Fdistilled3=ReConv3(Fremain3)\begin{align*} F_{distilled1},F_{remain1} &= DL_1(F_{in}), RL_1(F_{in})\\ F_{distilled2},F_{remain2}&= DL_2(F_{remain1}), RL_2(F_{remain1})\\ F_{distilled3},F_{remain3}&= DL_3(F_{remain2}), RL_3(F_{remain2})\\ F_{distilled3} &= ReConv3(F_{remain3}) \end{align*} Fdistilled1​,Fremain1​Fdistilled2​,Fremain2​Fdistilled3​,Fremain3​Fdistilled3​​=DL1​(Fin​),RL1​(Fin​)=DL2​(Fremain1​),RL2​(Fremain1​)=DL3​(Fremain2​),RL3​(Fremain2​)=ReConv3(Fremain3​)​
其中DLiDL_iDLi​表示第iii个1×11 \times 11×1卷积,RLiRL_iRLi​表示第iii个ReB。为了进一步增强,将蒸馏特征Fdistilled1,...,Fdistilled4F_{distilled1},...,F_{distilled4}Fdistilled1​,...,Fdistilled4​进行拼接并送入1×11 \times 11×1卷积以及ESA模块。对于更轻量化的FDB (FDB-S),去掉了一个特征蒸馏层(即1×11 \times 11×1卷积和一个ReB),如图16b所示。

Super团队:(a)特征蒸馏模块(FDB)。(b)特征蒸馏模块-小型(FDB-S)。(c)重参数化模块(ReB)。

模型重参数化。受最近模型重参数化工作的启发,采用了类似的技术来提高模型性能。具体来说,通过在训练过程中引入多分支卷积,对RFDB内部的SRB进行重新设计。如图17所示,在原始3×33 \times 33×3卷积的基础上增加了两个分支,由一个恒等映射和两个级联的卷积层组成,大小分别为1×11 \times 11×1和3×33 \times 33×3。三个分支的输出相加后输入激活层,可以表述为:
FReConv3training=Fin+Conv3×31(Fin)+Conv3×32(Conv1×1(Fin))FReConv3inference=Conv3×3rep(Fin)\begin{align*} F_{ReConv3}^{training} &= F_{in}+Conv_{3 \times 3}^1(F_{in})+Conv_{3 \times 3}^2(Conv_{1 \times 1}(F_{in}))\\ F_{ReConv3}^{inference} &= Conv_{3 \times 3}^{rep}(F_{in}) \end{align*} FReConv3training​FReConv3inference​​=Fin​+Conv3×31​(Fin​)+Conv3×32​(Conv1×1​(Fin​))=Conv3×3rep​(Fin​)​
其中FinF_{in}Fin​表示输入特征,Conv3×3repConv_{3 \times 3}^{rep}Conv3×3rep​表示重参数化的3×33 \times 33×3卷积。由于三个分支的运算是完全线性的,因此重参数化结构可以等效转换为一个3×33 \times 33×3大小的卷积进行推理。在实验中,重参数化技术使小模型的PSNR提高了0.02dB。

Super团队:重参数化3 × 3卷积(ReConv3)

像素注意力。受PAN的启发,像素注意力可用于更有效地为最终的重建模块生成特征。具体来说,一个1×11 \times 11×1卷积后接一个Sigmoid函数负责为特征图的所有像素生成一个3D注意力系数图。(如图18)。PA层可以表述为:
FPA=PA(Fin)⋅FinF_{PA}=PA(F_{in}) \cdot F_{in} FPA​=PA(Fin​)⋅Fin​

Super团队:像素注意力PA

与PAN不同,FDB中没有引入PA,因为PA不利于运行时间。出于同样的考虑,在低分辨率空间中进行PA以节省计算量,而PAN的UPA中的PA在更高分辨率中进行。

模型中使用的通道数是48。FDB中的DL1,⋅⋅⋅,DL3DL_1,···,DL_3DL1​,⋅⋅⋅,DL3​,输出通道数为12。对于FDB-S中的DL1DL_1DL1​和DL2DL_2DL2​,输出通道数为24。使用DIV2K和Flickr2K作为训练集。对于第一个训练阶段,从LR图像中裁剪出128×128128 \times 128128×128大小的patch作为输入。在第二个训练阶段,从LR图像中裁剪大小为160×160160 \times 160160×160的patch作为输入。

MegSR

MegSR团队提出了PFDNet,一种轻量级的高效超分辨率网络。以往的工作如IMDN和RFDN引入了新的网络模块,它们都是特征蒸馏模块的变体并取得了良好的性能。与这些工作不同的是,该团队基于剪枝策略来解决这个问题。尽管网络剪枝技术广泛应用于图像分类和分割等高级任务中,但在低级任务中的应用却很少。最近的一项工作ASSL提出了一种SR任务中残差网络的剪枝方案,表明网络剪枝技术是有效的。受RFDN和ASSL的启发,该团队探索了如何将剪枝和特征蒸馏网络结合。
具体来说,该方法包括两个阶段:训练阶段和微调阶段。训练阶段:在这个阶段,首先对RFDN的原始架构进行训练,得到一个预训练的模型。然后对模型进行重参数化,尽可能减少残差加法算子。在对网络的特征进行剪枝时,不同层保留的特征指标(indices)可能不同。因此,将不同指标的特征相加是不合理的。为了解决这个问题,除了ESA层外,权重归一化(WN)可应用于所有卷积。WN的可学习参数γ\gammaγ表明了特征的重要性。最后,用ℓ1ℓ1ℓ1损失来训练新模型以保持性能,同时使用正则化项来约束不重要的权重收敛于零。微调阶段:训练阶段结束后,根据参数γ\gammaγ的值对模型中的权重进行修剪。注意,未应用WN的剩余卷积层根据前一层的γ\gammaγ进行修剪。在推理过程中可以将参数γ融合为网络权值。因此,使用WN不会增加计算成本。剪枝后,剪枝模型在前300000次迭代用ℓ1ℓ1ℓ1损失进行微调,后100000次迭代用ℓ2ℓ2ℓ2损失进行微调。

重参数。将一个特征设为XXX,卷积权值设为WWW,则有如下公式:
WX+X=(W+I)XWX+X=(W+I)X WX+X=(W+I)X
III是单位矩阵。如图19(b)所示,所有跳跃连接都无退化地从RFDB中删除。

权重归一化。权重归一化包括可学习的参数,可以反映权重的重要性,如图19©所示:
W^i=Wi∣∣Wi∣∣2,Wi=γiW^i,i∈{1,2,...,N}\hat{W}_i=\frac{W_i}{||W_i||_2},W_i=\gamma_i\hat{W}_i,i \in \{1,2,...,N\} W^i​=∣∣Wi​∣∣2​Wi​​,Wi​=γi​W^i​,i∈{1,2,...,N}

其中W∈RN×C×H×WW \in R^{N \times C \times H \times W}W∈RN×C×H×W,WWW表示4维卷积核,γ∈RN\gamma \in R^Nγ∈RN表示WN中的1维可训练尺度参数。

损失函数。训练时,模型以ℓ1ℓ1ℓ1损失和以下惩罚项进行训练:
LSI=α∑l=1L∑i∈S(l),γi2L_{SI}=\alpha \sum_{l=1}^L\sum_{i \in S^{(l)}},\gamma_i^2 LSI​=αl=1∑L​i∈S(l)∑​,γi2​
其中α为损失权重,γiγ_iγi​表示γγγ的第iii个元素,S(l)S^{(l)}S(l)表示第lll层中不重要的滤波索引集(filter index set)。

MegSR团队:(a) RFDN的基本模块。(b)恒等连接重参数化和卷积层权归一化。(c)修剪不重要的权重。

VMCL Taobao

为了提高IMDN中信息流的表示能力,VMCL淘宝团队提出了一种多尺度信息蒸馏网络(MSDN),由一组多尺度信息蒸馏模块(MSDB)堆叠而成,实现高效的超分辨率。受RFDN启发,使用1×11 \times 11×1卷积实现信息蒸馏,3×33 \times 33×3卷积进行特征细化,以缓解IMDB中通道分割操作的局限性。如图20所示,在第lll个MSDB中,使用多尺度特征细化模块(用绿色虚线框标记)来代替RFDB的3×33 \times 33×3卷积。如图20所示,设计了一个比例因子为2的上采样细化模块。使用1×11 \times 11×1卷积进行通道扩展,特征细化使用groupgroupgroup为2的3×33 \times 33×3卷积,其感受野为sh×sh\sqrt{s}h \times \sqrt{s}hs​h×s​h,以捕获更大的邻域,并等效作用于上采样的特征。然后,使用一个单独的3×33 \times 33×3卷积进行与RFDB中相同的细化。最后,采用膨胀率为2的膨胀型3×33 \times 33×3卷积进行下采样细化,该卷积具有(h/s)×(h/s)(h/\sqrt{s}) \times (h/\sqrt{s })(h/s​)×(h/s​)感受野,等效作用于下采样特征。通过应用多尺度特征细化,可以以较少的计算量获取输入特征的多尺度信息。此外,引入了大核注意力(LKA),通过捕获更大的感受野来增强特征。

VMCL淘宝团队:提出的多尺度信息蒸馏模块(MSDB)的体系结构

Bilibili AI

Bilibili AI团队使用了重参数化残差特征蒸馏网络(Rep-RFDN),如图21所示。与原来的RFDN不同的是,在训练阶段,除了ESA模块中的3×33 \times 33×3卷积层,其它所有3×33 \times 33×3卷积层都被重参数化模块(RepBlocks, RB)替换。在推理阶段,repblock被转换为单个3×33 \times 33×3卷积层。在ECB和ACB的启发下,在原始ECB中增加了3×13 \times 13×1卷积和1×31 \times 31×3卷积子分支(图22)。特征通道数设置为40,而原始RFDN50版本设置为50。

哔哩哔哩AI团队:重参数残差特征蒸馏网络(Rep-RFDN)架构

图22 Bilibili AI团队:RepBlock (RB)架构

NKU-ESR

该团队提出了一种边缘增强特征蒸馏网络,称为EFDN,以实现在网络和设计损失的协同作用下保存高频信息。通过对现有的重参数化方法的回顾,构建了一个边缘增强卷积模块。利用神经结构搜索(NAS)对EFDN的主干进行搜索,以提高基础性能。同时,提出了一种边缘增强的梯度损失来校准重参数化模块的训练。
边缘增强的多分支模块。图23a给出了RepVGG Block、DBB和ECB的细节。为了提高原始卷积(vanilla convolution)在不同场景下的特征提取能力,一共设计了8种不同的结构。虽然更多的重参数化分支可以提高性能,但直接集成这些路径的昂贵的训练成本是无法承受的。同时,另一个问题是在合并并行分支时,边缘和结构信息可能被衰减。
针对上述问题,构建了一种更加精细和有效的重参数化模块,即边缘增强多分支模块(EDBB),它可以为底层任务提取和保存高级结构信息。如图23b所示,EDBB由七个包含单卷积和序列卷积的分支组成。

图23 NKU-ESR团队:重参数化方案说明

网络结构。在IMDN和RFDN的基础上设计了EFDN,用于在有限资源条件下重建边缘清晰、结构清晰的高质量SR图像。如图24所示,EFDN由浅层特征提取模块、多个边缘增强特征蒸馏模块(EFDB)和上采样模块组成。具体地说,利用一个原始卷积生成初始特征映射。
然后将这个粗特征送入到堆叠的EFDB进行进一步的信息细化。具体而言,RFDN中的浅层残差模块被提出的EDBB所取代,以构建EFDB。与IMDN和RFDN利用全局蒸馏连接逐步处理输入特征不同,采用神经结构搜索(NAS)确定特征连接路径。搜索的结构显示在橙色虚线框中。最后,通过上采样模块生成SR图像。

图24 NKU-ESR团队:EFDN的网络架构

边缘增强梯度方差损失。在以往的工作中,普遍使用L1和L2损失以获得更高的评价指标。用这些损失函数训练的网络往往会导致结构信息的损失。虽然EDBB中加入了面向边缘的组件,但在七个并行分支的复杂训练过程中,很难保证它们的有效性。受梯度方差损失的启发,提出了一种边缘增强的梯度方差损失,利用EDBB的滤波器来监测模型的优化。具体来说,将HR图像IHRI^{HR}IHR和SR图像ISRI^{SR}ISR转为灰度图GHRG^{HR}GHR和GSRG^{SR}GSR。利用Sobel和Laplacian滤波器计算梯度图然后将梯度图展开为HWn2×n2\frac{HW}{n^2} \times n^2n2HW​×n2的块(patch)Gx,Gy,GlG_x,G_y,G_lGx​,Gy​,Gl​。第iii个方差图可以表示为:
vi=∑j=1n2(Gi,j−G‾i)n2−1v_i=\frac{\sum_{j=1}^{n^2}(G_{i,j}-\overline{G}_i)}{n^2-1} vi​=n2−1∑j=1n2​(Gi,j​−Gi​)​

其中G‾i\overline{G}_iGi​表示第iii个patch的均值,由此,可以分别计算HR和SR图像的方差指标vx、vy、vlv_x、v_y、v_lvx​、vy​、vl​。参照gv损失,不同滤波器的梯度方差损失:
Lx=EISR∣∣vxHR−vxSR∣∣2Ly=EISR∣∣vyHR−vySR∣∣2Ll=EISR∣∣vlHR−vlSR∣∣2\begin{align*} L_x &= E_{I^{SR}}||v_x^{HR}-v_x^{SR}||_2 \\ L_y &= E_{I^{SR}}||v_y^{HR}-v_y^{SR}||_2\\ L_l &= E_{I^{SR}}||v_l^{HR}-v_l^{SR}||_2 \end{align*} Lx​Ly​Ll​​=EISR​∣∣vxHR​−vxSR​∣∣2​=EISR​∣∣vyHR​−vySR​∣∣2​=EISR​∣∣vlHR​−vlSR​∣∣2​​

此外,为了加快收敛速度,提高恢复性能,加入了L1损失。为了更好地优化EDBB面向边缘的分支,以及为了视觉效果保留锐利边缘,对对应分支的缩放参数相关的系数λx\lambda_xλx​、λy\lambda_yλy​和λl\lambda_lλl​进行了权衡。损失函数的和可以表示为:
L=L1+λxLx+λyLy+λlLlL=L_1+\lambda_xL_x+\lambda_yL_y+\lambda_lL_l L=L1​+λx​Lx​+λy​Ly​+λl​Ll​

NJUST RESTORARION

NJUST RESTORARION团队提出了用于轻量级图像SR的自适应特征蒸馏网络(AFDN)。图25所示的AFDN是由RFDN小改而来。AFDN使用4个AFDB模块作为构造块,整体框架遵循RFDN。

图25 NJUST RESTORARION团队:AFDN的整体架构。

如图26所示,AFDN采用自适应融合模块(Adaptive Fusion Block, AFB)更有效地融合特征。AFB将特征分成两半。每个分支使用“Conv 3-LeakyRelu-Conv3”结构学习自适应注意力矩阵。然后AFB将特征与注意力矩阵相乘。最后,将两个分支的特征连接起来。

图26 NJUST RESTORARION团队:自适应融合蒸馏模块

TOVBU

原理细节。在残差特征蒸馏网络的基础上,该团队提出了一种新型高效的快速残差特征蒸馏网络(FasterRFDN),用于单幅图像的超分辨率。所提出方法的总体框架如图27和图28所示。整个框架包含4个更快的残差特征蒸馏模块(FRFDB)。首先,为了进一步降低FRFDB模块的参数和计算复杂度,有效压缩了分层蒸馏的通道数;每层通道数从上到下分别为64、32、16、16。这些蒸馏特征通过三个1×11 \times 11×1和一个3×33 \times 33×3卷积进行提取。然后,这些特征沿通道维度进行拼接,然后送入增强空间注意力(ESA)。此外,为了增强模型的表示能力,将模型的通道数增加到64个。

图27 TOVBU团队:快速特征蒸馏网络(FasterRFDN)的总体框架。

图28 TOVBU团队:更快的特性蒸馏模块(FRFDB)。

训练策略。训练过程可分为三个阶段。

  1. 对DIV2K和Flickr2K (DF2K)进行预训练。从HR图像中随机裁剪大小为256×256256 \times 256256×256的HR patch, mini-batch size设置为64。使用Adam优化器最小化L1损失函数来训练模型。初始学习率设置为5×10−45 \times 10−45×10−4,每200k次迭代减半。迭代的总次数是1,600k。
  2. 微调DF2K。HR patch size分别为512×512512 \times 512512×512, mini-batch size设置为64。通过最小化PSNR损失函数对模型进行了微调。初始学习率设置为5×10−55 \times 10−55×10−5,每80k次迭代减半。总迭代次数为480k。
  3. 再次微调DF2K。HR patch size设置为640×640640 \times 640640×640, mini-batch size设置为16。通过最小化L2损失函数对模型进行了微调。初始学习率设置为1×10−51 \times 10−51×10−5,使用余弦学习率。

Alpan

Alpan团队根据以下步骤提出了基于RFDN的方法:1)对RFDB的重新思考。2) ESA模块和卷积对效率和PSNR的权衡。3)宽度和深度微调。
该团队的第一个观察结果是ESA模块是有效的,并显著改善了结果。因此,该团队在RFDB中每个3×33 \times 33×3卷积后放置ESA模块。RFDB中所有蒸馏卷积(三个1×11 \times 11×1卷积和一个3×33 \times 33×3卷积)被删除,RFDB块的数量从4个减少到3个,以保持相同的推理时间。所有这些变化产生以下影响:1)在DIV2K验证集上PSNR从29.04上升到29.05。2)参数数量由0.433M减少到0.366M。3) FLOPS从1.69G降低到1.256G。
该团队的下一步观察是,在修改后的RFDB中,75%的参数和超过90%的FLOPS属于ESA模块之外的卷积。因此,该团队决定重新平衡ESA模块的通道数。具体来说,模型中的通道总数从50减少到44,但ESA模块的通道数从12增加到16。所有这些变化的影响如下:1)在DIV2K验证集上PSNR基本相同。2)参数数量由0.366M减少到0.356M。3) FLOPS从1.256 g降低到1.034G。
在多数队伍的试验中,相同效率的情况下更深的模型比更宽的模型效果要好。因此,团队决定将通道的总数量从44减少到32,同时ESA模块保留16个通道,并将修改过的RFDB块的数量从3个增加到4个。这使得最终模型的FLOPS显著降低,减少了小部分参数:1)参数量:0.326M。2)FLOPS:0.767G
最终的模型由4个经过修改的RFDB块(通道数为32)组成。模型中所有其他未提及的部分都与RFDN相同。修改后的RFDB块如图29所示。

图29 Alpan团队:SR模型的构造模块由三个3×3卷积和三个带有16个通道的ESA模块(即一个卷积后接一个ESA模块)组成,然后将输入和三个ESA模块的输出进行拼接。然后和RFDB完全一样,使用1 × 1卷积和ESA模块。

xilinxSR

IMDN如图30所示。它是由级联的信息多重蒸馏模块(IMDB)组成的轻量级信息多重蒸馏网络。具体来说,它采用了一系列IMDB模块(默认8个)和传统的上采用层(pixelshuffle)实现高分辨率图像重建。

图30 xilinxSR团队:IMDN基本架构概述

网络剪枝。基于IMDN,首先进行网络剪枝。表2提供了不同尺寸的模型和相应精度。为了在准确性和运行时间之间实现均衡,IMDB块的数量从8个减少到7个作为基线。

表2 不同IMDB模块数的IMDN在DIV2K验证集精度的比较

可折叠模块。受SESR的启发,该团队应用了可折叠模块来提高剪枝后IMDN的精度。具体而言,如图31所示,在训练过程中采用密集块来增强表示。IMDB中的每个3×33 \times 33×3卷积都被一个3×33 \times 33×3卷积和一个1×11 \times 11×1卷积所取代。这两个卷积并行运行,并对输出进行求和。在推理过程中,两个并行卷积被转换为一个3×33 \times 33×3卷积。

图31 xilinxSR团队:可折叠模块的结构重新参数化

训练策略。使用DIV2K数据集训练网络,并使用Flick2K作为额外的数据集。训练patch的大小从64×6464 \times 6464×64逐渐增加到128×128128 \times 128128×128,以提高性能。batchsize为32,epoch为500。该网络通过Adam优化器最小化L1损失和2×10−42 \times 10^{−4}2×10−4至1×10−51 \times 10^{−5}1×10−5的动态学习率进行训练。应用了数据增强,如旋转和水平翻转。

cipher

chipher团队提出了一种用于轻量级图像sr的端到端残差蒸馏网络(ResDN),如图32所示,所提出的ResDN由头部、主干和尾部三部分组成。

图32 cipher团队:残差蒸馏网络(ResDN)的体系结构

主干部分由4个ResDB和1个BFM组成。得到粗特征F0F0F0后,四个ResDB依次提取中间特征,即
Fi=HResDBi(Fi−1),i=1,2,3,4,F_i=H^i_{ResDB}(F_{i-1}),i=1,2,3,4, Fi​=HResDBi​(Fi−1​),i=1,2,3,4,
其中HResDBi(⋅)H^i_{ResDB}(·)HResDBi​(⋅)为第i个ResDB的函数,FiF_iFi​为第i个ResDB提取的中间特征。

如图32所示,将Fi(i=1,2,3,4)F_i (i = 1,2,3,4)Fi​(i=1,2,3,4)汇聚到BFM,先将特征维数通过1×11 \times 11×1卷积减半,再经过ReLU激活函数(图32略),然后进行顺序拼接。这可以表述为

Ti={Fi,i=4Concat(Conv1(Fi),Conv1(Ti+1)),i=3,2,1T_i=\left\{\begin{array}{l} F_i ,i=4 \\ Concat(Conv1(F_i),Conv1(T_{i+1})) ,i=3,2,1 \end{array}\right. Ti​={Fi​,i=4Concat(Conv1(Fi​),Conv1(Ti+1​)),i=3,2,1​

式中,Concat(⋅)Concat(·)Concat(⋅)和Conv1(⋅)Conv1(·)Conv1(⋅)分别表示沿通道维度的拼接操作和1×11 × 11×1卷积。通过顺序融合,可以更充分地利用不同的层次特征。最后,粗特征F0F_0F0​通过残差连接传输,生成深度特征FdF_dFd​。

如图33所示,ResDB的主体由几个残差块(RB)堆叠而成。每个卷积层前面都有一个PReLU激活函数,PReLU中的每个通道都设置了一个可学习的参数。在RB中,为了方便蒸馏,首先采用1×11 \times 11×1卷积来扩大通道维度。设总共有K个RB,第K个RB的输入为FresKF^K_{res}FresK​,通道数为ccc,蒸馏特征的通道数为ddd。在第K个RB中,1×11 \times 11×1卷积得到的中间特征可以表示为
Finterk=HConv1c+(K−k)∗d(δ(Fresk−1))F^k_{inter}=H^{c+(K-k)*d}_{Conv1}(\delta(F^{k-1}_{res})) Finterk​=HConv1c+(K−k)∗d​(δ(Fresk−1​))
其中δ\deltaδ表示PReLU激活函数。HConv1c+(K−k)∗dH^{c+(K-k)*d}_{Conv1}HConv1c+(K−k)∗d​表示具有c+(K−K)∗dc + (K−K) * dc+(K−K)∗d卷积核的1×11 \times 11×1卷积。然后,将中间特征沿通道轴进行分割,每d=16d = 16d=16个通道提取的特征流向后一个RB。c=48c = 48c=48通道的保留特征流向3×33 \times 33×3卷积中进一步细化。并且,在每个残差分支的开始处,蒸馏的特征与之前RB的残差分支(即当前RB的输入)进行拼接。最后,利用ESA和跳跃连接生成ResDB的输出特征。

图33 cipher团队:残差蒸馏模块(ResDB)的结构。1×1卷积用于扩展信息蒸馏的通道。颜色分支将蒸馏特征传递给后面的残差块。蒸馏通道数为16

NJU MCG

受WDSR的启发,图34a中的残差特征扩展块(RFEB)被用作特征蒸馏与扩展网络(FDEN)的基本单元。FDEN采用RFDN的架构,只是基本单元被RFEB取代,注意机制被图34c中的LapSA模块取代。LapSA模块负责对输入特征的每个空间位置进行尺度变换。为了实现这一目标,需要有一个根据空间重要性的全局评估,为不同的位置分配不同的比例因子。具体而言,对图像超分辨率任务来说,网络应该更多地集中在高频区域,因为复杂的细节通常很难恢复。因此,LapSA模块包含一个拉普拉斯金字塔(图34b),具有大的感受野,也可以提取高频细节。这个过程可以表述为

G1=fG(G0;θG1),L1=G0−fUP(G1)G2=fG(G1;θG2),L2=G1−fUP(G2)G3=fG(G2;θG3),L3=G2−fUP(G3)G1=f_G(G_0;\theta_{G_1}),L_1=G_0-f_{UP}(G_1)\\ G2=f_G(G_1;\theta_{G_2}),L_2=G_1-f_{UP}(G_2)\\ G3=f_G(G_2;\theta_{G_3}),L_3=G_2-f_{UP}(G_3) G1=fG​(G0​;θG1​​),L1​=G0​−fUP​(G1​)G2=fG​(G1​;θG2​​),L2​=G1​−fUP​(G2​)G3=fG​(G2​;θG3​​),L3​=G2​−fUP​(G3​)

如图34b所示,fGf_GfG​为下采样函数,由池化层和3×33 \times 33×3卷积层组成。fUPf_{UP}fUP​是对输入特征进行上采样的插值函数。L1、L2、L3分别为三个金字塔层的输出特征。提取的特征Lj∈[1,2,3]L_{j\in[1,2,3]}Lj∈[1,2,3]​包含高频信息,用于LapSA模块(图34c)中生成比例因子。

如图34c所示,第一个1×11\times11×1卷积用于降低通道维数,最后一个1×11\times11×1卷积用于恢复通道维数。中间1×11 \times 11×1卷积用于对金字塔特征进行聚合,然后利用sigmoid函数生成最终的缩放因子。L1L_1L1​与缩放特征拼接,以增强输出特征FLapSA∗F^* _{LapSA}FLapSA∗​,即
FLapSA∗=fConv1([FLapSA,L1])F^* _{LapSA}=f_{Conv1}([F_{LapSA},L_1]) FLapSA∗​=fConv1​([FLapSA​,L1​])

FDEN中的滤波器数量(nf)(nf)(nf)设置为29。提出的FDEN使用与RFDN相同的训练设置进行训练。训练数据集采用DIV2K和Flickr2K数据集。

图34 NJU MCG团队:提出的解决方案

IMGWLH

IMGWLH团队提出了RLCSR网络。整个网络结构如图35所示。首先使用3×3卷积层从低分辨率图像中提取浅层特征;然后将6个局部残留特征融合块(RFDB+)模块进行堆叠,对浅层特征进行深度特征提取。RFDB+是RFDB的改进版本。在不增加ESA模块参数的情况下,加入了更多的跳跃连接,以确保更好地保留有用的信息,并使用空洞卷积来扩展感受野,以保留更多的纹理细节。

图35 IMGWLH团队:RLCSR网络架构

为了生成紧凑的特征,引入CCM模型来融合来自多个RFDB+的中间特征。该模块是在MBFF模块和反向融合(backward fusion)模型的基础上开发的。CCM的详细结构如图37所示。使用提出的CCM,可以从几个RFDB+中观察到不同层次的特征逐渐融合到一个单一的特征图。通道shuffle操作和1×11 \times 11×1卷积核可以整合所有基本残差块的特征,有助于以紧凑的方式提取更多的上下文信息。

图37 CCM模块的架构

为了进一步增强RFDB+生成的中间特征,引入LAM模块注意力机制,从多个中间特征中自适应选择具有代表性的特征。LAM的结构可参考图36。

图36 IMGWLH团队:LAM模块的架构

然而,收集到的特征仍然可能冗余。为了解决这一问题,通过通道注意力和像素注意力的阿达玛乘法(Hadamard multiplication)为特征图分配权重。为了生成用于高分辨率重构的特征,引入了一个长的跳跃连接,该连接将深层特征与网络开始提取的浅层特征相加。

imgwhl

imgwhl团队提出了一种名为RFESR的轻量级SR网络,实现了紧凑的网络设计和快速的推理。具体来说,该工作基于IMDB的结构,并受到几种先进技术的启发。
所提出的网络如图38所示。首先使用3×33 × 33×3卷积从输入中提取浅层特征。然后,将4个局部残差特征融合块(LRFFB)模块堆叠,对浅层特征进行深度特征提取。在LRFFB逐步细化特征后,再通过另一个3×33 × 33×3卷积从最后一个LRFFN模块的输出中提取最终的深层特征。最后的深层和浅层特征通过跳跃连接进行元素级相加。最后,通过一个由3×33 \times 33×3卷积和无参数的亚像素运算组成的pixel shuffle模块对高分辨率图像进行重构。

图38 imgwhl团队:提出方案的网络结构

两个构建块描述如下所示。
LRFFB。每个LRFFB模块包含四个基本残差单元,即注意力引导自适应加权残差单元(AAWRU)。受MBFF模块的启发,引入后向特征融合(BFF)模块,对从AAWRU获取的多层次特征进行融合。第iii个LRFFB的第jjj个AAWRU提取的特征用FijF_{ij}Fij​表示。例如,第二个AAWRU在第一个LRFFB中提取的特征为F12F_{12}F12​。具体来说,在第iii个LRFFB中,最后两个特征(Fi3F_{i3}Fi3​和Fi4F_{i4}Fi4​)由一个BFF模块进行聚合。BFF模块结构如图39©所示。它首先将两个输入特征拼接起来,然后通过pixel shuffle操作和1×11 \times 11×1卷积核处理聚合的特征。BFF模块重复三次,直到所有级别的特征融合在一个LRFFB中。然后将输入特征以元素级的方式加到输出融合特征。由于残差可能包含冗余信息,因此将结果与可训练参数相乘,以选择有用的信息。
AAWRU。AAWRU模块的详细结构如图39(a)所示。受RFANet中提出的残差块的启发,MAFFSRN引入了增强的快速空间注意力模块(EFSA)。目的是实现空间注意力加权,使特征更集中在一些想要的区域,从而获得更有代表性的特征。AAWRU的残差结构的两个分支由自适应权重分配系数,这有助于在不增加参数的情况下激活更浅层的特征。EFSA模块的设计如图39(b)所示。利用上述模块,提出的模型以更少的参数较好地提取和整合紧凑的上下文信息,有助于生成更细腻的SR图像。

whu sigma

该团队基于RFDN设计了他们的方法。他们简单地用空洞卷积代替了RFDB模块中的卷积部分,并将RFDN的通道数调整为64。


未完待续
2022.11.1
好想分身…

【更新中21/31】NTIRE 2022 ESR(efficient super-resolution) 方案与结果相关推荐

  1. 最新 2022 年云原生Kubernetes 高级面试题大全(持续更新中)

    前言 本篇模拟面试官提问的各种docker,k8s问题,意在提高面试通过率,欢迎在评论区探讨,同步进步. 目录 题1:Kubernetes Service 都有哪些类型? 题2:K8s 标签与标签选择 ...

  2. 2022年顶会、顶刊SNN相关论文----------持续更新中

    原文链接:https://blog.csdn.net/qq_43622216/article/details/124163883 2022年顶会.顶刊SNN相关论文 目录 说明 AAAI2022(共7 ...

  3. 2022 届秋招已开放网申汇总(已收录 30+ 公司,持续更新中)

    有的同学还在努力找实习,全然不知秋招已经来啦! 像字节.腾讯.网易.阿里等大厂已经开启了提前批招聘,现在正是备战冲刺的好时机,如果等到秋招正式开始再准备,就真的晚喽. 为此我们整理了一份秋招网申汇总表 ...

  4. CVPR 2022 结果出炉,最全论文下载及分类汇总(更新中)

    CVPR 2022 已经放榜啦,本次一共有2067篇论文被接收,接收论文数量相比去年增长了24%. 由于每年的 CVPR 全部论文以及相关细节公布都需要等到六月会议正式召开,因此,在这之前,为了让大家 ...

  5. 【22考研】计算机择校信息库!近百所高校21计算机考研数据汇总!(持续更新中)

    所有信息均为已公开的信息,如有偏差,一切以官网为准 [院校信息]2021计算机考研信息汇总(持续更新中) 近百所高校计算机考研信息汇总,包括各个高校21进入复试同学各科成绩的平均分.最高分以及最低分, ...

  6. 2022 CCPC补题(更新中...)

    2022 CCPC补题(更新中-) 看着学校的佬参加了CCPC和ICPC,自己作为一名准ACMer,就来把一些签到题做一下. ps:恭喜我校的梭哈队获得银牌. 第一场 链接: 2022 CCPC桂林 ...

  7. 2022年最新互联网大厂前端面试题及答案-前端工程必备技能(持续整理更新中【关注收藏不迷路】)

    对于做前端的朋友,或者做了前端几年了,基础不好的,或者想进大厂的想了解深入,下面的知识点很多前端朋友都没有深入了解.很重要,看完有种茅塞顿开感觉,**关注+收藏哦,总有一天用的得.** 涉及到知识点: ...

  8. YOLO 3/4/5/6/7/x、Efficient、MaskRcnn、FasterRcnn、FCOS、SSD、M2Det、Retina、CenterNet、PicoDet等系列数据模型汇总持续更新中

    做了很长时间的CV领域的任务了,见到了很多不错的项目,很多时候也是会选择直接拿来开源的项目去使用,自己也做过了很多项目,后面就萌生了一个想法,将看到的不错的文章或者是数据集或者是项目汇总记录一下,以便 ...

  9. 【STM32-V6】STM32F429BIT6开发板开源, 丰富软件资源, 强劲硬件配置, 配套600多实例,21套手册持续更新中

    淘宝购买链接 从2016年1月份发布至今,软件资料更新过108次.当前标准库最新版本V2.8,HAL库最新版本V7.6 安富莱微信公共平台,欢迎大家关注(打造高质量公众号) HAL库版V7.6 STM ...

最新文章

  1. python培训班哪些比较好-哪家python培训班比较好?2018年如何选择
  2. 英特尔更新人工智能产品线,新品性能达到竞品6倍
  3. 快乐大本营中测试声音年龄的软件_海天味极鲜酱油极限挑战宝藏行 终极试炼,极限成员们勇登珠峰大本营...
  4. 菜鸟Spring Cloud入门教程
  5. Matlab取整函数
  6. ROS机器人操作系统——ROS介绍
  7. 在线画图工具绘制流程图怎样做
  8. 软件工程复习之rup
  9. 电脑怎么显示文件后缀名?3个步骤
  10. Chapter 2 unit 2 of Bootstrap-Bootstrap CSS
  11. 几种平均数的物理意义应用场景
  12. unity tags的坑
  13. php array_diff_assoc,关于array_diff_assoc的详细介绍
  14. 2022android自定义文本路径选择器java教程
  15. 新南威尔士大学预科学生宿舍
  16. ubuntu 18.04 卸载firebox
  17. shell trim函数
  18. ssh localhost失败:Permission denied (publickey).
  19. vs2008编译QT开源项目--太阳神三国杀源码分析(四) 动画
  20. POI解析1997-2003、2007版本excel

热门文章

  1. Java咖啡馆(2)——第一杯咖啡
  2. 电商教程,制作淘宝产品常见的风效果
  3. 002-windowa基础(DOS命令:net user 用户 密码 /add)
  4. 力扣每日一题:891. 子序列宽度之和(java)
  5. [Python]网站数据爬取任务
  6. VUE 项目图标全部替换成阿里巴巴矢量图
  7. 程序员如何缓解自己内心的焦虑与烦躁
  8. log4j不打印日志的问题解决方式一
  9. Python 如何被证明是 2021 年的转折点语言
  10. 五年级上册《桂花雨》教案