编辑:Happy
首发:AIWalker

本文是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

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

话说,很早之前还在找ACNet的作者丁博请教了ACNetV2中的k×kk\times kk×k与1×11\times 11×1合并的问题,当时还提到了这里可能的bottleneck的作用,哪成想自己的实验才做了几组,arm就把这个给开出来了,泪奔!

首先,SESR采用5×55\times 55×5线性模块提取输出特征;然后,送入到m个带短链接的3×33\times 33×3线性模块中(注:非线性激活位置Add之后);其次,第一个线性模块的输出与m个线性模块之后的结束相加;再次我们采用另一个5×55\times 55×5线性模块输出Scale2Scale^2Scale2通道,同时将所得结果与所有输出激活相加;最后采用depth-to-space进行图像上采样得到超分图像。

一旦完成SESR的训练,我们就可以将线性模块折叠为单个卷积层。上图给出了折叠过程介绍。考虑到我们是在Add之后添加非线性激活,因此我们还可以将上述折叠后的卷积与残差进行更进一步的折叠,折叠算法见下图。

通过上述两步折叠,我们可以得到:W3×3=WC+WRW_{3\times 3} = W_C + W_RW3×3​=WC​+WR​。通过折叠,在推理阶段SESR可以简化为Fig.2(d)的形式,即不存在残差模块,所有线性模块和短链接均折叠成了单个卷积。因此,最终的推理网络极为简单:仅仅m+2个卷积,外加两个全局跳过链接

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

Experiments

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

Setup

我们采用DIV2K进行SESR训练,优化器为Adam,常数学习率5×10−45\times 10^{-4}5×10−4,合计训练300epoch,batch=32,损失函数为L1L_1L1​损失。为训练高效,我们从每个图像中随机裁剪64个64×6464\times 6464×64的块,也就是说每个epoch包含1600次迭代。我们调整不同数量的线性模块{3,5,7,11}\{3,5,7,11\}{3,5,7,11}同时保持通道数f=16f=16f=16不变;我们同时还训练了超大模型SESR-XL(f=32,m=11f=32,m=11f=32,m=11)。我们设置线性模块中的扩展通道数量p=256p=256p=256。对于x4超分,我们采用x2超分预训练模型进行初始化,并对最后一层进行合理替换。

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%。

Qualitative Evaluation

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

Hardware Performance Results

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

正如所提到的,由于过大的输入导致超分应用的带宽非常大。为进一步加速推理,输入可以拆分多个块,因此带宽 阻塞可以尽可能避免。我们将1080p图像拆分为400×300400\times 300400×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图像进行超分。

推荐阅读

  1. CVPR2021|超分性能不变,计算量降低50%,董超等人提出用于low-level加速的ClassSR
  2. SANet|融合空域与通道注意力,南京大学提出置换注意力机制
  3. GhostSR|针对图像超分的特征冗余,华为诺亚&北大联合提出GhostSR
  4. 图像超分中的那些知识蒸馏
  5. ICLR2021 | 显著提升小模型性能,亚利桑那州立大学&微软联合提出SEED
  6. RepVGG|让你的ConVNet一卷到底,plain网络首次超过80%top1精度
  7. Transformer再下一城!low-level多个任务榜首被占领
  8. 通道注意力新突破!从频域角度出发,浙大提出FcaNet
  9. 无需额外数据、Tricks、架构调整,CMU开源首个将ResNet50精度提升至80%+新方法

46FPS+1080Px2超分+手机NPU,arm提出一种基于重参数化思想的超高效图像超分方案相关推荐

  1. 基于目标检测的海上舰船图像超分辨率研究

    基于目标检测的海上舰船图像超分辨率研究 人工智能技术与咨询 来源:< 图像与信号处理> ,作者张坤等 关键词: 目标检测:生成对抗网络:超分辨率 摘要: 针对海上舰船图像有效像素在整体像素 ...

  2. 【图像超分辨率】基于ResNet或GAN的遥感图像超分辨率论文

    基于ResNet或GAN的遥感图像超分辨率论文 <空间感知残差网络的遥感图像超分辨率重建> 操作: 遥感图像特点: 网络模型: 去掉批处理层的原因: 具体操作 损失方程: <改进的残 ...

  3. m基于POCS算法的空域序列图像超分辨率重建matlab仿真

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...

  4. 超材料 s参数反演 matlab,一种基于改进K‑K算法的超材料电磁参数反演方法与流程...

    本发明属于测试技术领域,具体涉及一种基于改进K-K算法的超材料电磁参数的反演方法. 背景技术: 超材料是一种新型的人工材料,对电磁波具有独特的物理特性,比如负折射率.负电磁参数等,这些独特的物理特性使 ...

  5. 高效!Anchor DETR:旷视提出一种基于Transformer的目标检测神器!

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:Sophia知乎 https://zhuanlan.zhihu.com/p/412738375 985人工智能 ...

  6. DeepKey:科学家提出一种基于脑纹独特性的多模态生物识别系统可以防范身份欺骗...

    ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 生物识别认证则包括利用个体独特的.可测量的生理和行为特征识别个体的各种技术. 传统的生物识别系统如人脸识别.虹膜.视网膜.声音和指纹技术当前被广泛应用,然而由 ...

  7. adcsr图像超分代码_图像超分:RealSR

    paper​csjcai.github.iocsjcai/RealSR​github.com现有大多SISR方法是在模拟数据集(LR通过对HR执行简单的双三次下采样得到)上进行训练与评估.然而,真实世 ...

  8. matlab图像降噪_图像超分:RealSR

    点击上方"AIWalker",选择加"星标"或"置顶"    重磅干货,第一时间送达 paper: https://csjcai.githu ...

  9. 图像超分算法小合集二:FSRCNN、DRCN、RDN、EDSR

    目录 FSRCNN DRCN RDN EDSR 文章: FSRCNN : Accelerating the Super-Resolution Convolutional Neural Network ...

最新文章

  1. php7 swoole 扩展,PHP7.2加入swoole扩展
  2. 笔记本电脑怎么清理灰尘_用了这么多年电脑,你该清理清理这个,将会又快又流畅...
  3. Linux命令 比较文件
  4. 科普:String hashCode 方法为什么选择数字 31 作为乘子
  5. 2-1 nodejs和npm的安装和环境搭建
  6. Piggy-Bank POJ - 1384(完全背包+背包放满)
  7. activiti 多租户_Activiti中具有独立数据库架构的多租户
  8. 第三十一期:世界上有四类人永远不可能成为编程界牛人(个人见解,欢迎补充)
  9. LeetCode-144:二叉树的前序遍历
  10. Windows 新漏洞可被用于强制服务器以攻击者身份认证,官方缓解措施已发布
  11. tcp三次握手和在局域网中使用 awl伪装MAC地址进行多线程SYN攻击
  12. spring boot之http,页面状态跳转与异常处理实战
  13. 计算机学硕考研复试编程能力,苏州大学计算机学硕专业考研复试真题
  14. mysql下载备份数据库命令行_MYSQL 数据库导入导出命令 | 很文博客
  15. JAVA常用的快捷键
  16. 第17课:郭盛华课程_VB编程之菜单界面的设计
  17. 程序猿生存指南-13 再见老潘
  18. 牛顿二项式定理(广义二项式定理)
  19. DAP可视化组件升级开发说明
  20. CF11A Increasing Sequence(C++)

热门文章

  1. OSPF主流LSA及域内域间Vlink虚链路配置
  2. 《名贤集》《明贤集》四言集
  3. python plot坐标轴显示比例一致_绘图,x轴和y轴的比例相同
  4. 蛋白质结构预测与分析
  5. 几种方法判断平面点在三角形内
  6. idea设置主题背景
  7. 结束已经占用的端口号的进程
  8. [IOS APP]江南三部曲-格非有声文学
  9. 稀疏矩阵(三元组顺序表存储)6种操作的实现
  10. excel 如何去除两列重复项