NTIRE 2022 ESR 方案与结果
博客所提及的图x和表x直接参考对应文字下方的图即可。
竞赛要求
该挑战的目的是设计一个网络,减少运行时间、参数、FLOPs、激活和内存消耗一个或多个方面,同时至少保持验证集29.00dB的PSNR。根据5个评估指标,挑战被分为3个赛道。
主赛道:运行时间赛道
在本赛道中,我们将评估提交内容的实际运行时间性能。团队的排名直接由验证集和测试集上平均运行时间的绝对值决定。
子赛道1:模型复杂性赛道
在本赛道中,我们将考虑参数量和FLOPs,并将这两个指标的排名汇总来决定本赛道的最终排名。
子赛道2:综合性能赛道
在本赛道中,我们将考虑挑战描述中提到的5个指标,包括运行时间、参数、FLOPs、激活和GPU内存。与子赛道1类似,5个指标的排名被汇总,以确定本赛道的最终排名。
挑战结果
每个指标值后面圆括号中的下标数字表示方案在该指标中的排名。“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”不排名。
方案结构和主要思想
本次挑战中,提出了几个技术以提高深度神经网络的效率,同时尽可能地保持性能。根据团队想要优化的参数,会提出不同的解决方案。下面列出了一些典型的想法。
-
对信息多重蒸馏模块(IMDB)和残差特征蒸馏模块(RFDB)的结构进行修改是目前的主流方案。IMDB和RFDB模块来自AIM 2019受限图像SR挑战赛和AIM 2020高效图像SR挑战赛的第一名。因此,该挑战的一些团队从修改这两个基本架构开始。在运行时间主赛道上获得第一名的ByteESR提出了一个残差局部特征块(RLFB)来取代RFDB和IMDB模块。主要区别是去掉了拼接操作和相关的1 × 1卷积特征蒸馏层。此外,该团队还减少了ESA模块中的卷积数。
-
多级信息蒸馏可能会影响超高效模型的推理速度。观察到主赛道运行时间的前两名的方案在网络中不包含多级信息蒸馏模块。在其他研究中也有报道称,使用过多的跳跃连接和相关的1 × 1信息蒸馏层会有损运行时间的性能。
-
重新参数化可以带来轻微的性能改进。在网络训练期间,一些团队试图用多种基本操作( 3 × 3 3 \times 3 3×3卷积, 1 × 1 1 \times 1 1×1操作,一阶和二阶导数算子,跳跃连接)重新参数化一个普通的卷积层。在推理过程中,对一个卷积进行重新参数化的多个操作可以合并回单个卷积。实验结果表明,该方法能获得些许峰值信噪比的增益。例如,NJU Jet用重新参数化的残差块替换了一个正常的残差块。NEESR团队使用面向边缘(edge-oriented)的卷积块来重新参数化普通的卷积。
-
滤波分解的方法可以有效降低模型复杂度。滤波分解的方法一般指用几个轻量级卷积(深度可分离depthwise, 1 × 1 1 \times 1 1×1, 1 × 3 1 \times 3 1×3和 3 × 1 3 \times 1 3×1 卷积)替换一个普通的卷积。例如,XPixel使用了深度可分离卷积和 1 × 1 1 \times 1 1×1卷积的结合。NJUST ESR团队也使用了反向残差模块(inverted residual block)。两个团队提出的解决方案获得了模型复杂性赛道的前两名。
-
网络剪枝开始发挥作用。可以观察到,有几个团队使用网络剪枝技术略微压缩了基准网络。例如,ByteESR团队在最后的训练阶段将网络中的通道数量从48个略微削减到46个。MegSR团队将权重参数归一化,并将可学习参数应用于归一化通道。他们根据这些参数的大小修剪网络。xilinxSR团队还试图修剪IMDB模块。
-
激活函数是一个重要的因素。观察到一些团队在他们的网络中使用了高级激活函数。例如,除了最后一个 1 × 1 1 \times 1 1×1卷积外,rainbow团队对每个卷积都使用SiLU激活函数。很多团队也使用了GeLU激活函数。
-
损失函数的设计也是需要考虑的问题之一。损失函数也是高效SR网络成功的重要因素。虽然大多数团队使用L1或L2损失,一些团队也证明使用更高级的损失函数可以带来些许PSNR增益。例如,ByteESR团队使用对比损失在不同的验证集上提高了0.01dB - 0.02dB的PSNR。NKU-ESR团队提出了边缘增强的梯度方差损失。
-
高级的训练策略保证了网络的性能。高级的训练策略包含训练设置的许多方面。例如,大多数队伍延长了训练时间。由于模型的尺寸大多较小,因此可以同时使用大的patch size和大的batch size进行训练。一些团队使用了周期性学习率策略和余弦学习率策略,它们可以帮助训练跳出局部最小值。冠军方案的训练通常包含几个阶段。网络架构的高级调优(如剪枝、重新参数化操作的合并)将在最后的微调阶段使用。
-
还尝试了其他各种技术。一些队伍也提出了一些基于神经结构搜索的方案,视觉transformer,甚至是快速傅里叶变换。
各队伍方案
ByteESR
网络结构 ByteESR团队针对高效SR提出了残差局部特征网络(RLFN)。如图3所示,提出的RLFN采用了一种基本的SR架构,类似于IMDN等方法。不同的是,RLFN使用4个残差局部特征块(RLFB)作为构建块。
RLFN是在残差特征蒸馏模块(RFDB)基础上改进而成。如图2a所示,RFDB使用3个conv1进行特征提取,并将提取出来的特征串联在一起。尽管聚合提取出来的多层蒸馏特征可以生成更强大的特征,但拼接占用了大部分推理时间。考虑减少推理时间和内存消耗,RLFB(见图2b)去掉了拼接层和相关的特征蒸馏层,取而代之的是用加法实现局部特征学习。此外,在RLFB中,为了降低模型的深度和复杂度,将ESA中的卷积组(见图2c)简化为一个
3
×
3
3 \times 3
3×3卷积。
对比损失 最近的一些研究发现,一个随机初始化的特征提取器,不需要任何训练,就可以提高模型在几个密集预测任务上的性能。受这些工作的启发,RLFN构建了一个两层网络作为特征提取器,卷积核的权值是随机初始化的。对比损失的定义为:
C L = ∣ ∣ ϕ ( y s r − ϕ ( y h r ) ) ∣ ∣ ∣ ∣ ϕ ( y s r − ϕ ( y l r ) ) ∣ ∣ (2) CL=\frac{||\phi(y_{sr}-\phi(y_{hr}))||}{||\phi(y_{sr}-\phi(y_{lr}))||} \tag{2} CL=∣∣ϕ(ysr−ϕ(ylr))∣∣∣∣ϕ(ysr−ϕ(yhr))∣∣(2)
其中 ϕ \phi ϕ表示特征提取器生成的特征图, ∣ ∣ ϕ ( y s r − ϕ ( y h r ) ) ∣ ∣ ||\phi(y_{sr}-\phi(y_{hr}))|| ∣∣ϕ(ysr−ϕ(yhr))∣∣表示特征图 y s r , y h r y_{sr},y_{hr} ysr,yhr之间的L1距离, ∣ ∣ ϕ ( y s r − ϕ ( y l r ) ) ∣ ∣ ||\phi(y_{sr}-\phi(y_{lr}))|| ∣∣ϕ(ysr−ϕ(ylr))∣∣表示特征图 y s r , y l r y_{sr},y_{lr} ysr,ylr之间的L1距离。
实现细节。RLFN共有4个RLFB,其中特征通道数设置为48,而ESA的通道数设置为16。训练过程中使用了DIV2K和Flickr2K数据集。具体训练步骤如下:
- 在第一阶段,模型从零开始训练。从HR图像中随机剪切大小为 256 × 256 256 \times 256 256×256的HR patch,设置mini-batch size为64。利用Adam优化器最小化L1损失函数来训练RLFN模型。初始学习率设置为 5 × 1 0 − 4 5 \times 10^{−4} 5×10−4,每200个epoch减半。epoch的总数是1000。
- 在第二阶段,使用预训练权重对模型进行初始化,并使用与上一步相同的设置进行训练。这个过程重复两次。
- 在第三阶段,利用第二阶段的预训练权重对模型进行初始化。保持与阶段一相同的训练设置来训练模型,只是损失函数被L1损失和对比损失结合正则化因子 × 255 \times 255 ×255取代。
- 第四阶段,使用软滤波器剪枝(Soft Filter Pruning)将预训练模型中RLFB的 1 × 1 1 \times 1 1×1卷积数量从48调整到46。训练设置与阶段一相同,不同的是HR patch的大小改为 512 × 512 512 \times 512 512×512。1000个epoch后,L2 loss用于 640 × 640 640 \times 640 640×640 HR patch的微调,学习率为 1 0 − 5 10^{−5} 10−5。
NJU_Jet
运行时间和内存消耗是部署在资源受限设备上的高效图像超分辨率(EISR)模型的两个重要因素。最近的EISR研究利用了大量通道分割和连接操作的蒸馏和聚合策略,以充分利用有限的层次特征。相比之下,顺序网络避免了频繁访问先前状态和额外节点,因此有利于减少内存消耗和运行时间开销。按照这个思路,团队主要通过叠加多个高度优化的卷积层和激活层,减少特征融合的使用,设计了一个轻量级的网络骨干。网络总体架构如图4所示。特征提取部分和重构部分与最近的研究相同,高频学习部分由提出的增强残差模块(ERB)和高频注意力模块(HFAB)对组成。
增强残差模块。该团队首先提出了增强残差模块(enhanced residual block, ERB)来取代EDSR中的普通残差模块(normal residual block, RB),以降低跳跃连接引入的内存访问成本(memory access cost, MAC)。如图5所示,ERB由两个重参数化块(RepBlock)和一个ReLU组成。在训练过程中,每个RepBlock利用
1
×
1
1 \times 1
1×1卷积来扩展或减少特征图的数量,并采用
3
×
3
3 \times 3
3×3卷积来提取高维空间中的特征。此外,还采用了两个跳跃连接,以减轻训练难度。在推理过程中,所有的线性转换都可以被合并。因此,每个RepBlock都可以被转换成一个
3
×
3
3 \times 3
3×3的卷积。一般情况下,ERB利用了残差学习,且不需要额外的MAC。
高频注意力模块。近年来,注意力机制在SR社区中得到了广泛的研究。根据细粒度组成分为通道注意力、空间注意力、像素注意力和层注意力。以前基于注意力的方案缺乏两个重要方面的考虑。首先,一些注意力方案,如CCA和ESA,具有多分支拓扑,引入了过多的额外内存消耗。其次,注意力分支中的一些节点在计算上不是最优的,如ESA中使用的
7
×
7
7 \times 7
7×7卷积,其效率远远低于
3
×
3
3 \times 3
3×3卷积。
考虑到这两个方面,设计了一个顺序注意力分支,根据其附近的像素对每个位置进行缩放。注意力分支的灵感来自边缘检测,附近像素的线性组合可以用来检测边缘。此外,该队伍发现注意力分支集中在高频区域,因此将提出的模块命名为高频注意力模块(HFAB),如图4所示。HFAB根据其窗口的非线性组合对每个位置进行缩放。在HFAB中,采用
3
×
3
3 \times 3
3×3卷积而不是
1
×
1
1 \times 1
1×1卷积来降低和扩展特征维数,以获得更大的感受野和效率。注意力分支采用批处理归一化(BN),引入全局统计量,并将特征保持在sigmoid函数的不饱和区域内。在推理过程中,可以将BN合并为卷积,而无需额外的计算成本。
实现细节。使用DIV2K和Flickr2K作为训练数据集。5个ERB-HFAB按顺序堆叠。设置ERB和HFAB的特征图(feature map)数量分别为50和16。在每个训练批次中,对64个HR RGB patch进行大小为 256 × 256 256 \times 256 256×256的裁剪,并进行随机翻转和旋转增强。学习率初始化为 5 × 1 0 − 4 5 \times 10^{−4} 5×10−4,每 2 × 1 0 5 2 \times 10^5 2×105次迭代学习率降低一半。利用Adam优化器最小化L1损失函数,训练网络共 1 0 6 10^6 106次迭代。团队将训练好的权重进行加载,重复上述训练设置4次。之后,利用L2损失进行微调。初始学习率设为 1 × 1 0 − 5 1 \times 10^{−5} 1×10−5,迭代次数为 2 × 1 0 5 2 \times 10^5 2×105次。最后,对重构部分进行了 1 0 5 10^5 105次迭代微调,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
×
3
3 \times 3
3×3卷积,通道扩展和压缩卷积,来自中间特征的一阶和二阶空间导数)。这样的设计可以更有效地提取边缘和纹理信息。在推理阶段,将ECB模块转换为一个标准的
3
×
3
3 \times 3
3×3卷积层。图7展示了融合过程。训练过程包含三个步骤,两个阶段。
- 第一阶段,ECB模块配置多个分支
DIV2K+Flickr2K (DF2K)的预训练。从HR图像中随机剪切大小为 256 × 256 256 \times 256 256×256的HR patch,设置mini-batch size为64。利用Adam优化器最小化L1损失函数来训练原始的EFDN模型。初始学习率设置为 6 × 1 0 − 4 6 \times 10^{−4} 6×10−4,每200个epoch减半。epoch的总数是4000。
DF2K微调。HR patch size设为 1024 × 1024 1024 \times 1024 1024×1024, minibatch size设为256。EFDN模型通过最小化L2损失函数进行微调。初始学习率设置为 2.5 × 1 0 − 4 2.5 \times 10^{−4} 2.5×10−4,每200个epoch减半。epoch的总数是4000。 - 第二阶段,将ECB模块转化为单个3×3卷积层,得到最终简化的EFDN模型
DF2K微调。HR patch大小设置为 1024 × 1024 1024 \times 1024 1024×1024, mini-batch大小设置为256。最终的EFDN模型通过最小化L2损失函数进行微调。初始学习率设置为 5 × 1 0 − 6 5 \times 10^{−6} 5×10−6,每200个epoch减半。epoch的总数是4000。
XPixel
一般方法描述。XPixel团队提出了蓝图可分离残差网络(BSRN),如图8所示。BSRN遵循RFDN的整体架构,包括浅层特征提取、深层特征提取、多层特征融合和重构四个阶段。在第一阶段,浅层特征提取(包含输入复制、线性映射和深度可分离卷积)将输入图像的空间映射到更高维度的特征空间。然后堆叠高效的可分离残差模块ESDB来建立深度特征提取,逐步细化提取的特征。每个ESDB生成的特征在主干末端沿着通道维度融合。最后,由
3
×
3
3 \times 3
3×3卷积和非参数亚像素运算组成的重建模块生成SR图像。
构造模块描述。为了进一步优化,在所提出的蓝图可分离残差模块BSRB中采用蓝图可分离卷积(一种非常高效的卷积分解)来代替常规卷积,如图9所示。RFDN将对比感知通道注意力(CCA)替换为增强空间注意力(ESA)以获得更好的性能。研究发现,通道级特征尺度变换对深度浅的SR模型提高重建精度是有效的。因此,每个ESDB都引入一个通道加权层,用于对通道级的关系进行建模,以利用通道之间内在依赖的关系,但这也略微增加了成本。
模型细节。提出的BSRN模型包含5个ESDB。整体框架遵循RFDN。在网络末端采用全局特征聚合来聚合最终的特征,设为48(指的应该是聚合后的通道数)。相应的,通道权重矩阵设为
1
×
1
×
48
1 \times 1 \times 48
1×1×48来匹配维度,采用正态分布初始化,
σ
=
0.9
,
μ
=
1
\sigma=0.9, \mu=1
σ=0.9,μ=1。
训练策略。数据增强包括对DIV2K和Flickr2K训练图像进行随机旋转
90
°
90\degree
90°,
180
°
180\degree
180°,
270
°
270\degree
270°和水平翻转。在每个训练批次中,取72个
64
×
64
64 \times 64
64×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
−
4
5 \times 10{−4}
5×10−4,并采用余弦学习率衰减。与最近的SR模型不同,L2 loss用于重新训练,迭代次数为
1
×
1
0
6
1 \times 10^6
1×106次。该模型使用Pytorch 1.9.1实现,并使用4块GeForce RTX 2080ti gpu进行训练。
NJUST ESR
NJUST ESR提出了一种基于视觉transformer(ViT)的高效SR方法,该方法结合了卷积和多头自注意力的优点。采用包含ViT模块和反向残差模块的混合结构,同时提取局部和全局信息。该模块通过多次堆叠学习可区分的特征表示。
该网络由三个阶段组成,具体如图10所示。首先,卷积层将输入图像映射到特征空间。然后堆叠5个混合模块学习可区分的特征表示。最后,通过多个卷积层和pixel shuffle层生成HR图像。
提出的MobileSR模型是在DIV2K数据集上训练的。从LR图像中随机裁剪大小为 64 × 64 64 \times 64 64×64的patch作为输入,并将mini-batch size设为64。MobileSR通过Adam优化器最小化L1损失和频率损失。初始学习率设置为 5 × 1 0 − 4 5 \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所示,设计了一个非对称残差特征蒸馏模块,由非对称信息蒸馏和信息重组两部分组成。
提出的ARFDN中有4个ARFDB,整个框架遵循RFDN,使用全局特征聚合来增强最终特征,并将特征通道数量设置为50。在ARFDN训练时,将HR patch设置为 256 × 256 256 \times 256 256×256,并从HR图像中随机裁剪。mini-batch size大小设置为36。整个训练过程分为两个阶段。在第一阶段,使用Adam优化器最小化L1损失函数,对ARFDN模型进行1000个epoch的训练,初始学习率设置为 2 × 1 0 − 4 2\times 10^{−4} 2×10−4,每30个epoch减半。第二阶段采用L2损失函数,学习率设为 1 × 1 0 − 4 1 \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滤波器是通过深度可分离卷积实现的。
Super
Super团队提出了一种基于RFDN的方案,即IMDB中用于特征蒸馏的通道分割操作由
1
×
1
1 \times 1
1×1卷积替代。该方案与RFDN有三个不同之处:1)在网络中引入像素注意力,有效提高特征表示能力。2)采用模型重参数化技术,在保证推理计算量的同时,在训练过程中扩展网络容量。3)模型的进一步压缩是通过减少前三个块(block)的大小(size)来完成的。
框架。 该团队使用了与RFDN类似的框架,如图15所示。像素注意力特征蒸馏网络(RePAFDN)由四个部分组成:特征提取卷积、堆叠不同大小的特征蒸馏模块(FDB-S和FDB)、特征融合部分和重建模块。
给定输入
x
x
x,首先提取粗特征为:
F
0
=
h
(
x
)
F_0=h(x)
F0=h(x)
h
h
h表示特征提取函数,由
3
×
3
3 \times 3
3×3卷积实现,
F
0
F_0
F0表示提取的特征。接下来,将三个FDB- S和一个FDB进行堆叠,逐步细化提取的特征,公式为:
F
k
=
H
k
(
F
k
−
1
)
,
k
=
1
,
.
.
.
,
4
F_k=H_k(F_{k-1}),k=1,...,4
Fk=Hk(Fk−1),k=1,...,4
H
k
H_k
Hk表示第
k
k
k个特征蒸馏模块,
F
k
−
1
F_{k-1}
Fk−1和
F
k
F_{k}
Fk分别表示第
k
k
k个特征蒸馏模块输入特征和输出特征。所有中间特征都由
1
×
1
1 \times 1
1×1卷积和
3
×
3
3 \times 3
3×3卷积融合。然后将融合的特征输入像素注意力层:
F
f
u
s
e
d
=
H
P
A
(
H
f
(
C
o
n
c
a
t
(
F
1
,
.
.
.
,
F
4
)
)
)
F_{fused}=H_{PA}(H_f(Concat(F_1,...,F_4)))
Ffused=HPA(Hf(Concat(F1,...,F4)))
其中Concat表示通道维度的拼接操作,
H
f
H_f
Hf由
1
×
1
1 \times 1
1×1卷积后接一个
3
×
3
3 \times 3
3×3卷积组成,
H
P
A
H_{PA}
HPA是像素注意力层,
F
f
u
s
e
d
F_{fused}
Ffused是融合特征。最后,输出为:
y
=
U
p
(
F
f
u
s
e
d
+
F
0
)
y=Up(F_{fused}+F_0)
y=Up(Ffused+F0)
其中
U
p
Up
Up为重建函数(即
3
×
3
3 \times 3
3×3卷积和亚像素运算),
y
y
y为输出SR图像。
特征蒸馏模块。设计了两种不同的特征蒸馏模块(FDB)。原始FDB(图16a)与RFDB相似,不同之处在于移除了残差连接,并用重参数化块(reparameterized Block, ReB)代替了浅层残差模块(Shallow residual Block, SRB)。如图16c所示,ReB包含一个重参数化的
3
×
3
3 \times 3
3×3卷积(ReConv3)和LReLU函数。ReConv3的细节将在下一段中解释。FDB的整体结构可以描述为:
F
d
i
s
t
i
l
l
e
d
1
,
F
r
e
m
a
i
n
1
=
D
L
1
(
F
i
n
)
,
R
L
1
(
F
i
n
)
F
d
i
s
t
i
l
l
e
d
2
,
F
r
e
m
a
i
n
2
=
D
L
2
(
F
r
e
m
a
i
n
1
)
,
R
L
2
(
F
r
e
m
a
i
n
1
)
F
d
i
s
t
i
l
l
e
d
3
,
F
r
e
m
a
i
n
3
=
D
L
3
(
F
r
e
m
a
i
n
2
)
,
R
L
3
(
F
r
e
m
a
i
n
2
)
F
d
i
s
t
i
l
l
e
d
3
=
R
e
C
o
n
v
3
(
F
r
e
m
a
i
n
3
)
\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,Fremain1Fdistilled2,Fremain2Fdistilled3,Fremain3Fdistilled3=DL1(Fin),RL1(Fin)=DL2(Fremain1),RL2(Fremain1)=DL3(Fremain2),RL3(Fremain2)=ReConv3(Fremain3)
其中
D
L
i
DL_i
DLi表示第
i
i
i个
1
×
1
1 \times 1
1×1卷积,
R
L
i
RL_i
RLi表示第
i
i
i个ReB。为了进一步增强,将蒸馏特征
F
d
i
s
t
i
l
l
e
d
1
,
.
.
.
,
F
d
i
s
t
i
l
l
e
d
4
F_{distilled1},...,F_{distilled4}
Fdistilled1,...,Fdistilled4进行拼接并送入
1
×
1
1 \times 1
1×1卷积以及ESA模块。对于更轻量化的FDB (FDB-S),去掉了一个特征蒸馏层(即
1
×
1
1 \times 1
1×1卷积和一个ReB),如图16b所示。
模型重参数化。受最近模型重参数化工作的启发,采用了类似的技术来提高模型性能。具体来说,通过在训练过程中引入多分支卷积,对RFDB内部的SRB进行重新设计。如图17所示,在原始
3
×
3
3 \times 3
3×3卷积的基础上增加了两个分支,由一个恒等映射和两个级联的卷积层组成,大小分别为
1
×
1
1 \times 1
1×1和
3
×
3
3 \times 3
3×3。三个分支的输出相加后输入激活层,可以表述为:
F
R
e
C
o
n
v
3
t
r
a
i
n
i
n
g
=
F
i
n
+
C
o
n
v
3
×
3
1
(
F
i
n
)
+
C
o
n
v
3
×
3
2
(
C
o
n
v
1
×
1
(
F
i
n
)
)
F
R
e
C
o
n
v
3
i
n
f
e
r
e
n
c
e
=
C
o
n
v
3
×
3
r
e
p
(
F
i
n
)
\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*}
FReConv3trainingFReConv3inference=Fin+Conv3×31(Fin)+Conv3×32(Conv1×1(Fin))=Conv3×3rep(Fin)
其中
F
i
n
F_{in}
Fin表示输入特征,
C
o
n
v
3
×
3
r
e
p
Conv_{3 \times 3}^{rep}
Conv3×3rep表示重参数化的
3
×
3
3 \times 3
3×3卷积。由于三个分支的运算是完全线性的,因此重参数化结构可以等效转换为一个
3
×
3
3 \times 3
3×3大小的卷积进行推理。在实验中,重参数化技术使小模型的PSNR提高了0.02dB。
像素注意力。受PAN的启发,像素注意力可用于更有效地为最终的重建模块生成特征。具体来说,一个
1
×
1
1 \times 1
1×1卷积后接一个Sigmoid函数负责为特征图的所有像素生成一个3D注意力系数图。(如图18)。PA层可以表述为:
F
P
A
=
P
A
(
F
i
n
)
⋅
F
i
n
F_{PA}=PA(F_{in}) \cdot F_{in}
FPA=PA(Fin)⋅Fin
与PAN不同,FDB中没有引入PA,因为PA不利于运行时间。出于同样的考虑,在低分辨率空间中进行PA以节省计算量,而PAN的UPA中的PA在更高分辨率中进行。
模型中使用的通道数是48。FDB中的 D L 1 , ⋅ ⋅ ⋅ , D L 3 DL_1,···,DL_3 DL1,⋅⋅⋅,DL3,输出通道数为12。对于FDB-S中的 D L 1 DL_1 DL1和 D L 2 DL_2 DL2,输出通道数为24。使用DIV2K和Flickr2K作为训练集。对于第一个训练阶段,从LR图像中裁剪出 128 × 128 128 \times 128 128×128大小的patch作为输入。在第二个训练阶段,从LR图像中裁剪大小为 160 × 160 160 \times 160 160×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损失进行微调。
重参数。将一个特征设为
X
X
X,卷积权值设为
W
W
W,则有如下公式:
W
X
+
X
=
(
W
+
I
)
X
WX+X=(W+I)X
WX+X=(W+I)X
I
I
I是单位矩阵。如图19(b)所示,所有跳跃连接都无退化地从RFDB中删除。
权重归一化。权重归一化包括可学习的参数,可以反映权重的重要性,如图19©所示:
W
^
i
=
W
i
∣
∣
W
i
∣
∣
2
,
W
i
=
γ
i
W
^
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∣∣2Wi,Wi=γiW^i,i∈{1,2,...,N}
其中 W ∈ R N × C × H × W W \in R^{N \times C \times H \times W} W∈RN×C×H×W, W W W表示4维卷积核, γ ∈ R N \gamma \in R^N γ∈RN表示WN中的1维可训练尺度参数。
损失函数。训练时,模型以
ℓ
1
ℓ1
ℓ1损失和以下惩罚项进行训练:
L
S
I
=
α
∑
l
=
1
L
∑
i
∈
S
(
l
)
,
γ
i
2
L_{SI}=\alpha \sum_{l=1}^L\sum_{i \in S^{(l)}},\gamma_i^2
LSI=αl=1∑Li∈S(l)∑,γi2
其中α为损失权重,
γ
i
γ_i
γi表示
γ
γ
γ的第
i
i
i个元素,
S
(
l
)
S^{(l)}
S(l)表示第
l
l
l层中不重要的滤波索引集(filter index set)。
VMCL Taobao
为了提高IMDN中信息流的表示能力,VMCL淘宝团队提出了一种多尺度信息蒸馏网络(MSDN),由一组多尺度信息蒸馏模块(MSDB)堆叠而成,实现高效的超分辨率。受RFDN启发,使用 1 × 1 1 \times 1 1×1卷积实现信息蒸馏, 3 × 3 3 \times 3 3×3卷积进行特征细化,以缓解IMDB中通道分割操作的局限性。如图20所示,在第 l l l个MSDB中,使用多尺度特征细化模块(用绿色虚线框标记)来代替RFDB的 3 × 3 3 \times 3 3×3卷积。如图20所示,设计了一个比例因子为2的上采样细化模块。使用 1 × 1 1 \times 1 1×1卷积进行通道扩展,特征细化使用 g r o u p group group为2的 3 × 3 3 \times 3 3×3卷积,其感受野为 s h × s h \sqrt{s}h \times \sqrt{s}h sh×sh,以捕获更大的邻域,并等效作用于上采样的特征。然后,使用一个单独的 3 × 3 3 \times 3 3×3卷积进行与RFDB中相同的细化。最后,采用膨胀率为2的膨胀型 3 × 3 3 \times 3 3×3卷积进行下采样细化,该卷积具有 ( h / s ) × ( h / s ) (h/\sqrt{s}) \times (h/\sqrt{s }) (h/s)×(h/s)感受野,等效作用于下采样特征。通过应用多尺度特征细化,可以以较少的计算量获取输入特征的多尺度信息。此外,引入了大核注意力(LKA),通过捕获更大的感受野来增强特征。
Bilibili AI
Bilibili AI团队使用了重参数化残差特征蒸馏网络(Rep-RFDN),如图21所示。与原来的RFDN不同的是,在训练阶段,除了ESA模块中的 3 × 3 3 \times 3 3×3卷积层,其它所有 3 × 3 3 \times 3 3×3卷积层都被重参数化模块(RepBlocks, RB)替换。在推理阶段,repblock被转换为单个 3 × 3 3 \times 3 3×3卷积层。在ECB和ACB的启发下,在原始ECB中增加了 3 × 1 3 \times 1 3×1卷积和 1 × 3 1 \times 3 1×3卷积子分支(图22)。特征通道数设置为40,而原始RFDN50版本设置为50。
NKU-ESR
该团队提出了一种边缘增强特征蒸馏网络,称为EFDN,以实现在网络和设计损失的协同作用下保存高频信息。通过对现有的重参数化方法的回顾,构建了一个边缘增强卷积模块。利用神经结构搜索(NAS)对EFDN的主干进行搜索,以提高基础性能。同时,提出了一种边缘增强的梯度损失来校准重参数化模块的训练。
边缘增强的多分支模块。图23a给出了RepVGG Block、DBB和ECB的细节。为了提高原始卷积(vanilla convolution)在不同场景下的特征提取能力,一共设计了8种不同的结构。虽然更多的重参数化分支可以提高性能,但直接集成这些路径的昂贵的训练成本是无法承受的。同时,另一个问题是在合并并行分支时,边缘和结构信息可能被衰减。
针对上述问题,构建了一种更加精细和有效的重参数化模块,即边缘增强多分支模块(EDBB),它可以为底层任务提取和保存高级结构信息。如图23b所示,EDBB由七个包含单卷积和序列卷积的分支组成。
网络结构。在IMDN和RFDN的基础上设计了EFDN,用于在有限资源条件下重建边缘清晰、结构清晰的高质量SR图像。如图24所示,EFDN由浅层特征提取模块、多个边缘增强特征蒸馏模块(EFDB)和上采样模块组成。具体地说,利用一个原始卷积生成初始特征映射。
然后将这个粗特征送入到堆叠的EFDB进行进一步的信息细化。具体而言,RFDN中的浅层残差模块被提出的EDBB所取代,以构建EFDB。与IMDN和RFDN利用全局蒸馏连接逐步处理输入特征不同,采用神经结构搜索(NAS)确定特征连接路径。搜索的结构显示在橙色虚线框中。最后,通过上采样模块生成SR图像。
边缘增强梯度方差损失。在以往的工作中,普遍使用L1和L2损失以获得更高的评价指标。用这些损失函数训练的网络往往会导致结构信息的损失。虽然EDBB中加入了面向边缘的组件,但在七个并行分支的复杂训练过程中,很难保证它们的有效性。受梯度方差损失的启发,提出了一种边缘增强的梯度方差损失,利用EDBB的滤波器来监测模型的优化。具体来说,将HR图像
I
H
R
I^{HR}
IHR和SR图像
I
S
R
I^{SR}
ISR转为灰度图
G
H
R
G^{HR}
GHR和
G
S
R
G^{SR}
GSR。利用Sobel和Laplacian滤波器计算梯度图然后将梯度图展开为
H
W
n
2
×
n
2
\frac{HW}{n^2} \times n^2
n2HW×n2的块(patch)
G
x
,
G
y
,
G
l
G_x,G_y,G_l
Gx,Gy,Gl。第
i
i
i个方差图可以表示为:
v
i
=
∑
j
=
1
n
2
(
G
i
,
j
−
G
‾
i
)
n
2
−
1
v_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}_i
Gi表示第
i
i
i个patch的均值,由此,可以分别计算HR和SR图像的方差指标
v
x
、
v
y
、
v
l
v_x、v_y、v_l
vx、vy、vl。参照gv损失,不同滤波器的梯度方差损失:
L
x
=
E
I
S
R
∣
∣
v
x
H
R
−
v
x
S
R
∣
∣
2
L
y
=
E
I
S
R
∣
∣
v
y
H
R
−
v
y
S
R
∣
∣
2
L
l
=
E
I
S
R
∣
∣
v
l
H
R
−
v
l
S
R
∣
∣
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*}
LxLyLl=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
=
L
1
+
λ
x
L
x
+
λ
y
L
y
+
λ
l
L
l
L=L_1+\lambda_xL_x+\lambda_yL_y+\lambda_lL_l
L=L1+λxLx+λyLy+λlLl
NJUST RESTORARION
NJUST RESTORARION团队提出了用于轻量级图像SR的自适应特征蒸馏网络(AFDN)。图25所示的AFDN是由RFDN小改而来。AFDN使用4个AFDB模块作为构造块,整体框架遵循RFDN。
如图26所示,AFDN采用自适应融合模块(Adaptive Fusion Block, AFB)更有效地融合特征。AFB将特征分成两半。每个分支使用“Conv 3-LeakyRelu-Conv3”结构学习自适应注意力矩阵。然后AFB将特征与注意力矩阵相乘。最后,将两个分支的特征连接起来。
TOVBU
原理细节。在残差特征蒸馏网络的基础上,该团队提出了一种新型高效的快速残差特征蒸馏网络(FasterRFDN),用于单幅图像的超分辨率。所提出方法的总体框架如图27和图28所示。整个框架包含4个更快的残差特征蒸馏模块(FRFDB)。首先,为了进一步降低FRFDB模块的参数和计算复杂度,有效压缩了分层蒸馏的通道数;每层通道数从上到下分别为64、32、16、16。这些蒸馏特征通过三个
1
×
1
1 \times 1
1×1和一个
3
×
3
3 \times 3
3×3卷积进行提取。然后,这些特征沿通道维度进行拼接,然后送入增强空间注意力(ESA)。此外,为了增强模型的表示能力,将模型的通道数增加到64个。
训练策略。训练过程可分为三个阶段。
- 对DIV2K和Flickr2K (DF2K)进行预训练。从HR图像中随机裁剪大小为 256 × 256 256 \times 256 256×256的HR patch, mini-batch size设置为64。使用Adam优化器最小化L1损失函数来训练模型。初始学习率设置为 5 × 10 − 4 5 \times 10−4 5×10−4,每200k次迭代减半。迭代的总次数是1,600k。
- 微调DF2K。HR patch size分别为 512 × 512 512 \times 512 512×512, mini-batch size设置为64。通过最小化PSNR损失函数对模型进行了微调。初始学习率设置为 5 × 10 − 5 5 \times 10−5 5×10−5,每80k次迭代减半。总迭代次数为480k。
- 再次微调DF2K。HR patch size设置为 640 × 640 640 \times 640 640×640, mini-batch size设置为16。通过最小化L2损失函数对模型进行了微调。初始学习率设置为 1 × 10 − 5 1 \times 10−5 1×10−5,使用余弦学习率。
Alpan
Alpan团队根据以下步骤提出了基于RFDN的方法:1)对RFDB的重新思考。2) ESA模块和卷积对效率和PSNR的权衡。3)宽度和深度微调。
该团队的第一个观察结果是ESA模块是有效的,并显著改善了结果。因此,该团队在RFDB中每个
3
×
3
3 \times 3
3×3卷积后放置ESA模块。RFDB中所有蒸馏卷积(三个
1
×
1
1 \times 1
1×1卷积和一个
3
×
3
3 \times 3
3×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所示。
xilinxSR
IMDN如图30所示。它是由级联的信息多重蒸馏模块(IMDB)组成的轻量级信息多重蒸馏网络。具体来说,它采用了一系列IMDB模块(默认8个)和传统的上采用层(pixelshuffle)实现高分辨率图像重建。
网络剪枝。基于IMDN,首先进行网络剪枝。表2提供了不同尺寸的模型和相应精度。为了在准确性和运行时间之间实现均衡,IMDB块的数量从8个减少到7个作为基线。
可折叠模块。受SESR的启发,该团队应用了可折叠模块来提高剪枝后IMDN的精度。具体而言,如图31所示,在训练过程中采用密集块来增强表示。IMDB中的每个
3
×
3
3 \times 3
3×3卷积都被一个
3
×
3
3 \times 3
3×3卷积和一个
1
×
1
1 \times 1
1×1卷积所取代。这两个卷积并行运行,并对输出进行求和。在推理过程中,两个并行卷积被转换为一个
3
×
3
3 \times 3
3×3卷积。
训练策略。使用DIV2K数据集训练网络,并使用Flick2K作为额外的数据集。训练patch的大小从 64 × 64 64 \times 64 64×64逐渐增加到 128 × 128 128 \times 128 128×128,以提高性能。batchsize为32,epoch为500。该网络通过Adam优化器最小化L1损失和 2 × 1 0 − 4 2 \times 10^{−4} 2×10−4至 1 × 1 0 − 5 1 \times 10^{−5} 1×10−5的动态学习率进行训练。应用了数据增强,如旋转和水平翻转。
cipher
chipher团队提出了一种用于轻量级图像sr的端到端残差蒸馏网络(ResDN),如图32所示,所提出的ResDN由头部、主干和尾部三部分组成。
主干部分由4个ResDB和1个BFM组成。得到粗特征
F
0
F0
F0后,四个ResDB依次提取中间特征,即
F
i
=
H
R
e
s
D
B
i
(
F
i
−
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,
其中
H
R
e
s
D
B
i
(
⋅
)
H^i_{ResDB}(·)
HResDBi(⋅)为第i个ResDB的函数,
F
i
F_i
Fi为第i个ResDB提取的中间特征。
如图32所示,将 F i ( i = 1 , 2 , 3 , 4 ) F_i (i = 1,2,3,4) Fi(i=1,2,3,4)汇聚到BFM,先将特征维数通过 1 × 1 1 \times 1 1×1卷积减半,再经过ReLU激活函数(图32略),然后进行顺序拼接。这可以表述为
T i = { F i , i = 4 C o n c a t ( C o n v 1 ( F i ) , C o n v 1 ( T i + 1 ) ) , i = 3 , 2 , 1 T_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
式中, C o n c a t ( ⋅ ) Concat(·) Concat(⋅)和 C o n v 1 ( ⋅ ) Conv1(·) Conv1(⋅)分别表示沿通道维度的拼接操作和 1 × 1 1 × 1 1×1卷积。通过顺序融合,可以更充分地利用不同的层次特征。最后,粗特征 F 0 F_0 F0通过残差连接传输,生成深度特征 F d F_d Fd。
如图33所示,ResDB的主体由几个残差块(RB)堆叠而成。每个卷积层前面都有一个PReLU激活函数,PReLU中的每个通道都设置了一个可学习的参数。在RB中,为了方便蒸馏,首先采用
1
×
1
1 \times 1
1×1卷积来扩大通道维度。设总共有K个RB,第K个RB的输入为
F
r
e
s
K
F^K_{res}
FresK,通道数为
c
c
c,蒸馏特征的通道数为
d
d
d。在第K个RB中,
1
×
1
1 \times 1
1×1卷积得到的中间特征可以表示为
F
i
n
t
e
r
k
=
H
C
o
n
v
1
c
+
(
K
−
k
)
∗
d
(
δ
(
F
r
e
s
k
−
1
)
)
F^k_{inter}=H^{c+(K-k)*d}_{Conv1}(\delta(F^{k-1}_{res}))
Finterk=HConv1c+(K−k)∗d(δ(Fresk−1))
其中
δ
\delta
δ表示PReLU激活函数。
H
C
o
n
v
1
c
+
(
K
−
k
)
∗
d
H^{c+(K-k)*d}_{Conv1}
HConv1c+(K−k)∗d表示具有
c
+
(
K
−
K
)
∗
d
c + (K−K) * d
c+(K−K)∗d卷积核的
1
×
1
1 \times 1
1×1卷积。然后,将中间特征沿通道轴进行分割,每
d
=
16
d = 16
d=16个通道提取的特征流向后一个RB。
c
=
48
c = 48
c=48通道的保留特征流向
3
×
3
3 \times 3
3×3卷积中进一步细化。并且,在每个残差分支的开始处,蒸馏的特征与之前RB的残差分支(即当前RB的输入)进行拼接。最后,利用ESA和跳跃连接生成ResDB的输出特征。
NJU MCG
受WDSR的启发,图34a中的残差特征扩展块(RFEB)被用作特征蒸馏与扩展网络(FDEN)的基本单元。FDEN采用RFDN的架构,只是基本单元被RFEB取代,注意机制被图34c中的LapSA模块取代。LapSA模块负责对输入特征的每个空间位置进行尺度变换。为了实现这一目标,需要有一个根据空间重要性的全局评估,为不同的位置分配不同的比例因子。具体而言,对图像超分辨率任务来说,网络应该更多地集中在高频区域,因为复杂的细节通常很难恢复。因此,LapSA模块包含一个拉普拉斯金字塔(图34b),具有大的感受野,也可以提取高频细节。这个过程可以表述为
G 1 = f G ( G 0 ; θ G 1 ) , L 1 = G 0 − f U P ( G 1 ) G 2 = f G ( G 1 ; θ G 2 ) , L 2 = G 1 − f U P ( G 2 ) G 3 = f G ( G 2 ; θ G 3 ) , L 3 = G 2 − f U P ( G 3 ) 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所示, f G f_G fG为下采样函数,由池化层和 3 × 3 3 \times 3 3×3卷积层组成。 f U P f_{UP} fUP是对输入特征进行上采样的插值函数。L1、L2、L3分别为三个金字塔层的输出特征。提取的特征 L j ∈ [ 1 , 2 , 3 ] L_{j\in[1,2,3]} Lj∈[1,2,3]包含高频信息,用于LapSA模块(图34c)中生成比例因子。
如图34c所示,第一个
1
×
1
1\times1
1×1卷积用于降低通道维数,最后一个
1
×
1
1\times1
1×1卷积用于恢复通道维数。中间
1
×
1
1 \times 1
1×1卷积用于对金字塔特征进行聚合,然后利用sigmoid函数生成最终的缩放因子。
L
1
L_1
L1与缩放特征拼接,以增强输出特征
F
L
a
p
S
A
∗
F^* _{LapSA}
FLapSA∗,即
F
L
a
p
S
A
∗
=
f
C
o
n
v
1
(
[
F
L
a
p
S
A
,
L
1
]
)
F^* _{LapSA}=f_{Conv1}([F_{LapSA},L_1])
FLapSA∗=fConv1([FLapSA,L1])
FDEN中的滤波器数量 ( n f ) (nf) (nf)设置为29。提出的FDEN使用与RFDN相同的训练设置进行训练。训练数据集采用DIV2K和Flickr2K数据集。
IMGWLH
IMGWLH团队提出了RLCSR网络。整个网络结构如图35所示。首先使用3×3卷积层从低分辨率图像中提取浅层特征;然后将6个局部残留特征融合块(RFDB+)模块进行堆叠,对浅层特征进行深度特征提取。RFDB+是RFDB的改进版本。在不增加ESA模块参数的情况下,加入了更多的跳跃连接,以确保更好地保留有用的信息,并使用空洞卷积来扩展感受野,以保留更多的纹理细节。
为了生成紧凑的特征,引入CCM模型来融合来自多个RFDB+的中间特征。该模块是在MBFF模块和反向融合(backward fusion)模型的基础上开发的。CCM的详细结构如图37所示。使用提出的CCM,可以从几个RFDB+中观察到不同层次的特征逐渐融合到一个单一的特征图。通道shuffle操作和
1
×
1
1 \times 1
1×1卷积核可以整合所有基本残差块的特征,有助于以紧凑的方式提取更多的上下文信息。
为了进一步增强RFDB+生成的中间特征,引入LAM模块注意力机制,从多个中间特征中自适应选择具有代表性的特征。LAM的结构可参考图36。
然而,收集到的特征仍然可能冗余。为了解决这一问题,通过通道注意力和像素注意力的阿达玛乘法(Hadamard multiplication)为特征图分配权重。为了生成用于高分辨率重构的特征,引入了一个长的跳跃连接,该连接将深层特征与网络开始提取的浅层特征相加。
imgwhl
imgwhl团队提出了一种名为RFESR的轻量级SR网络,实现了紧凑的网络设计和快速的推理。具体来说,该工作基于IMDB的结构,并受到几种先进技术的启发。
所提出的网络如图38所示。首先使用
3
×
3
3 × 3
3×3卷积从输入中提取浅层特征。然后,将4个局部残差特征融合块(LRFFB)模块堆叠,对浅层特征进行深度特征提取。在LRFFB逐步细化特征后,再通过另一个
3
×
3
3 × 3
3×3卷积从最后一个LRFFN模块的输出中提取最终的深层特征。最后的深层和浅层特征通过跳跃连接进行元素级相加。最后,通过一个由
3
×
3
3 \times 3
3×3卷积和无参数的亚像素运算组成的pixel shuffle模块对高分辨率图像进行重构。
两个构建块描述如下所示。
LRFFB。每个LRFFB模块包含四个基本残差单元,即注意力引导自适应加权残差单元(AAWRU)。受MBFF模块的启发,引入后向特征融合(BFF)模块,对从AAWRU获取的多层次特征进行融合。第
i
i
i个LRFFB的第
j
j
j个AAWRU提取的特征用
F
i
j
F_{ij}
Fij表示。例如,第二个AAWRU在第一个LRFFB中提取的特征为
F
12
F_{12}
F12。具体来说,在第
i
i
i个LRFFB中,最后两个特征(
F
i
3
F_{i3}
Fi3和
F
i
4
F_{i4}
Fi4)由一个BFF模块进行聚合。BFF模块结构如图39©所示。它首先将两个输入特征拼接起来,然后通过pixel shuffle操作和
1
×
1
1 \times 1
1×1卷积核处理聚合的特征。BFF模块重复三次,直到所有级别的特征融合在一个LRFFB中。然后将输入特征以元素级的方式加到输出融合特征。由于残差可能包含冗余信息,因此将结果与可训练参数相乘,以选择有用的信息。
AAWRU。AAWRU模块的详细结构如图39(a)所示。受RFANet中提出的残差块的启发,MAFFSRN引入了增强的快速空间注意力模块(EFSA)。目的是实现空间注意力加权,使特征更集中在一些想要的区域,从而获得更有代表性的特征。AAWRU的残差结构的两个分支由自适应权重分配系数,这有助于在不增加参数的情况下激活更浅层的特征。EFSA模块的设计如图39(b)所示。利用上述模块,提出的模型以更少的参数较好地提取和整合紧凑的上下文信息,有助于生成更细腻的SR图像。
whu sigma
该团队基于RFDN设计了他们的方法。他们简单地用空洞卷积代替了RFDB模块中的卷积部分,并将RFDN的通道数调整为64。
未完待续
2022.11.1
好想分身…