Abstract
在超分辨率(SR)领域,近年来 Transformer (Transformers)以较少的FLOPs和参数数量超越了卷积神经网络(CNNs),因为它们能够处理长距离依赖并基于实例自适应地调整权重。在本文中,作者证明了尽管当前SR领域对CNN的关注较少,但CNN在直接效率衡量上超过了Transformers。通过将Transformers的优势融入CNN中,作者旨在实现计算效率与性能提升的双重目标。然而,在主要处理大型图像的超分辨率领域使用大核(large kernel)会导致巨大的计算开销。为了克服这一点,作者提出了新颖的方法来应用大核,与原始大核相比,可以将延迟降低86%,并利用元素级注意力模块来模仿实例依赖的权重。因此,作者提出了用于高效超分辨率的部分大核CNN(PLKSR),在4的放大倍数下,在四个数据集上取得了最先进的表现,与SRFormer-light相比,延迟降低了68.1%,最大GPU内存占用减少了80.2%。
1 Introduction
图像超分辨率(SR)旨在从低分辨率(LR)观测中重建高分辨率(HR)图像。在SR中的一个基本挑战是任务的不适定性,即单一LR图像可能对应于多个有效HR重建。卷积神经网络(CNN)[1, 2, 3, 4, 5, 6, 7, 8]的出现,由于它们能够有效地处理局部特征,显著地推进了这项任务。流媒体使用的近期增长增加了在资源受限的高清设备(如智能手机)上恢复或增强高分辨率图像的需求,这推动了轻量级SR模型的需求。由于这些需求,使用多头自注意力(MHSA)在浮点运算(FLOPs)和参数数量上优于CNN的Transformers [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]正作为一个有希望的替代品出现。
然而,作者观察到FLOPs和参数数量并不总是与更直接的效率度量(如延迟或最大GPU内存占用(MGO))一致。 在表1中,作者比较了处理单一图像时,代表性的CNNs [2, 3]和Transformers [12, 16]所需的FLOPs、参数数量、延迟和MGO。令人惊讶的是,尽管平均拥有8.1倍和9.5倍的FLOPs和参数数量,CNNs实际上在效率上超过了Transformers,平均延迟低2.4倍,最大GPU内存占用低4.9倍。因此,本研究旨在通过整合促进Transformers性能优越的因素来增强基于CNN的模型,同时保持计算效率。
图1:在BSD1002数据集上的性能、延迟和最大GPU内存占用(MGO)比较。作者的PLKSR与现有最佳SR方法相比表现最好,与SRFormer-light相比,延迟和MGO分别降低了68.1和80.2。所有指标都是通过使用RTX4090 GPU在FP16精度下恢复高清(1280720)图像来衡量的。
Transformer因其能够处理长距离依赖并生成实例相关权重而优于CNN[12]。通过严格的研究和实验,作者开发了一个高效的基于CNN的模型,成功整合了Transformer处理长距离依赖和提供实例相关加权的能力。首先,为了提高效率,作者的方法专注于仅处理特定的输入特征块。尽管之前的方法[21, 22]在划分特征块时缺乏明确的准则,但作者的严格实验提出了关于延迟方面的最佳划分准则。尽管通常通过堆叠多个小卷积核来扩大CNN的感受野[23],但作者的调查表明,使用单个大核的延迟更快,与多次堆叠小核相比,MGO水平相似。此外,作者的可视化分析(见图4和图5)表明,与使用多个小核相比,使用单个大核更接近于Transformer捕捉低频特征(如边缘和结构)的能力。最后,尽管动态卷积提供了生成实例相关权重的直接方式,但作者的实验发现这对延迟产生了不利影响。因此,作者将元素注意力(EA)引入到作者的模型中,它为输入特征张量中的每个元素分配个体注意力权重,优化性能。
基于这些见解,作者提出了用于高效超分辨率的部分大核CNN(PLKSR)。作者的PLKSR融合了CNN和Transformer的优势,在规模为的四个数据集上取得了最先进性能,同时比ELAN-light[13]降低了42.3%的延迟和45.6%的MGO。即使进行缩小,PLKSR的小型变体仍保持高性能,与利用大感受野的其他方法相比,展示了卓越的效率。消融研究证实了作者模型中的每个 Proposal 都对性能改进有显著贡献。与在边缘设备(iPhone 12)上具有大感受野的PLKSR小型变体(PLKSR-tiny)和其他方法相比,作者的PLKSR-tiny展示了最低的延迟,突显了其卓越的效率。此外,通过可视化模型用于重构图像的像素,作者证明了与其它方法相比,PLKSR有效地利用了其大核捕捉到的长距离依赖。
作者的贡献可以总结如下:
作者开发了一个基于CNN的模型,该模型融合了Transformer处理长距离依赖关系和实例相关权重的能力,优化了输入特征的处理和划分,以提高效率。作者提出的模型在四个数据集上实现了最先进的表现,同时在延迟和MGO方面有显著减少。通过视觉分析和实证测试,作者证明PLKSR有效地捕捉到了用于超分辨率的基本低频特征,类似于Transformer。
2 Related Work
Super-Resolution Models
自从SRCNN [1] 表现出比现有超分辨率方法更佳的性能以来,各种研究[2, 3, 4, 5, 24]提出了使用卷积神经网络(CNNs)的超分辨率模型。最近,由于Transformers [11, 12] 能够处理长距离依赖,它们在FLOPs和参数数量更低的情况下超越了CNNs。许多研究者通过扩大感受野[14, 16]、提取各种特征[15, 17, 18],或者通过移除层归一化和提出简化的MHSA来提高推理速度[13, 20]。
Large kernel CNNs
自从VGGNet [23]以来,大多数卷积神经网络(CNNs)都使用了3×3的卷积核,但最近的研究通过在CNN中使用大尺寸卷积核报告了与Transformer相当的性能。例如,ConvNeXt [25]通过利用7×7的深度卷积(DWC)与Swin Transformer [10]取得了可比的性能,而DWNet [26]引入了动态卷积,专注于注意力和DWC之间的相似性。RepLKNet [27]和SLAK [28]采用了逆隐式广义矩阵乘法(iGEMM)DWC以提高效率,并将卷积核大小扩展到51×51。同样,在超分辨率任务中,也有尝试通过DWC [6],最大池化[7]和动态卷积[19]来模仿MHSA操作。
FasterNet [21] 提出了部分卷积(PConv),它对通道的子集执行卷积操作。SHViT [22] 通过在通道子集上计算单头自注意力来减少多头的冗余。PCEVA [8] 顺序地使用PConvs提取多尺度特征,并逐渐减少部分卷积通道。
3 Analysis
以下是3分析部分的开始。
Discripency Btw. Direct and Indirect Metrics
先前的研究集中于将Transformer应用于超分辨率(SR)任务,认为它们比卷积神经网络(CNNs)更高效,因为它们需要的参数更少,浮点运算(FLOPs)也更低。然而,近期的研究[21, 29, 30]提出参数数量和FLOPs可能并不准确反映模型的效率。为了在SR任务中验证这一点,作者测量了基于CNN[2, 3]和基于Transformer[12, 16]的代表性模型的参数数量和FLOPs,同时还考虑了更直接的指标,如延迟和最大GPU内存占用(MGO)。在表1中,EDSR-baseline的FLOPs和参数分别是SRFormer-light的1.4倍和1.6倍,看似效率不高,但在延迟方面却是15.5倍 更快,MGO方面5.4倍 更低。此外,RCAN的FLOPs和参数数量分别是SRFormer-light的15.4倍和18.1倍,但在延迟上却快了1.5倍,MGO减少了4倍。这可以解释为卷积模块比多头自注意力(MHSA)模块[31]具有更高效的内存访问模式,并且很少使用那些增加延迟而FLOPs增加不多操作,如 Reshape 或层归一化[29]。
Importance of Large Kernel
处理长距离依赖的能力是将Transformers与传统CNN区分开来的关键优势。然而,在主要处理大型图像的SR任务中,简单模仿这一优势会导致巨大的计算开销。受到先前研究[21, 22]的启发,作者仅在通道的一个子集中处理长距离依赖。如图2(a)所示,作者观察到,直到16个通道时,延迟的增加是最小的。因此,在作者的研究中,作者在16个通道处处理长距离依赖,这与先前研究的通道选择有所不同。在CNN中,实现大接收域通常是通过使用单个大核或堆叠的33核来实现。通过衡量这两种方法的直接指标,作者确认单个大核具有更低的延迟和略高的内存使用,如图2(b)所示。此外,作者比较了在作者小型变体模型中单个大核和堆叠33核的性能。如表2所示,单个大核的延迟更低,性能优于堆叠33核。
4 Proposed Methods
在这一部分,作者展示了为SR提出的模型,如图3所示。最初,低分辨率图像通过一个33卷积进行处理,然后顺序地通过N个PLK块,并以另一个33卷积结束以生成。这如方程1所示。
在一条并行路径中,如前人工作[4]所建议,的RGB值重复r次以产生,如方程2所示,其中表示放大因子。在PixelShuffle操作[32]之后,变成了最近邻插值图像。
表2:比较不同扩大感受野的方法。所有指标均使用RTX4090 GPU在FP16精度下恢复HD(1280720)图像进行测量。最佳结果以粗体显示。
最终,通过将每条路径中的和相加创建最终的特性图,并通过应用操作将通道维度移动到空间维度来重构放大的图像。这等同于方程3,其中和分别表示特征图的高度和宽度。
PLK块由三个主要模块组成:用于局部特征提取的双卷积通道混合器(DCCM),用于处理长距离依赖的部分大核卷积(PLKC),以及用于实例依赖性调节的元素注意力(EA)模块。输入特征到PLK块是顺序通过三个主要模块进行处理,然后通过最终的11卷积,紧接着将其加回到,如方程4所示。
4.1.1 Double Convolutional Channel Mixer.
在Transformer模型中,前馈神经网络(FFN)常用于处理通道信息。用和分别表示输入和输出,FFN可以通过方程式5表示。扩展了通道的维度(),而通过将通道维度恢复到原始尺寸来聚集通道信息(),其中表示特征图的通道大小。
近来,已有几个变体[16, 17, 7, 19]被引入,它们将卷积层融入FFN以增强高频细节。不考虑残差跳跃或门控机制,这些方法本质上可以分为两类。
方程式6对应于卷积通道混合器(CCM)[7],而方程式7引入了倒置卷积通道混合器(ICCM)的概念。此外,作者引入了双重卷积通道混合器(DCCM),它用33卷积替换所有MLP,与仅利用一次33卷积的现有方法形成对比。
作者将所有MLP替换为3x3卷积以提高提取局部特征的能力,并通过实验证实这比其他通道混合方法效果更好。在PLK块中,输入对应于,输出对应于。#### 4.1.2 部分大核卷积模块。
在进入部分大核卷积(PLKC)模块后,基于C通道将输入特征图分为两个特征图:用于卷积,用于恒等映射。随后,模块仅在上应用KK大核卷积,生成大核过滤后的特征图,表示为。然后,将与按通道维度进行拼接,得到。这可以表示为方程式9。
4.1.3 Element-wise Attention Module.
逐元素注意力(EA)是一种注意力机制[24],它保持了空间和通道尺寸的不变,这与其他注意力机制(如空间/通道注意力)不同,后者通常涉及降维[34, 35, 36]。作者利用这个模块进行类似于Transformers的实例依赖性调节,具体如公式10所示。
从经验上讲,作者发现仅在使用更深层模型时利用EA能提高性能,因此在小型变体中作者不使用它。
5 Experiments
以下是第5节实验部分的开始部分。
Implementation Details
作者使用Torch 2.1.0、CUDA 12.1和BasicSR来实现作者的模型。PLKSR模型包含28个PLK块和64个通道,采用16通道(C)和17的核大小(K)的PLKC配置。PLKSR-tiny模型缩减到12个PLK块和64个通道,采用16C和13K的PLKC,去掉了PA模块以利用更多块。
Training Details
PLKSR模型在DIV2K [2]数据集上进行训练,而两个版本的PLKSR-tiny分别在不同数据集上进行训练:一个在DIV2K上,另一个在DF2K(DIV2K + Flicker2K [37])上。作者使用L1损失函数,以9696大小的64个随机翻转水平方向并旋转的数据增强块来训练模型。作者采用Adam [38]优化器,其中1 = 0.9,2 = 0.99来训练模型,迭代次数为450k。初始学习率设为2e-4,在[100k, 200k, 300k, 400k, 425k]次迭代时减半。PLKSR3和PLKSR4按照先前研究[2, 12, 20]的方法,在预训练的PLKSR2上进行微调,而PLKSR-tiny对所有尺度都是从头开始训练的。对于微调,作者使用1 = 0.9和2 = 0.99的Adam优化器来训练模型,迭代次数为50k。微调的初始学习率设为2e-4。所有训练都使用FP16精度以提高训练速度。
Quantitative Results
为了评估作者SR模型的效率,作者使用延迟和MGO作为主要指标。这些指标是在使用RTX4090 GPU以FP16精度恢复高清(1280×720)图像时测量的。MGO是通过PyTorch提供的torch.cuda.max_memory_allocated 函数来测量的。为了性能评估,作者使用峰值信噪比(PSNR)和结构相似性指数测量(SSIM),在YCbCr空间的Y通道上计算,并将图像边界裁剪掉与缩放因子相等的倍数。作者在五个广泛使用的数据库上评估性能:Set5 [39],Set14 [40],BSD100 [41],Urban100 [42],和Manga109 [43]。
在表3中详细给出的比较分析中,PLKSR与包括EDSR [2],SwinIR-light [12],ELAN-light [13],SwinIR-NG [33],OmniSR [15],SRFormer-light [16],DLGSANet-light [19],和DITN [20]在内的SOTA SR方法进行了评估。在2的缩放因子下,PLKSR显示出与ELAN-light相似的延迟,同时在Set5,Set14和BSD100数据集上取得了最佳的PSNR。值得注意的是,在与SRFormer-light在BSD1002的比较中,PLKSR在显著减少延迟和MGO(分别低至68.5%,86.1%)的同时,取得了相同的性能。在4的缩放因子下,PLKSR比ELAN-light延迟减少了43.3%,同时在Set5,BSD100和Urban100数据集上记录了最高的PSNR值。尽管有些模型没有使用预训练策略,但PLKSR在性能和效率上都超过了SOTA模型,证实了PLKSR出色的效率-性能权衡。
为了强调PLKSR的效率和可扩展性,作者使用大型核卷积[6]或MHSA(-like)机制[7, 20]的SOTA轻量级SR模型评估了PLKSR-tiny。如表4所示,在2的缩放因子下,PLKSR-tiny在Manga109数据集上获得的PSNR超过39,同时显示出第二低的延迟和MGO。令人印象深刻的是,在4的缩放因子下,PLKSR-tiny与DITN-real相比延迟降低了28%,并在所有评估的数据集上实现了最高性能。这表明PLKC是可扩展的,并且是处理轻量级模型中长距离依赖的最合适的实现。
Ablation Study
作者的消融研究评估了核大小、通道混合器选择以及EA集成的影啊。如表5所示,研究显示核大小的增加与性能提升之间存在正相关关系,突显了较大卷积核的优势。在各种通道混合器中,在相似的延迟条件下,DCCM被证明是更优的选择,提供了最高的性能。此外,适应EA模块在性能和延迟之间实现了最理想的平衡,展示了作者设计选择在优化SR模型效率方面的有效性。
Comparison on Mobile device
为了验证该架构在实际场景中的实用性和广泛适用性,作者在移动设备(iPhone 12)上评估了PLKSR-tiny的延迟。作者将在两种图像尺寸上,将PLKSR-tiny与其他采用大核卷积[6]或MHSA(类似)机制[7, 20]的ESR模型进行了比较。如表6所示,在两种图像尺寸上,PLKSR-tiny在其竞争模型中实现了最低的延迟。这些结果证明了PLKC模块是处理实际边缘设备上长距离依赖的最有效实现。
Large Kernel Analysis
MHSA有效地捕捉到了低频特征,如形状和边缘,与捕捉高频纹理的卷积相对比[44]。为了验证这一点,作者对SRFormer-light×2的MHSA特征图以及PLKSR×2的大/小核特征图进行傅里叶变换后的相对对数振幅进行了可视化。在图4中,可以看出大核倾向于捕捉类似于MHSA的低频特征,而小核捕捉与MHSA和大核相对比的高频特征。
图5中的进一步可视化突显了大核捕捉结构特征(如面部轮廓)的能力,以及小核捕捉物体中发现的纹理细节(如头发或帽子)的能力。这意味着PLKC可以轻松捕捉到小核难以捕捉的特征,类似于MHSA。这解释了PLKSR在使用两种特征互补时的出色性能。
Comparison on LAM
为了证明PLKSR实际上利用了PLKC捕捉到的长距离依赖来重建图像,作者引入了LAM [45]工具,它用于表示模型为了重建特定区域所利用的像素范围,并将其与SRFormer-light [16]进行比较。作者的模型使用17×17的大核,而SRFormer-light使用16×16的窗口MHSA,这是一个类似的感受野以便比较。如图6所示,PLKSR用于重建红色边框的像素范围比SRFormer-light更广。令人惊讶的是,PLKSR几乎利用了修补块相邻区域的所有像素,而在远离修补块的区域主要捕捉到边缘,这与之前实验中展示的PLKC的结构偏置是一致的。
Visual Results
为了展示PLKSR提高的视觉质量,作者视觉上比较了它在Urban100数据集上与其他最新的SR模型(SwinIR-light [12],OmniSR [15],CRAFT [18],SRFormer-light [16])放大结果的差异。在图7中,红色边框内的详细放大区域展示了每个模型进行放大的精确度以及这些重建的PSNR值。与那些常产生过度平滑的纹理或未能捕捉到细节的竞争模型不同,PLKSR成功地重建了图像并捕捉到了边缘。这强烈支持了这样一个事实:与其它SR模型相比,PLKSR产生了更令人满意的视觉效果。
6 Conclusion
本研究证明了与普遍认为的相比,CNN在效率上不如transformers的观点相反,实际上它们在直接指标上要高效得多。作者通过将transformers的优势融入CNN中,减少了计算开销,使用17×17卷积获得大的感受野,以及元素级的注意力机制实现上下文依赖的权重。PLKSR在四个数据集上的4倍缩放上取得了最先进的表现,比ELAN-light的延迟降低了42%。作者的实验还显示,PLKC在现代GPU和边缘设备上的表现与MHSA相似,但效率显著更高。作者相信PLKC将激发CNN在SR任务上的复兴,而这项任务目前受到的关注不如transformers。
Appendix A Implementation Details
本节描述了实施细节。
Ditn
由于DITN [20]只发布了DITN-real的代码,作者根据论文描述和可用的代码重新实现了DITN-tiny和DITN。作者重新实现了DITN-tiny,根据论文中的方程式(7),将DITN-real的Tanh和Conv11替换为层归一化。作者还通过将DITN-tiny中的UPONE单元数量增加三倍来重新实现DITN。
Dlgsanet
DLGSANet[19]的动态卷积[26]由于不支持FP16精度,因此不包括在自动混合精度中。因此,作者将CUDA线程数增加了一倍。由于论文使用测试时的局部 Transformer (TLC)[46]报告性能,作者也使用TLC报告指标。
Mobile Conversion
由于PyTorch的Tensor.var 函数无法被CoreML转换,作者从零开始实现了它。此外,由于CoreML不支持PLKSR中使用的动态值分配和torch.repeat_interleave 函数,作者使用split/concatenate 和reshape/permute 重新实现了这些功能。
Appendix B Structural Re-parameterizations
为了探索性能改进,作者考虑了结构重参化。作者比较了在使用大核时,各种结构重参化[27, 28, 47]的性能。然而,正如表7所示,最佳性能出现在没有结构重参化的情况下。由于这些方法通常与DWC在高层次视觉任务中集成,作者将这一结果归因于不同领域和大核方法的影响。
Appendix C GPU-optimized implementations
在本节中,作者比较了最近提出的针对长距离优化的GPU实现,以及由PLKSR使用的部分大核卷积(PLKC)。
Depth-Wise Convolution
在最近的高 Level 视觉任务中,有几项研究采用了基于逆隐式广义矩阵乘法(iGEMM)的大核尺寸进行深度卷积(DWC)[27, 28, 47],正如之前在超分辨率(SR)研究[6]中也有所提及。在探索各种大核尺寸实现的过程中,作者发现尽管它们对于一般的高级视觉任务效率很高,但它们并没有为SR任务带来同样的效率。表8显示,iGEMM DWC比Pytorch的标准DWC要慢得多。这种差异是因为iGEMM DWC针对大批量进行高吞吐量优化,而Pytorch的DWC更适合处理小批量尺寸和大空间尺寸特征图的SR任务。一致地,iGEMM DWC随着批量尺寸的增加,延迟几乎没有增加,而Pytorch DWC的延迟显著增加。值得注意的是,PLKC是最有效的,它在所有批量尺寸上提供最低的延迟和最大的GPU内存占用(MGO)。
Flash Attention
Flash Attention最近被引入,以改善多头自注意力(MHSA)的内存访问模式,从而加快推理速度并减少GPU设备上的MGO。为了展示PLKC相对于最优化MHSA实现的优越性,作者评估了通过Flash Attention-2加速的各种SR Transformers [12, 16]的延迟和MGO。由于不可用,作者排除了由于移位窗口的注意力 Mask 和相对位置偏差。表11显示,在缩放因子为4时,通过Flash Attention-2加速的SwinIR-light快25%。## 附录D 对其他LK方法的比较
最近的研究探讨了在SR任务中使用大核,利用的方法包括深度卷积[6]和动态卷积[19]。为了展示PLKC的优越性,作者将PLKC替换为其他大核方法并比较它们的性能。作者调整了每个模型中的主块数量以使延迟相等,由于动态卷积具有实例依赖权重,作者省略了元素注意力(EA)。如表9所示,PLKC不仅实现了最低的延迟,还提供了最佳的结果,从而证实了其卓越的性能。
Appendix E Comparison on Self-Attention
SHViT [22] 通过在部分通道上计算单头自注意力实现了最先进的性能和延迟。考虑到这种方法与作者在处理部分通道上的长距离依赖方面的相似性,作者将 PLKC 替换为 ELAN 的加速自注意力(ASA)[13],并采用部分通道设计进行比较性能。作者调整了主块的数目以使延迟相等,并省略了元素注意力(EA),因为 ASA 具有实例相关的权重。如表格10所示,PLKSR 在所有数据集上均优于 ASA 变体,从而突显了 PLKC 的卓越效率和性能。
Appendix F More Comparison on LAM
在本节中,作者展示了使用作者的PLKSR和SRFormer-light [16]的额外局部注意力图(LAM)[45]结果。图8显示,与SRFormer-light相比,PLKSR在各种示例中利用了更广泛的像素范围,这表明PLKSR有效地利用了由PLKC捕获的长距离依赖特征。
Appendix G More Visual Results
表10:部分通道设计的比较。所有指标均使用RTX4090 GPU在FP16精度下恢复高清(1280×720)图像进行测量。MGO表示最大GPU内存占用。最佳结果以粗体显示。
表11:通过Flash Attention加速的Transformers比较。F表示每个模型都转换为使用Flash Attention-2 [31]。所有指标均使用RTX4090 GPU在FP16精度下恢复高清(1280×720)图像进行测量。最佳结果以粗体显示。
图8:更多SRFormer-light [16]和PLKSR在Urban100×4挑战性示例上的LAM结果。LAM属性表示用于恢复红色边界框块的像素范围,贡献区域表示LAM的密度。
图9:在Set14和Urban100数据集上的更多视觉结果。最佳和次佳结果分别以粗体和下划线显示。
参考
[1].Partial Large Kernel CNNs for Efficient Super-Resolution.