最后,ViT已经来到了视频识别领域!
三个要点
✔️我们首次提出了一个仅使用转化器的视频分类模型,并旨在使ViT成为一个视频版本。
✔️为了提高计算效率,我们提出了四种不同的架构,并进行了详细的消融实验。
✔️实现了5项基准的SOTA。
ViViT: A Video Vision Transformer
written by Anurag Arnab, Mostafa Dehghani, Georg Heigold, Chen Sun, Mario Lučić, Cordelia Schmid
(Submitted on 29 Mar 2021 (v1), last revised 1 Nov 2021 (this version, v2))
Comments: ICCV 2021
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
简介
Transformer在自然语言处理的一些任务上取得了SOTA性能。现在,凭借ViT(Vision Transformer)[一种新的图像识别模型,即Vision Transformer],它已经进入了图像处理领域,成为机器学习领域的超级明星。另一方面,它是一种计算成本很高的算法,因为它计算的是输入对之间的关系。目前正在对解决这一计算问题的方法进行大量的研究,我们期待着在未来看到更多关于Transformer的工作。
在这篇文章中,我们介绍了ViViT(A Video Vision Transformer),它是Transformer对视频分类的扩展。与之前的视频分类工作不同的是,ViViT是一个只使用转化器的模型,它将转化器与3D CNN结合起来。由于转化器的计算复杂性在视频分类中比较明显,我们提出了四种不同的模型来处理计算复杂性问题。经过大量的消融实验和对所提方法ViViT的分析,我们发现ViViT实现了SOTA在五个著名的基准上。
视频视像变形金刚
在本章中,我们将对视觉变形器(ViT)进行概述,然后展示如何从视频中提取信息。最后,描述了拟议的视频分类方法。另外图1.显示了我们提议的架构的概况。
视觉变压器(ViT)的概述
ViT是一种适应于二维图像的方法,对变压器结构的改变最小。 它将二维图像分成N个斑块x_i,并通过变换器E得到一维的z_i。分类令牌(z_cls), aP,代表位置信息,和从N个z_i,我们可以准备变压器编码器的输入序列z(公式1)。
串联的Z被输入到L层的变压器。每层由多头自留地(MSA)、层规范化(LN)和MLP组成,如公式(2)和(3)所示。
最后一层的分类标记(z_cls),它被用来根据任务对数据进行分类。
嵌入视频片断
这里我们展示了两种不同的方法,即从视频 ,获得构成Transformer Encoder的输入标记z的补丁x,它比二维图像大一维。
统一的框架抽样
最简单的统一框架抽样如图2所示。在每个时间段,斑块x像ViT一样被划分,斑块x按时间排序。
小管包埋
图3.显示了在时空轴上提取药片的情况。
用于视频的变压器模型
这里将依次描述本研究提出的四种类型的架构。
我们将从一个更简单的版本开始,在这个版本中,一系列捕捉时空信息的标记被输入到转化器。
下一步是引入一个结构,以三种不同方式捕捉时间序列信息和 "空间信息"。特别是,我们改进了三个部分:编码器、自我注意和注意的内部积。
模型1:空间-时间的注意
模型1从视频中提取含有时空信息的标记z,并将其输入到变换器编码器,该编码器通过MSA层的成对互动交换信息。然而,视频的计算复杂性是一个问题。
模型2:因数化编码器
图4所示的模型2是一个因数化编码器,即它有两个具有不同作用的编码器。
第一个是捕捉空间信息的编码器(空间变换器编码器)。它同时从框架中提取令牌,并与它们进行互动。一个帧在某一特定时间的表示是通过L层转化器后的分类标记(z_cls).分类令牌(z_cls)可以预先准备好,也可以对整体进行平均。每个时间的串联表示(z_cls)被输入到第二个时间序列编码器(Temporal Transformer Encoder)。时间序列编码器输出的分类标记(z_cls)被用于最终的分类器。
事实上,模型2比模型1使用了更多的转换层,但分别计算空间和时间信息,因此需要较少的计算量(荧光剂(FLOPs)).
模型3:因子化的自我注意
模型3.在自我注意机制上进行了与模型2在编码器层面上一样的时空信息分离。具体来说,模型1在自我注意层使用所有捕捉时间和空间信息的标记,而模型3只使用捕捉空间信息的标记进行注意计算,然后只针对空间信息进行注意计算。它可以被表述为方程(4)、(5)和(6)。
模型3的结构如图5所示,在计算复杂性方面与模型2相当。
模型4:因数化点阵关注
最后一个模型,即模型4,通过将时空计算与Attention内积计算分开,实现了与模型2和模型3相同的计算复杂性。
如图6所示,内积计算的一半头是用空间标记完成的,而另一半是用时间标记完成的。
实验
这里我们描述了消融实验及其在五个数据集上的评估。然而,关于实验和实施的细节,我们请读者参考原始论文。
消融实验
首先,我们研究如何从2.2中提出的视频中对补丁x进行采样。从表1的结果可以看出,小管嵌入的中心帧格式是最准确的,所以我们在下面的实验中使用中心帧格式。
中心框架是小管子嵌入中使用的一种三维滤波器初始化:虽然滤波器膨胀(公式8.)在所有三维时间使用二维滤波器值,但中心框架(公式9.)使用中央框架(公式9.)将二维滤波器的初始值应用于中央位置。
表2.显示了四个模型在K400和EK数据集上的结果。
结果显示,模型1.对K400来说是最准确的,但模型2.对EK来说更胜一筹。这意味着模型1过度拟合较小的数据集EK。
我们还删除了模型2的Transformer层,该层捕捉时间信息,并增加了一个Baseline,该层直接使用帧级表示进行分类。这些变化的结果(尤其是对尤其是EK)。这些结果显示了时间信息的重要作用。
此外,ViViT还采用了CNN架构中常用的正则化和数据增强方法,其逐步加入的结果见表4。
最后,从图8中可以看出,用于小管嵌入的平板尺寸越小,精确度越高。
与SOTA的比较
从上述消融实验中,使用模型2.因子化编码器(FE)进行了比较,从表6可以看出,在五个数据集上实现了SOTA。
表6.(a)和(b)显示了Kinetics 400&600的结果,表明ViViT在较少的帧视图下取得了比现有基于CNN的方法更好的准确性。我们还显示我们可以看到,当训练数据为JFT时,训练后的模型ViT的准确性得到进一步提高。
表6.(c)显示,ViViT在Moments in Time数据集上实现了SOTA,Moments in Time数据集上的准确度低于其他数据集,这可以归因于存在更多的噪声。
如表6.(d)所示,它在Epic Kitchens 100数据集上的表现明显优于现有方法。特别是,对于不同类型的预测,如动词和名词,我们只需要两个预测头,而不必为每个预测使用专门的损失函数。
最后,表6.(e)显示了Something-Something v2的结果,它也明显优于基于纯变压器的方法TimeSformer-HR。在这里我们也看到,所提出的方法明显优于纯粹的基于变换器的方法TimeSformer-HR,因为TimeSformer-HR没有考虑到分解时空信息的编码器和表4中显示的限制。
摘要
在这篇文章中,我们介绍了ViViT,一种只使用变换器结构的视频分类方法,并提出了四种不同的模型来使用ViT处理视频中的时间信息。通过详细的消融实验,我们选择了因子化编码器模型,该模型在准确性和计算复杂性方面具有良好的平衡性,并与以前的研究进行了比较。
通过在所有五个数据集上实现SOTA,我们已经表明,即使是一个纯粹的Transformer结构也能有效地处理视频时空信息。我们希望这项工作将使视频研究达到与图像处理相同的关注程度。
与本文相关的类别