(ICCV-2021)用于视频识别的时间自适应模块

TAM:用于视频识别的时间自适应模块

论文题目:TAM: Temporal Adaptive Module for Video Recognition

papaer是南京大学和商汤科技发表在ICCV 2021上的工作

论文地址:链接

Abstract.

时间建模对于捕获视频中的时空结构以进行动作识别至关重要。由于摄像机运动、速度变化和不同活动等各种因素,视频数据在时间维度上具有极其复杂的动态。为了有效地捕捉这种多样化的运动模式,本文提出了一种新的时间自适应模块 (TAM),以根据其自身的特征图生成视频特定的kernel。 TAM中的时序核参数被分解成位置敏感 importrance map \text{importrance map} importrance map和位置无关的 aggregation weight \text{aggregation weight} aggregation weight,提出了一种独特的两级自适应建模方案。在局部时间窗口中 importrance map \text{importrance map} importrance map捕获短期信息,而从全局视角生成 aggregation weight \text{aggregation weight} aggregation weight,重点关注长期信息。 TAM 是可以集成到 2D CNN 中,来产生强大的视频架构 (TANet),而并且额外的计算成本非常低。 Kinetics-400 上的大量实验表明,由于其自适应建模策略,TAM 始终优于其他时间建模方法。在Something-Something数据集上,与以前的最先进方法相比,TANet取得了sota性能。Code:链接

Keywords: 动作识别时间自适应模块时间自适应网络


1 Introduction

深度学习为图像领域的各种识别任务带来了巨大的进步,例如图像分类目标检测实例分割。这些成功的关键是设计灵活高效的架构,能够从大规模图像数据集中学习强大的视觉表示。然而,深度学习在视频理解方面的研究进展相对较慢,部分原因在于视频数据的高度复杂性。视频理解的核心技术问题是设计一个有效的时间模块,该模块有望能够以高灵活性捕获复杂的时间结构,同时还具有低计算消耗以有效地处理高维视频数据。

3D 卷积神经网络 (3D CNN)已成为视频建模的主流架构。 3D 卷积是对其 2D CNN的自然扩展,并为视频识别提供了可学习的算子。然而,这种简单的扩展缺乏对视频数据时间属性的具体考虑,并且可能会导致高计算成本。因此,最近的方法旨在通过将轻量级时间模块与 2D CNN 相结合以提高效率(例如,TSN、TSM)或设计专用时间模块以更好地捕获时间关系,从而从两个不同方面改进 3D CNN (例如,Non-Local网络、ARTNet、STM)。然而,如何设计一个高效、灵活的时间模块仍然是视频识别中一个未解决的问题。因此,本文的目标是沿着这个方向推进当前的视频架构。

在本文中,作者专注于设计一个自适应模块,以更灵活的方式捕获时间信息。作者观察到由于相机运动和各种速度等因素,视频数据在时间维度上具有极其复杂的动态。因此,通过简单地使用固定数量的视频无关卷积核,3D 卷积(时间卷积)可能缺乏足够的表达能力来描述运动多样性。为了处理视频中如此复杂的时间变化,作者认为每个视频有自适应的时间核是有效的,并且可能是描述运动模式所必需的。为此,如图 1 所示,提出了一种两级自适应建模方案,将这个视频特定的时序核参数被分解成位置敏感 importrance map \text{importrance map} importrance map和位置无关的 aggregation weight \text{aggregation weight} aggregation weight。这种独特的设计允许位置敏感的 importrance map \text{importrance map} importrance map专注于增强来自局部视图的判别时间信息,并使位置无关的 aggregation weight \text{aggregation weight} aggregation weight能够捕获由输入视频序列的全局视角引导的时间依赖性

图1

图 1:时间模块比较:标准时间卷积在视频之间共享权重,并且由于视频的多样性,可能缺乏处理视频变化的灵活性。时间注意力通过自适应地为判别特征分配高重要性权重来学习位置敏感权重,并且可能忽略长期时间依赖性。本文提出的时间自适应模块(TAM)通过学习用于位置自适应增强的局部重要性权重和用于视频自适应聚合的全局重要性权重,提出了一种两级自适应方案。 ⊙ \odot 表示注意力操作, ⊗ \otimes 表示卷积操作。

具体来说,时间自适应模块(TAM)设计严格遵循两个原则:高效和强大的灵活性。为了保证TAM较低的计算成本,首先通过使用全局空间池化来压缩特征图,然后以通道方式构建TAM以保持效率。TAM由两个分支组成:局部分支 ( L ) (\mathcal{L}) (L)和全局分支 ( G ) (\mathcal{G}) (G)。如图 2 所示,TAM 以一种有效的方式实现。局部分支使用时间卷积算子来生成位置敏感的 importrance map \text{importrance map} importrance map来处理判别特征,而全局分支使用时间全连接层来生成位置无关的 aggregation weight \text{aggregation weight} aggregation weight。局部时间窗口生成的 importrance map \text{importrance map} importrance map侧重于短期运动建模,而使用全局视角的 aggregation weight \text{aggregation weight} aggregation weight更关注长期时间信息。此外,本文的 TAM 可以灵活地插入现有的 2D CNN 以产生高效的视频识别架构,称为 TANet。

图2

扫描二维码关注公众号,回复: 13725897 查看本文章

图 2:TANet 的整体架构。 ResNet 中的普通 ResNet-Blocks 被替换为 TA-Blocks 以实例化 TANet。 ⊕ \oplus 表示元素相加。右下角的时间自适应模块(TAM)的整个工作流程展示了它是如何工作的。注意每一步之后张量的形状。 ⊙ \odot 表示逐元素乘法, ⊗ \otimes 表示卷积算子。图中出现的符号将在第3.1节中解释。

作者在视频识别中的动作分类任务上测试了提出的 TANet。特别的,作者首先研究了 TANet 在 Kinetics-400 数据集上的性能。证明了TAM在捕获时间信息方面比其他几个方法更好,例如时间池化时间卷积TSMNon-local Block。TANet能够通过类似于2D CNN 的 FLOPs 产生非常有竞争力的准确度。作者还在Something-Something的运动主导数据集上测试了TANet,实现了最先进的性能。

2 Related Work

视频理解是计算机视觉领域的核心课题。在早期,许多传统方法设计了各种手工特征来编码视频数据。使用密集轨迹特征的iDT在这些手工设计的方法中取得了强大的性能。但是,手工制作的方法在推广到其他视频任务时太不灵活了。最近,由于视频理解的快速发展极大地受益于深度学习方法,特别是在视频识别方面,提出了一系列专注于学习时空表示的深度学习方法,一般分为两类:(1)2D CNNs 方法(2)3D CNNs 方法。此外,本文的工作还略微提到了 CNN 中的注意力

2D CNNs Methods for Action Recognition. 由于深度学习方法已广泛用于静止图像任务,因此基于 2D CNN 的许多尝试致力于对视频剪辑进行建模。由于普通 2D 卷积无法处理时间关系,因此双流方法利用光流作为运动特征来学习时间线索。特别是,TSN使用从整个视频中稀疏采样的帧,通过在最后一个全连接层之后聚合分数来学习长期依赖关系。 TSM以一种有效的方式沿时间维度移动通道,这完全基于 2D CNN 的方法产生了良好的性能增益。与前面提到的所有方法不同,本文基于该方法的2D CNN尝试使用两级自适应建模方案,将特定于视频的时序核分解为位置敏感激励和位置无关聚合。 由于提取光流的成本太高,TANet在实验中只考虑 RGB 作为输入模态

3D CNNs Methods for Action Recognition. 通过从空间域到时空域的简单扩展,3D卷积被提出用于捕获视频剪辑中编码的运动信息。由于大规模动力学数据集的发布,3D CNN被广泛用于动作识别。其变体将3D卷积分解为空间2D卷积和时间1D卷积,以学习时空特征。ARTNet和SlowFast设计了一个双路网络来学习时空特征。与P3D或R(2+1)D不同,本文的视频特定聚合kernel用于在时间维度上执行通道方向的1D卷积,每个视频剪辑都有其独特的kernel

Attention. TAM的局部分支主要与SENet有关。但SENet学习了特征图射每个通道的调制权重,以便在图像识别中执行特征重新校准。STC块被提出来研究动作识别中的时空通道相关性。与这些方法不同,TAM的局部分支压缩了空间特征,但保留了时间信息来学习位置敏感的重要性。Non-local网络被设计为具有non-local均值,可以将其视为捕获远程依赖关系的自注意力。本文的 TANet 通过简单地堆叠更多的 TAM 来捕获远程依赖关系,并保持backbone网络的效率。

3 Method

本节首先详细描述时间自适应模块(TAM),然后介绍 TANet 进行视频识别的示例。

3.1 The Overview of Temporal Adaptive Module


正如在第1节中讨论的那样,视频数据通常表现出由相机运动和速度变化等因素引起的复杂时间动态。因此,本文的目标是通过引入具有视频特定kernel的时间自适应模块 (TAM) 来解决这个问题,这与 3D CNN 中的共享卷积内核不同。所提出的 TAM 以灵活高效的方式基于视频特征生成动态时间核,从而能够根据运动内容自适应地聚合时间信息。TAM 可以很容易地集成到现有的 2D CNN(例如 ResNet)中以产生视频网络架构,如图 2 所示。下面将概述 TAM,然后描述其技术细节。还讨论了TAM与现有工作的关系。

X ∈ R C × T × H × W X \in \mathbb{R}^{C \times T \times H \times W} XRC×T×H×W表示一个特征图,其中 C C C表示通道数, T , H , W T, H, W T,H,W是它的时空维度。为了推理效率,TAM只关注时间建模,并且空间模式预计将由2D卷积捕获。因此,首先采用全局空间平均池化来压缩特征图,如下所示:
X ^ c , t = ϕ ( X ) c , t = 1 H × W ∑ i , j X c , t , j , i \hat{X}_{c, t}=\phi(X)_{c, t}=\frac{1}{H \times W} \sum_{i, j} X_{c, t, j, i} X^c,t=ϕ(X)c,t=H×W1i,jXc,t,j,i
其中 c , t , j , i c, t, j, i c,t,j,i是不同维度(通道、时间、高度和宽度)的索引, X ^ ∈ R C × T \hat{X} \in \mathbb{R}^{C \times T} X^RC×T聚合了 X X X的空间信息。为简单起见,在这里使用 ϕ \phi ϕ来表示聚合空间信息的函数。时间自适应模块是基于这种压缩的一维时间信号建立的,以提高效率。

TAM由两个分支组成:局部分支和全局分支,旨在学习位置敏感的 importrance map \text{importrance map} importrance map以增强判别特征,然后生成位置无关的 aggregation weight \text{aggregation weight} aggregation weight以卷积方式聚合时间信息。更具体地说,TAM 的公式如下:
Y = G ( X ^ ) ⊗ ( L ( X ^ ) ⊙ X ) , Y=\mathcal{G}(\hat{X}) \otimes(\mathcal{L}(\hat{X}) \odot X), Y=G(X^)(L(X^)X),
其中 ⊙ \odot 表示逐元素乘法, ⊗ \otimes 表示卷积算子。 G \mathcal{G} G表示全局分支, L \mathcal{L} L表示局部分支。这两个分支都在压缩后的特征图 X ^ \hat{X} X^上进行操作, G \mathcal{G} G L \mathcal{L} L的输出大小分别为 K × C K \times C K×C T × C × H × W T \times C \times H \times W T×C×H×W。注意,这两个分支专注于时间信息的不同方面,其中局部分支试图通过使用时间卷积操作来捕获短期信息以关注重要特征,而全局分支旨在将远程时间结构结合到引导有全连接层的自适应时间聚合。实验证明,将内核学习过程分解为局部和全局分支是一种有效的方法。在以下部分详细介绍这两个分支。

3.2 Local Branch in TAM


如上所述,局部分支旨在利用短期时间动态来帮助生成视频特定kernel。作者观察到这些短期信息沿时间维度变化,需要学习位置敏感的 importrance map \text{importrance map} importrance map来捕获局部时间结构

如图 2 所示,使用一系列具有ReLU非线性的时间卷积层构建 TAM 的局部分支,如下所示:
V = L ( X ^ ) = Sigmoid ⁡ ( Conv ⁡ 1 D ( δ ( Conv ⁡ 1 D ( X ^ , K , C β ) , 1 , C ) ) ) ( 3 ) V=\mathcal{L}(\hat{X})=\operatorname{Sigmoid}\left(\operatorname{Conv} 1 \mathrm{D}\left(\delta\left(\operatorname{Conv} 1 \mathrm{D}\left(\hat{X}, K, \frac{C}{\beta}\right), 1, C\right)\right)\right)(3) V=L(X^)=Sigmoid(Conv1D(δ(Conv1D(X^,K,βC),1,C)))3
其中 V V V是可学习的 importrance map \text{importrance map} importrance map C C C是输入张量的通道数, δ \delta δ是 ReLU 函数。Conv1D是一种时间卷积,它由输入张量、核大小和输出通道数进行参数化。由于局部分支的目标是捕获短期信息,将核大小 K K K设置为3,以便仅基于局部时间窗口学习 importrance map \text{importrance map} importrance map。为了控制模型的复杂度,第一个Conv1D后跟BN将通道数从 C C C减少到 C β \frac{C}{\beta} βC。然后,具有sigmoid激活的第二个Conv1D 产生 V ∈ R C × T V \in \mathbb{R}^{C \times T} VRC×T。为了匹配 X X X的大小,通过在空间维度上复制 V V V重新缩放为 V ^ ∈ R C × T × H × W \hat{V} \in \mathbb{R}^{C \times T \times H \times W} V^RC×T×H×W
V ^ c , t , j , i = V c , t \hat{V}_{c, t, j, i}=V_{c, t} V^c,t,j,i=Vc,t
其中 c , t , j , i c, t, j, i c,t,j,i是通道、时间、高度和宽度不同维度的索引。最后,时间激励公式如下:
Z = V ^ ⊙ X = L ( X ^ ) ⊙ X Z=\hat{V} \odot X=\mathcal{L}(\hat{X}) \odot X Z=V^X=L(X^)X
其中 Z ∈ R C × T × H × W Z \in \mathbb{R}^{C \times T \times H \times W} ZRC×T×H×W是激活的特征图, ⊙ \odot 表示逐元素乘法。

3.3 Global Branch in TAM


关于 TAM 的全局分支,专注于生成基于长期时间信息的自适应核。它将全局上下文信息合并到 TAM 中,并学习位置共享权重以进行聚合。需要全局视角来生成视频特定的卷积核。

Learning the Adaptive Kernels. 在全局分支中,选择为每个视频片段生成动态核,并以卷积方式聚合时间信息。为了简化动态内核生成并保持高效率,作者建议以通道方式学习自适应内核。从这个意义上说,作者希望学习的自适应核只考虑时间关系建模而不考虑通道相关性。因此,TAM不会改变输入特征的通道数,并且学习的自适应核被应用于以通道方式对输入特征图进行卷积。更正式地说,对于第 c t h c^{th} cth个通道,自适应核学习如下:
Θ c = G ( X ^ ) c = softmax ⁡ ( F ( W 2 , δ ( F ( W 1 , X ^ c ) ) ) ) , \Theta_{c}=\mathcal{G}(\hat{X})_{c}=\operatorname{softmax}\left(\mathcal{F}\left(\mathbf{W}_{\mathbf{2}}, \delta\left(\mathcal{F}\left(\mathbf{W}_{\mathbf{1}}, \hat{X}_{c}\right)\right)\right)\right), Θc=G(X^)c=softmax(F(W2,δ(F(W1,X^c)))),
其中 Θ c ∈ R K \Theta_{c} \in \mathcal{R}^{K} ΘcRK是为第 c t h c^{t h} cth个通道生成的自适应内核(聚合权重), K K K是自适应核大小, δ \delta δ表示 ReLU 激活函数。与局部分支中的 importrance map \text{importrance map} importrance map学习类似,自适应核也是基于压缩特征图 X ^ c ∈ R T \hat{X}_{c} \in \mathbb{R}^{T} X^cRT学习的,而无需考虑空间结构以提高建模效率。但与局部分支不同,全局分支使用全连接 ( f c ) (f c) (fc) F \mathcal{F} F利用长期信息来学习自适应核。作为局部分支 importrance map \text{importrance map} importrance map的补充,期望学习到的自适应核具有全局感受野,因此可以聚合由全局上下文引导的时间特征。为了提高全局分支的建模能力,堆叠了两个 ( f c ) (f c) (fc)层,并使用softmax函数对学习的核进行归一化以产生正聚合权重。学习到的聚合权重 Θ = { Θ 1 , Θ 2 , … , Θ C } \Theta=\left\{\Theta_{1}, \Theta_{2}, \ldots, \Theta_{C}\right\} Θ={ Θ1,Θ2,,ΘC}将以卷积方式部署,以捕获特征的时间交互。

Temporal Adaptive Aggregation. 在介绍了双分支的体系结构之后,用学习到的自适应核来描述如何聚合时间信息。如公式 3 所示,学习到的位置敏感 importrance map \text{importrance map} importrance map V V V用于特征激励,位置共享聚合权重 Θ \Theta Θ用于时间卷积,如下所示:
Y c , t , j , i = G ( X ^ ) ⊗ Z = Θ ⊗ Z = ∑ k Θ c , k ⋅ Z c , t + k , j , i Y_{c, t, j, i}=\mathcal{G}(\hat{X}) \otimes Z=\Theta \otimes Z=\sum_{k} \Theta_{c, k} \cdot Z_{c, t+k, j, i} Yc,t,j,i=G(X^)Z=ΘZ=kΘc,kZc,t+k,j,i
其中 ⋅ \cdot 表示标量乘法, Y ∈ R C × T × H × W Y \in \mathbb{R}^{C \times T \times H \times W} YRC×T×H×W是时间卷积后的特征图, Z Z Z是局部分支的输出。

总而言之,TAM 提出了一个原则性的自适应模块,具有独特的两步聚合方案,其中局部激励和全局聚合都源自当前特征图,但侧重于捕获不同的时间结构进行聚合(即短期和长期时间结构)。正如实验所证明的,TAM是一种高效而有效的时间自适应方案。

3.4 Exemplar: TANet


这里描述如何实例化 TANet。时间自适应模块作为一种新颖的时间建模方法,可以赋予现有的 2D CNN 强大的建模视频剪辑中不同时间结构的能力。在实践中,TAM 只造成有限的计算开销,但明显提高了不同类型数据集的性能。

ResNets被用作backbone来验证TAM的有效性。如图 2 所示,TAM 在第一个 Conv2D 之后嵌入到 ResNet-Block 中,这很容易将 vanilla ResNet-Block 变成 TA-Block。这种方式不会过度改变网络的拓扑结构,并且可以重用 ResNet-Block 的权重。假设将T帧作为输入剪辑进行采样, f c fc fc之后的T帧的分数通过平均池化聚合以产生剪辑级别的分数。在 f c fc fc层之前不执行时间下采样操作。事实上,本文的方法对 TA-Block 的数量和插入位置没有太多的限制。这些点将在后面讨论。这种方式充分展示了本文方法的灵活性和效率。广泛的实验在第二节进行。 4.2 证明TANet的有效性。

Discussion. 注意到局部分支的结构类似于SENet。第一个明显的区别是局部分支不压缩时间信息。因此,使用时间一维卷积作为基本层,而不是使用 f c fc fc层。两层设计只是寻求获得更强大的非线性来模拟视频中的短期变化。此外,局部分支主要旨在学习时间位置敏感的 importrance map \text{importrance map} importrance map,并与全局分支合作学习更具判别力的特征。

TSN、TSM等仅使用固定方案聚合时间特征,但时间自适应模块可以产生视频特定权重以在早期阶段自适应地聚合时间特征。3D 卷积所有输入样本共享相同的卷积核,没有处理视频中的时间多样性。此外,全局分支本质上执行了一个通道方式的时间卷积,其滤波器的大小为 1 × k × 1 × 1 1 \times k \times 1 \times 1 1×k×1×1,而普通 3D 卷积中的每个滤波器的大小为 C × k × k × k C \times k \times k \times k C×k×k×k,其中 C \mathrm{C} C是通道和 k \mathrm{k} k表示感受野。因此,本文的方法比3D CNN更有效。

猜你喜欢

转载自blog.csdn.net/wl1780852311/article/details/122906437