【视频理解】2022-CVPR-Video Swin Transformer

Video Swin Transformer

论文地址

摘要

 视觉领域正在见证从 CNN 到 Transformers 的建模转变,纯 Transformer 架构在主要视频识别基准测试中达到了最高准确度。这些视频模型都建立在 Transformer 层之上,Transformer 层在空间和时间维度上全局连接块。在本文中,我们提倡视频 Transformer 中的局部归纳偏差,与以前的方法相比,即使使用时空分解,也可以在全局范围内计算自注意力,从而实现更好的速度-精度权衡。所提出的视频架构的局部性是通过调整为图像域设计的 Swin Transformer 实现的,同时继续利用预训练图像模型的力量。我们的方法在广泛的视频识别基准测试中实现了最先进的准确度,包括动作识别(Kinetics-400 上的 84.9 top-1 准确度和 Kinetics-600 上的 85.9 top-1 准确度,减少了约 20× 预训练数据和小模型尺寸的 3 倍)和时间建模(SomethingSomething v2 上的 69.6 top-1 准确率)。

1. 引言

 基于卷积的骨干架构长期以来一直主导着计算机视觉中的视觉建模 [14、18、22、24、32、33]。然而,目前图像分类的骨干架构正在发生建模转变,从卷积神经网络(CNN)到 Transformer [8、28、34]。这种趋势始于 Vision Transformer(ViT)[8、34] 的引入,它使用标准的 Transformer 编码器 [38] 对非重叠图像块上的空间关系进行全局建模。ViT 在图像上的巨大成功导致了对基于 Transformer 的视频识别任务架构的研究 [1、3]。

以前对于卷积模型,视频的骨干架构只是通过在时间轴上扩展建模来从图像的骨干架构中改编而来。例如,3D 卷积 [35] 是 2D 卷积的直接扩展,用于运算符级别的联合空间和时间建模。由于联合时空建模不经济,也不容易优化,因此提出了空间和时间域的分解以实现更好的速度-精度权衡 [30、41]。在基于 Transformer 的视频识别的最初尝试中,也采用了分解方法,通过分解编码器 [1] 或分解自注意力 [1、3]。这已被证明可以大大减小模型大小,而不会显着降低性能。

 在本文中,我们提出了一种用于视频识别的纯 Transformer 骨干架构,发现其效率超过了分解模型。它通过利用视频固有的时空局部性来实现这一点,其中在时空距离上彼此更接近的像素更有可能相互关联。由于这个属性,完整的时空自注意力可以通过本地计算的自注意力很好地近似,从而显着节省计算和模型大小。

 我们通过 Swin Transformer [28] 的时空适应来实现这种方法,Swin Transformer 最近被引入作为图像理解的通用视觉骨干。Swin Transformer 结合了空间局部性以及层次和平移不变性的归纳偏置我们的模型称为 Video Swin Transformer,严格遵循原始 Swin Transformer 的层次结构,但将局部注意力计算的范围从仅空间域扩展到时空域。由于局部注意力是在非重叠窗口上计算的,因此原始 Swin Transformer 的移位窗口机制也被重新制定以处理时空输入。

 由于我们的架构改编自 Swin Transformer,因此可以使用在大规模图像数据集上预训练的强大模型轻松对其进行初始化。使用在 ImageNet-21K 上预训练的模型,我们有趣地发现骨干架构的学习率需要小于随机初始化的头部的学习率(例如 0.1×)。因此,骨干在适应新的视频输入时会慢慢忘记预训练的参数和数据,从而实现更好的泛化。这一观察结果为进一步研究如何更好地利用预训练权重指明了方向。

 所提出的方法在 Kinetics400 / Kinetics-600 上的动作识别视频识别任务和 SomethingSomething v2(缩写为 SSv2)上的时间建模方面显示出强大的性能。对于视频动作识别,其在 Kinetics-400 上的 84.9% top-1 准确率和在 Kinetics-600 上的 85.9% top-1 准确率略高于之前的最佳结果(ViViT [1])+0.1 分,模型尺寸更小(Swin-L 的 200.0M 参数与 ViViT-H 的 647.5M 参数)和较小的预训练数据集(ImageNet-21K 与 JFT-300M)。对于 SSv2 上的时间建模,它获得了 69.6% 的 top-1 精度,比之前的最先进技术(MViT [9])提高了 +0.9 分。

2. 相关工作

 在计算机视觉中,卷积网络长期以来一直是骨干架构的标准。对于 3D 建模,C3D [35] 是一项开创性的工作,它设计了一个具有 3D 卷积的 11 层深度网络。I3D [5] 的工作表明,将 Inception V1 中的 2D 卷积膨胀为 3D 卷积,并通过 ImageNet 预训练权重进行初始化,在大规模 Kinetics 数据集上取得了良好的效果。在 P3D [30]、S3D [41] 和 R(2+1)D [37] 中,发现解纠缠的空间和时间卷积比原始 3D 卷积更能实现速度-精度权衡。基于卷积的方法的潜力受到卷积运算符的小感受野的限制。有了自注意力机制,可以用更少的参数和更低的计算成本扩大感受野,从而使 Vision Transformers 在视频识别上有更好的表现

Self-attention / Transformers 对 CNN 的补充。NLNet [40] 是第一个采用 self-attention 来模拟视觉识别任务的像素级远程依赖的工作。GCNet [4] 观察到 NLNet 精度的提高主要归功于其全局上下文建模,因此它将 NL 块简化为一个轻量级的全局上下文块,其性能与 NLNet 相当,但参数更少,计算量更少。相反,DNL [43] 试图通过一种分解纠缠设计来缓解这种退化问题,这种设计允许为不同像素学习不同上下文,同时保留共享的全局上下文。所有这些方法都为 CNN 提供了一个补充组件,用于对远程依赖进行建模。在我们的工作中,我们展示了基于纯 Transformer 的方法更充分地捕捉了自注意力的力量,从而带来了卓越的性能。

Vision Transformers。最近从 Vision Transformer(ViT)[8、34] 开始了计算机视觉骨干架构从 CNN 到 Transformers 的转变。这项开创性的工作导致了后续的研究,旨在提高其效用。DeiT [34] 集成了几种训练策略,允许 ViT 也有效地使用较小的 ImageNet1K 数据集。Swin Transformer [28] 进一步引入了局部性、层次性和平移不变性的归纳偏置,使其能够作为各种图像识别任务的通用骨干。

 图像 Transformers 的巨大成功导致了针对基于视频的识别任务的基于 Transformer 的架构的研究 [1、3、9、25、29]。VTN [29] 建议在预训练的 ViT 之上添加一个时间注意编码器,这在视频动作识别方面产生了良好的性能。TimeSformer [3] 研究了时空注意力的五种不同变体,并提出了一种因式分解的时空注意力,以实现其强大的速度-准确性权衡。ViViT [1] 检查了预训练 ViT 模型的空间和时间注意力的四种分解设计,并提出了一种类似于 VTN 的架构,可在 Kinetics 数据集上实现最先进的性能。MViT [9] 是一种从头开始训练的用于视频识别的多尺度视觉 Transformer,它通过集中注意力进行时空建模来减少计算量,从而在 SSv2 上获得最先进的结果。所有这些研究都是基于全局自注意力模块。在本文中,我们首先研究了时空局部性,然后实验证明具有时空局部性偏差的 Video Swin Transformer 在各种视频识别任务上的性能优于所有其他视觉 Transformer

3. Video Swin Transformer

3.1. 总体架构

 所提出的 Video Swin Transformer 的总体架构如图 2 所示,其中展示了它的微型版本(Swin-T)。输入视频的大小被定义为 T × H × W × 3 T\times H\times W\times3 T×H×W×3,由 T T T 帧组成,每帧包含 H × W × 3 H\times W\times3 H×W×3 个像素。在 Video Swin Transformer 中,我们将每个大小为 2×4×4×3 的 3D 块视为一个 token。因此,3D patch 分区层获得 T 2 × H 4 × W 4 \frac{T}{2}\times\frac{H}{4}\times\frac{W}{4} 2T×4H×4W 3D tokens,每个 patch / token 由一个 96 维特征组成。然后应用线性嵌入(embedding)层将每个 token 的特征投影到由 C C C 表示的任意维度。

 根据现有技术 [11、12、30、41],我们不沿时间维度进行下采样。这使我们能够严格遵循原始 Swin Transformer [28] 的层次结构,它由四个阶段组成,并在每个阶段的 patch 合并层中执行 2× 空间下采样。patch 合并层连接每组 2×2 空间相邻 patch 的特征,并应用线性层将连接的特征投影到其维度的一半。例如,第二阶段的线性层将每个 token 的 4C 维特征投影到 2C 维。

该架构的主要组成部分是 Video Swin Transformer 块,它是通过用基于 3D 移位窗口的多头自注意模块(在第 3.2 节中介绍)替换标准 Transformer 层中的多头自注意(MSA)模块构建的,并保持其他组件不变。具体来说,Video Transformer 块由一个基于 3D 移位窗口的 MSA 模块和一个前馈网络组成,即 2 层 MLP,中间具有 GELU 非线性。在每个 MSA 模块和 FFN 之前应用层归一化(LN),并在每个模块之后应用残差连接。Video Swin Transformer 块的计算公式在等式(1)中给出。

图 1

图 1. 两个连续的 Video Swin Transformer 块的图示。

图 2

图 2. Video Swin Transformer(微型版,简称 Swin-T)的总体架构。

3.2. 基于 3D 平移窗口的 MSA 模块

 与图像相比,视频需要更多的输入 token 来表示它们,因为视频还具有时间维度。因此,全局自注意力模块不适合视频任务,因为这会导致巨大的计算和内存成本。在这里,我们跟随 Swin Transformer 向自注意力模块引入局部归纳偏差,这在后来被证明对视频识别是有效的。

非重叠 3D 窗口上的多头自注意力。每个非重叠 2D 窗口上的多头自注意(MSA)机制已被证明对图像识别既有效又高效。在这里,我们直接扩展此设计以处理视频输入。给定由 T ′ × H ′ × W ′ T^\prime\times H^\prime\times W^\prime T×H×W 个 3D 标记和 P × M × M P\times M\times M P×M×M 的 3D 窗口大小组成的视频,这些窗口被安排为以不重叠的方式均匀划分视频输入。也就是说,输入标记被划分为 ⌈ T ′ P ⌉ × ⌈ H ′ M ⌉ × ⌈ W ′ M ⌉ \left\lceil\frac{T^\prime}{P}\right\rceil\times\left\lceil\frac{H^\prime}{M}\right\rceil\times\left\lceil\frac{W^\prime}{M}\right\rceil PT×MH×MW 非重叠(non-overlapping)的 3D 窗口。例如,如图 3 所示,对于 8 × 8 × 8 8×8×8 8×8×8 的 token 大小和 4 × 4 × 4 4×4×4 4×4×4 的窗口大小,第 l l l 层中的窗口数将为 2 × 2 × 2 = 8 2×2×2=8 2×2×2=8。并且多头自注意力在每个 3D 窗口中执行。

3D 移位窗口。由于多头自注意力机制应用于每个非重叠的 3D 窗口中,不同窗口之间缺乏连接,这可能会限制架构的表示能力。因此,我们将 Swin Transformer 的移动 2D 窗口机制扩展到 3D 窗口,目的是引入跨窗口连接,同时保持基于非重叠窗口的自注意力的高效计算

 假设输入 3D token 的数量为 T ′ × H ′ × W ′ T^\prime\times H^\prime\times W^\prime T×H×W,每个 3D 窗口的大小为 P × M × M P\times M\times M P×M×M,对于两个连续的层,第一层的自注意力模块使用常规窗口划分策略使得我们获得 ⌈ T ′ P ⌉ × ⌈ H ′ M ⌉ × ⌈ W ′ M ⌉ \left\lceil\frac{T^\prime}{P}\right\rceil\times\left\lceil\frac{H^\prime}{M}\right\rceil\times\left\lceil\frac{W^\prime}{M}\right\rceil PT×MH×MW 非重叠 3D 窗口。对于第二层中的自注意力模块,窗口分区配置与前一层自注意力模块的窗口分区配置相比,沿时间轴、高度和宽度轴移动了 ( P 2 ,   M 2 ,   M 2 ) \left(\frac{P}{2},\ \frac{M}{2},\ \frac{M}{2}\right) (2P, 2M, 2M) 个 token。

 我们用图 3 中的示例对此进行说明。输入大小为 8 × 8 × 8 8×8×8 8×8×8,窗口大小为 4 × 4 × 4 4×4×4 4×4×4。由于 l l l 层采用规则的窗口划分, l l l 层的窗口数为 2 × 2 × 2 = 8 2×2×2=8 2×2×2=8。对于第 l + 1 l+1 l+1 层,随着窗口移动 ( P 2 ,   M 2 ,   M 2 ) = ( 2 ,   2 ,   2 ) \left(\frac{P}{2},\ \frac{M}{2},\ \frac{M}{2}\right)=\left(2,\ 2,\ 2\right) (2P, 2M, 2M)=(2, 2, 2) 个标记,窗口的数量变为 3 × 3 × 3 = 27 3×3×3=27 3×3×3=27。虽然窗口数量增加了,但可以遵循 [28] 中针对移位配置的高效批量计算,使得最终计算的窗口数量仍为 8 8 8

图 3

图 3. 3D 移位窗口的图示示例。输入大小 T'×H'×W' 为 8×8×8,3D 窗口大小 P×M×M 为 4×4×4。由于 l 层采用规则的窗口划分,l 层的窗口数为 2×2×2=8。对于第 l+1 层,随着窗口移动 (P/2,M/2,M/2)=(2,2,2) 个 token,窗口的数量变为 3×3×3=27。虽然窗口数量增加了,但可以遵循 [28] 中针对移位配置的高效批量计算,使得最终计算的窗口数量仍为 8。

 使用移位窗口分区方法,两个连续的 Video Swin Transformer 块被计算为

公式 1

 其中 z ^ l {\hat{\mathbf{z}}}^l z^l z l \mathbf{z}^l zl 分别表示块 l l l 的 3D(S)WMSA 模块和 FFN 模块的输出特征;3DW-MSA 和 3DSW-MSA 分别表示使用常规和移位窗口划分表配置的基于 3D 窗口的多头自注意力。

 类似于图像识别 [28],这种 3D 移位窗口引入了上一层中相邻的非重叠 3D 窗口之间的连接。稍后将证明这对多个视频识别任务有效,例如 Kinetics 400/600 上的动作识别和 SSv2 上的时间建模。

3D 相对位置偏差。许多先前的工作 [2、16、17、31] 表明,在自注意力计算中包含每个头部的相对位置偏差是有利的。因此,我们按照 [28] 为每个头引入 3D 相对位置偏差 B ∈ R P 2 × M 2 × M 2 B\in\mathbb{R}^{P^2\times M^2\times M^2} BRP2×M2×M2

公式 2

 其中 Q ,   K ,   V ∈ R P M 2 × d Q,\ K,\ V\in\mathbb{R}^{PM^2\times d} Q, K, VRPM2×d 是查询、键和值矩阵;d 是查询和关键特征的维度,PM2 是 3D 窗口中的标记数。由于沿每个轴的相对位置位于 [ − P + 1 ,   P − 1 ] \left[-P+1,\ P-1\right] [P+1, P1](时间)或 [ − M + 1 ,   M − 1 ] \left[-M+1,\ M-1\right] [M+1, M1](高度或宽度)的范围内,我们参数化了一个较小尺寸的偏置矩阵 B ^ ∈ R ( 2 P − 1 ) × ( 2 M − 1 ) × ( 2 M − 1 ) \hat{B}\in\mathbb{R}^{\left(2P-1\right)\times\left(2M-1\right)\times\left(2M-1\right)} B^R(2P1)×(2M1)×(2M1) B B B 中的值取自 B ^ \hat{B} B^

3.3. 结构变量

 在 [28] 之后,我们介绍了四种不同版本的 Video Swin Transformer。这些模型变体的架构超参数是

  • Swin-T: C = 96 C=96 C=96,层数 = { 2 ,   2 ,   6 ,   2 } =\left\{2,\ 2,\ 6,\ 2\right\} ={ 2, 2, 6, 2}
  • Swin-S: C = 96 C=96 C=96,层数 = { 2 ,   2 ,   18 ,   2 } =\left\{2,\ 2,\ 18,\ 2\right\} ={ 2, 2, 18, 2}
  • Swin-B: C = 128 C=128 C=128,层数 = { 2 ,   2 ,   18 ,   2 } =\left\{2,\ 2,\ 18,\ 2\right\} ={ 2, 2, 18, 2}
  • Swin-L: C = 192 C=192 C=192,层数 = { 2 ,   2 ,   18 ,   2 } =\left\{2,\ 2,\ 18,\ 2\right\} ={ 2, 2, 18, 2}

 其中 C C C 表示第一阶段隐藏层的通道数。这四个版本分别约为基础模型大小和计算复杂度的 0.25 倍、0.5 倍、1 倍和 2 倍。默认情况下,窗口大小设置为 P = 8 P=8 P=8 M = 7 M=7 M=7。每个头的查询维度为 d = 32 d=32 d=32,每个 MLP 的扩展层设置为 α = 4 \alpha=4 α=4

3.4. 从预训练模型初始化

 由于我们的架构改编自 Swin Transformer [28],我们的模型可以通过其在大规模数据集上强大的预训练模型进行初始化。与原始的 Swin Transformer 相比,Video Swin Transformers 中只有两个构建块具有不同的形状,第一阶段的线性嵌入层和 Video Swin Transformer 块中的相对位置偏差。

 对于我们的模型,输入标记被膨胀到 2 的时间维度,因此线性嵌入层的形状从原始 Swin 中的 48 × C 48×C 48×C 变为 96 × C 96×C 96×C。 在这里,我们直接将预训练模型中的权重复制两次,然后将整个矩阵乘以 0.5,以保持输出的均值和方差不变。 相对位置偏置矩阵的形状为 ( 2 P − 1 , 2 M − 1 , 2 M − 1 ) (2P−1, 2M−1, 2M−1) (2P1,2M1,2M1),而原始 Swin 中为 ( 2 M − 1 , 2 M − 1 ) (2M−1, 2M−1) (2M1,2M1)。 为了使每一帧内的相对位置偏差相同,我们将预训练模型中的矩阵复制 2 P − 1 2P−1 2P1 次以获得 ( 2 P − 1 , 2 M − 1 , 2 M − 1 ) (2P−1, 2M−1, 2M−1) (2P1,2M1,2M1) 的形状进行初始化。

4. 实验

4.1. 设置

数据集。对于人类动作识别,我们采用了广泛使用的 Kinetics [20] 数据集的两个版本,Kinetics400 和 Kinetics-600。Kinetics-400(K400)由 400 个人类行为类别中的约 240k 个训练视频和 20k 个验证视频组成。Kinetics-600(K600)是 K400 的扩展,包含来自 600 个人类动作类别的约 370k 训练视频和 28.3k 验证视频。对于时间建模,我们利用流行的 SomethingSomething V2(SSv2)[13] 数据集,该数据集包含 174 个类别的 168.9K 训练视频和 24.7K 验证视频。对于所有方法,我们通过报告 top-1 和 top-5 识别准确度来遵循现有技术。

实现细节。对于 K400 和 K600,我们采用 AdamW [21] 优化器进行 30 个时期(epoch),使用余弦衰减学习率调度器(scheduler)和 2.5 个时期的线性预热(linear warmup)。使用 64 的批量大小。由于骨干是从预训练模型初始化的,而头部是随机初始化的,我们发现将骨干学习率乘以 0.1 可以提高性能(如表 7 所示)。具体来说,ImageNet 预训练主干和随机初始化头部的初始学习率分别设置为 3e-5 和 3e-4。除非另有说明,对于所有模型变体,我们使用 2 的时间步幅和 224 × 224 的空间大小从每个全长视频中采样 32 帧的剪辑,从而产生 16×56×56 输入 3D token。在 [28] 之后,更大程度的随机深度 [19] 和权重衰减用于较大的模型,即 Swin-T、Swin-S 和Swin-B 分别为 0.1、0.1、0.3 随机深度(stochastic depth)率和 0.02、0.02、0.05 权重衰减。为了进行推理,我们遵循 [1] 使用 4×3 视图,其中一个视频在时间维度上被均匀采样为 4 个片段(clips),对于每个片段,较短的空间边被缩放到 224 像素,我们采用 3 个大小的 224 × 224裁剪(crops),覆盖较长的空间轴。最终分数计算为所有视图的平均分数。对于从头开始训练的实验,我们采用 [9] 的代码库并遵循其设置和超参数,并训练我们的时间维度为 8 的 Swin tiny。我们还报告了测试视图 5×1 的准确性。

 对于 SSv2,我们使用 AdamW [21] 优化器对 60 个 epoch 进行更长时间的训练,并进行 2.5 个 epoch 的线性预热。批量大小、学习率和权重衰减与 Kinetics 相同。我们遵循 [9] 采用更强的增强,包括标签平滑(label smoothing)、RandAugment [7] 和随机擦除(random erasing) [44]。我们还采用比率为 0.4 的随机深度 [19]。正如在 [9] 中所做的那样,我们使用在 Kinetics-400 上预训练的模型作为初始化,并使用 16 的时间维度窗口大小。对于推理,最终分数计算为 1×3 视图的平均分数。

4.2. 与最先进技术的比较

Kinetics-400。表 1 显示了与最先进的骨干网的比较,包括基于 Kinetics-400 的基于卷积和基于 Transformer 的骨干网。与没有大规模预训练的最先进的 Vision Transformer 相比,具有 ImageNet-1K 预训练的 Swin-S 的性能略好于从头开始训练的 MViT-B(32×3)[9],其计算成本相似。与最先进的 ConvNet X3DXXL [11] 相比,Swin-S 在相似的计算成本和更少的推理视图方面也优于它。对于 SwinB,ImageNet-21K 预训练比从头开始在 ImageNet-1K 上训练带来 2.1% 的增益。通过 ImageNet21K 预训练,我们的 Swin-L(384↑)在 top-1 精度上优于 ViViTL(320)3.6%,计算成本相似。在比 ViViT-H(JFT-300M)小得多的数据集(ImageNet-21K)上进行预训练,我们的 Swin-L(384↑)在 K400 上实现了 84.9% 的最先进性能。

 为了与 MViT [9] 进行公平比较,我们从头开始训练我们的 SwinT,不改变超参数。我们的方法与 MViT [9] 相比取得了有竞争力的结果,但我们注意到,从头开始训练需要 200 个 epoch,并重复两次重复增强 [15],这比我们的微调设置多花费了约 13.3× 的训练时间。

表 1

表 1. 与 Kinetics-400 上的最新技术的比较。“384↑” 表示模型使用更大的空间分辨率 384×384。“Views” 表示 #temporal clip × # spatial crop。FLOPs 和 Param 的大小分别为 Giga(109)和 Mega(106)。

Kinetics-600。K600 的结果如表 2 所示。K600 的观察结果与 K400 的观察结果相似。与使用 ImageNet-21K 预训练的最先进技术相比,我们的 Swin-L(384↑)在 top-1 精度上比 ViViT-L(320)高出 2.9%,计算成本相似。通过在比 ViViT-H(JFT-300M)小得多的数据集(ImageNet-21K)上进行预训练,我们的 Swin-L(384↑)在 K600 上获得了 85.9% 的最先进准确率

表 2

表 2. 与 Kinetics-600 上的最新技术的比较。

Something-Something v2。表 3 将我们的方法与 SSv2 上的最新方法进行了比较。我们遵循 MViT [9],使用 K400 预训练模型作为初始化。通过在 K400 上预训练的模型,Swin-B 达到了 69.6% 的 top-1 准确率,超过了之前使用 K600 预训练的最佳方法 MViT-B-24 0.9%。我们的方法可以通过使用更大的模型(例如 Swin-L)、更大的输入分辨率(例如 3842)和更好的预训练模型(例如 K600)来进一步改进。我们将这些尝试留作未来的工作。

表 3

表 3. 与 Something-Something v2 上最先进技术的比较。

4.3. 消融实验

不同的时空注意力设计。我们消除了时空注意力的三种主要设计:联合(joint)、分割(split)和分解变量(factorized variants)。联合版本联合计算每个基于 3D 窗口的 MSA 层中的时空注意力,这是我们的默认设置。分割版本在仅限空间的 Swin Transformer 之上添加了两个时间转换器层,这在 ViViT [1] 和 VTN [29] 中被证明是有效的。分解版本在 Swin Transformer 中的每个仅限空间的 MSA 层之后添加了一个仅限时间的 MSA 层,这在 TimeSformer [3] 中被发现是有效的。对于分解版本,为了减少将随机初始化层添加到具有预训练权重的主干中所带来的不良影响,我们在每个仅限时间的 MSA 层的末尾添加了一个初始化为零的加权参数。

 结果如表 4 所示。我们可以观察到联合版本实现了最佳的速度-精度权衡。这主要是因为空间域中的局部性在保持有效性的同时减少了联合版本的计算。相比之下,基于 ViT / DeiT 的联合版本在计算上过于昂贵分割版本在我们的场景中效果不佳。尽管此版本可以自然地受益于预训练模型,但此版本的时间建模效率不高。分解版本产生相对较高的 top-1 精度,但需要比联合版本更多的参数。这是因为分解版本在每个仅限空间的注意层之后有一个仅限时间的注意层,而联合版本在同一注意层中执行空间和时间注意。

表 4

表 4. K400 上使用 Swin-T 时空注意力的不同设计的消融研究。

3D token 的时间维度。我们以时间全局方式对 3D token 的时间维度进行消融研究,其中 3D token 的时间维度等于时间窗口大小。Swin-T 在 K400 和 SSv2 上的结果如表 5 所示。一般来说,时间维度越大,top1 精度越高,但计算成本更高,推理速度更慢。SSv2 从时间维度的增加中获益更多,我们将其归因于 SSv2 中更高的时间依赖性

图 5

表 5. 在 K400 和 SSv2 上使用 Swin-T 对 3D 标记的时间维度和时间窗口大小进行消融研究。

时间窗口大小。将 3D 标记的时间维度固定为 16,我们对 4 / 8 / 16 的时间窗口大小进行消融研究。在 K400 上使用 Swin-T 的结果如表 5 所示。我们观察到,与时间窗口大小为 16(时间全局)相比,时间窗口大小为 8 的 Swin-T 仅导致 0.3 的小性能下降,但计算量相对减少 17%(88 比 106)。所以我们采用这个作为 K400 的默认设置。然而,SSv2 往往需要更多的时间 token 和更大的(全局)时间窗口,因此我们采用 16 个时间 token 和一个全局窗口作为 SSv2 数据集的默认设置。

3D 移动窗口。表 6 中报告了 K400 和 SSv2 在 Swin-T 上的 3D 移位窗口方法的消融。3D 移位窗口带来 +0.7% / +3.5% 的 top-1 精度,时间移位窗口产生 +0.3% / +2.6% 分别在 K400/SSv2 中。结果表明 3D 移位窗口方案在非重叠窗口之间建立连接的有效性

表 6

表 6. 在 K400 和 SSv2 上使用 Swin-T 的 3D 移位窗口方法的消融研究。

backbone / head 学习率比率。表 7 显示了一个关于骨干和头部学习率比率的有趣发现。使用在 ImageNet1K / ImageNet-21K 上预训练的模型,我们观察到,相对于随机初始化的头部,骨干架构的学习率较低(例如 0.1×),为 K400 带来了 top-1 精度的收益。此外,由于在 ImageNet-21K 上预训练的模型更强大,因此使用在 ImageNet-21K 上预训练的模型可以从该技术中获益更多。因此,骨干在拟合新的视频输入时会慢慢忘记预训练的参数和数据,从而实现更好的泛化。这一观察结果为进一步研究如何更好地利用预训练权重指明了方向。

表 7

表 7. K400 上使用 Swin-B 对骨干 lr 和头部 lr 比率的消融研究。

线性嵌入层和 3D 相对位置偏差矩阵的初始化。在 ViViT [1] 中,线性嵌入层的中心初始化大大优于膨胀初始化。这促使我们对 Video Swin Transformer 的这两种初始化方法进行消融研究。如表 8 所示,我们惊奇地发现,使用 ImageNet-1K 预训练模型 1 在 K400 上,具有中心初始化的 Swin-T 获得与具有膨胀初始化的 Swin-T 相同的性能,达到 78.8% top-1 准确率。在本文中,我们默认在线性嵌入层上采用常规的膨胀初始化

表 8

表 8. 在 K400 上使用 Swin-T 对线性嵌入层的两种初始化方法进行消融研究。

 对于 3D 相对位置偏差矩阵,我们也有两种不同的初始化选择,重复初始化或中心初始化。与线性嵌入层的中心初始化方法不同,我们通过用一个小的负值(例如-4.6)屏蔽不同帧之间的相对位置偏差来初始化 3D 相对位置偏差矩阵,这样每个标记从一开始就只聚焦在同一帧内。如表 9 所示,我们发现两种初始化方法在 K400 上使用 Swin-T 实现了相同的 top-1 精度 78.8%。默认情况下,我们对 3D 相对位置偏差矩阵采用重复初始化

表 9

表 9. 在 K400 上使用 Swin-T 对 3D 相对位置偏差矩阵的两种初始化方法进行消融研究。

变换帧推理(Shuffling frame inference)。我们还在测试时 [9] 随机变换帧来评估我们的视频模型,发现对 K400 和 SSv2 的影响有很大不同。如表 10 所示,帧变换导致 K400 上的 top-1 精度下降 3.3%,SSv2 上下降 49.9%。SSv2 的显着下降表明 SSv2 数据集在时间建模方面需要付出更多努力,我们的视频 Swin Transformer 可以在不同数据集的空间和时间信息建模方面实现更好的权衡

表 10

表 10. 在 K400 和 SSv2 上使用 Swin-T 进行改组帧推理的消融研究。

5. 结论

我们提出了一种基于时空局部归纳偏置的视频识别纯 Transformer 架构。该模型改编自用于图像识别的 Swin Transformer,因此它可以利用强大的预训练图像模型的力量。所提出的方法在三个广泛使用的基准 Kinetics-400、Kinetics-600 和 Something-Something v2 上实现了最先进的性能。我们希望 Video Swin Transformer 将作为未来研究的简单而可靠的基线

参考文献

[1] Anurag Arnab, Mostafa Dehghani, Georg Heigold, Chen Sun, Mario Luciˇ c, and Cordelia Schmid. Vivit: A video vi- ´ sion transformer. arXiv preprint arXiv:2103.15691, 2021. 1, 2, 5, 6, 7, 8
[2] Hangbo Bao, Li Dong, Furu Wei, Wenhui Wang, Nan Yang, Xiaodong Liu, Yu Wang, Jianfeng Gao, Songhao Piao, Ming Zhou, et al Unilmv2: Pseudo-masked language models for unified language model pre-training. In International Conference on Machine Learning, pages 642–652. PMLR, 2020. 4
[3] Gedas Bertasius, Heng Wang, and Lorenzo Torresani. Is space-time attention all you need for video understanding? arXiv preprint arXiv:2102.05095, 2021. 1, 2, 6, 7
[4] Yue Cao, Jiarui Xu, Stephen Lin, Fangyun Wei, and Han Hu. Gcnet: Non-local networks meet squeeze-excitation networks and beyond. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV) Workshops, Oct 2019. 2
[5] Joao Carreira and Andrew Zisserman. Quo vadis, action recognition? a new model and the kinetics dataset. In proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 6299–6308, 2017. 2
[6] Joao Carreira and Andrew Zisserman. Quo vadis, action recognition? a new model and the kinetics dataset. In proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 6299–6308, 2017. 6
[7] Ekin D Cubuk, Barret Zoph, Jonathon Shlens, and Quoc V Le. Randaugment: Practical automated data augmentation with a reduced search space. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, pages 702–703, 2020. 5
[8] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby. An image is worth 16x16 words: Transformers for image recognition at scale. In International Conference on Learning Representations, 2021. 1, 2
[9] Haoqi Fan, Bo Xiong, Karttikeya Mangalam, Yanghao Li, Zhicheng Yan, Jitendra Malik, and Christoph Feichtenhofer. Multiscale vision transformers. arXiv:2104.11227, 2021. 2, 5, 6, 7, 8
[10] Quanfu Fan, Chun-Fu Chen, Hilde Kuehne, Marco Pistoia, and David Cox. More is less: Learning efficient video representations by big-little network and depthwise temporal aggregation. arXiv preprint arXiv:1912.00869, 2019. 7
[11] Christoph Feichtenhofer. X3d: Expanding architectures for efficient video recognition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 203–213, 2020. 2, 5, 6
[12] Christoph Feichtenhofer, Haoqi Fan, Jitendra Malik, and Kaiming He. Slowfast networks for video recognition. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 6202–6211, 2019. 2, 6, 7
[13] Raghav Goyal, Samira Ebrahimi Kahou, Vincent Michalski, Joanna Materzynska, Susanne Westphal, Heuna Kim, Valentin Haenel, Ingo Fruend, Peter Yianilos, Moritz Mueller-Freitag, et al The” something something” video database for learning and evaluating visual common sense. In Proceedings of the IEEE International Conference on Computer Vision, pages 5842–5850, 2017. 5
[14] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 770–778, 2016. 1
[15] Elad Hoffer, Tal Ben-Nun, Itay Hubara, Niv Giladi, Torsten Hoefler, and Daniel Soudry. Augment your batch: Improving generalization through instance repetition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2020. 5
[16] Han Hu, Jiayuan Gu, Zheng Zhang, Jifeng Dai, and Yichen Wei. Relation networks for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3588–3597, 2018. 4
[17] Han Hu, Zheng Zhang, Zhenda Xie, and Stephen Lin. Local relation networks for image recognition. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 3464–3473, October 2019. 4
[18] Gao Huang, Zhuang Liu, Laurens Van Der Maaten, and Kilian Q Weinberger. Densely connected convolutional networks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4700–4708, 2017. 1
[19] Gao Huang, Yu Sun, Zhuang Liu, Daniel Sedra, and Kilian Q Weinberger. Deep networks with stochastic depth. In European conference on computer vision, pages 646–661. Springer, 2016. 5
[20] Will Kay, Joao Carreira, Karen Simonyan, Brian Zhang, Chloe Hillier, Sudheendra Vijayanarasimhan, Fabio Viola, Tim Green, Trevor Back, Paul Natsev, et al The kinetics human action video dataset. arXiv preprint arXiv:1705.06950, 2017. 5
[21] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014. 5
[22] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012. 1
[23] Heeseung Kwon, Manjin Kim, Suha Kwak, and Minsu Cho. Motionsqueeze: Neural motion feature learning for video understanding. In European Conference on Computer Vision, pages 345–362. Springer, 2020. 7
[24] Yann LeCun, Leon Bottou, Yoshua Bengio, Patrick Haffner, ´ et al Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998. 1
[25] Xinyu Li, Yanyi Zhang, Chunhui Liu, Bing Shuai, Yi Zhu, Biagio Brattoli, Hao Chen, Ivan Marsic, and Joseph Tighe. Vidtr: Video transformer without convolutions. arXiv preprint arXiv:2104.11746, 2021. 2
[26] Yan Li, Bin Ji, Xintian Shi, Jianguo Zhang, Bin Kang, and Limin Wang. Tea: Temporal excitation and aggregation for action recognition. In Proceedings of the IEEE/CVF Con-ference on Computer Vision and Pattern Recognition, pages 909–918, 2020. 7
[27] Ji Lin, Chuang Gan, and Song Han. Tsm: Temporal shift module for efficient video understanding. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 7083–7093, 2019. 7
[28] Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang, Stephen Lin, and Baining Guo. Swin transformer: Hierarchical vision transformer using shifted windows. arXiv preprint arXiv:2103.14030, 2021. 1, 2, 3, 4, 5
[29] Daniel Neimark, Omri Bar, Maya Zohar, and Dotan Asselmann. Video transformer network. arXiv preprint arXiv:2102.00719, 2021. 2, 6, 7
[30] Zhaofan Qiu, Ting Yao, and Tao Mei. Learning spatiotemporal representation with pseudo-3d residual networks. In proceedings of the IEEE International Conference on Computer Vision, pages 5533–5541, 2017. 1, 2
[31] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J. Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. Journal of Machine Learning Research, 21(140):1–67, 2020. 4
[32] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In International Conference on Learning Representations, May 2015. 1
[33] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 1–9, 2015. 1
[34] Hugo Touvron, Matthieu Cord, Matthijs Douze, Francisco Massa, Alexandre Sablayrolles, and Herve J ´ egou. Training ´ data-efficient image transformers & distillation through attention. arXiv preprint arXiv:2012.12877, 2020. 1, 2
[35] Du Tran, Lubomir Bourdev, Rob Fergus, Lorenzo Torresani, and Manohar Paluri. Learning spatiotemporal features with 3d convolutional networks. In Proceedings of the IEEE international conference on computer vision, pages 4489–4497, 2015. 1, 2
[36] Du Tran, Heng Wang, Lorenzo Torresani, and Matt Feiszli. Video classification with channel-separated convolutional networks. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 5552–5561, 2019. 6
[37] Du Tran, Heng Wang, Lorenzo Torresani, Jamie Ray, Yann LeCun, and Manohar Paluri. A closer look at spatiotemporal convolutions for action recognition. In Proceedings of the IEEE conference on Computer Vision and Pattern Recognition, pages 6450–6459, 2018. 2, 6
[38] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems, pages 5998–6008, 2017. 1
[39] Heng Wang, Du Tran, Lorenzo Torresani, and Matt Feiszli. Video modeling with correlation networks. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 352–361, 2020. 6
[40] Xiaolong Wang, Ross Girshick, Abhinav Gupta, and Kaiming He. Non-local neural networks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 7794–7803, 2018. 2, 6
[41] Saining Xie, Chen Sun, Jonathan Huang, Zhuowen Tu, and Kevin Murphy. Rethinking spatiotemporal feature learning: Speed-accuracy trade-offs in video classification. In Proceedings of the European Conference on Computer Vision (ECCV), pages 305–321, 2018. 1, 2
[42] Ceyuan Yang, Yinghao Xu, Jianping Shi, Bo Dai, and Bolei Zhou. Temporal pyramid network for action recognition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 591–600, 2020. 6
[43] Minghao Yin, Zhuliang Yao, Yue Cao, Xiu Li, Zheng Zhang, Stephen Lin, and Han Hu. Disentangled non-local neural networks. In Proceedings of the European conference on computer vision (ECCV), 2020. 2
[44] Zhun Zhong, Liang Zheng, Guoliang Kang, Shaozi Li, and Yi Yang. Random erasing data augmentation. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 34, pages 13001–13008, 2020. 5

猜你喜欢

转载自blog.csdn.net/weixin_42475026/article/details/129813179