乾明 十三 发自 凹非寺
量子位 报道 | 公众号 QbitAI

输入的数据量更小,深度神经网络在图像分类/分割任务上的精度反而提升了。

这就是阿里达摩院提出的图像分析新方法:“频域学习”(Learning in the Frequency Domain)。

核心要义,是省略图像压缩/解压缩中计算量最大的步骤,直接利用频域特征来进行图像推理,减少系统中模块之间的数据传输量,从而提升系统性能。

更难得可贵的是,如此成果出自同学少年——阿里达摩院实习生之手,已被CVPR 2020接收。

他们在ImageNet分类任务上测试了方法的有效性:

输入数据相同的情况下,ResNet-50和MobileNetV2分别实现了1.41%和0.66%的top-1精度改进。

即使只有一半大小的输入数据,ResNet-50的top-1精度仍然能够提高1%。

不仅仅是图像分类,在COCO数据集上,只使用一半大小的输入数据,“频域学习”的方法就能提升何恺明Mask R-CNN的图像分割结果。

对于当前端侧高效部署人工智能算法的需求来说,输入数据量更小,但让深度神经网络精度更高的“频域学习”方法,无疑是提供了一个新思路。

为什么要在频域上学习?

计算资源和内存是有限制的,大多数卷积神经网络模型,只能接受低分辨率的RGB图像(例如,224x224)。

因此,总是要经过一个压缩的过程,传统图像分析系统的基本框架如下。

图像输入(In)通常是RGB的空间域信号,在编码端经过RGB-to-YCbCr的转化、离散余弦变换(DCT)、量化(Quantization), 以及熵编码(Entropy coding),得到压缩后用来传输的信号。

Y表示亮度,Cb、Cr分别表示蓝色和红色的浓度偏移量成份。

这个信号传输到解码端,经过对应的熵解码(Entropy decoding)、反量化(dequantization)、逆离散余弦变换(IDCT)、YCbCr-to-RGB转化得到原图像的重建图像

但这样的过程,不可避免地会出现信息丢失和精度降低。

此前有学者提出过解决办法,比如用学习任务感知的缩小网络来减少信息丢失,但这些网络通常基于特定任务,需要额外的计算,并不利于实际应用。

那有没有一种方法,过滤掉空间域冗余的信息,来节省解码端到推理引擎间的数据带宽呢?

这就是达摩院“频域中学习”解决的核心问题。

他们提出在频域,即离散余弦变换域(DCT)中重塑高分辨率图像,而不是在空间域调整它们的大小,然后将重新形成的DCT系数提供给卷积神经网络模型进行推理,从而解决了这些问题。

同时,这个方法几乎不需要修改现有的卷积神经网络模型,还是以RGB图像作为输入。达摩院的研究人员认为,它可以作为常规的数据预处理管道的替代品。

整体上来看,“频域学习”由数据预处理管道和一个输入数据大小剪枝方法组成。

节省计算量:用频域信息进行机器学习

第一个可以改进的地方,就是节省计算量

还是以上图为例,在整个图像分析系统中,除去最后的图像推理引擎,前期的压缩、传输、解压缩的瓶颈在于其中的DCT和IDCT模块,因为这两个变换是矩阵变换,而其他的操作基本都是基于点的操作。

若是能够减少,甚至省略这两个模块,将会对图像分析系统的前半部分带来极大的性能提升。

也就是说,输入到神经网络的数据,将不再是RGB颜色空间,而是YCbCr颜色空间。

以Y通道为例,假设图像压缩标准中默认的8x8作为块的尺寸(blocksize)。那么,对于每一个块(block),就会得到64个DCT的信号,对应了64个不同的频率分量。

若原始图像的尺寸是W x H,那么将会有W/8 x H/8 个DCT信号组成的块。每个块中相同位置的频率分量可以组成一个尺寸为W/8 x H/8的特征图片(feature map),这样就会产生8x8=64个特征图片。

同样的对于Cb和Cr通道,也可以各自产生64个特征图片,共计64x3=192个,如下图所示。

接下来就是让特征图片的尺寸和神经网络的尺寸吻合

以ResNet-50为例,通常接受的图片输入尺寸为224x224,经过一次卷积层(stride=2)和池化之后,网络的特征图尺寸为56x56,和产生的频率信号特征图尺寸吻合。

可以将192个56x56的频域特征图,全部或者部分直接接在ResNet-50的第一个残差块(Residue Block)之前,从而达到不改变ResNet-50的结构,却实现从频域做机器识别的目的,如下图所示。

值得注意的是,由于做了8x8的DCT变换,实际输入的图片大小为448x448,是标准ResNet-50输入的两倍

节省带宽:频域信息重要性提取

节省带宽也是性能提高的方法,因为某些频率通道对推断准确性具有更大的影响。

所以,只保留那些最重要的频率通道,并将它们传输到GPU/AI加速器进行推理,是可行的。

这一步是通过在机器学习中添加gate的方法,来学习每一个特征图片的重要性。

在训练中,不仅能得出用于图像推理的神经网络中的权重,同时每一个特征图的重要性也被确定。

现在拥有了选择重要的频率通道的方式。有两种方案来减少从图像解码模块到图像推理引擎的数据带宽,分别是动态(Dynamic)方式和静态(Static)方式。

所谓动态方式,就是每一个频率分量的选择开关由当前输入的图像决定,这种方法可以自适应每一次图像推理(inference)的不同输入。

而静态方式,就是通过训练(training)得到最重要的一些频率分量。

这种静态方式在推理的时候无需选择开关的网络,不仅可以节省图像解码模块到图像推理引擎的带宽,还可以在编码模块中忽略不重要的频率分量,进而减少图像编码的计算量、延时,以及网络传输的带宽。

他们提出的实验结果表明,静态方式下,输入数据量减少87.5%,CNN 模型仍能保持相同的精度。

总的来说,就是利用频域特征来进行图像推理,从而省略频域到空间域的转换,因为这个转换是图像压缩/解压缩中计算量最大的步骤。

同时可以在频域选择重要的信息,进一步减少系统中模块之间的数据传输量,从而提升整个系统的性能。

所以结果如何?

精度更高,输入数据量却减少

实验主要在图像分类实例分割——两个极具代表性的机器学习任务进行。

在图像分类任务中,采用ImageNet(ILSVRC-2012)作为数据集,ResNet-50和MobileNetV2作为CNN模型。

经过训练,得到了一张不同频率分量重要性的热力图,描述了对应192个频率分量的重要性程度。

可以看出,Y(亮度)通道的重要性高于Cb和Cr通道,同时低频分量的重要性高于高频分量。

这样,就可以利用“频域学习”方法,一次训练了解如何分配带宽资源。

从结果可以看出,与基线 ResNet-50相比,使用所有频率通道时,Top-1准确率提高了1.4% 。

值得注意的是,DCT-48和 DCT-24分别选择了48和24个频率通道,输入数据大小分别相当于基线和基线ResNet-50的一半。

对于只有一半输入数据大小的 DCT-24来说,Top-1的精度仍然提高了约1% 。

再用MobileNetV2作为基准CNN模型,采用同样的原理做实验,得到结果如下:

选择32和24个频率通道时,Top-1准确率分别提高了0.664% 和0.58% 。

对于实例分割任务,采用了COCO数据集,并使用Mask R-CNN作为深度神经网络结构,训练得到的192个频率分量的热力图如下:

实验结果表明,当输入数据大小相等(DCT-48)或较小(DCT-24)时,该方法优于基于RGB的Mask R-CNN 基线。

DCT-48,可以提升大约0.8%的精度(37.3%到38.1% 以及 34.2%到35.0%)。DCT-24,即输入数据大小减少一半的情况,让bbox AP 和 Mask AP的性能分别提高了0.4。

应用到COCO数据集中,实际分割图像是这样的:

阿里达摩院实习生领衔新研究

这一成果,一共有6名研究人员参与,他们分别来自阿里达摩院和亚利桑那州立大学。

论文的第一作者名为Kai Xu,文章的主要工作是他在阿里达摩院计算技术实验室作为研究实习生时完成的,他正在亚利桑那州立大学读博。

2011年,他本科毕业于山东大学电机及电子工程专业,2014年在电子科技大学获得硕士学位,2015年,前往亚利桑那州立大学攻读博士学位。

他的指导教授名为Fengbo Ren,2008年本科毕业于浙江大学,之后在加州大学洛杉矶分校获得了硕士和博士学位。2015年1月开始在亚利桑那州立大学任教,也是论文作者之一。

Kai Xu的研究,集中在学习图像和视频的表征方面,致力于处理图像/视频压缩,重建和理解任务。从2016年以来,他已经在各个学术会议,比如ECCV、CVPR等发表了11篇论文,获得了7项专利。

在2019年6月进入达摩院实习之前,他还曾在三星美国研究机构实习过。在达摩院,他的研究方向是发掘计算机视觉领域的高效算法。

除了Kai Xu和Fengbo Ren,其他4名研究人员Minghai Qin, Fei Sun, Yuhao Wang和Yen-Kuang Chen 均来自阿里达摩院计算技术实验室,其中Yen-Kuang Chen是IEEE Fellow。

这个马云寄予厚望的研究机构,正逐步爆发出越来越大的能量,并在吸引更多的人才加入。Kai Xu和他们提出的“频域学习”,就是最新的代表之一。

接下来,他们的研究目标是对视频压缩系统做同样的尝试。他们认为,视频压缩标准中包含了帧间运动预测/补偿和帧内预测,对应的频域信息会有比较大的差别。

瞄准何恺明的实习生们

越来越多的“实习生”,在人工智能的前沿研究中现出身影,也将成为人工智能领域发展的驱动型力量。

比如字节跳动的实习生王鑫龙(阿德莱德大学在读博士生),提出了实例分割新方法SOLO,引入“实例类别”的概念,把实例分割问题转化为分类问题,在一些指标上,性能还要超过何恺明提出的Mask R-CNN。

还有地平线的一名实习生黄钊金(华中科技大学硕士生),也曾提出过性能优于何恺明提出的Mask R-CNN的方案,并被CVPR 2019收录。

也许你已经发现了其中的规律,他们的目标都是何恺明的Mask R-CNN,都提出了相应的优化与改进方案。

一方面,Mask R-CNN在图像分割领域的确是高山级别的存在,但另一方面,谁说没有致敬的意思呢?

说不定,过几年,这些实习生中就会出现另一个何恺明呢~

传送门

论文地址:
https://arxiv.org/pdf/2002.12416.pdf

作者系网易新闻·网易号“各有态度”签约作者

<NVIDIA图像处理公开课·第二期> 开始报名啦,本周四晚8点,英伟达专家将分享如何利用TensorRT 7.0部署高速目标检测引擎

戳二维码,备注“英伟达”即可报名、加交流群、获取第一期直播回放,主讲老师也会进群与大家交流互动哦~

直播报名 | 图像与视频处理系列课程

在家学编程 | 柯基编程双师互动课

如何提升少儿的逻辑思维、计算思维能力?

编程学习可能是最好选择!炫酷又有趣,有效培养思维习惯。

现在报名,只需29元!快来扫下面的二维码,查看详情:

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

阿里达摩院实习生立功!何恺明Mask R-CNN精度提升,一半输入数据量就行 | CVPR2020...相关推荐

  1. 研究你为啥看着淘宝想剁手,阿里达摩院论文登上NeurIPS 2019

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 乾明 编辑整理  量子位 报道 | 公众号 QbitAI 打开淘宝后,你为什么抑制不住 ...

  2. 阿里达摩院新研究:实习生一作突破自动驾驶技术难题,首次实现3D物体检测精度与速度兼得...

    本文经AI新媒体量子位(ID:QbitAI)授权转载,转载请联系出处 乾明 发自 凹非寺 最新消息,阿里达摩院又有新的研究进展,这次在自动驾驶3D物体检测领域. 达摩院的研究人员提出一个通用.高性能的 ...

  3. 有转正机会!阿里达摩院多模态理解组招收研究型实习生

    点击上方"CVer",选择加"星标"置顶 重磅干货,第一时间送达 阿里达摩院-机器智能实验室-多模态理解组招收研究型实习生 [部门简介] 阿里达摩院多模态理解& ...

  4. 招聘 | 阿里达摩院决策智能实验室招聘全职/博后/实习生-杭州/西雅图-内推

    送新书!<Python深度学习基于Torch/TF(第2版)>,有ChatGPT拓展 发布招聘/进NLP群->点我 杭州/西雅图内推|阿里达摩院决策智能实验室招聘(AI for Ti ...

  5. 北京/杭州内推 | 阿里达摩院开放视觉智能实验室招聘研究型实习生/23届春招

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 阿里巴巴达摩院 团队隶属于阿里达摩院开放视觉智能实验室,本团队的愿景是:& ...

  6. 阿里达摩院决策智能实验室招聘全职/博士后/实习生

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[计算机视觉]微信技术交流群 杭州/西雅图内推 | 阿里达摩院决策智能实验室招聘(AI f ...

  7. 阿里达摩院招3D重建方向RI实习生

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 阿里达摩院AI Earth团队招3D重建方向RI实习生 目标是做3 ...

  8. 阿里达摩院悬壶,看医疗AI如何济世

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 阿里达摩院,并不专为抗疫而生. 甚至连马云都可能预料不到,这个机构这么快就展现出及时的作用. 抗疫正当时,不论是与浙江疾控中心合作的基因检 ...

  9. 阿里达摩院正式加入5G巨头仗:瞄准新基建,成立XG实验室,要与华为战一战

    乾明 李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 刚刚,5G领域来了巨鳄玩家: 阿里巴巴,正式官宣进军5G,明确进一步加快技术研发,还要制定相关标准. 扛旗先锋,正是马云寄予厚望的达 ...

最新文章

  1. Autodesk Cloud Accelerator Program 开始报名
  2. 直线一级倒立摆控制(自起摆和稳态控制)
  3. “国货之光” 完美日记的微服务实践和优化思路
  4. oracle sql语句
  5. Disgruntled Judge UVA - 12169
  6. Android(五)——dex文件动态调试
  7. datagridview 绑定list 不能刷新界面_人人都可写代码-H5零基础编程-发布活动界面实操07...
  8. luogu P1962 斐波那契数列
  9. string中c_str()用法总结
  10. Angular 的概念模型
  11. GPU Raycasting的两种实现方法
  12. 不是我的错,也不是Atlas的!
  13. 一个农民矿工的悲情遗书
  14. iOS 信号量解决-网络异步请求的数据同步返回问题
  15. 瞎搞无人机之无刷电机
  16. android 7 语音助手,语音助手横评:iPhone 大战 Android 旗舰,谁更好用?
  17. spring boot中的banner制作
  18. 故障转移集群搭建高可用文件共享服务器
  19. 量子计算与区块链抗量子算法
  20. JS push()方法

热门文章

  1. 如何从Java中的字符串值获取枚举值?
  2. 11家车企联手高通、大唐,加速V2X在华商用部署
  3. 017——VUE中v-fo指令的使用方法
  4. Object类 任何类都是object类的子类 用object对象接收数组 object类的向上向下转型...
  5. 在Forge Viewer上显示自订义属性
  6. C++中rdbuf()简介及文件流的概念
  7. 使用Modernizr 检测HTML5和CSS3浏览器支持功能
  8. php include效率分析
  9. Nginx防盗链详细设置
  10. http://blog.csdn.net/fanzhonglei