其他分享
首页 > 其他分享> > SESR: 一种基于重参数化思想的超高效图像超分方案

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

作者:互联网

1. 摘要

随着智能设备开始支持4K、8K分辨率,图像超分已成为非常重要的计算机视觉问题。然后现有大多深度超分方案计算量非常大。本文提出了一种超高效超分方案(SESR),它可以显著图像并降低计算复杂度。六个基准数据上的实验对比表明:所提SESR可以取得与SOTA模型相似或更好的图像质量同时仅需1/330~1/2不等的计算复杂度。因此,所提SESR可以在受限硬件平台上进行x2(即1080p超分到4K)与x4超分(即1080p超分到8K)。

本文模拟了一个手机NPU的硬件性能水平对1080p图像进行x2和x4超分。本文的实验结果突出了现有超分方案在AI加速器方面所面临的挑战并证实SESR可以取得更快的速度。总而言之,SESR为超分任务在PSNR-计算量相关性方面提供了一个新的前沿基线。

2. 介绍

下图给出了现有图像超分在PSNR-计算复杂度方面的对比示意图,需要注意的是,这里的统计信息为360p到720p超分。很明显,现有超分方案在图像质量与计算复杂度方面需要进行不同程度的均衡。
在这里插入图片描述
考虑这样一个真实场景:基于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。本文的主要贡献包含以下几点:

  1. 提出一种超高效超分方案SESR,在质量-计算方面取得了最佳均衡;
  2. 所提SESR取得了与现有超分相当的PSNR/SSIM指标,同时需要更少的计算量(2x~330x),因此,SESR可以在资源受限设备上进行4K或者8K超分;
  3. 我们同时模拟了Arm Ethos-N78 NPU的硬件性能以估计1080p图像进行x2和x4超分,结果清晰的展示了现有超分在AI加速器方面存在的挑战,并说明了SESR的快速特性.

3. 网络结构

在这里插入图片描述
上图(a)给出了所提SESR训练阶段的框架图,它由多个可折叠模块、长短跳过残差链接构成。可折叠线性模块结构示意图见上图(b)。本质上来讲,kk线性模块的输入通道数为x,输出通道数为y,它先采用卷积进行扩展得到p(p>>x)个临时通道,然后采用11卷积进行压缩。由于两个卷积之间无非线性激活层,因此可以在推理阶段进行合并,我们将此称之为"可折叠线性模块"。因此,我们可以在训练阶段训练一个非常大的网络,而在推理阶段折叠为高效网络。这是一种简单而有效的过参数化方案。通过与残差组合可以得到显著的收敛速度提升、图像质量改善。

首先,SESR采用55线性模块提取输出特征;然后,送入到m个带短链接的33线性模块中(注:非线性激活位置Add之后);其次,第一个线性模块的输出与m个线性模块之后的结束相加;再次我们采用另一个5*5线性模块输出 S c a l e 2 Scale^2 Scale2通道,同时将所得结果与所有输出激活相加;最后采用depth-to-space进行图像上采样得到超分图像。
在这里插入图片描述
一旦完成SESR的训练,我们就可以将线性模块折叠为单个卷积层。上图给出了折叠过程介绍。考虑到我们是在Add之后添加非线性激活,因此我们还可以将上述折叠后的卷积与残差进行更进一步的折叠,折叠算法见下图。
在这里插入图片描述
通过上述两步折叠,我们可以得到: W 3 ∗ 3 W_{3 * 3} W3∗3​ = W C W_C WC​+ W R W_R WR​。通过折叠,在推理阶段SESR可以简化为Fig.2(d)的形式,即不存在残差模块,所有线性模块和短链接均折叠成了单个卷积。因此,最终的推理网络极为简单:仅仅m+2个卷积,外加两个全局跳过链接。

折叠后的x2超分网络参数量:
在这里插入图片描述
我们采用上述网络取得了最佳的PSNR指标。然而,为获得更好的硬件加速,我们构建了另一个版本的SESR,它移除黑色线部分的全局跳过链接并采用ReLU替代PReLU。我们发现:这种简单的调整并不会影响图像质量。

4. 实验

为说明所提方法的有效性,我们首先在六个基准数据集上进行了定量与定性分析;然后进行消融实验分析SESR不同优化方案的影响性分析;最后我们模拟硬件性能进行1080p图像的x2和x4超分。

4.1 量化结果

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

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

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

4.2 主观评估

接下来,我们从主观感受方面来看一下不同超分方案的效果对比。可以看到:SESR-M5明显优于FSRCNN(细节更锐利);SESR-M11甚至全场景优于FSRCNN。也就是说:在同等计算负载下,所提SESR取得了更好的图像质量。
在这里插入图片描述
在这里插入图片描述

4.3 网络性能

在这里插入图片描述
接下来,我们以Arm Ethos-N78 NPU的性能作为评估模拟不同模型运行1080p超分时的硬件性能,结果见上表。从中可以看到:相比FSRCNN,SESR-M5的计算量更少(28G vs 54G),内存占用更少,推理速度更快(约快6.15倍)。这是因为:硬件性能不仅受计算量影响,同时还受带宽影响。而超分任务的带宽则重度依赖于特征的尺寸,SESR-M5的带宽占用仅为FSRCNN的一半。这揭示了在资源受限设备上超分任务的挑战所在。

正如所提到的,由于过大的输入导致超分应用的带宽非常大。为进一步加速推理,输入可以拆分多个块,因此带宽 阻塞可以尽可能避免。我们将1080p图像拆分为400*300块并执行x2超分(我们需要进行17.28次推理以覆盖整个输入图像),其性能可参考上表,总的推理时间约为21.77ms,也就是约46FPS,比FSRCNN快8倍(注:这仅仅为近似估计,不作为实际推理对比)。在真实场景中,还会受到边界重叠、软件等问题的影响。由于SESR-M5非常小,所以这些影响非常小。在手机NPU上,这种处理方式可以达到接近60FPS的处理速度(1080p超分到4K)(原文这里的介绍可能有误)。

对于x4超分,SESR-M5则可以达到22FPS的处理速度;而FSRCNN对于x2超分的推理速度仅为6fps,对于x4超分会更慢。采用类似x2超分中的分块处理方式,处理速度可以进一步提升到27FPS。因此,在手机NPU上,SESR能够以更快的帧率对1080p图像进行超分。

标签:SESR,超分,FSRCNN,计算,图像,x2
来源: https://blog.csdn.net/weixin_45250844/article/details/114993788