TimeSformer:一个能捕捉3DCNN以外的移动图像的转化器。
三个要点
✔️ 设计了四个移动图像的时空自我关注点。
✔️ 与3DCNN模型相比,学习速度更快,测试效率更高。
✔️ 3DCNN模型只能处理几秒钟的视频,但现在可以应用于几分钟的长视频。
Is Space-Time Attention All You Need for Video Understanding?
written by Gedas Bertasius, Heng Wang, Lorenzo Torresani
(Submitted on 9 Feb 2021 (v1), last revised 9 Jun 2021 (this version, v4))
Comments: Accepted to ICML 2021
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍
Transformer在自然语言处理领域的各种任务中赢得了SOTA,从而在自然语言处理界占据了主导地位,它也被应用于图像和语音识别。本文介绍了在CVPR2021上展示的视频识别领域的Transformer模型--TimeSformer。
将变形金刚模型应用于视频识别有三个动机
- 到目前为止,基于3DCNN的模型,如3DResnet、I3D和SlowFast一直是视频识别领域的基线。然而,这些模型不仅能考虑到空间特征的局部关系,也能考虑到时间特征的局部关系,因此只能输入几秒钟的视频。因此,Transformer模型有望通过应用于视频识别来捕捉全局关系。
- 虽然3DCN由于有很强的归纳偏向,在小数据集上可以取得很高的性能,但在有足够数据的环境中,这会过度限制模型的表达能力。另一方面,对于大型数据集来说,由于归纳偏见而产生的较少限制可以增加可以表示的函数的种类,从而导致进一步的准确性提高。
- 人们发现,变形金刚的学习和推理速度比CNN快。
在上述动机下,本文提出了TimeSformer,它将Self-Attention从空间(图像)扩展到空间-时间(移动图像),以便将Transformer应用于移动图像识别领域。
时间的形成者。
输入
视频图像(H x W x 3 x F)在每一帧被分成N个大小为P x P的斑块。然后将线性变换和位置嵌入的总和作为输入。
p代表斑块(1-N),t代表帧(1-F)。位置嵌入也是一个可训练的参数。
自我关注
查询键值分别对输入进行层级归一化和线性转换。l和a分别代表层级和注意头。
按照Scaled Dot Product Attention,查询补丁(p,t)的注意力权重α表示为:SM()代表SoftMax。然而,一个Attention的计算可以在空间或时间上进行。换句话说,当注意到空间信息时,它的计算方法是p'=1,...,N,而当注意到时间信息时,它的计算方法是p'=1,...,N。当注意空间信息时,t'=1,...,F;当注意时间信息时,t'=1,...,F。F当采取注意与时间信息。这降低了计算的复杂性。
恩比德
每层嵌入的获取方式与传统的Transformer类似。首先,通过对每个注意力的输出(αv)进行求和来获得s。
接下来,将每个Attention-head的输出(s)串联起来,并取线性变换和前一层的输出之和为剩余连接(z')。最后,取通过层规范化层和MLP层的z'和z'为剩余连接。
空间-时间自我关注模型。
如果把时间和空间作为单独的实体来计算,如公式(5),就不可能很好地考虑到空间和时间。特别是,如果注意力只在空间上,如公式(6),那么在时间信息更重要的任务中,准确性会降低。
因此,本文提出了一个高效的时空关注架构。
基线是空间注意,即只注意空间,和联合时空注意,即注意所有时空信息。
分割的时空注意按照时间注意→空间注意的顺序分别进行注意。在时间性注意中,注意的是其他帧中相同位置的斑块。在空间-注意中,注意是在第t帧的所有斑块中进行的。在计算出时间注意力后,不通过MLP,只应用剩余连接,然后通过空间注意力。然后,空间注意的输出通过MLP进行剩余连接:在联合时空注意中,每个补丁的计算复杂度为NF+1,而在分割时空注意中,每个补丁的计算复杂度为N+F+2,这样的效率更高。时空分解。
接下来,我们描述一下稀疏局部全局注意力和轴向注意力:对于每个斑块(p,t),稀疏局部全局注意力会考虑相邻的F x H/2 x W/2斑块来计算局部注意力。它使用两个补丁在时间和空间维度上的跨度来计算整个片段的稀疏、全局注意力。这可以看作是利用局部-全局分解和稀疏模式对完整的时空注意进行的快速近似。
轴向注意力将注意力计算分解为三个不同的步骤:时间(T)、宽度(W)和高度(H)。
实验
各种自我关注的准确性
下表显示了上述五种自我关注方案的参数数量和每个行为识别数据集的准确性。这是因为以前的研究表明,要在这个数据集上获得高精确度,空间信息比时间信息更重要。另一方面,SSv2数据集显示,时间信息对高精确度也很重要。在这两个数据集上,"分割时空 "取得了最高的准确性。在下面的实验中,对前两个分割时空和联合时空进行了比较。
计算出的自我关注的成本。
下表(左)显示了每个分辨率的计算成本和(右)每个视频长度的计算成本:联合时空在448像素和32帧的分辨率下几乎不适用,因为它会导致GPU内存的溢出。另一方面,分割时空在计算上更有效率,可以处理更高的空间分辨率和更长的视频,尽管它的参数数量比联合时空多。
与3DCNN的比较
实验的目的是了解TimeSformer与3D卷积架构相比的独特属性,3D卷积架构是近年来视频理解的主要方法。实验着重于并比较了两个三维CNN模型:一个是SlowFast,是视频分类中最先进的模型,另一个是I3D,它能够进行基于图像的预训练。
表2显示,TimeSformer具有较大的训练容量(121.4M参数),但推理成本较低(0.59,TFLOPs)。另一方面,SlowFast尽管有34.6M个参数,但推理成本很大,为1.97 TFLOPs。同样,尽管I3D的参数较少(28.0M),但它的推理成本较大(1.11 TFLOPs)。这表明,TimeSformer更适合于有大规模学习的环境。另一方面,现代3DCNN的高计算成本使得在保持效率的同时,很难进一步提高模型容量。
ImageNet预训练的主要优势之一是,它可以在视频数据上非常有效地训练TimeSformers。相反,最先进的3DCNN可以在图像数据上进行预训练,但训练成本却高得多。表2比较了TimeSformer在Kinetics 400上的视频训练时间(Tesla V100 GPU时间)与SlowFast和I3D的训练时间。从在ImageNet-1K上预训练的ResNet50开始,SlowFast在Kinetics-上达到了75.6%。以类似的设置训练的I3D需要1 440个Tesla V100 GPU小时,以达到73.4%的准确率。相比之下,同样在ImageNet-1K上进行预训练的TimeSformer只用了416个Tesla V100 GPU小时,就达到了75.8%的较高准确率。此外,如果SlowFast被限制在与TimeSformer有点类似的计算预算(即448个GPU小时)下进行训练,其准确率下降到70.0%。同样,如果用类似的计算预算(即444个GPU小时)来训练I3D,其准确率下降到71.0%。这突出了这样一个事实:一些现代的3DCNN需要非常长的优化时间表来实现良好的性能(即使有ImageNet预训练)。
此外,由于有大量的参数,很难从头开始训练一个TimeSformer。因此,在用视频数据训练TimeSformer之前,它是用从ImageNet学到的权重初始化的。另一方面,SlowFast可以在视频数据上从头开始训练,尽管学习成本很高(见表2)。
我们还尝试在没有ImageNet预训练的情况下直接在Kinetics-400上训练TimeSformer。我们还发现,通过更长的训练时间和更多的数据强化,有可能从头开始训练模型,尽管视频级别的准确率低得多,只有64.8%。表3考察了ImageNet-1K和ImageNet-21K对K400和SSv2的预训练效果。
(1) 我们的模型的默认版本,TimeSformer在8x224x224的视频片段中工作。
(2) TimeSformer-HR是一个高空间分辨率版本,可用于16 x 448 x 448的视频片段。
(3) TimeSformer-L是我们模型的一个长程配置,适用于96 x 224 x 224帧采样的视频片段,1/4速率。
表3显示,ImageNet21K的预训练在K400上是有效的,并且提供了持续的比ImageNet-1K预训练更高的准确性。另一方面,对于SSv2,ImageNet-1K和ImageNet-21K的预训练提供了类似的准确性。这意味着SSv2需要复杂的时空推理,而K400则偏重于空间场景信息,因此更受益于在较大的预训练数据集上训练的特征。
为了了解视频数据规模对性能的影响,在K400和SSv2的不同子集上训练了TimeSformer。{TimeSformer}在{25%、50%、75%和100%}上进行了训练。图4中的结果显示,对于K400,TimeSformer在所有训练子集上都优于其他模型。然而,在SSv2中观察到了不同的趋势,只有在75%或100%的数据上训练时,TimeSformer才是最强的模型。这可能是由于与K400相比,SSv2需要学习更复杂的时间模式,而TimeSformer需要更多的例子来有效学习这些模式。
代币数量的影响。
与许多3DCNN相比,TimeSformer的可扩展性使其能够以更高的空间分辨率和更长的视频进行操作。我们注意到,这些方面会影响送入转化器的标记序列的长度。具体来说,提高空间分辨率会增加每帧的斑块数量(N)。增加框架的数量也会增加输入标记的数量。为了研究这种影响,我们进行了一项实证研究,其中令牌的数量沿着这两个轴分别增加。
结果显示在图5中。可以看出,提高空间分辨率(到一定程度)可以提高性能。同样,增加输入片段的长度也显示出准确性的持续改善;GPU内存的限制不允许用超过96帧的片段进行测试。然而,我们想指出的是,使用96帧的剪辑与目前的卷积模型有很大的不同,后者通常只限于处理8到32帧的输入。
位置嵌入的重要性。
为了研究时空位置嵌入的重要性,几个版本的TimeSformer
(1) 没有位置嵌入
(2)仅有空间的位置嵌入。
(3) 空间-时间位置嵌入
实验。
这些结果在表4中列出。这些结果表明,我们带有时空位置嵌入的模型对Kinetics-400和Something-V2都产生了最好的准确性。有趣的是,我们发现,使用仅有空间的位置嵌入对Kinetics-400产生了良好的结果,但对Something-V2的结果却差很多。这是有道理的,因为Kinetics-400更偏重于空间,而Something-V2需要复杂的时间推理。
与SOTA的比较
表5显示了K400验证集的结果。在这些实验中,我们在ImageNet 21K上使用预训练的TimeSformer。除了准确性指标外,我们还包括以TFLOPs表示的推理成本。我们注意到,TimeSformer只用三个视图(三个空间作物)就达到了稳固的准确性,并降低了推理成本,而以前的大多数方法在推理过程中使用了十个时间片段和三个空间作物(共30个时空视图)。长距离的变体,TimeSformer-L,达到了80.7%的最高1级精度。此外,我们默认的TimeSformer在最近最先进的模型中具有最低的推理成本。然而,它仍然达到了78.0%的准确率,超过了许多成本较高的模型。我们还测量了Kinetics-400的20,000个验证视频的实际推理执行时间(使用8个Tesla V100 GPU):虽然SlowFast需要14.88小时来完成推理,但TimeSformer需要36分钟,TimeSformer-HR需要1.06小时,TimeSformer-L用了2.6小时。因此,即使SlowFast和TimeSformer-L在TFLOPs方面的成本相当,我们所有版本的TimeSforme的执行时间实际上要低很多。
表6还显示了Kinetics-600的结果,表明与Kinetics-400一样,TimeSformer在这个基准中的表现比前面所有的方法都好。
最后,在图6中,我们研究了在推理过程中使用多个时间片段(每个片段有一个空间裁剪)的效果。k∈{1,3,5,10}时间片段被用于测试,并绘制了准确度。我们将我们的模型与X3D,以及SlowFast进行比较。SlowFast需要多个(≥5个)片段来接近其最高精度。相反,长距离变体TimeSformer-L不需要多个片段来实现其最佳性能,因为一个片段可以跨越大约12秒的Kinetics视频。
在表7中,还对SSv2和Diving-48的模型进行了验证:对于SSv2,用ImageNet-21K进行预训练并不能提高准确率(见表3),所以在这种情况下使用了用ImageNet-1K预训练的TimeSformer。同样的预训练可以应用于本次比较中的所有其他模型,可以使用用ImageNet-1K预训练的ResNet。我们的结果表明,在这个数据集上,TimeSformer取得的准确率低于最佳模型。然而,鉴于我们的模型采用了完全不同的设计,这些结果可能表明,对于像SSv2这样的时间密集和具有挑战性的数据集,TimeSformer是一种很有前途的方法。在表7中,我们还介绍了我们的方法在另一个 "重时间 "数据集Diving-48中的应用,由于最近在Diving-48标签的早期版本中发现的问题,我们只将我们的方法与再现的SlowFast 16×8 R101模型进行了比较。结果显示,TimeSformer的表现明显优于SlowFast。
长时间的视频建模
使用HowTo100M对TimeSformer的长期视频建模任务进行评估,HowTo100M是一个教育视频数据集,包含约100万个教育网络视频,显示人类执行超过23K个不同的任务,如烹饪、修理和创造艺术。这些视频的平均时间约为7分钟,比标准行为识别基准视频的时间长一个数量级。每个HowTo100M视频都有一个标签,表明视频中演示的任务(23K类之一),可用于监督学习。这使得它成为评估模型识别发生在非常长的时间范围内的活动的能力的合适基准。在这次评估中,只考虑了至少有100个视频实例的类别。这产生了一个HowTo100M的子集,对应于1059个任务类别的12万个视频。这个集合被随机分成85K训练视频和35K测试视频。
表8显示了结果。作为基线,使用了四个版本的SlowFast R101,都是以1/32的帧率采样的视频片段,但帧数不同(8、32、64和96),TimeSformer在ImageNet-21K上进行了预训练。它从ViT开始,使用相同的四个配置。本比较中的所有模型都在Kinetics-400上进行了预训练,然后用HowTo100M进行微调。在推理过程中,对于每一种方法,完全覆盖视频的时间范围所需的非重叠时间片段的数量被取样。例如,如果一个单一的片段跨越8.5秒,48个测试片段被采样以覆盖410秒的视频。视频级别的分类是通过对片段的预测值进行平均来完成的。从表8的结果中,我们首先注意到,在覆盖相同的单一片段时,TimeSformer比相应的SlowFast高出8-11%的大优势。我们还观察到,范围较长的TimeSformer做得更好。换句话说,我们最远距离的变体实现了最佳的视频级分类精度。这些结果表明,我们的模型非常适用于需要长时间视频建模的任务。我们还试验了直接从在ImageNet 1K和ImageNet 21K上预训练的ViT中微调TimeSformer(省略Kinetics-400训练):当在ImageNet 1K上预训练时,我们的模型在8、32、64和96帧输入时分别达到52.8、58.8和58.8的分类精度。当考虑在ImagNet21K上进行预训练时,TimeSformer对8、32、64和96帧的输入分别达到了56.0、59.2、60.2和62.1的最高精确度。对于8、32、64和96帧的输入,分别达到了前1名的精确度。这些结果表明,我们的模型可以有效地利用长距离的时间依赖性。这些结果表明,我们的模型可以有效地利用长距离的时间依赖性,无论使用何种预训练数据集。
摘要
我们介绍了TimeSformer,与基于卷积的视频网络的既定范式相比,这是一种根本不同的视频建模方法。我们表明,有可能设计出基于时空自发的有效和可扩展的视频架构。研究表明,该方法(1)概念简单,(2)在主要的动作识别基准上显示出最先进的结果,(3)训练和推理成本低,以及(4)可以应用于超过一分钟的片段,从而实现长时间的视频建模。在未来,该方法将被扩展到其他视频分析任务,如动作定位、视频字幕和问题回答。
与本文相关的类别