CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块

作者 | 王正蔚 佘琪
编辑 | CV君
报道 | 我爱计算机视觉(微信id:aicvml)

本文是对我们 CVPR 2021 接收的工作 "ACTION-Net: Multipath Excitation for Action Recognition" 的介绍。主要针对强时序依赖行为识别这个场景,设计了一组卷积模块。

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第1张图片

01ACTION模块

ACTION 的核心思想是生成三个 attention map 即时空 attention map, channel attention map 和 motion attention map 来激发相应视频中的特征。因为 ACTION 模块是基于 2D CNN 的,所以 ACTION 的输入是一个 4D

图片

(N: batch size, T: number of segments, C: number of channels, H: hegith, W: width)。下面我们将介绍三个模块分别对于输入 X 的处理。

1.1时空注意力 (Spatial-Temporal Excitation: STE)

该模块通过产生时空 attention map 来提取视频中的时空(spatio-temporal)特征。传统的时空特征提取主要使用3D卷积,但直接对输入引入3D卷积会大大的增加模型的计算量。所以我们先对 X 做一个channel average得到一个对于时空的 global channel 的特征

图片

我们再将

图片

reshape 成能够被 3D 卷积操作的维度即(N, 1, T, H, W)。至此,我们可以用一个 3D 卷积核对这个 F 进行卷积,卷积完之后再通过 Sigmoid 就可以得到一个时空的 attention map

图片

这个时空 attention map reshape 成和 X 一样的维度再去点乘 X 就可以得到激发我们所需要的时空特征。STE 的结构和 PyTorch API 伪代码如下图:

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第2张图片

STE 的结构图

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第3张图片

PyTorch API 伪代码图

1.2信道注意力 (Channel Excitation: CE)

这个 block 是基于 SE-Net 的 SE block。但因为视频动作中含有时序信息,所以我们在信道的 squeeze 和 unsqueeze 之间插入了 1D 在时域上的卷积来增强信道在时域上的相互依赖程度。和 SE 一样,我们可以得到一个基于信道的 attention map

图片

和 STE 一样,我们用得到的 attention map 点乘输入的 X 得到信道所激发特征。STE 的结构和 PyTorch API 伪代码如下图:

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第4张图片

STE 的结构图

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第5张图片

PyTorch API 伪代码图

1.3运动注意力 (Motion Excitation: ME)

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第6张图片

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第7张图片

ACTION 模块是由以上提到的三个注意力模块并联而成。这个模块和之前的工作TSM一样,即插即用。在和 state-of-the-art 的方法比较中,我们的backbone 采用了和之前工作相同的 ResNet-50 作为比较。同时,我们以 TSN和 TSM 为baseline 测试了ACTION 在不同 backbone (ResNet-50, MobileNet V2, BN-Inception) 上的性能。

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第8张图片

02实验结果

我们分别用了三个侧重于时序动作的视频数据集: Something-Something V2, Jester, EgoGesture 来测试我们提出的 ACTION 模块。

2.1对比实验

从下表中可以看出 ACTION 在 Jester 和 EgoGesture 上面的表现还是十分鲁棒的,都取得了 state-of-the-art 的效果。在 Something V2 的数据集上面相比STM 和 TEA 也取得了很相近的效果。

但值得注意的是,STM 和 TEA 都是分别针对于 ResNet 和 Res2Net 设计的,而 ACTION 是一个即插即用的模块,不会受限于 backbone 种类。

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第9张图片

2.2Ablation Studies

Table 3 列出了不同 path 增加的计算量,参数以及效果提升。可以看 STE 和 CE 相对 TSM 于所增加的计算量非常小,同时可以提高 1.7% 准确率。ME 相对于另外两个模块计算量有所增加,但同时增加的准确率也最高。当我们把三个模块并联成 ACTION 时,准确率最高,但同时计算量也是增加的最多的。

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第10张图片

Table 5 列出了ACTION 模块在不同 backbone 相较于 baseline 的一个效果提升。我们可以看出 ACTION 在 MobileNet V2 中所增加的计算量最低,这是由于MobileNet V2 本身倒锥形的结构(Inverted Residual)即在 residual block里,两边 channel 少,中间 channel 多。

而我们的 ACTION 插在每个 residual 的开始,所以 MobileNet V2 这样的结构本身会是 ACTION 带来的计算量比 ResNet-50 和 BNInception 来的要小。从准确率增加的效果上来看,对 ResNet-50 的提升最为明显(同时也增加的计算量也是最大)。

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第11张图片

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第12张图片

CVPR 2021 |针对强时序依赖,即插即用、混合注意力机制的 ACTION 模块_第13张图片

其它解读:CVPR 2021 | 用于动作识别,即插即用、混合注意力机制的 ACTION 模块

你可能感兴趣的:(计算机视觉动作识别)