ICCV-2021 Oral | AdaFocus:利用空间冗余性实现高效视频识别

作者丨rainforest wang@知乎(已授权)

来源丨https://zhuanlan.zhihu.com/p/416704427

编辑丨极市平台

导读

 

本文介绍了一篇被ICCV2021录用为Oral Presentation的工作,利用空间冗余性实现高效视频识别,提出了一个通用框架AdaFocus:在同等精度的条件下,相较AR-Net将计算开销降低了2.1-3.2倍,将TSM的GPU实测推理速度加快了1.4倍。

本文主要介绍我们被ICCV-2021会议录用为Oral Presentation的一篇文章:

6505dd599ef6e3f01654e82631701519.png

Adaptive Focus for Efficient Video Recognition

原文链接:https://arxiv.org/pdf/2105.03245.pdf

代码及预训练模型链接:https://github.com/blackfeather-wang/AdaFocus

B站视频简介:https://www.bilibili.com/video/BV1vb4y1a7sD/

欢迎大家试用和吐槽。

太长不看版:现有高效视频识别算法往往关注于降低视频的时间冗余性(即将计算集中于视频的部分关键帧),如图1 (b)。本文则发现,降低视频的空间冗余性(即寻找和重点处理视频帧中最关键的图像区域),如图1 (c),同样是一种效果显著、值得探索的方法;且后者与前者有效互补(即完全可以同时建模时空冗余性,例如关注于关键帧中的关键区域),如图1 (d)。在方法上,本文提出了一个通用于大多数网络的AdaFocus框架,在同等精度的条件下,相较AR-Net (ECCV-2020)将计算开销降低了2.1-3.2倍,将TSM的GPU实测推理速度加快了1.4倍

6d84252405e0af9012065e987cbe809c.png
图1 AdaFocus与现有方法的对比

1. Introduction (研究动机及简介)

相较于图像,视频识别是一个分布范围更广应用场景更多的任务。如下图所示,每分钟,即有超过300小时的视频上传至YouTube;至2022年,超过82%的消费互联网流量将由在线视频组成。自动识别这些海量视频中的人类行为、事件、紧急情况等内容,对于视频推荐、监控等受众广泛的实际应用具有重要意义

eaf95739568f008bdf1b19d08daa400c.png
图2 在线视频的规模

近年来,已有很多基于深度学习的视频识别算法取得了较佳的性能,如TSM、SlowFast、I3D等。然而,一个严重的问题是,相较于图像,使用深度神经网络处理视频通常会引入很大的计算开销。如下图所示,将ResNet-50应用于视频识别将使运算量(FLOPs)扩大8-75倍

4aa6009e132547b08436e544dde7c64f.png
图3 视频识别模型计算成本较高

因此,一个关键问题在于,如何降低视频识别模型的计算开销。一个非常自然的想法是从视频的时间维度入手:一方面,相邻的视频帧之间往往具有较大的相似性,逐帧处理将引入冗余计算;另一方面,并非全部视频帧的内容都与识别任务相关。现有工作大多从这一时间冗余性出发,动态寻找视频中的若干关键帧进行重点处理,以降低计算成本,如下图所示。

3790d1314e66255fb5fe7a77519f13ee.png
图4 基于时间冗余性的高效视频识别

但是,值得注意的一点是,我们发现,目前尚未有工作关注于视频中的空间冗余性。具体而言,在每一帧视频中,事实上只有一部分空间区域与识别任务相关,例如下图中的运动员、起跳动作、水花等。

e23d1dd4e6e42409c499d9595cbe13d8.png
图5 视频帧的空间冗余性

出于这一点,本文以回答图6中的两个问题作为主线:

  1. 空间冗余性是否可以用于实现高效视频识别? 假如我们能找到每一视频帧中的关键区域,并将主要的计算集中于这些更有价值的部分,而尽可能略过其他任务相关信息较少的区域,理论上,我们就可以显著降低网络的计算开销(事实上,我们之前基于单张图像验证过类似做法的效果:NeurIPS 2020 | Glance and Focus: 通用、高效的神经网络自适应推理框架)https://zhuanlan.zhihu.com/p/266306870

  2. 空间、时间冗余性是否互补? 若上述假设成立的话,它应当可与现存的、基于时间冗余性的工作相结合,因为我们完全可以先找到少数关键帧,再仅在这些帧中寻找关键的图像区域进行重点处理。

c0aeae9ed4954875a2ef024a926541da.png
图6 使用空间冗余性进行高效视频识别

2. Method (方法详述)

首先为了回答问题1,我们设计了一个AdaFocus框架,其结构如下图所示

3cc7710c961fc5ffe31c9a3f96ece4d4.png
图7 AdaFocus 网络结构

此处我们假设视频帧按时间次序逐个输入网络,AdaFocus使用四个组件对其进行处理,

  • 全局CNN(Global CNN)是一个轻量化的卷积网络(例如MobileNet-V2),用于以低成本对每一帧视频进行粗略处理,获取其空间分布信息。

  • 策略网络  (Policy Network)是一个循环神经网络(RNN),以的提取出的特征图作为输入,用于整合到目前为止所有视频帧的信息,进而决定当前帧中包含最重要信息的一个图像小块(patch)的位置。值得注意的是由于取得patch的crop操作不可求导,是使用强化学习中的策略梯度方法(policy gradient)训练的。

  • 局部CNN (Local CNN)是一个容量大、准确率高但参数量和计算开销较大的卷积网络(例如ResNet),仅处理策略网络  选择出的局部patch,由于patch的空间尺寸小于原图,处理其的计算开销显著低于处理整个视频帧。

  • 分类器  (Classifier)为另一个循环神经网络(RNN),输入为和 输出特征的并联,用于整合过去所有视频帧的信息,以得到目前最优的识别结果 (  表示帧序号)。

AdaFocus的训练分为三个阶段。在第一阶段,我们移除策略网络  ,随机选取局部patch,训练网络的分类部分最小化交叉熵损失,如下图所示。这一阶段意在训练网络从随机的patch序列中自适应提取信息,我们进而便可以根据分类部分网络的行为判断不同patch的重要性

7ce274929763829944ca71b1cd9cc469.png
图8 训练阶段1

在第二阶段,我们引入随机初始化的策略网络 ,将之建模为智能体(agent),固定分类部分,以强化学习算法对进行训练,优化目标为最大化折扣奖励函数

edf72f2bc82b2d899ebbe238ae1d2293.png
图9 训练阶段2

关于强化学习的具体细节,请参见我们的paper。粗略而言,我们将选择patch建模为一个在若干个候选patch上的多类离散分布,每一类别的概率由策略网络  的输出决定。训练时,我们随机从这个分布中采样出一个动作,并得到一个对应的奖励函数值(reward),reward较大的动作将受到鼓励,reward较低的动作则将受到抑制。我们将reward的值定义为给定动作在标签类别上的confidence上升的效果与随机选择patch所得效果的比较。

f43170ad782f62bbcba8dde2184f7f0a.png
图10 策略网络的训练方法

在第三个阶段,我们固定阶段二学到的patch选择策略,对AdaFocus的分类部分进行微调。这一阶段并非必须,但可以些微提升网络的分类性能。

351a5683c555f1e279d361fc8de42392.png
图11 训练阶段3

到目前为止,AdaFocus对每一帧视频花费的计算量是均等的,换言之,其只建模了空间冗余性。为了探索空间、时间冗余性是否互补的问题,我们提出了增强版本的AdaFocus,AdaFocus+。具体而言,我们加入了一个与  结构完全相同的策略网络  ,用于判断对于每一帧视频是否激活  处理由  选择出的局部patch,如下图所示。

c99ef629ba1f31de1cc4c67dcbc6b6d5.png
图12 AdaFocus+

可以在训练阶段二中, 的训练完成后采用与其相同的强化学习算法进行训练。 的输出决定了一个二分类分布(Bernoulli distribution)的参数,训练时,我们随机从该分布中采样,并在采样得激活  时将该操作所带来的标签类别上的confidence上升的效果与激活 的计算开销进行比较。只有当这一比较结果为正时,激活  这一动作才会得到鼓励。

关于AdaFocus和AdaFocus+的更多细节,由于比较繁杂,不在这里赘述,可以参阅我们的paper~

3. Experiments (实验结果)

  • 与其他高效视频识别框架的比较(基于ActivityNet)

bfdd333d642c736da0297fb725139fbc.png
图13 ActivityNet
  • 在FCVID和Mini-Kinetics上的结果

d017e816e95446add2ddc7a4ef9be994.png
图14 FCVID, Mini-Kinetics
  • 基于TSM部署AdaFocus的结果,包含理论计算开销、CPU和GPU的实际测速结果

e8c3abe77a97a78fb6563a5d186257bf.png
图15 AdaFocus-TSM在something-something V1, V2上的实际效果
  • AdaFocus的可视化结果,绿色方框代表我们的方法在每一帧选择的patch,可见AdaFocus成功定位到视频帧中的任务相关区域,例如帆船、自行车、做三明治的手部动作、摩托、长笛、运动员等。

225c1ec919437dac42a85c3f96703cf2.png
图16 可视化结果
  • 关于网络结构设计的细节、奖励函数的设计、习得patch选择策略的有效性,我们还提供了详尽的消融实验(Ablation Study)结果,细节请参阅我们的paper。

四.Conclusion(结语)

总结来说,这项工作的贡献点在于:

(1)在现有的基于时间冗余性的方法之外,思考利用空间冗余性实现高效视频识别;

(2)基于强化学习,提出了一种在理论上和实测速度上效果都比较明显的通用框架AdaFocus

(3)在五个数据集上进行了实验,包括与其他通用框架的比较和部署于现有高效识别网络(例如TSM)上的效果等。

欢迎大家follow我们的工作~。

@InProceedings{Wang_2021_ICCV,
    author = {Wang, Yulin and Chen, Zhaoxi and Jiang, Haojun and Song, Shiji and Han, Yizeng and Huang, Gao},
     title = {Adaptive Focus for Efficient Video Recognition},
 booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
     month = {October},
      year = {2021}
}

如有任何问题,欢迎留言或者给我发邮件,附上我的主页链接

https://www.rainforest-wang.cool/

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

93c72d5d22b7e699f34ba50a43b50cc9.png

▲长按加微信群或投稿

0cfe4d44cbc392fbb0efa0f20cbdd2da.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定orb-slam3知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

0ffca4272b81fbc622c2d5a34528f5d9.png

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  5aab5fceb3e4d17add1c56ea4d0989cd.gif

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值