0. 前言
- TEA: Temporal Excitation and Aggregation for Action Recognition
- 相关资料:
- 论文基本信息
- 领域:行为识别
- 作者单位:南京大学&腾讯
- 发表时间:CVPR 2020
- 一句话总结:设计了新结构,分别提取相邻帧信息与多帧全局信息(利用分组卷积的思路)。
1. 要解决什么问题
- 行为识别的的重点是对空间信息建模(Temporal Modeling),一般来说要考虑下面两个维度:
- short-range motions:即相邻帧之间的信息
- long-range aggregations:长期特征融合
- 目前的方法:
- short-range motions
- 主要通过提取光流,再讲光流信息通过CNN处理,总体结构是two-stream的方法。
- 要使用光流,显然就做不到实时处理了,而且也需要较多空间存储信息。
- 而且光流和RGB是分开处理的,特征融合只是最后几步进行。
- long-range aggregation
- 第一类方法:对单帧数据通过2D CNN提取特征,然后对多帧的特征图pooling操作,融合结果。
- 这种方法实现简单,效果不好。
- 第二类方法:使用 3D/(2+1)D 卷积同时处理若干帧数据。
- 一般会使用若干CNN基本结构叠加从而提取特征,但叠加多了训练困难。
- 第一类方法:对单帧数据通过2D CNN提取特征,然后对多帧的特征图pooling操作,融合结果。
- short-range motions
2. 用了什么方法
- 提出了Temporal Excitation and Aggregation(TEA) block
- TEA block 又可以分为 motion excitation module(ME) 和 multiple temporal aggregation module (MTA),分别处理 short-range motions 和 long-range aggregations 的问题。
- 本论文提出的,基于TEA block的网络结构如下
- 本结构全部使用了2D CNN,分别对每一帧进行处理,最后做了一个平均。
- Motion Excitation Module(ME)
- 设计目标是处理 short-range motions,不恰当地打个比方,就是比较相邻两帧的不同之处。
- 与 two-steam 不同(two-stream 方法是处理光流,即相信两帧像素级别的变化),ME的是处理相邻帧feature-level的变化。
- 设计ME的灵感在于:
- 特征图中不同的channel提取了不同的特征。
- 换句话说,部分channel存储静态信息,部分channel提取动态信息。
- 模块基本流程:
- 输入特征图
N, T, C, H, W
- 第一步:通过2D卷积降维,得到特征图
N, T, C/r, H, W
,注意,降维降的是C纬度。 - 第二步:获取 feature-level 的motion representations,得到的特征图尺寸不变。
- 通过t与(t+1)层的特征,通过2d conv以及按位减法获取新的特征。
- 我猜是遍历特征图的
T
纬度得到结果,然后concat。
- 第三步:通过pool将
H, W
变为1, 1
,之后再进行卷积(将T channel升维,与第一步输入特征尺寸相同)、Sigmoid操作。得到特征图H, T, C, 1, 1
- 第四步:其中操作就是按位乘法。所谓的 excite 应该就是这里的按位乘法吧…
- 输入特征图
- Multiple Temporal Aggregation(MTA) Module
- 设计目标是处理 long-range motions,ME处理临近帧,那MTA就是处理距离远的帧。
- 设计灵感来源于Res2Net,即时空特征以及对应的卷积层都以分组操作。这种结构不会增加参数与计算量。
- 大概流程就是先分组,然后再分别进行卷积操作。
- 通过ME与MTA替代普通的ResNet中的bottlenet block。
3. 效果如何
- 我就喜欢这种放上FLOPs的结果。
4. 还存在什么问题
- 这种网络虽然FLOPs不高,但inference time绝对很高。
- 很可能速度不如ResNet50,也许比TSM也没有优势。