GST: Grouped Spatial-Temporal Aggregation for Efficient Action Recognition 论文阅读
Grouped Spatial-Temporal Aggregation for Efficient Action Recognition
要解决的问题:作者对比了Kinetic和Diving48这两种类型的数据集。Kinetic通过静态场景和物体就可识别,甚至打乱顺序也没关系;而Diving48时序相关性较强,只用帧级别的推断是无法得到正确分类结果的。
使用的方法:时间和空间两条并行的支路分别实现时序推理(获取动作信息)和外观信息捕捉(获取静态信息)。使用了分解的思路3\times3\times3\rightarrow1\times3\times3+3\times3\times3
Abstract
以前的工作试图通过解耦空间和时间滤波器来降低复杂性。而这篇论文提出了一种并行分解的方法,来并行地将特征通道降维为时间和空间两组。
这种分称之为GST(组时空聚合)的方法使得我们可以量化地分析不同层之间时空特征的贡献并使参数更高效。
在多个需要时序推理的动作识别任务(比如:Diving48, Epic Kitchen and EGTEA Gaze+)上取得了好成绩。
Introduction
Temporal Reasoning
对于UCF101和Kinetics这种没有时序推理或者说时序推理需求弱的可以打乱时间序列亦无影响。但是对于abstract中所属的那三个数据集而言,时序推理必不可少。
Appearance Encoding
结论:外观信息对时序推理很重要
如下图所示,上面两张图片为“扔起某物并抓住”,而第二行是“把某物扔到空中让其自由掉落”。我们可以通过只看到单个帧来缩小可能的解释范围。我们可以通过观察状态的变化,从稀疏采样的帧中推断出动作。

group convolution
结论:通道和通道之间其侧重点不同,有的侧重于外观有的侧重于动作。
如下图所示,左边三个是sth-sth v1 v2,右边是时序相关性强的数据集。

整体上来看可以发现,大部分的块中temporal支路看重的通道和spatial支路看重的通道并不重合。
从左边一列可以发现,\alpha=\frac{1}{2}即提取时间信息的通道数量比上总通道数量=1/2时,时空信息较1/4和1/8更难以区分。说明太多的时间通道可能会编码额外的静态信息。
右边一列可发现,需要时序信息的数据集中,低级特征中空间信息更重要(关注于静态线索);高级特征中时间信息更有需求(关注于动态线索)。(论文说:这可能是由于单个帧中的对象线索往往不足以确定该动作。)
Related Works
Temporal Modeling
一、2D卷积方法
TSN提出了新的采样策略并使用后部融合策略(late fusion strategy,也许指的是对多段进行segment consensus然后综合起来作为视频级结果)来聚合每一帧的特征。
TRN引入多尺度多层感知机用于时间聚合。
以上两个方法都使用了late fusion strategy,都是2D卷积神经网络,在需要时序推理的数据集上表现得不那么好。
二、3D卷积方法
比如C3D、I3D、P3D,用了大量的参数故难以训练。
I3D即使用了一种inflate方法,将1\times3\times3的卷积核拓展(复制)成为3\times3\times3的3D卷积核,减少了训练的消耗。
SlowFast使用了两个不同的结构对不同的时序频率上运行。
而本文的GST只是简单地对每帧进行平均池化,并尝试在通道维度上探索静态动态特征进行拆分的可能性。
Approach
Architecture
具体的结构如下:

(a)是从C3D改变而来,添加的东西仅为\alpha,即temporal支路的输出通道个数。
(b)将仅限空间卷积(即二维卷积)应用于第一组特征,并将另一组特征应用于时空卷积(即三维卷积)。也就是将spatio支路改成2D卷积减少计算量。
©便是在GST-Large的基础上将进入bottleneck结构的输入数据以\beta=1的比例(\frac{\#temporal\_channel}{\#spatial\_channel})分别输入时间、空间支路,进一步减小计算量。
与其他3D模型的可训练参数数量的比较如下表:

H: height, W: weight, Ci: #input channel, Co: #output channel.
Decomposing a 3D Convolution Kernel
1. 正交化权重为时间通道权重和空间通道权重
\omega=\omega_t\times\omega_s,\\ \omega_s\in{\mathbb R}^{C_o\times C_i\times 1\times H\times W},\omega_t\in{\mathbb R}^{C_o\times C_i\times T\times 1\times 1}
上式在R(2+1)D中表明,在与三维卷积相同数量的参数下,该分解可以获得更好的性能
2. 本论文的分解方式
\omega_{GST}=\omega_{gs}\oplus\omega_{gt}\\ \omega_{gs}\in{\mathbb R}^{C_{o_{s}}\times C_{i_{s}}\times 1\times H\times W}, \omega_{gt}\in{\mathbb R}^{C_{o_{t}}\times C_{i_{t}}\times T\times T\times W}
Ablation Study
在Something-something v1上的比较

在Diving48上的比较

在Epic Kitchen上的比较

在EGTEA Gaze++上的比较

总结
- 模型表现出众。只对部分通道进行时间建模,减少了计算量。
- 与3D组卷积进行比较,使用一个仅空间卷积支路是有好处的。说明了3D网络仍然有冗余。如果分解为时间和空间两个支路进行,网络能更容易训练并且泛化性能更优秀。
- \alpha=\{\frac{1}{2},\frac{1}{4},\frac{1}{8}\},发现减少时间通道的比率并不会显著地伤害到模型性能,反而适当地降低时间通道容量能更好的进行时间建模。
- 在Diving48数据集(时序相关性强)上的实验:在轻量的backbone上能超过当前最优秀的方法,说明可以高效地提取时间线索。
Conclusion
- 提出的GST模块分解特征通道为静态和动态两个部分,分别应用空间和时间卷积。
- 实验部分洞察了两个支路对于整个网络分别起到了什么作用。
