0. 前言
- 相关资料:
- 论文基本信息
- 领域:行为识别
- 作者单位:港中文&商汤
- 发表时间:CVPR 2020
- 一句话介绍:在普通行为识别网络中添加一个类似于FPN的neck,连接backbone和后续分类head,提高特征提取效率。
1. 要解决什么问题
- 本文主要讨论视觉速率“visual tempo”(也可以翻译为节奏)的概念。
- 什么是 visual tempo:做动作的节奏/速率。如下图
- intra class:在同一类型,不同样本中速率不同。
- inter class:不同类型类型样本的速率不同。
- 不同行为,tempo的变化程度不同:所有的剪羊毛样本都差不多速率,不同的“后空翻”速率差别很大。
- 下图中, 纵坐标就是intra class的大小,不同柱形就是不同类别样本,柱形长短不同就是inter class
- 如何理解:visual tempo可以理解为行为在时间尺度上特征,或者说行为的动态特征。
- 以前用于提取 visual tempo 的方法主要是通过不同帧率获取原始帧,构建 input-level frame pyramid。
- 基本流程就如SlowFast,不同速率的样本通过不同的backbone处理,然后做特征融合,最后用于行为识别。
- 这种方法太耗时,效率不够高。
- 由于这种方法需要预先设置帧率,所以有一些限制。
- 希望能有 feature-level的特征提取方法(感觉有点类似于检测里的FPN),既能提取visual tempo,又能节约性能。
- 整体网络结构借鉴了ResNet50-I3D
2. 用了什么方法
- 提出了一个即插即用的模块 Temporal Pyramid Network
- 灵感来源:同一模型不同深度的网络都已经提取了不同tempo的特征。详细点说,由于视频数据的特征图一般尺寸为
BATCH_SIZE, T, C, H, W
,那么不同的T就代表了不同的帧率。
- 灵感来源:同一模型不同深度的网络都已经提取了不同tempo的特征。详细点说,由于视频数据的特征图一般尺寸为
- 下图中的各个模块简单介绍
- Collection of Hierarchical Features
- 方法一:没有FPN,获取一个特征图,以特征图中的
T
通道作为基础,按照不同“帧率”选择BATCH_SIZE, C, H, W
特征图。与下图展示不同。 - 方法二:有FPN,根据不同层特征图拥有不同的通道
T
,作为不同帧率作为后续输入。
- 方法一:没有FPN,获取一个特征图,以特征图中的
- Spatial Semantic Modulation:大概意思是,从backbone获取的不同深度的空间语义特征不一致(猜测就是
C, T, H, W
尺寸不一致,具体要看源码),通过卷积操作设置为相同尺寸。如下图中,这一层的结果的尺寸完全相同。 - Temporal Rate Modulation:就是获取不同帧率的特征图。这一步应该就是所谓的。
- Information Flow:特征融合
- Collection of Hierarchical Features
- 特征融合的方式
3. 效果如何
- 在Kinetics-400/Something-Something-V1 & V2/Epic-Kitchen三个数据集上能够稳步提升性能。
- 对于tempo变化较大的行为类别,性能提高效果较好。
4. 还存在什么问题
- 一看到Pyramid就知道,这类模型肯定不能用于算力不行的设备里了……其实mmaction2里有,到时候可以测试一下性能。