Happy · 2021年05月21日

MobileAI2021 端侧图像超分竞赛方案简介

首发:AIWalker
作者:HappyAIWalker

大家好,我是Happy。

MobileAI的各大竞赛已经落下帷幕,冠亚军排名也相继确定,笔者近期会逐步将相关领域的竞赛结果进行一下简单总结,同时也将对这其中的冠军军及优秀方案进行一番解读,感兴趣的朋友可以关注一波...

今天要介绍的MobileAI2021的图像超分竞赛。

image.png

Abstract

由于在移动端的诸多重要应用,图像超分已成为主流视觉任务之一。尽管该领域已有大量的解决方案,但它们往往不是针对智能手机AI硬件平台优化,更别提仅支持INT8推理的智能电视平台了。

为解决该问题,我们开展了首届Mobile AI挑战赛,其目标在于:研发一种端到端深度学习图像超分方案且可以在移动端或者终端NPUs设备上实时运行。

  • 所有参赛者需要采用DIV2K数据进行模型训练,设计一种量化版X3超分模型。
  • 所有模型运行耗时均在Synaptics VS680智慧家居版的NPU上进行测试;
  • 所提解决方案需要与所有主流AI加速器兼容比那个能以40-60ms速度进行Full-HD(即1080p)图像重建且具有高保真度。

Challenge

为开发一种高效且使用的端侧任务相关的解决方案,我们需要考虑以下几点:

  • 一个用于训练与评估的大尺度、高质量数据集;
  • 一种无约束检测推理耗时与模型debug的有效方法;
  • 能够定期在目标平台(移动端)设备上测试所开发模型的运行时间。

该挑战赛解决了以上几点问题:真实训练数据、工具以及运行时评价方法。

Dataset

训练数据采用了DIV2K,包含1000张图像。下图给出了DIV2K某一样例参考示意图。

image.png

Local Runtime Evaluation

当针对移动设计进行AI方案研发时,模型的测试与debug非常重要。因此,我们提供了AI Benchmark平台(见下图),它可以直接加载Tensorflow Lite模型并在任意安卓设备上以所支持的加速选项运行。最新版工具包含Androoid NNAPI、TFLite GPU,Hexagon NN, Samsung Eden, MediaTek Neuron delegates,因此支持所有手机平台,可以让用于选择特定的硬件加速器进行测试。

image.png

一个Tensorflow Lite模型的加载与运行包含以下几个步骤(可参考上图):

  • 从官网下载AI Benchmark并进行标准测试;
  • 完成标准测试后,进入PRO模式并选择Custom Model;
  • 重命名导出TFLite模型为model.tflite并将其放在Download文件夹下
  • 选择模式(INT8, FP16, FP32)以及期望的加速选项并运行模型。

Runtime Evaluation on the Target Platform

在该挑战赛中,我们采用Synaptics VS680 Edge AI SoC作为目标耗时评估平台,它包含一个强力NPU,支持INT8量化模型,算力高达7T。它支持安卓,可以通过NNAPI进行神经网络推理,其性能接近中端智能手机硬件。所有参赛者需要提交INT8模型到外挂服务器并得到其模型速度反馈。此外,参赛者还可以额外得到关于平添支持的op列表用于进行模型优化以充分利用NPU的卷积与加速器。

Scoring System

所有解决方案通过以下方式进行评估:

  • PSNR
  • SSIM
  • Runtime

最终的得分通过以下公式计算得到:
image.png
在竞赛ui中阶段,所有参赛者均无法拿到测试集,仅需提交最终的TensorFlow Lite模型,这种方式可以避免模型过拟合,确保结果可复现性、推理耗时一致性。

Challenge Results

竞赛期间总计有180位注册,12个团队进入最后阶段并提交其结果:TFLite模型、code、可执行文件以及说明书。下表列出了最终的方案及其PSNR、SSIM与运行耗时。

image.png

该竞赛极具挑战性,因其不仅要求模型具有高性能、低耗时,同时要求模型针对特定平台进行优化且全量化。从上表可以看到:只有6个团队的方案超过了基线方案(bicubic上采样)

大多数所提交方案能够在指定平台以60-80ms速度对进行X3超分。Aselsan Research团队为该挑战赛的冠军,他们凭借组卷积设计的小模型取得了较好的保真度与低延迟。尽管MCG团队取得了更佳的结果,但不幸的是:在竞赛结束后才解决掉模型量化问题。

Challenge Methods

接下来,我们对进入MAI2021实时图像超分竞赛最终阶段的方案进行简要介绍。

Aselsan Research

image.png

上图为Aselsan Research团队的方案,它的主要模块Gblock是基于组卷积设计:输入被拆分为4部分并送入独立卷积有降低RAM占用、计算量。作者提到:采用分离替换标准卷积可以得到更快推理速度,但同时经过量化会导致性能显著下降,因此没有采用分离卷积。此外,还采用了一个额外的跳过连接以提升结果保真度,输入未进行规范化,这可以加速模型推理。

训练阶段:图像块、batch=16,Charbonnier损失,Adam优化器,动态学习率从25e-4到1e-4。

模型量化:采用Tensorflow标准后训练量化,在模型尾部添加Clipped ReLU以避免不正确的输出归一化。

MCG

image.png
上图为MCG团队的方案,其主要观点:采用CNN学习超分图像的残差。Repeat分支等价于最近邻上采样,而卷积分支则用于学习SR图像与最近邻上采样之间的差异.

训练阶段:图像块, batch=64, L1损失,Adam优化器,学习率从1e-3,每200epoch折半,合计训练1000epoch.

模型量化:训练感知量化,在模型尾部添加了Clipped ReLU.

Noah\_Terminal Vision

image.png
上图为Noah_Terminal Vision团队提出的TinySRNet,它包含三个残差模块,space-to-depth,depth-to-space以及一个残差卷积层。作者着重强调了残差模块的重要性:有助于保持量化精度。

训练阶段:L1损失,Adam优化器,初始学习率5e-4,每200Kcyclic方式衰减到1e-6,合计训练1000K。

模型量化:训练感知量化。

ALONG

image.png

上图为ALONG团队的方案,与前一方案非常类似,主要区别在于:(1) 在原始尺度进行所有操作;(2) 采用最近邻上采样而非卷积进行输入与输出的连接。

模型训练:图像 块,L1预训练,L2微调,Adam优化器,初始学习率2e-4,每200K折半;模型量化:训练感知量化。

EmbededAI

image.png

上图为EmbededAI团队的方案,他们基于RepVGG设计了一种重参数化超分方案。训练阶段,每个卷积解耦为如下形式,完成训练后,再合并为单一卷积。
image.png
模型训练:图像块,batch=32,L1损失,Adam优化器,初始学习率5e-4,每200epoch折半,合计训练600epoch。

模型量化:后训练量化,模型尾部添加了Clipped ReLU。

mju\_gogogo

image.png

上图为mju_gogog团队所提出的方案,它基于EDSR而改进,设计了额外的空域注意力模块。相对来说,该网络比较大,包含六个模块,一个全局跳过连接,一个卷积用于维度压缩,三个卷积与一个depto-to-space层用于上采样。

模型训练:MAE损失,Adam优化器,训练750epoch;

模型量化:量化感知训练额外75epoch,损失为MSE。

推荐阅读

本文章著作权归作者所有,任何形式的转载都请注明出处。更多动态滤波,图像质量,超分辨相关请关注我的专栏深度学习从入门到精通
推荐阅读
关注数
6199
内容数
192
夯实深度学习知识基础, 涵盖动态滤波,超分辨,轻量级框架等
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息