本文主要介绍我们被 ICCV 2021 会议录用为 Oral Presentation 的一篇文章:Adaptive Focus for Efficient Video Recognition 。代码和预训练模型已经在 Github 上面放出,欢迎大家试用和吐槽。
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 倍 。
▲ 图1 AdaFocus 与现有方法的对比
相较于图像,视频识别是一个 分布范围更广 、 应用场景更多 的任务。如下图所示,每分钟,即有超过 300 小时 的视频上传至 YouTube;至 2022 年,超过 82% 的消费互联网流量将由在线视频组成。自动识别这些海量视频中的人类行为、事件、紧急情况等内容,对于视频推荐、监控等受众广泛的实际应用具有 重要意义 。
近年来,已有很多基于深度学习的视频识别算法取得了较佳的性能,如 TSM、SlowFast、I3D 等。然而,一个严重的问题是,相较于图像,使用深度神经网络处理视频通常会引入 很大的计算开销 。如下图所示,将 ResNet-50 应用于视频识别将使运算量(FLOPs)扩大 8-75 倍 。
▲ 图3 视频识别模型计算成本较高
因此,一个关键问题在于, 如何降低视频识别模型的计算开销 。一个非常自然的想法是从视频的 时间维度 入手:一方面,相邻的视频帧之间往往具有 较大的相似性 ,逐帧处理将引入冗余计算;另一方面,并非全部视频帧的内容都与识别任务相关。现有工作大多从这一 时间冗余性 出发, 动态寻找视频中的若干关键帧进行重点处理 ,以降低计算成本,如下图所示。
但是,值得注意的一点是,我们发现,目前尚未有工作关注于视频中的 空间冗余性 。具体而言,在每一帧视频中,事实上 只有一部分空间区域与识别任务相关 ,例如下图中的运动员、起跳动作、水花等。
▲ 图5 视频帧的空间冗余性
出于这一点,本文以回答图 6 中的两个问题作为主线:
1. 空间冗余性是否可以用于实现高效视频识别? 假如我们能找到每一视频帧中的关键区域,并将主要的计算集中于这些更有价值的部分,而尽可能略过其他任务相关信息较少的区域,理论上,我们就可以显著降低网络的计算开销(事实上,我们之前基于单张图像验证过类似做法的效果:NeurIPS 2020 | Glance and Focus: 通用、高效的神经网络自适应推理框架
[1]
)。
2. 空间、时间冗余性是否互补? 若上述假设成立的话,它应当可与现存的、基于时间冗余性的工作相结合,因为我们完全可以先找到少数关键帧,再仅在这些帧中寻找关键的图像区域进行重点处理。
▲ 图6 使用空间冗余性进行高效视频识别
首先为了回答问题 1,我们设计了一个 AdaFocus 框架,其结构如下图所示:
此处我们假设视频帧 按时间次序逐个输入网络 ,AdaFocus 使用四个组件对其进行处理:
1. 全局CNN
(Global CNN)是一个轻量化的卷积网络(例如MobileNet-V2),用于以低成本对每一帧视频进行粗略处理,获取其空间分布信息。
2. 策略网络
(Policy Network)是一个循环神经网络(RNN),以
的提取出的特征图作为输入,用于整合到目前为止所有视频帧的信息,进而决定当前帧中包含最重要信息的一个图像小块(patch)的位置。值得注意的是由于取得patch 的 crop 操作不可求导,
是使用强化学习中的策略梯度方法(policy gradient)训练的。
3. 局部 CNN
(Local CNN)是一个容量大、准确率高但参数量和计算开销较大的卷积网络(例如 ResNet),仅处理策略网络
选择出的局部 patch,由于 patch 的空间尺寸小于原图,处理其的计算开销显著低于处理整个视频帧。
4. 分类器
(Classifier)为另一个循环神经网络(RNN),输入为
和
输出特征的并联,用于整合过去所有视频帧的信息,以得到目前最优的识别结果
(
表示帧序号)。
AdaFocus 的训练分为三个阶段。在第一阶段,我们 移除策略网络
, 随机选取局部 patch ,训练网络的分类部分最小化交叉熵损失,如下图所示。这一阶段意在训练网络 从随机的 patch 序列中自适应提取信息 ,我们进而便可以 根据分类部分网络的行为判断不同 patch 的重要性 。
▲ 图8 训练阶段1
在第二阶段,我们引入随机初始化的策略网络
,将之建模为智能体(agent),固定分类部分,以 强化学习 算法对
进行训练,优化目标为 最大化折扣奖励函数 。
关于强化学习的具体细节,请参见我们的 paper。粗略而言,我们将选择 patch 建模为一个在若干个候选 patch 上的多类离散分布,每一类别的概率由策略网络
的输出决定。训练时,我们随机从这个分布中采样出一个动作,并得到一个对应的奖励函数值 (reward),reward 较大的动作将受到鼓励,reward较低的动作则将受到抑制 。我们将 reward 的值定义为给定动作在标签类别上的 confidence 上升的效果与随机选择 patch 所得效果的比较。
在第三个阶段,我们固定阶段二学到的 patch 选择策略,对 AdaFocus 的分类部分进行微调 。这一阶段并非必须,但可以些微提升网络的分类性能。
到目前为止,AdaFocus 对每一帧视频花费的计算量是 均等 的,换言之,其只建模了 空间冗余性 。为了探索 空间、时间冗余性是否互补 的问题,我们提出了增强版本的 AdaFocus, AdaFocus+ 。具体而言,我们加入了一个 与
结构完全相同的策略网络
,用于判断 对于每一帧视频是否激活
处理由
选择出的局部 patch ,如下图所示。
可以在训练阶段二中,
的训练完成后采用与其相同的 强化学习 算法进行训练。
的输出决定了一个二分类分布(Bernoulli distribution)的参数,训练时,我们随机从该分布中采样,并在采样得激活
时 将该操作所带来的标签类别上的confidence上升的效果与激活
的计算开销进行比较 。只有当这一比较结果为正时,激活
这一动作才会得到鼓励。
关于 AdaFocus 和 AdaFocus+ 的更多细节,由于比较繁杂,不在这里赘述,可以参阅我们的 paper。
与其他高效视频识别框架的比较(基于 ActivityNet):
在 FCVID 和 Mini-Kinetics 上的结果:
▲ 图14 FCVID, Mini-Kinetics
基于 TSM 部署 AdaFocus 的结果,包含理论计算开销、CPU 和 GPU 的实际测速结果:
▲ 图15 AdaFocus-TSM在something-something V1, V2上的实际效果
AdaFocus 的可视化结果,绿色方框代表我们的方法在每一帧选择的 patch,可见 AdaFocus 成功定位到视频帧中的任务相关区域,例如帆船、自行车、做三明治的手部动作、摩托、长笛、运动员等。
关于网络结构设计的细节、奖励函数的设计、习得 patch 选择策略的有效性,我们还提供了详尽的消融实验(Ablation Study)结果,细节请参阅我们的 paper。
1. 在现有的基于时间冗余性的方法之外,思考利用空间冗余性 实现高效视频识别;
2. 基于强化学习,提出了一种在理论上和实测速度上效果都比较明显的通用框架 ,AdaFocus ;
3. 在五个数据集 上进行了实验,包括与其他通用框架的比较和部署于现有高效识别网络(例如 TSM)上的效果等。
@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} }
如有任何问题,欢迎留言或者给我发邮件,附上我的主页链接: http://www.rainforest-wang.cool/
[1] https://zhuanlan.zhihu.com/p/266306870
感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读 ,也可以是学术热点剖析 、科研心得 或竞赛经验讲解 等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品 ,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬 ,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱: hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02 )快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编