【论文阅读笔记】Real-Time Quantized Image Super-Resolution on Mobile NPUs,Mobile AI 2021 Challenge: Report

论文地址:https://arxiv.org/abs/2105.07825

论文小结

  这是2021年的一个移动端超分算法的比赛,其要求的目标平台有只能运行INT8的电视等,所以要求模型是全量化的。模型算法的目标是3倍超分,到1080P分辨率,即 640 ∗ 360 640*360 640360 1920 ∗ 1080 1920*1080 19201080,目标时间是 40 40 40- 60 60 60ms之内完成。模型的运行时间是在Synaptics VS680 Smart Home board with a dedicated NPU上完成的。训练数据集为DIV2K,表现结果如下图所示。
在这里插入图片描述
  同时期的其他比赛:

  • Learned Smartphone ISP on Mobile NPUs [18]
  • Real Image Denoising on Mobile GPUs [17]
  • Quantized Image Super-Resolution on Edge SoC NPUs
  • Real-Time Video Super-Resolution on Mobile GPUs [25]
  • Single-Image Depth Estimation on Mobile Devices [21]
  • Quantized Camera Scene Detection on Smartphones [22]
  • High Dynamic Range Image Processing on Mobile NPUs

论文简介

  最新的移动NPU和中档桌面GPU性能相近了,但还存在两个问题:(1)受限的RAM;(2)不够通用的深度学习Layers和算子(即有些算子不支持)。

  比赛使用DIV2K作为训练集,使用AI Benchmark作为测试工具,可以记载所有常用的TFlist模型。该测试工具有最新的安卓NNAPI,TFlite GPU,Hexagon NN,Samsung Eden和MediaTek Neuron delegates,所以支持所有现在的移动平台,可以提供测试智能手机NPUs/APUs/GPUs和CPUs的能力。在AI Benchmark上测试自己模型的步骤如下图所示:
在这里插入图片描述

目标平台

  In this challenge, we use the Synaptics VS680 Edge AI SoC [35] Evaluation Kit as our target runtime evaluation platform. The VS680 Edge AI SoC is integrated into Smart Home solution and it features a powerful NPU designed by VeriSilicon and capable of accelerating quantized models (up to 7 TOPS). It supports Android and can perform NN inference through NNAPI, demonstrating INT8 AI Benchmark scores that are close to the ones of mid-range smartphone chipsets.(不懂这个硬件啥等级和配置,反正大概意思就是中等智能手机芯片组左右)

结果

  比赛的结果如下图所示,冠军是Aselsan Research团队,MCG的效果更好,但量化模型提交太晚了。一共180个注册参与,12个到最终阶段,提交了结果。如表所示,只有6组的结果比双线性差值的baseline摇号。其他模型,INT8的损失都特别大。最简单减少量化损失的方式就是在网络尾端增加Clipped ReLU。
在这里插入图片描述
  分数计算公式如下所示: F i n a l S c o r e = 2 2 ∗ P S N R C ∗ r u n t i m e Final Score = \frac{2^{2*PSNR}}{C*runtime} FinalScore=Cruntime22PSNR

各参赛网络结构

Aselsan Research

  网络结构如下图所示,是基于Group Conv设计的网络,将输入分为了四份,分别进行卷积,用以减少RAM的使用。同时,使用一个额外的Skip Connection来提高效果。学习策略为:使用 32 ∗ 32 32*32 3232的patch作为输入,batchSize为16,使用Charbonnier Loss损失,优化器使用Adam,使用动态学习率从 25 e − 4 25e-4 25e4 1 e − 4 1e-4 1e4
在这里插入图片描述

MCG

  网络架构如下图所示,设计的思路是从残差结构出发的,就是学习的是与原始像素的残差,灵感来源于超分的大分辨率应该和邻近像素有较为接近。作者将这种方式成为Anchor-based CNN。训练策略为:使用 64 ∗ 64 64*64 6464的patch作为输入,batchSize为16,L1 Loss作为损失,Adam作为优化器,训练1000个epochs,每200个epoch学习率减半。在训练量化模型的时候增加Clipped ReLU。
在这里插入图片描述

NoahTerminalVision

  网络结构如下图所示,网络命名为TinySRNet,使用3个残差块,每个残差块使用2个卷积,使用space-to-depth,depth-to-space和一个残差卷积层。作者强调残差模块对于模型量化后维持精度很重要。训练策略为:L1 Loss作为损失,Adam作为优化器,训练1 million次迭代,使用循环学习率,从每200K次迭代下降一次,从 5 e − 4 5e-4 5e4降到 1 e − 6 1e-6 1e6
在这里插入图片描述

ALONG

  网络结构如下图所示,只在原尺寸上操作,用最近邻上采样作为残差,而没用使用卷积。训练策略为:先用L1 Loss训练,再用L2 Loss进行finetune,使用 128 ∗ 128 128*128 128128的patch作为训练,Adam作为优化器,初始学习率为 2 e − 4 2e-4 2e4,每200K次迭代学习率下降一半。
在这里插入图片描述

EmbededAI

  网络结构如下图所示,是采用重参数卷积的策略,多个卷积合成一个朴素的卷积。为了速度,整个网络结构没有设计Skip Connect和上采样,甚至连加法操作也没有。激活函数使用ReLU。训练策略: 64 ∗ 64 64*64 6464的patch作为输入,batchSize设为32,L1 Loss作为损失,训练600个epoch,Adam作为优化器,初始学习率为 5 e − 4 5e-4 5e4,每200个epoch下降一半学习率。
在这里插入图片描述

mju_gogogo

  网络结构如下图所示,
在这里插入图片描述

  

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值