SESR:一种基于重参数化思想的超高效图像超分方案

随着智能设备开始支持4K、8K分辨率,图像超分已成为非常重要的计算机视觉问题。然后现有大多深度超分方案计算量非常大。本文提出了一种超高效超分方案(SESR),它可以显著图像并降低计算复杂度。六个基准数据上的实验对比表明:所提SESR可以取得与SOTA模型相似或更好的图像质量同时仅需1/330~1/2不等的计算复杂度。因此,所提SESR可以在受限硬件平台上进行x2(即1080p超分到4K)与x4超分(即1080p超分到8K)。本文模拟了一个手机NPU的硬件性能水平对1080p图像进行x2和x4超分。本文的实验结果突出了现有超分方案在AI加速器方面所面临的挑战并证实SESR可以取得更快的速度。总而言之,SESR为超分任务在PSNR-计算量相关性方面提供了一个新的前沿基线。

考虑这样一个真实场景:基于Arm Ethos-N78(4-TOP/s)的手机NPU进行1080P图像超分到4K。这样的NPU非常适合于不同的手机或者智能设备上部署。上图(b)给出了不同超分模型理论上的FPS,即使是FSRCNN也仅仅能达到理论上的37FPS(即利用率100%);当采用更大更深的超分模型时理论处理速度甚至不足3FPS。因此,类似CARN-M的轻量型超分模型仍无法在这类真实地、资源受限的智能设备上运行。此外需要注意:FSRCNN这种小模型的很难取得高质量图像。因此,可以在资源受限设备上运行的更小、更高质量的图像超分方案的设计很有必要

为此,我们提出了一种新的超高效超分方案SESR,它基于Collapsible Linear Block(可折叠线性模块,由一系列线性卷积构成并可以在推理阶段进行折腾合并)设计;此外还对训练机制进行了改进。由此所得SESR在超分图像质量与计算复杂度方面取得了SOTA均衡,可以达到理论上的60FPS@4K。本文的主要贡献包含以下几点:

  • 我们提出了一类新的超高效超分辨率网络SESR,它为高效的SISR建立了一种新的技术状态。为此,我们提出了可折叠线性块来训练这些网络。我们的贡献在于线性参数化和整体模型架构设计。
  • 我们从理论上分析了现有的过参数化方法,发现与完全非过参数化网络相比,最近的一种方法不会引起梯度更新的任何变化。也就是说,在某些条件下(例如,如果网络不是太深),这种过参数化方法与相应的非过参数化模型相比没有任何优势。拟议的SESR修复了这些限制并改进了梯度特性
  • 我们的结果清楚地表明,在×2和×4 SISR的六个基准数据集上,SESR优于最先进的模型。我们实现了与现有模型相似或更好的PSNR \/SSIM,同时使用2到330×更少的MAC。因此,SESR可以在受约束的硬件上执行×2(1080p到4K)和×4(1080p到8K)SISR。我们还提供了经验证据来支持我们的理论见解。此外,我们将SESR添加到初步的神经架构搜索(NAS)算法中,以进一步改进结果
  • 最后,我们使用商用Arm Ethos-N78 NPU的性能估计器估计1080p到4K(×2)和1080p到8K(×4)SISR的硬件性能数字。这些结果清楚地显示了SISR在AI加速器上面临的现实挑战,并证明了SESR比现有模型快得多。我们还讨论了可以为1080p到4K SISR提供高达8倍运行时间的优化。当部署在真正的移动设备上时,SESR比Arm CPU和GPU上的基线速度快1.5×-2倍。

2 RELATED WORK

Efficient SISR model design
虽然最近提出了许多优秀的SISR方法(Kim et al.,2016;Tai et al.,2017b;Zhang et al.,2018c;b;b;Luo et al.,2020;Wang et al.,2020;Muqet al.,2020;Zhao et al.,2020),但由于计算成本高,很难在资源受限的设备上部署这些方法。为此,FSRCNN(Dong等人,2016)是SISR的紧凑型CNN。DRCN(Kim et al.,2016)和DRRN(Tai et al.,2017a)采用递归层来构建参数较少的深层网络。CARN(Ahn et al.,2018)、SplitSR(Liu et al.,2021)和GhostSR(Nie et al.,2021)通过将轻量剩余块与组卷积变量相结合来降低计算复杂性。因为这些和其他模型基于压缩的方法(Hui et al.,2018)与我们基于线性过参数化的紧凑网络设计正交,它们可以与SESR结合使用,以进一步降低计算成本和模型大小。

Perceptual SISR networks
另一组SISR方法创新了新的感知损失函数和生成性对抗网络(GANs)(Ledig et al.,2017;Wang et al.,2018;Lee et al.,2020)。这些技术可获得照片逼真的图像质量。然而,由于我们的主要目标是提高计算效率,因此在这项工作中,我们只使用传统的损失,如平均绝对误差。

Linear overparameterization in deep networks
关于线性重参数化的研究有限但重要(Arora et al.,2018;Wu et al.,2019a;Ding et al.,2019;Guo et al.,2020a;Ding et al.,2021),表明线性重参数化层在加速深层神经网络训练方面的益处。具体而言,(Arora et al.,2018)从理论上证明,完全连接层的线性重参数化可以通过充当时变动量和自适应学习率来加速深层线性网络的训练。最近关于ExpandNet(Guo et al.,2020a)和ACNet(Ding et al.,2019)的工作建议对卷积层进行过参数化,并表明它加速了各种CNN的训练,提高了收敛模型的精度。最近,RepVGG(Ding等人,2021)提出了另一种超参数化方案,该方案通过分析折叠残差连接,使最终网络看起来像VGG。

我们的方法与现有的线性过参数化工作(Guo et al.,2020a;Ding et al.,2019;2021)在以下几个方面有所不同:(i)尚未针对超分辨率问题提出线性过参数化块;(ii)我们从理论上研究了各种过参数化方法的性质:我们发现,如果没有适当地使用剩余连接进行增强,ExpandNet会陷入消失梯度问题,并且RepVGG梯度更新与VGG的梯度更新完全相同。也就是说,对于浅层网络,RepVGG和VGG的性能类似。我们提出的方法解决了上述两种方法的理论局限性;(iii)我们为我们的理论见解提供了具体的经验证据,并证明我们的方法优于ExpandNets和RepVGG;(iv)最后,现有方法并没有设计全新的网络,而是使用过参数化层来扩充现有网络,如MobileNets(Sandler et al.,2019)。在推断时,塌陷的网络与原始MobileNet相同。相比之下,SESR在线性块设计和整体推理模型架构方面都有所创新,以实现SISR的最新成果。

NAS for lightweight super resolution

NAS技术在许多应用中(Zoph等人,2018年)已被证明优于手动设计的网络。因此,最近的NAS工作通过利用轻量级卷积块(如组卷积、具有不同信道计数和内核大小的反向残余块、膨胀、残余连接、上采样层等)来实现SISR(Chu等人,2019年;Guo等人,2020b;Song等人,2020年;Wu等人,2021;Lee等人,2020年)。虽然我们的重点不是NAS,但我们证明,手动设计的SESR明显优于现有最先进的NAS设计的SISR模型。我们还证明,与我们的方法相比,在通用NAS中包含SESR块可以进一步改进结果

3 SUPER-EFFICIENT SUPER RESOLUTION

在本节中,我们将解释SESR模型体系结构、可折叠线性块和推理SESR网络。我们还提出了一种有效的SESR培训方法,以及如何将提议的块用于NAS。

3.1 SESR and Collapsible Linear Blocks

图2(a)示出了训练时的SESR网络。显而易见,SESR由多个可折叠线性块体和多个长短残余连接组成。线性块的结构如图2(b)所示。本质上,具有x个输入通道和y个输出通道的k×k线性块首先使用k×k卷积将激活扩展到p个中间通道(p>>x)。然后,使用1×1卷积将p个中间信道投影到y个最终输出信道。由于这两个卷积之间没有使用非线性,因此可以在推断时通过解析将其折叠为单个窄卷积层,因此,将其命名为可折叠线性块。最终的折叠卷积具有k×k核大小,而只使用x个输入通道和y个输出通道。因此,在训练时,我们训练一个非常大的深度网络,该网络在推理时解析为一个高效的深度网络。这种简单但功能强大的超参数化方法与残差相结合,在SISR任务的收敛性和图像质量方面显示出显著的优势

我们现在详细描述SESR模型架构(见图2(a))。首先,使用5×5线性块从输入图像中提取初始特征。接下来,第一个线性块的输出通过具有短残差的m 3×3线性块。注意,非线性(例如,参数ReLU或PReLU)在该短剩余加法之后而不是之前使用(参见图2(b))。然后将第一个线性块的输出添加到m 3×3线性块的输出中(参见图2(a)中的蓝色长程残差)。接下来,我们使用另一个5×5线性块来输出SCALE2通道。此时,输入图像被添加回所有输出激活(参见图2(a)中的黑色长程残差)。最后,深度到空间操作将H×W×SCALE2激活转换为(SCALE×H)×(SCALE×W)放大图像。上述深度到空间操作是与亚像素卷积中使用的像素无序部分相同(Shi等人,2016;Lee等人,2020),是SISR中获得放大图像的最标准技术之一。总的来说,我们的模型由{f,m}参数化,其中f表示除最后一个线性块外所有线性块的输出通道数,m表示SESR网络中使用的3×3线性块数。

请注意,ExpandNets中使用了分解为大k×k和1×1卷积的单个k×k卷积(Guo等人,2020a)。在第4节中,我们描述了这种没有相关残差的方法将如何导致消失梯度问题。我们在第5.5节的ExpandNets中展示了关于这个问题的经验证据。因此,3×3线性块上的短残差对于良好的精度至关重要。

Collapsing the Linear Block

一旦训练好SESR网络,我们就可以将线性块折叠成单个卷积层。算法1显示了使用以下参数折叠线性块的过程:(i)线性块内所有层的训练权重(W1:L),(ii)线性块的核大小(k),(iii)#输入通道(Nin)和(iv)#输出通道(Nout)。输出是解析折叠权重WC,它用单个小卷积层替换线性块。

Collapsing the Residual into Convolutions

回想一下,对于我们的3×3线性块,我们在残差加法之后执行非线性。这允许我们将残差折叠为折叠卷积权重WC。图2(c)示出了该过程。本质上,残差是一个具有单位权重的3×3卷积,即该卷积的输出与其输入相同。图2(c)显示了对于具有两个输入和输出信道的残差加法,该权重是什么样的。算法2显示了一个具体的伪码,用于将残差分解为卷积。最终单卷积权重(结合线性块和残差)由W3×3=WC+WR给出。

Why not use standard ResNet skip connections?

如果像在RESNET中一样使用常规残差连接(不能折叠),生成的模型不适用于受约束的硬件,因为剩余连接需要额外的内存事务,这对于SISR任务来说可能非常昂贵,因为特征映射非常大(例如1920×1080等)。这就是为什么使用算法2折叠残差非常重要的原因。

3.2 SESR at Inference Time

最终的推断时间SESR网络架构如图2(d)所示。很明显,所有线性块和短残差都折叠成单个卷积。因此,最终的推理网络几乎是一个类似VGG的CNN:只有m+2个卷积层,其中大多数具有f个输出通道,以及两个额外的长残差(参见图2(d)中的蓝色和黑色残差)。对于该网络,×2 SISR的#参数由P=(5×5×1×f)+m×(3×3×f×f)+(5×5×f×4)1给出。然后,#MACs可以计算为#MACs=H×W×P,其中H,W是低分辨率输入的尺寸。我们使用图2(d)所示的推理网络架构获得了最佳的PSNR结果。我们采用上述网络取得了最佳的PSNR指标。然而,为获得更好的硬件加速,我们构建了另一个版本的SESR,它移除黑色线部分的全局跳过连接并采用ReLU替代PReLU。我们发现:这种简单的调整并不会影响图像质量。

3.3 Efficient Training Methodology

如果我们在扩展的空间中直接训练可折叠的线性块,然后再折叠它们,则训练时间会增加。为了解决这个问题,我们开发了一个有效的SESR实现:我们在每个训练步骤折叠线性块(使用算法1和2),然后使用这个折叠的权重执行前向传递卷积。由于与特征图相比,模型权重是非常小的张量,因此这种折叠需要很短的时间。训练(向后传播)仍会更新扩展空间中的权重,但向前传播即使在训练期间也会发生在收缩空间中(见图3)。具体而言,对于SESR-M5和一批32张(64×64)图像,扩展空间中的训练需要41.77B MAC才能完成一次向前传递,而我们的高效实现只需要1.84B MAC。GPU内存和向后传递也有类似的改进(由于分层雅可比矩阵的大小减小)。因此,训练SESR网络是高效的。

3.4 SESR with Even-Sized and Asymmetric Kernels

虽然最近已经研究了具有均匀大小核(Wu et al.,2019b)和不对称核(Ding et al.,2019)的卷积,但还没有任何工作证明其在商业NPU上实现更好性能的真正潜力。使用较小的偶数大小(如2×2内核)和非对称内核(如3×2内核)代替3×3内核需要更少的操作和内存来执行卷积操作。利用这一观点,我们使用具有适当约束的通用可微NAS(DNAS)来搜索SESR网络,该网络可以容纳具有更小均匀大小和不对称内核的可折叠线性块,以进一步降低计算复杂度,并在不影响精度的情况下提高推理时间。

DNAS要求将主干超级网定义为搜索的起点。我们使用SESR主干,由一系列可折叠线性块组成。每个可折叠线性块可以选择卷积核的高度和宽度。这将在NAS期间促进大小不同的内核。还将跳过连接分支(如果并行卷积块对输入进行下采样,则为1×1卷积)并行添加到主干中的每个可折叠线性块,以创建用于选择层数的快捷方式。我们使用DNAS来选择内核的大小、通道的数量和主干网络中的层数,同时尝试满足硬件约束。由于推理时间在模型设计中起着重要作用,我们将延迟约束纳入了我们的DNAS中(遵循标准的硬件感知DNA实践)。请注意,这只是一个初步的概念证明,表明在NAS中引入SESR可以通过手动设计的网络进一步改善结果。这项工作的主要重点是手动体系结构设计和线性超参数化,而不是NAS

4 THEORETICAL PROPERTIES OF SESR

我们现在研究上述可折叠线性块体的理论特性,并将其与现有的超参数化方案进行比较:(i)ExpandNets(Guo et al.,2020a;Arora et al.,2018)和(ii)RepVGG(Ding et al.,2021)。在以下小节中,我们假设线性重参数化网络(Arora et al.,2018),其中所有块的原始线性层权重为w1,没有一般性和后续性损失,层由单个标量w2参数重参数化。我们将折叠权重表示为β。由于我们需要明确研究短残差的影响,我们假设输入和输出具有相同的维度。各种过参数化方案及其差异如图4所示。考虑一个标准的l2损失线性回归问题:

接下来,我们计算不同类型的过参数化块的梯度更新规则,以了解现有块的局限性以及所提出的方法如何缓解这些局限性

4.1 Gradient update for ExpandNets

4.2 Gradient update for SESR

4.3 Gradient update for RepVGG

5 EXPERIMENTAL SETUP AND RESULTS

我们首先描述了我们在六个数据集上的SESR设置和结果。然后,我们量化了我们提出的有效训练方法对训练时间的改善。我们进一步将SESR与ExpandNets和RepVGG进行了比较。接下来,我们评估了Arm Ethos-N78 NPU上1080p到4K(×2)和1080p到8K(×4)SISR的硬件性能,并使用SESR搜索空间显示了我们的NAS结果。我们还介绍了Arm Ethos-U55 NPU的开源性能评估。最后,我们将SESR部署在实际移动设备上,以量化Arm CPU和GPU上的性能

5.1 Experimental Setup

 5.2 Quantitative Results

上表给出了所提方法与其他超分方案在x2超分方面的性能对比。我们将超分方案划分为三档:

  • Small:参数量不高于25K;
  • Medium:参数量介于25K与100K之间;
  • Large:参数量大于100K。

很明显,SESR在三档模型中均处于领先地位。具体来讲:

  • 在小模型方面,SESR-M5取得了比FSRCNN更加的PSNR/SSIM指标同时具有更少的参数量和计算量;甚至我们最小的SESR-M3仍能以更少的计算量优于其他超分模型;
  • 在中等模型方面,我们仅仅对比了TPSR。很明显,SESR-M11以更少的参数量和计算量优于TPSR;
  • 在大模型方面,SESR-XL同样可以取得相当甚至超越的性能,同时具有更少的参数量和计算量,比如,SESR-XL的计算量要比CARN-M少3.75倍,比NTSRN少8.55倍

上表给出了x4超分方面的性能对比,我们同样可以观察到与上述类似的结论。但同时需要注意:由于SESR在上采样阶段没有引入多个卷积,因此计算量节省更多。

  • 在小模型方面,SESR-M5的计算量要比FSRCNN少4.4倍,且性能更优;
  • 在中等模型方面,SESR-M11仅需1/2的计算量即可取得相当的性能;
  • 在大模型方面,SESR-XL取得了与LapSRN相当甚至更好的结果,同时仅需1/22.5的计算量;
  • 同时需要注意到:SESR-M11与VDSR性能相当,而计算量仅为VDSR的1/330;

总而言之,在x2超分方面,SESR-M11取得了VDSR级的性能而计算量仅为FSRCNN层面;在x4超分方面,SESR-M11取得了VDSR级的性能而计算量仅为FSRCNN的40%。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值