LML 用于图像超分辨率的低到高多级视觉变压器 !

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

picture.image

picture.image

picture.image

picture.image

picture.image

想要了解更多:

前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」

行业技术方案 👉「AI安防、AI医疗、AI自动驾驶」

AI模型部署落地实战 👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」

欢迎扫描上方二维码,加入「 集智书童-知识星球 」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!

免责声明

凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。

picture.image

近年来,基于视觉 Transformer 的(ViT)超分辨率方法已经展示出惊人的性能。然而,这些方法存在显著的复杂性,导致高的推理时间和内存使用。此外,使用窗口自注意力(WSA)的ViT模型在处理其窗口外区域时面临挑战。

为了应对这些问题,作者提出了低到高多级 Transformer (LMLT),该方法为每个 Head 使用具有不同特征大小的注意力。

LMLT在通道维度上划分图像特征,逐渐降低较低 Head 的空间大小,并将自注意力应用于每个 Head 。这种方法有效捕捉了局部和全局信息。

通过将较低 Head 的结果集成到较高 Head 中,LMLT克服了自注意力中的窗口边界问题。

大量的实验表明,作者的模型显著降低了推理时间和GPU内存使用,同时保持了或甚至超过了最先进的基于ViT的图像超分辨率方法的性能。

作者的代码可供https://github.com/jwgdmkj/LMLT。

1 Introduction

单图像超分辨率(SISR)是一种技术,可将低分辨率图像转换为高分辨率图像,已在计算机视觉领域积极研究。过去,传统方法,如最近邻插值和双线性插值,被用于处理这个问题,但是超分辨率研究近期在基于卷积神经网络(CNN)的方法(特徵卷积神经网络)[10; 63; 26]和视觉 Transformer (ViT)上取得了显著的性能提升。

自SRCNN[10]提出以来,基于CNN的图像超分辨率架构已通过利用多个卷积层来理解多个尺度下的上下文。这些架构通过残差和/或密集连接来传递理解。

然而,使用CNN进行超分辨率存在许多性能和效率问题。首先,CNN模型可能会变得更加复杂和深度,以提高性能,导致模型大小和内存使用增加。为了解决这个问题,一些模型在模块之间共享参数[1; 48],但这种方法无法在推理时保证效率[47]。SAFMN[47]通过使用多头方法[52]分割图像特征并应用池化来平衡准确性和复杂性,但这种方法无法捕捉到由于 Kernel 大小有限而产生的长时间依赖关系。

ViT模型与CNN模型相比,在性能方面表现更好,因为它能够有效地建模全局上下文交互[8; 64]。例如,SwinIR[32]使用了Swin Transformer [35]进行图像超分辨率,表明了变换架构的有效性。之后,结合ViT和CNN的混合模型被提出,实现了显著的性能提升[15]。

但是,ViT模型在输入尺寸增长时,计算成本会呈指数增加。为了解决这个问题,作者开发了窗口自注意力(WSA)[35],该方法通过将图像划分为窗口进行自注意力操作。尽管如此,WSA在窗口边界上存在质量损失,且窗口之间缺乏交互[17; 43]。此外,传统的ViT基模型将自注意力层 ConCat 起来[32; 69],这严重增加了计算负载和推理时间。

本文提出LMLT(Low-to-High Multi-Level Transformer)来提高推理时的效率,同时保持性能。作者的方法类似于SAFMN,使用多头方法[52]分割图像特征并应用池化。每个头都应用自我注意力机制。与传统的自注意力块堆叠自注意力层(图1(a))不同,作者将自注意力层并行堆叠,以减少计算(图1(b))。这意味着作者将头数和层数(深度)集成到单个机制中。请注意,作者称具有最多池化的低头,随着向上移动头数,池化应用次数减少。

picture.image

由于所有 Head 的窗口大小相同,上部 Head 关注较小区域,有效地捕捉局部上下文。相反,下部 Head 关注较大区域,学习更多的全局信息。这种方法使作者能够动态地捕捉局部和全局信息。此外,作者引入了残差连接[18],使来自更聚合的下部 Head 传递全局信息到较少聚合的上部 Head 。这使得上部 Head 的窗口能够看到更广泛的区域,从而解决跨窗口通信问题。

作者在DIV2K [50]和Flickr2K [33]上的广泛实验表明,基于ViT的模型可以有效地实现模型复杂度和准确度的平衡。与其他最先进的结果相比,作者的方法显著降低了内存使用和推理时间,同时提升了性能。具体而言,作者的基本模型(60通道)和大型模型(84通道)分别将内存使用降低到38%和54%,推理时间降低到22%和19%,与ViT基础的超分辨率模型(如NGswin [8]和SwinIR-light[32])相比,在规模时。此外,作者的模型在所有基准数据集上的平均性能增加了0.076db和0.152db。

2 相关研究

基于CNN的图像超分辨率是增强图像分辨率的一种深度学习最广泛的方法。自SRCNN [10]提出一种使用三个端到端层还原高分辨率(HR)图像的方法以来,诸如VDSR [26]和DRCN [27]等方法利用更深的神经网络结构。这些方法引入了递归神经网络结构以产生更高质量的结果。ESPCN [44]通过用子像素卷积替换双立方卷积上采样,显著提高了超分辨率的速度,这一技术被许多后续工作所采用 [32;69; 15]。

为了解决CNN的接收范围有限的问题,一些研究行人将注意力机制融入超分辨率模型,以捕捉更大的区域。RCAN [65]应用通道注意力来适应性地调整每个通道的特征,而SAN [9]使用二阶注意力机制捕捉更长的空间上下文信息。CSFM [21]动态调节通道和空间注意力,使模型能够选择性地强调图像的各种全局和局部特征。作者使用与CNN核相似的窗口大小,但每个特征的 spatial大小有所不同。这使得作者的模型能够通过对来自较小空间大小的全局信息和来自较大空间大小的局部信息进行获取,从而动态捕捉局部和全局信息。

基于ViT的图像超分辨率已经超越了基于CNN的方法,通过高效地建模长程依赖关系并捕捉上下文之间的全局互动[32;46]。在ViT在各种领域(如分类[35;12],目标检测[4;57],和语义分割[56;45])的成功之后,几种方法试图将其应用于低级视觉任务。IPT [5]构建了一个基于Transformer的大型预训练模型用于图像处理。然而,ViT的复杂性随输入大小的平方增长。为了解决这个问题,许多方法旨在降低计算负荷,同时捕获局部和全局信息。

例如,SwinIR [32]使用了Swin-Transformer [35]模型进行图像重构。Restormer [58]在通道方向组织自注意力以保持全局信息,并实现高性能的图像去噪。HAT [6]将自注意力(捕获代表信息)与通道注意力(保持全局信息)相结合。为了在不增加额外复杂性的情况下结合局部和全局信息,作者将包含全局信息的上部 Head 特征添加到包含局部信息的下部 Head ,从而使窗口能够看到超出自身区域并覆盖更广泛的区域。

高效图像超分辨率的研究主要集中在使超分辨率模型更高效。CNN基的模型FSRCNN [11]在SRCNN [10]的基础上,通过去除双立方插值预处理和增加通过反卷积的尺度来改进,极大地加快了计算速度。CARN [1]通过多阶段连续残差模块重新使用特征。IMDN [24]通过网络逐步优化特征。然而,提高性能通常需要堆叠很多卷积层,导致计算负载和内存使用的增加。

相比之下,ViT基的模型ELAN [64]旨在通过在自注意力中使用各种窗口大小来增强空间适应性。HNCT [15]将CNN和Transformer结构结合起来,以提取具有全局依赖关系的地域特征。NGswin [8]通过应用Ngram [40]解决了原始Swin Transformer [35]中的跨窗口通信问题。尽管取得了这些进步,过深的堆叠自注意力机制的显著计算负载仍然限制了ViT基超分辨率模型的效率。为了解决计算负载问题,作者将自注意力层并行连接,整合多头和深度(层数),以减轻计算。这,再加上减少特征的空间大小,使得作者的模型更加高效。

此外,通过知识蒸馏 [19]、模型量化 [25]或剪枝 [67; 53]等方法来实现网络轻量化。一些方法通过使用相同的架构但改变超参数,如网络块数或特征通道数 [69; 7; 31],来区分解类和轻量级图像超分辨率模型。

3 Proposed Method

总体架构图 (图2(a))。 首先,作者使用一个3x3卷积从图像中提取浅层特征。接下来,作者将堆叠多个LHS块(即,低至高自注意力块)来提取深层特征。在每个LHS块中,特征经过LN [2]进行Layer Normalization(LN),然后经过作者提出的LMLT(低至高多级Transformer),再经过LN和CCC [47]。残差连接也得到了使用。最后,作者使用一个3x3卷积滤波器和像素交错层[44]来重建高质量图像。关于CCC [47]的更多细节,请参阅附录E。

picture.image

低至高管件 (图2(b))。 LMLT在LHS块内运行。经过第一个LN [2]后,作者将特征分割为H个头,并使用多头方法 [52]对每个分割特征进行池化,具体地,最上层的特征不进行池化,而随着头数的降低,池化逐渐增强,每个后续头的身高和宽度都减半。每个特征接着经历一个自注意力机制。自注意力的输出插值到上层特征的大小,并逐元素相加(称为低至高连接)。然后,上层头再次经历自注意力的过程,这样一直向上到最顶层头。最后,所有 Head 的自注意力输出恢复到原始大小,拼接在一起,通过一个1x1卷积在事先学习好的权重乘以前层特征,完成计算。

注意力层 (图2(c))。 在每个注意力层中,特征被分割成N个非重叠窗口。计算 Query 和键的点积,然后计算与值的点积。LePE [12]被用作位置编码并加到值上。结果乘以2,然后顺序传递到上层头,直到达到最上层头。

如何工作? 作者提出的LMLT有效地捕捉了局部和全局区域。如图3所示,即使窗口大小相同,特征的空间大小不同,视图区域的宽度也会变化。具体而言,当自注意力应用于较小的特征时,可以获得全局信息。而随着空间大小的增加,较大特征的红色窗口在上一阶段已从其他区域获取了信息,因此可以利用其自身的限制来进行自注意力计算。这样,较低的 Head 捕获全局上下文,较高的 Head 捕获局部上下文,从而确保跨窗口通信。图4可视化了每个 Head 捕获的信息类型。从图4(a)到4(d),当H假设为4时,每个 Head 提取的特征图像通过在通道维度上平均它们得到。第一个 Head (4(a))捕获相对较小的模式,而第四个 Head (4(d))捕获全局模式。在图4(e)中,这些局部和全局模式被组合在一起,为了提供全面表示。通过将这个与原始特征(4(f))进行融合,它强调了超分辨率中重要的部分。

picture.image

picture.image

计算复杂度。 通过并行连接自注意层并减少空间大小,作者提高了模型的效率。在提出的模型中,给定特征 和固定窗口大小,LMLT中的窗口数量在降低一个头时减少了一半,通过将特征图的空间大小除以2。另外,由于每个 Head 代替了深度,通道数也减少到了。因此,每个 Head 的总计算由方程1给出。其中,i表示第(i-1)个 Head 。

另一方面,在WSA [35; 32]中,自注意力层是依次堆叠的,空间大小和通道数并未减少,因此窗口数量仍为,通道数为。因此,总计算量可用公式2表示。

因此,在作者的 Proposal 模型中,如果头数大于1,与WSA [35; 32]相比,窗口数和通道数都减少,从而降低了计算负荷。头数越多,计算负荷的减少就越大。

4 Experiments

数据集 遵循之前的研究所用,作者使用 DIV2K [50] 中的 800 张图像作为训练集,以及 Flickr2K [33] 中的 2,650 张图像作为测试集。对于测试,作者使用 Set5 [3], Set14 [59], BSD100 [41], Urban100 [23] 和 Manga109 [42] 数据集。

实现细节 将作者的模型分为四种类型:具有 36 通道的 Tiny 模型,具有 36 通道和 12 块的 Small 模型,具有 60 通道的 Base 模型,以及具有 84 通道的 Large 模型。首先,用于训练的低分辨率(LR)图像被裁剪为 的小块。将旋转和平翻增益应用于这些训练数据。设置块数,头数和增长比分别为 8(除 Small 模型外),4 和 2。作者使用 Adam 优化器 [28] 具有 和 运行 500,000 迭代次。初始学习率被设置为 ,并通过余弦退火方案 [36] 将其减少到至少 。为了加速实验速度,作者将 backends.cudnn.benchmark 设置为 True,将 backends.cudnn.deterministic 设置为 False 对于 36 通道的模型。为了考虑由于此设置导致的潜在结果变异性,作者对 LMLT-Tiny 模型进行了三个独立的实验,并报告了这些结果的平均值。所有其他实验只进行一次。

评估指标 使用峰值信噪比(PSNR)和结构相似性指数(SSIM)[55] 来评估恢复的原始图片质量。这些指标在 YCbCr 颜色空间中的 Y 通道上进行计算。为了测试模型的效率,作者遵循 SAFMN [47] 的方法,测量在不同模型上放大一张总共 50 张图像时的 GPU 内存占用(#GPU Mem)和推理时间(#AVG Time)。这些结果基于将大小分别为 , 和 的随机图像放大到 , 和 倍。

Comparisons with State-of-the-Art Methods

图像重建比较。为了评估所提出的模型的性能,作者在不同的缩放因子下与最先进的轻量化有效SR模型进行比较。使用PSNR、SSIM[55]、参数数量和FLOPs[56]作为主要性能评估指标。注意,FLOPs指创建分辨率为1280720的图像所需的计算量。

作者首先将LMLT-Base与IMDN[24],LatticeNet[39],RFDN-L[34],SRPN-Lite[67],HNCT[15],FMEN[14]和NGswin[8]进行比较。表1显示,在大多数基准数据集上,作者的LMLT-Base实现了最佳或次佳性能。值得注意的是,作者在Manga109数据集上的性能显著提高,而作者的模型比其他模型参数少30%。

picture.image

该部分是关于一些深度学习模型在 ImageNet 数据库上的表现。其中每一行代表了在某个模型下的不同参数设置下,模型在该数据集上的精确度(Precision)和 F1 分数(Recall+Precision)。数据以表格形式排列,包括列名、三个模型以及其他一些特定指标。

表格从左至右依次为:

  • LMLT-Large(Ours)
  • IMDN
  • LatticeNet
  • RFDN-Lite
  • SRFN-Lite
  • HNCT
  • FMEN

根据表格数据,可以看到各个模型在不同参数设置下的表现。其中,"SwinIR-light" 和 "ELAN" 模型在某些参数下取得了最好的结果,而 "SRformer-light" 在某些参数下表现最佳。

这些结果可能为深度学习模型在图像识别任务上的应用提供有用的参考,比如在选择和调整模型参数时。

编号模型名称参数量(K)标量吞吐量(G)最小吞吐量(G)最大吞吐量(G)
1LMLT-Base(Ours)1,007K67G34.52/0.928230.50/0.8456
2LMLT-Base(Ours)660K75G34.58/0.908230.53/0.8458
3ESRF [37]751K-34.42/0.926830.43/0.8433
4SwinIR-light [32]918K111G34.62/0.928930.54/0.8463
5ELAN [64]628K90G34.61/0.928830.55/0.8463
6SRformer-Light [69]861K105G34.67/0.929630.57/0.8469
7LMLT-Large(Ours)1,279K144G34.64/0.929330.60/0.8471
8IMDN [24]715K41G32.12/0.894828.58/0.7811

根据实验结果,作者的模型在参数数量、标量吞吐量及实时性方面均优于其他模型。在标量吞吐量方面,LMLT-Large(Ours)模型的峰值性能提升了6.7%,线性性能提升了4.4%;在实时性方面,LMLT-Base(Ours)模型的平均性能降低了1.81%,平均延迟提高了1.16%。实验证明,通过调整数据分布以及引入高效的卷积策略,作者能够在保证低延迟的同时获得更好的性能。

此外,作者还对LMLT进行了改进,构建了LMLT-large和LMLT-Base两种模型。实验结果显示,LMLT-Base模型在861K参数和105G计算规模下,实现了34.67/0.9296的峰值性能,与SwinIR-light和ELAN模型相媲美;LMLT-large模型在1,279K参数和144G计算规模上,实现了34.64/0.9293的峰值性能,优于其他模型。这些结果证实了作者的模型具有良好的可扩展性。

本实验的结论表明,作者提出的LMLT模型在具有低延迟、低功耗和高性能的情况下,具有很好的应用前景。未来,作者将继续优化模型结构,并尝试将其应用于更多的任务领域。

接着,作者将LMLT-Large模型与其他SR模型进行了比较。比较组包括ESRT [37], SwinIR-light [32], ELAN [64],SRFormer-light [69]。如表1所示,作者的大型模型在大多数数据集上的性能排名 first 或 second。

在五个测试数据集中,LMLT-Large在Manga109[42]数据集的所有尺度上都优于其他模型,并且在Set14[59]数据集上也表现最好。具体而言,与SRFormer-light[69]相比,在作者的比较组中,在Urban100[23]上,该模型在各个尺度上的性能提高了0.13dB,0.24dB和0.15dB。此外,作者还展示了作者的模型在推理时间和GPU内存占用方面也具有显著优势。LMLT-Tiny和LMLT-Small与其它最先进的SR模型进行比较的结果可以在附录F中找到。

内存和运行时间比较。为了测试所提出模型的效率,作者将LMLT模型的性能与其他ViT基础的当前最先进的SR模型进行了比较,在不同尺度上。评估LMLT-Base与NGswin[8]和HNCT[15],以及LMLT-Large与SwinIR-light[32]和SRFormer-light[69]进行比较。结果如表2所示。

picture.image

作者观察到,与其他基于ViT的SR模型相比,LMLT-Base和LMLT-Large在推理速度和内存使用方面都非常高效。具体而言,与NGswin[8]相比,作者的LMLT-Base在、和尺度上保持相似的性能,同时减少内存使用61%,62%,和61%,并将推理时间减少78%,76%,和78%。同样,在与SwinIR[32]进行比较时,尽管保持相似的性能,但内存使用分别降低了44%,43%和46%的每个尺度,并且推理时间平均减少了87%,80%和81%。这表明了所提出的模型的效率和有效性。

表3详细说明了作者所提出的方法和SwinIR-light[32]中的模块的运行时间,具体是从第一层归一化(LN)[2]到LHSB和WSA的时间。作者的LMLT显著减少了自注意力机制所需的运行时间。具体而言,LMLT-Large在尺度上减少了94%的运行时间,在尺度上减少了90%,在尺度上减少了88%,与SwinIR相比。考虑到SwinIR和作者的方法之间的性能相似,这相当于效率显著提高。请注意,总共测量了50个随机图像的推理时间。时间测量通过torch.cuda.Event的record和elapsed_time()进行,由于日志输出期间的硬件访问延迟,模块的运行时间可能比表2中报告的更长。在附录F中可以找到与其他模型比较内存使用和推理速度的结果。

picture.image

定性比较。 如图5所示,作者在Manga109[42]数据集上比较了作者的模型与其他模型的差异。如所示,作者的LMLT成功地在其他模型无法很好地重建无纹理区域。此外,作者增加了更多的比较图像,并进一步在Urban100[23]数据集的尺度上比较了作者的提出模型LMLT-Tiny与CARN[1], EDSR [33], PAN [68], ShuffleMixer [46]和SAFMN[47]。详细结果可以在附录F中查看。

picture.image

Ablation Study

低-高连接的效果 。作者研究了低-高元素加总(低-高连接)和小模型元素的现象。如表4所示,低-高连接产生了显著的影响。具体来说,在城市100 [23] 数据集上,PSNR 在所有尺度上增加了0.04 dB至0.05 dB,SSIM [55] 在 尺度上增加了近0.0011,这证明了包括低-高连接的好处。附录B可视化了在城市100 [23] [23]中具有和没有低-高连接的差异特征,表明它显著减少了窗口间的边界线。另外,附录B还为将提出的低-高连接添加到SAFMN [47]中,对于 , 和 尺度进行了实验。

picture.image

多尺度头的效果 。表5验证了使用多尺度的方式的有效性,通过实验发现,当某个头不进行池化处理。具体来说,作者比较了作者提出的LMLT与不应用池化和低-高连接的情形,以及不进行合成的情形。结果表明,性能在所有情况下的表现都低于提出的模型。附录B表明当不应用池化时,窗口间的信息连接不足,无法正确捕获有用的特征,尽管空间信息得到了保留。

picture.image

重要性与LHSB、CCM和MLP。作者分析了LHSB和CCM的影响及其交互作用。遵循SAFMN[47]中的方法,作者分别移除外部LHSB和CCM,以检查性能。结果在Table 6的'模块'列中展示。移除LHSB后,参数数量减少近10%,内存使用减少至近74%,并在Urban100[23]数据集上降低0.59 dB的PSNR。相反,移除CCM后,参数数量减少近90%,PSNR降低1.83 dB。在将MLP添加到自注意力模块之后,如传统Transformers[52, 13]中那样,参数数量减少约69%,PSNR降低约0.85 dB。为了保持与前两个实验相同的层数(8层),作者进行了另一个实验,其中只有4个模块,导致参数数量减少49%,PSNR降低仅0.55 dB,表明性能损失最小。这表明LHSB和CCM的组合有效地提取特征。此外,将FMBConv[49]集成后,参数数量减少近58%,PSNR降低0.28 dB,而内存使用保持相似。

聚合和激活的重要性。 作者分析了每个 Head 聚合特征用1x1卷积或乘以原始输入之前应用激活的影响。结果见Table 6的'Act / Aggr'列。如果没有聚合,则在Urban100[23]数据集上的PSNR降低0.10 dB。如果应用激活,否则不乘以原始输入输出特征,那么在Urban100[23]数据集上PSNR降低0.12 dB。省略这两步会导致更大的降低0.22 dB,表明包括聚合和激活更有效。相反,在没有激活函数的情况下直接将特征乘以原始特征,会提高性能0.1 dB。详细实验结果见附录C。

位置编码的重要性 。最后,作者研究位置编码在性能提升中的作用。结果体现在表格6的 'PE' 列。移除位置编码导致所有基准数据集上的性能降低,尤其是在Urban100 [23]数据集上,峰值信噪比(PSNR)降低0.06 dB,结构相似性指数(SSIM)降低0.0006。使用RPE [35]结果在Set14 [59]数据集上使PSNR的最大值增加0.03 dB,但对其他数据集影响很小。此外,参数和GPU内存分别增加5K和45M。

结论

在本论文中,作者引入了从低到高的多级 Transformer (LMLT)以实现高效的图像超分辨率。

通过结合多头和缩减,作者的模型解决了传统ViT模型的过量计算负荷和内存使用。

此外,LMLT应用自注意力机制处理不同尺度的特征,将低头输出聚合以指示高头,从而解决跨窗口通信问题。

作者的广泛实验表明,LMLT在模型复杂度和性能之间取得了良好的平衡,降低了内存使用和推理时间,同时保持了或改进了图像重构质量。这使得提出的LMLT成为一种高度有效的超分辨率解决方案,适用于资源受限的设备。

参考

[1].LMLT: Low-to-high Multi-Level Vision Transformer.

picture.image

扫码加入👉「集智书童」交流群

(备注: 方向+学校/公司+昵称 )

picture.image

点击下方“ 阅读原文 ”,

了解更多AI学习路上的 「武功秘籍」

0
0
0
0
评论
未登录
暂无评论