首发:AIWalker
作者:HappyAIWalker
标题&作者团队
本文是ARM的研究员在大分辨率图像超分方面的一次探索,它将重参数化思想嵌入到图像超分结构中,并结合手机NPU硬件性能对现有超分的性能进行的对比分析。在Arm Ethos-N78 NPU的硬件性能(4-TOP/s)约束下,所提方法甚至能够以46fps速度(理论上)对1080p图像进行x2超分。该本文的思想非常简单,就是简单的把重参数化思想嵌入到类FSRCNN架构中即可;但这种方法就是这么的有效,推理端无损涨点吧。
Abstract
随着智能设备开始支持4K、8K分辨率,图像超分已成为非常重要的计算机视觉问题。然后现有大多深度超分方案计算量非常大。我们提出了一种超高效超分方案(SESR),它可以显著图像并降低计算复杂度。六个基准数据上的实验对比表明:所提SESR可以取得与SOTA模型相似或更好的图像质量同时仅需1/330~1/2不等的计算复杂度。因此,所提SESR可以在受限硬件平台上进行x2(即1080p超分到4K)与x4超分(即1080p超分到8K)。
我们模拟了一个手机NPU的硬件性能水平对1080p图像进行x2和x4超分。我们的实验结果突出了现有超分方案在AI加速器方面所面临的挑战并证实SESR可以取得更快的速度。总而言之,SESR为超分任务在PSNR-计算量相关性方面提供了一个新的前沿基线。
Introduction
下图给出了现有图像超分在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。本文的主要贡献包含以下几点:
- 提出一种超高效超分方案SESR,在质量-计算方面取得了最佳均衡;
- 所提SESR取得了与现有超分相当的PSNR/SSIM指标,同时需要更少的计算量(2x~330x),因此,SESR可以在资源受限设备上进行4K或者8K超分;
- 我们同时模拟了Arm Ethos-N78 NPU的硬件性能以估计1080p图像进行x2和x4超分,结果清晰的展示了现有超分在AI加速器方面存在的挑战,并说明了SESR的快速特性.
Method
Framework
上图(a)给出了所提SESR训练阶段的框架图,它由多个可折叠模块、长短跳过残差链接构成。可折叠线性模块结构示意图见上图(b)。本质上来讲,线性模块的输入通道数为x,输出通道数为y,它先采用卷积进行扩展得到p()个临时通道,然后采用卷积进行压缩。由于两个卷积之间无非线性激活层,因此可以在推理阶段进行合并,我们将此称之为"可折叠线性模块"。因此,我们可以在训练阶段训练一个非常大的网络,而在推理阶段折叠为高效网络。这是一种简单而有效的过参数化方案。通过与残差组合可以得到显著的收敛速度提升、图像质量改善。
话说,很早之前还在找ACNet的作者丁博请教了ACNetV2中的与合并的问题,当时还提到了这里可能的bottleneck的作用,哪成想自己的实验才做了几组,arm就把这个给开出来了,泪奔!
首先,SESR采用线性模块提取输出特征;然后,送入到m个带短链接的线性模块中(注:非线性激活位置Add之后);其次,第一个线性模块的输出与m个线性模块之后的结束相加;再次我们采用另一个线性模块输出通道,同时将所得结果与所有输出激活相加;最后采用depth-to-space进行图像上采样得到超分图像。
Collapse Linear Block
一旦完成SESR的训练,我们就可以将线性模块折叠为单个卷积层。上图给出了折叠过程介绍。考虑到我们是在Add之后添加非线性激活,因此我们还可以将上述折叠后的卷积与残差进行更进一步的折叠,折叠算法见下图。
Collapse Residual Addition
通过上述两步折叠,我们可以得到:。通过折叠,在推理阶段SESR可以简化为Fig.2(d)的形式,即不存在残差模块,所有线性模块和短链接均折叠成了单个卷积。因此,最终的推理网络极为简单:仅仅m+2个卷积,外加两个全局跳过链接。
折叠后的x2超分网络参数量:
我们采用上述网络取得了最佳的PSNR指标。然而,为获得更好的硬件加速,我们构建了另一个版本的SESR,它移除黑色线部分的全局跳过链接并采用ReLU替代PReLU。我们发现:这种简单的调整并不会影响图像质量。
Experiments
为说明所提方法的有效性,我们首先在六个基准数据集上进行了定量与定性分析;然后进行消融实验分析SESR不同优化方案的影响性分析;最后我们模拟硬件性能进行1080p图像的x2和x4超分。
Setup
我们采用DIV2K进行SESR训练,优化器为Adam,常数学习率,合计训练300epoch,batch=32,损失函数为损失。为训练高效,我们从每个图像中随机裁剪64个的块,也就是说每个epoch包含1600次迭代。我们调整不同数量的线性模块同时保持通道数不变;我们同时还训练了超大模型SESR-XL()。我们设置线性模块中的扩展通道数量。对于x4超分,我们采用x2超分预训练模型进行初始化,并对最后一层进行合理替换。
Quantitative Results
image-20210318154220313
上表给出了所提方法与其他超分方案在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倍。
image-20210318154828566
上表给出了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%。
Qualitative Evaluation
接下来,我们从主观感受方面来看一下不同超分方案的效果对比。可以看到:SESR-M5明显优于FSRCNN(细节更锐利);SESR-M11甚至全场景优于FSRCNN。也就是说:在同等计算负载下,所提SESR取得了更好的图像质量。
image-20210318155547947
image-20210318155632750
Hardware Performance Results
Hardwre performance
接下来,我们以Arm Ethos-N78 NPU的性能作为评估模拟不同模型运行1080p超分时的硬件性能,结果见上表。从中可以看到:相比FSRCNN,SESR-M5的计算量更少(28G vs 54G),内存占用更少,推理速度更快(约快6.15倍)。这是因为:硬件性能不仅受计算量影响,同时还受带宽影响。而超分任务的带宽则重度依赖于特征的尺寸,SESR-M5的带宽占用仅为FSRCNN的一半。这揭示了在资源受限设备上超分任务的挑战所在。
正如所提到的,由于过大的输入导致超分应用的带宽非常大。为进一步加速推理,输入可以拆分多个块,因此带宽 阻塞可以尽可能避免。我们将1080p图像拆分为块并执行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图像进行超分。
论文链接:https://arxiv.org/pdf/2103.09404.pdf
本文文末附论文下载。
推荐阅读
- CVPR2021|模型缩放新范式,FAIR的Ross等人提出FastScaling
- CVPR2021|超分性能不变,计算量降低50%,用于low-level加速的ClassSR
- TNT|为充分利用局部与全局结构信息,华为诺亚提出全新Transformer:TNT
本文章著作权归作者所有,任何形式的转载都请注明出处。更多动态滤波,图像质量,超分辨相关请关注我的专栏深度学习从入门到精通。
文件名 | 大小 | 下载次数 | 操作 |
---|---|---|---|
Collapsible Linear Blocks for Super-Efficient Super Resolution.pdf | 3.48MB | 1 | 下载 |