标题:CAST: 时空交叉注意力网络用于视频动作识别
原文链接:2311.18825v1 (arxiv.org)https://arxiv.org/pdf/2311.18825v1
源码链接:GitHub - KHU-VLL/CASThttps://github.com/KHU-VLL/CAST
发表:NeurIPS-2023(CCF A、顶会)
摘要
在视频中识别人类动作需要空间和时间的理解。大多数现有的动作识别模型缺乏对视频的时空平衡理解。在这项工作中,我们提出了一种新颖的双流架构,称为时空交叉注意力网络(CAST),它仅使用RGB输入实现了对视频的平衡的时空理解。我们提出的瓶颈交叉注意力机制使空间和时间专家模型能够交换信息并进行协同预测,从而提高了性能。我们通过对EPIC-KITCHENS-100、Something-Something-V2和Kinetics-400等具有不同特征的公共基准数据集进行了大量实验证明了所提出的方法。我们的方法在这些数据集上一贯表现良好,而现有方法的性能则取决于数据集的特征。代码可在https://github.com/KHU-VLL/CAST 获取。
1介绍
要准确识别视频中的人类动作,模型必须理解空间和时间上下文。一个缺乏细粒度空间理解的模型可能在预测正确动作时失败。例如,如图 1(a)所示,一个理解了手部运动跨帧的时间上下文但没有细粒度空间上下文理解的模型,可能会混淆手中的物体是番茄酱、奶酪还是牛奶盒。因此,模型无法正确预测动作“放下一块奶酪”。同样,缺乏时间上下文理解的模型也可能无法预测正确的动作。在图 1(b)中,假设一个模型理解了空间上下文但没有理解时间上下文,例如,模型对手是从冰箱外部移动到内部还是相反的情况感到困惑。那么模型就无法正确预测动作“拿出一瓶酱”。因此,为了准确识别动作,模型需要理解视频的空间和时间上下文。
图1:空间和时间理解的重要性。如果一个模型缺乏细粒度的空间理解,那么模型可能会预测出错误的动作。例如,在(a)中,由于物体之间微小的外观差异,模型无法正确预测“放下一块奶酪”。另一方面,如果一个模型缺乏时间上下文的理解,那么模型可能会预测出错误的动作。例如,在(b)中,由于动作的模糊性,模型无法正确预测“拿出一瓶酱”。因此,空间和时间理解在动作识别中都是至关重要的。通过放大和彩色实现最佳查看。
尽管最近在使用Transformer进行动作识别方面取得了进展[60, 11, 3],但实现平衡的时空理解仍然是一个具有挑战性的问题。与图像相比,视频中额外的时间维度使得时空表示学习计算密集,并且需要大量的训练数据[3]。因此,大多数动作识别模型缺乏对视频的平衡的时空理解。值得注意的是,在静态偏向的数据集(例如Kinetics-400)上表现良好的模型,可能在时间偏向的数据集(例如Something-Something-V2)上表现不佳,反之亦然。例如,如图4(a)所示,在EPIC-KITCHENS-100数据集上,VideoMAE[56]在动词预测任务上的性能优于STAdapter[42],而STAdapter在名词预测任务上的性能优于VideoMAE。类似地,在Something-Something-V2数据集上,BEVT[62]在性能上优于AIM[72],而在Kinetics-400数据集上,BEVT的表现不及AIM。我们观察到其他方法在报告的表2中也呈现类似的趋势。
表2:与EK100、SSV2和K400数据集的比较。我们显示了每个数据集的Top-1精度和Top-1精度的调和平均值(H.M.)。最好的表现用粗体表示,第二好的表现用下划线表示。
解决平衡时空理解挑战的一种可能方案是使用多模态学习。例如,双流网络[51, 14]利用RGB和光流两个流来学习空间和时间上下文。然而,由于光流估计,这种方法可能计算成本较高。
在这项工作中,我们引入了一个双流架构,名为时空交叉注意力网络(CAST),以解决平衡时空理解的挑战,仅使用RGB输入。在图2中,我们展示了所提出方法的高层次示意图。我们的架构采用了两个专家模型 - 一个空间专家模型和一个时间专家模型 - 它们交换信息以进行协同的集体预测。我们通过两个专家之间的交叉注意力实现信息交换。我们经验证实,将交叉注意力置于瓶颈架构中有助于更有效地学习。为验证所提出方法的有效性,我们在多个具有不同特征的数据集上进行了大量实验,包括时间偏向的Something-Something-V2、静态偏向的Kinetics-400和细粒度的EPIC-KITCHENS-100。我们的结果表明,CAST实现了平衡的时空理解,并在这些不同数据集上展现了有利的性能。
图2:所提方法的高层次示意图。在这项工作中,我们采用空间和时间专家模型。两个专家利用交叉注意力相互交换信息。最初,由于缺乏信息,专家可能会预测出错误的动作。例如,由于缺乏信息,时间专家可能会预测出“伸手拿取某物”,而实际情况是“拿起叉子”。类似地,在较浅的层次中,空间专家可能会预测出“餐具架”而不是“叉子”。然而,在多次使用交叉注意力交换信息之后,所提出的方法可以集体预测出正确的动作“拿起叉子”。最佳浏览放大和彩色。
在这项工作中,我们做出了以下重要贡献:
- 我们引入了一个双流架构CAST,该架构解决了平衡时空理解的挑战,这在先前的工作中往往被忽视。
- 我们在多个具有不同特征的数据集上进行了大量实验,以展示CAST的有效性。在平衡的时空理解方面,CAST表现出有利的性能,而现有方法则表现出更不平衡的性能。
- 我们进行了广泛的消融研究和分析,以验证所提出方法的设计选择。我们表明,采用空间专家和时间专家,并将交叉注意力置于瓶颈架构中对于实现有效的时空表示学习至关重要。
2相关工作
视频动作识别。基于CNN的方法已被广泛用于动作识别,包括2D CNNs [61, 74, 33, 52, 27]、3D CNNs [58, 5, 59, 64, 13]、2D和1D可分离的CNNs [59, 70],或者双流CNNs [14, 15]。这些方法得益于强大的归纳偏差,取得了巨大进展。最近,基于Transformer的方法[1, 3, 21, 43, 68, 12, 71]因其长期上下文建模能力而受到社区的青睐。与双流CNNs类似,我们提出了一个由两个专家模型组成的双流Transformer架构:一个空间专家和一个时间专家。然而,与传统的双流CNNs不同的是,我们仅使用RGB输入,而不是RGB和光流。
交叉注意力。交叉注意力已被广泛应用于多模态学习中,以促进不同模态之间的信息交换,例如音频、视觉和文本[34, 67, 40, 30, 18]。最近,不同视角之间的交叉注意力在同一视频中已经显示出令人印象深刻的结果[71, 75, 6, 26]。类似于这些方法,我们提出了一种使用单一RGB输入的交叉注意力方法,但使用了两个不同的专家模型:一个空间专家和一个时间专家。这两个专家通过交叉注意力相互关注,以实现平衡的时空理解。
基础模型。通过自监督学习在 Web 规模(大型)数据集上训练的基础模型[25, 4, 48, 45, 44]具有高度的适应性和多功能性。基础模型在计算机视觉[65, 62]、自然语言处理[49, 57]和音频识别[17]等各种任务上展现了令人印象深刻的性能。在这项工作中,我们采用 CLIP[44] 作为我们的空间专家,因为它在超过30个计算机视觉任务上展现了令人印象深刻的性能。
参数高效的迁移学习。虽然使用强大的基础模型进行“预训练和微调”的范式已经在几个计算机视觉任务上展现出令人印象深刻的性能,但对整个模型进行微调是计算成本高昂且通常是不必要的[72]。一些研究已经证明,仅学习一小部分参数并保持其余参数冻结对于自然语言处理任务[23, 29]和计算机视觉任务[36, 66, 54, 46, 47]是有效的。通过添加适配器架构来扩展图像基础模型已经在动作识别任务上展现出有利的性能[35, 72, 42]。所提出的方法还采用了带有两个专家之间交叉注意力的适配器架构。我们通过实验证明,所提出的方法在实现平衡时空理解方面优于现有的基于适配器的视频模型。
3方法:时空交叉注意
我们引入了CAST,一种用于动作识别的平衡时空表示学习方法,如图3所示。我们采用了冻结的空间和时间专家模型,可以是任何视觉Transformer,每个模型由12个Transformer块组成。为了促进专家之间的信息交换,我们在冻结层之上引入了瓶颈时空交叉注意力(B-CAST)模块,该模块使专家之间能够交换信息,并学习比分开的专家更平衡的时空上下文。为了提高对下游任务的适应性,我们使用适配器层,其具有少量可学习的参数,遵循AIM[72]的方法。在接下来的小节中,我们将详细描述我们提出的CAST的每个组件。
图3:CAST的概览。 (a) CAST使用冻结的空间和时间专家模型。 在专家模型之上,我们添加了一个交叉注意力模块 B-CAST,以实现两个专家之间的信息交换。另外,我们为专家模型添加了适配器,具有少量可学习参数,以实现更好的适应性。(b) 提出的 B-CAST 包括时空到空间(T2S)和空间到时空(S2T)的交叉注意力,以实现对视频数据中时空特征的更好理解。为了进行高效有效的学习,我们将交叉注意力整合到了瓶颈适配器中,我们为每个专家使用单独的位置嵌入。(c) 我们可视化了 T2S 和 S2T 的交叉注意力。给定一个查询,模型在 T2S 中仅沿着时间轴进行注意力,而在 S2T 中则仅沿着空间轴进行注意力。
3.1输入嵌入
CAST仅接受RGB视频作为输入。输入是一个视频的小批量,记为,其中包含了B个视频,每个视频有2T帧,空间尺寸为H×W,通道数为C。我们对输入视频进行块令牌化,用于空间专家和时间专家。对于空间专家,我们将每个视频中的每个偶数帧分解为N个不重叠的p×p像素的块[11]。然后,我们通过一个冻结的线性层传递这些块,并添加位置嵌入以获得空间嵌入,记为。对于时间专家,我们将每个视频中的每两帧分解为2×p×p像素的非重叠管道[1]。然后,我们通过一个冻结的线性层传递这些管道,并添加位置嵌入以获得时间嵌入,记为。
3.2 CAST架构
每个专家的模型架构与ViT相同,除了适配器和B-CAST模块。所有其他参数都是冻结的,而适配器和B-CAST模块的参数是可学习的。
为了完整起见,我们首先定义所使用的操作,然后描述整个模型架构。给定输入X,我们定义多头自注意力(MHSA)操作如下:
其中、和分别是查询、键和值的投影矩阵。
这个公式描述了多头自注意力(MHSA)操作,用于处理输入X。
具体来说:
(XWQ) 表示将输入 X 乘以查询矩阵 WQ,从而获得查询向量。
(XWK) 表示将输入 X 乘以键矩阵 WK,从而获得键向量。
(XWV) 表示将输入 X 乘以值矩阵 WV,从而获得值向量。
然后,将查询向量和键向量进行转置相乘得到注意力分数矩阵,然后应用 softmax 函数以得到归一化的注意力权重。最后,将归一化的注意力权重与值向量相乘,以得到最终的 MHSA 输出。
总之,这个公式描述了自注意力机制,用于计算输入 X 中不同位置之间的注意力权重,并根据这些权重对值向量进行加权求和,以获得输出。
我们还定义了适配器操作,其中线性下投影矩阵为,线性上投影矩阵为,如下所示:
其中σ(·)是GELU激活函数[20]。
线性下投影矩阵(WD):这个矩阵实际上是一组参数,用于将输入数据进行线性变换。它将每个输入特征乘以相应的权重,然后将它们相加,从而生成新的特征表示。将输入特征映射到一个更低维度的特征空间。这可以帮助减少模型的计算复杂度,并提高模型的效率
线性上投影矩阵(WU):这个矩阵也是一组参数,用于将线性变换后的数据映射回原始特征空间。它的作用是对经过线性变换后的特征进行调整,以尽可能地还原原始输入数据的特征表示。将输入特征映射到一个更高维度的特征空间,在增加特征的维度的同时,提高对数据的表达能力。
对于每个注意力块 l,我们对每个专家应用独立的多头自注意力(MHSA)以及一个跳跃连接,如下所示:
其中 LN(·) 表示层归一化操作。空间路径经历空间注意力,而时间路径则经历了空间-时间注意力,遵循 TimeSformer[3]。
如图3(b)所示,为了在两个专家之间交换信息,我们对来自专家 和专家 的 和 应用 B-CAST 操作 Φ(·),如下所示,同时应用一个跳跃连接:
我们将在第3.3节详细描述 B-CAST 操作 Φ(·)。
最后,我们将输出记为 B(l),通过一个两层前馈神经网络(FFN)[11],其中在层之间使用 GELU 激活函数,并添加另一个适配器,以获得下一层的输入 X(l+1),如下所示,同时应用一个跳跃连接:
分类头部。为了产生最终的预测,我们需要聚合空间专家和时间专家的输出。对于空间专家,我们平均最后一个注意力块的帧级类标记,,以获得一个单一的类别标记。我们将这个操作表示为 CLS(·)。为了获取时间专家的特征,我们使用全局平均池化(GAP)操作,对时间专家最后一个注意力块中的所有标记进行聚合,得到 。然后,我们将CLS标记的适配器输出和GAP标记的适配器输出相加,以产生一个融合的标记Z:
最后,我们将融合的标记Z输入一个分类层,然后经过 softmax 函数,得到预测的类别概率。我们使用标准的交叉熵损失来训练模型。
空间专家(CLIP):CLIP模型在图像和文本之间建立了强大的视觉语义关联,因此它能够为视频中的每一帧生成一个与视频内容相关的类别标记。通过对视频中所有帧的类别标记进行平均,可以获得一个单一的类别标记,用于表示整个视频的内容。
时间专家(VideoMAE):VideoMAE模型被设计用于处理视频序列,它的输出是每个时间步的特征向量。通过对整个视频序列的特征向量进行全局平均池化操作,可以获得一个代表整个视频的特征向量,这个特征向量包含了视频的全局信息,可以用于视频级别的任务,比如动作识别。
3.3 B-CAST模块架构
多头交叉注意力。多头交叉注意力(MHCA)是多头自注意力操作(公式1)的一种变体,其中查询标记来自一个专家(),而键和值标记来自另一个专家()。这使得专家之间可以交换信息,并从彼此的优势中获益。我们将 MHCA 操作定义如下
其中 分别是可学习的查询、键和值参数矩阵。
时间到空间的交叉注意力。在时间到空间(T2S)的交叉注意力中,查询标记来自空间专家 s,而键和值标记来自时间专家 t:。我们在图3(c)中描述了注意力窗口,给定一个查询,模型仅沿时间维度进行关注。通过使用T2S交叉注意力,空间专家可以学习关注来自时间专家的时间特征。T2S MHCA有助于捕捉时空依赖关系,并提高了动作识别模型的性能。
空间到时间的交叉注意力。在空间到时间(S2T)的交叉注意力中,查询标记来自时间专家 t,而键和值标记来自空间专家 s:。我们在图3(c)中说明了注意力窗口。给定一个查询,模型仅沿着空间维度进行关注。通过使用S2T交叉注意力,时间专家可以关注空间专家的细粒度空间特征。S2T MHCA导致更平衡的时空理解,并提高了细粒度动作识别的性能。
空间和时间的瓶颈交叉注意力。为了实现高效有效的学习,我们将时空到空间和空间到时间的交叉注意力模块整合到瓶颈形状的适配器中。我们在图3(b)中说明了 B-CAST 架构。我们将 MHCA 模块插入到适配器中,并为每个 MHCA 添加新的可学习位置嵌入。我们将 T2S 的 B-CAST 操作 ΦS(·) 定义如下:
其中分别是空间专家的线性下投影和上投影矩阵,和分别是空间和时间专家的新的可学习的位置嵌入,是 GELU 激活函数。类似地,我们可以定义 S2T 的 B-CAST 操作 。B-CAST 的输出进入一个前馈网络使用公式(5)。我们的实验验证表明,B-CAST 架构是高效且有效的。(见表1。)
这个公式描述了空间到时间的瓶颈交叉注意力操作。让我逐步解释:
1. 和分别是来自空间专家和时间专家的输入特征。
2. LN 表示层归一化操作,用于对输入特征进行归一化处理。
3. 和 是新的可学习的位置嵌入,用于增强模型对空间和时间信息的理解。
4. 和 是线性下投影矩阵,用于将输入特征进行线性变换。
5. MHCA 是多头交叉注意力操作,其中查询来自于空间特征,而键和值来自于时间特征。它使得空间特征能够关注到时间特征的重要信息。
6. σ 是 GELU 激活函数,用于引入非线性变换。
7. 是线性上投影矩阵,用于将注意力输出映射回原始特征空间。
因此,整个公式表示了在空间和时间特征之间进行交叉注意力操作,并通过线性变换和非线性变换来更新特征表示。
表1:消融研究。为了验证每个组件的效果,我们展示了EPIC-Kitchens-100数据集上的实验结果。在每个实验中,我们对每个专家使用vitb /16骨干网。最好的数字用灰色突出显示。
4实验结果
在本节中,我们提供了实验结果,以回答以下研究问题:(1)现有方法是否展示了对视频的时空平衡理解?(第4.3节)(2)实现平衡的时空理解的关键因素是什么?(第4.3节)(3)所提出的方法是否有效?(第4.3节,第4.4节)(4)如何有效地结合空间和时间模型以实现这种平衡?(第4.5节)(5)所提出的方法在平衡的时空理解方面是否优于现有技术?(第4.6节)为此,我们首先在第4.1节和第4.2节中提供了关于数据集和实现的详细信息。
4.1数据集
动作识别。我们在两个传统动作识别的公共数据集上评估CAST:Something-Something-V2(SSV2)[19]和Kinetics-400(K400)[24]。SSV2需要更多的时间推理[3, 28],而K400相对静态偏置[32, 8, 50]。
细粒度动作识别。我们在细粒度动作识别任务上评估CAST:EPIC-KITCHENS-100(EK100)[10]。与传统的动作识别不同,EK100将动作定义为动词和名词的组合。因此,我们将EK100中的动作识别称为细粒度动作识别。由于细粒度动作识别需要正确预测动词和名词来识别一个动作,因此它比传统的动作识别更具挑战性,传统动作识别只需要预测单个动作标签,例如K400或SSV2。
4.2实现细节
在本节中,我们简要介绍了我们的实验设置和实现细节。请参阅附录 § B 获取完整的实现细节。我们使用16个NVIDIA GeForce RTX 3090 GPU进行所有实验。我们使用PyTorch实现了CAST,并在VideoMAE [56]的现有代码基础上进行构建。
训练。我们从每个视频中采样16帧来构建输入片段。对于K400数据集,我们应用密集采样[15],而对于SSV2和EK100,我们使用均匀采样[61]。然后,我们对每帧进行随机裁剪和调整大小,将其调整为224×224像素。我们使用AdamW [39]优化器,动量beta为(0.9, 0.999) [7],权重衰减为0.05。默认情况下,我们训练模型50个epochs,使用余弦退火学习率调度[38],预热期为5个epochs。默认的基础学习率、层衰减[2]和丢弃路径分别设置为0.001、0.8和0.2。我们冻结每个专家的所有参数,除了B-CAST层、适配器和最后一层的归一化。我们将每个GPU的批量大小设置为6,更新频率为2。
推理。给定一个输入视频,我们多次随机采样帧以构建具有多个时间视图和多个空间裁剪的输入片段。在进行时间帧采样之后,我们调整每一帧的大小,使较短的一侧为224像素。然后,我们进行空间裁剪,为每个片段获取多个224×224的裁剪。通过对(时间视图)×(空间裁剪)的预测进行平均,得到最终的预测结果。对于K400数据集,我们使用(5个片段)×(3个裁剪)视图,而对于其他数据集,我们使用(2个片段)×(3个裁剪)视图进行推理。
4.3平衡的时空理解
图 4 (a)展示了几种现有模型的top-1准确率。在EK100动词预测任务中,VideoMAE的性能优于ST-Adapter,差距为2.9个百分点(70.5% vs. 67.6%),而在EK100名词预测任务中,ST-Adapter的性能优于VideoMAE,差距为3.6个百分点(55.0% vs. 51.4%)。如图4 (b)所示,在SSV2数据集上,BEVT的性能优于AIM,差距为2.5个百分点(70.6% vs. 68.1%),而在K400数据集上,AIM的性能优于BEVT,差距为3.9个百分点(84.5% vs. 80.6%)。我们观察到其他方法也有类似的趋势。更多详细比较请参阅第4.6节。我们的发现表明,许多现有模型的性能在空间或时间理解方面存在显著的不平衡。
图 4: 平衡的时空理解性能。我们展示了现有方法和提出方法的动作识别准确率。(a)我们展示了ST-Adapter和VideoMAE在EK100动词和名词预测任务上的Top-1准确率。(b)我们展示了AIM和BEVT在SSV2和K400上的Top-1准确率。(c)对于每种方法,我们展示了EK100名词、EK100动词、SSV2和K400的Top-1准确率的调和平均值。与现有方法相比,CAST显示出更平衡的时空理解能力。最好以放大和彩色查看。
平衡时空理解的要素。实现更平衡的时空理解需要以下关键因素:使用两个专家模型:一个空间专家和一个时间专家。对于空间专家,我们使用了CLIP [44],它在各种计算机视觉任务中展现了出色的性能。对于时间专家,我们使用了VideoMAE [56],它在SSV2和EK100动词预测等时间偏向任务中表现出了良好的性能。(详细准确性请参见第4.6节。)虽然每个专家在自己的领域都非常专业,但我们的目标是通过交换信息来实现它们之间的协同作用,从而提高平衡的时空理解性能。
CAST的效果。在图4(c)中,我们评估了我们的空间专家、时间专家和CAST的平衡的时空理解性能。对于每种方法,我们计算了EK100名词、EK100动词、SSV2和K400的Top-1准确率的调和平均值。调和平均值是衡量平衡性能的有效指标,因为它更加重视表现较差的任务,更高的调和平均值表示不同任务的性能更加平衡。我们的空间专家达到了56.5%的准确率,而时间专家达到了66.6%的准确率,我们的CAST达到了71.6%的准确率。这些结果验证了我们提出的方法CAST的有效性,它通过交叉注意力使我们的空间专家和时间专家能够相互交换信息,从而进行协同预测。
4.4细粒度动作识别分析
在本节中,我们将详细分析提出的CAST如何改善细粒度动作识别任务(EK100)中的平衡时空理解。
类别级别性能分析。在图5中,我们展示了CAST相对于我们的空间专家(CLIP)和时间专家(VideoMAE)的EK100名词超级类别加权平均F1分数改善情况。在图5左侧,我们观察到CAST在几个超级类别(如餐具、器皿和蔬菜)上明显改善了空间专家CLIP的表现。这些结果表明,通过利用来自时间专家的时间上下文,空间专家能够更准确地理解与演员交互的细粒度小物体。同样,在图5右侧,我们观察到CAST在几个类别(如蔬菜和餐具)上明显改善了时间专家VideoMAE的表现。这一趋势与与空间专家的比较相似:CAST通过利用CLIP提供的细粒度空间上下文,能够更准确地理解细粒度小物体。
图5:CAST相对于每个专家在EK100名词类别上的改进。我们展示了CAST相对于每个专家的超级类别加权平均F1分数的改进。(左)相对于CLIP的改进。CAST在每个超级类别上都优于CLIP,除了肉类和替代品。(右)相对于VideoMAE的改进。CAST在每个超级类别上都优于VideoMAE,除了家具和制作食品。最好通过放大和使用彩色查看。
定性分析。为了更好地理解CAST的有效性,我们在图6中对EK100数据集中的一些样本帧进行了定性分析。我们展示了CLIP、VideoMAE和CAST的预测结果。如预期那样,每个专家模型在其各自的专业任务中提供了更准确的预测,但在另一任务中表现较弱。相比之下,CAST在名词和动词预测任务中一致显示出正确的预测,如勺子和打开。定性示例展示了CAST在实现平衡的时空理解方面的有效性,这对于细粒度动作识别至关重要。
图6:从EK100中提取的定性示例,比较了CLIP、VideoMAE和提出的CAST。每个专家模型在其专业领域中显示出更准确的预测,但在另一任务上表现较弱。然而,CAST在两个任务中始终显示出正确的预测,展示了所提出的时空交叉注意机制的有效性。
4.5 CAST架构的消融研究
我们进行了全面的消融研究,以检验所提出的CAST架构的设计选择。在这里,我们在EK100 [10]数据集上进行所有实验,使用16帧输入视频,并在验证集上报告top-1准确度。我们将CLIP [44]作为空间专家模型,将VideoMAE [56]作为时间专家模型。为了进行公平消融研究,除非明确说明,我们对每个实验使用相同的超参数。
信息交换的效果。我们调查CAST是否有效地通过在两个专家模型之间交换信息实现了协同效应。在表1(a)中,我们将CAST与三个基线进行了比较。i)一个基线使用两个独立的专家模型,没有任何信息交换(完全微调)。ii)与i相同的基线,但我们添加了适配器,并仅微调适配器和头部,iii)两个独立专家的测试时间集成(仅微调适配器和头部)。基线使用空间模型预测名词,使用时间模型预测动词。我们观察到,使用集成的两个专家模型的行动准确度至少比没有任何信息交换的基线提高了1.2个百分点。此外,CAST实现了48.7%的最佳动作准确度。这些结果表明信息交换对于实现平衡的时空理解至关重要。
与简单的信息交换基线比较。我们将CAST与简单的信息交换基线进行比较:i)使用加法的后期融合,ii)使用串联的后期融合,iii)使用双向横向连接(逐元素加法)和线性投影进行的层次融合。在所有三个基线中,我们仅添加适配器并微调适配器和头部,使用我们在第4.2节中的训练配方。有关基线融合方法的详细信息,请参见图7。我们在表1(b)中展示结果。值得注意的是,无论是后期融合还是层次横向连接基线都导致了显著的性能下降。此外,我们观察到,没有交叉注意力的层次融合相对于简单的后期融合基线具有较低的性能。结果表明,瓶颈架构中的交叉注意力对于空间和时间专家之间的有效信息交换至关重要。
B-CAST模块的设计。为了探索在两个专家模型之间进行信息交换的最有效和高效的方法,我们进行了消融研究,并在表1(c)中呈现了结果。有关基线的详细信息,请参见图8。表的第一行代表没有B-CAST模块的基线,这相当于恒等函数。与这个基线相比,B-CAST在行动准确度上取得了显著的改进,提高了7.0个百分点。第二行显示了具有交叉注意力但没有瓶颈适配器的基线的性能。这个基线与B-CAST之间的9.3个百分点差距突显了瓶颈适配器在两个专家模型之间进行有效信息交换中的重要性。第三行(X-Attn.→Adapter)是具有交叉注意力后的适配器的基线。与B-CAST相比,这个基线的行动准确度下降了0.8个百分点,而可学习参数的数量超过了一倍(44.9M对93.0M)。结果表明,瓶颈中的交叉注意力比基线更有效、更高效。总之,通过将交叉注意力放置在瓶颈适配器的中间,B-CAST促进了两个专家之间的有效信息交换,并实现了协同效应。
瓶颈中的投影比率的影响。在这项研究中,我们调查了表1(d)中呈现的瓶颈架构中下投影比率的影响。结果表明,比率为1/2的性能最佳。值得注意的是,比率为1会导致性能较差,我们将其归因于增加了更多参数而导致的过拟合。
跨注意力窗口形状的影响。我们调查了表1(e)中T2S和S2T模块中的交叉注意机制的窗口形状的影响。有关窗口大小的详细信息,请参阅图3(c)。我们在不同方法之间保持了相同的模型容量。对于T2S和S2T模块都使用时空注意力导致性能最差。我们推测,使用给定模型容量时,学习联合时空注意力是具有挑战性的。另一方面,T2S中使用时间注意力,S2T中使用空间注意力产生最佳性能。因此,我们在整个论文中采用这种配置。
跨注意力层数量的影响。我们调查了使用的跨注意力层数量的影响。为此,我们从前三层逐渐增加跨注意力层的数量,并在表1(f)中报告结果。随着跨注意力层数量的增加,我们观察到相应性能的提高,符合预期。
双向交叉注意力的影响。为验证双向信息交换的有效性,我们逐个消融每个交叉注意力。我们将CAST与仅配备S2T或T2S交叉注意力的单向信息交换基线进行比较。每个单向信息交换基线仍然拥有两个专家。在表1(g)中,与我们的CAST(48.7%)相比,仅具有S2T的基线显示了5.0个百分点的下降(43.7%),而仅具有T2S的基线显示了2.0个百分点的下降(46.7%)。结果验证了所提出的双向交叉注意力的有效性。
每个专家的作用。在表1(h)中,我们通过控制将模型分配给每个专家来研究CAST中每个专家的作用。我们观察到,当我们将CLIP作为我们的时间专家,将VideoMAE作为我们的空间专家时,我们可以获得48.7%的最佳性能。当我们将一个VideoMAE作为我们的空间专家,另一个VideoMAE作为我们的时间专家时,我们获得40.3%的准确率。当我们将一个CLIP作为我们的空间专家,另一个CLIP作为我们的时间专家时,我们获得46.0%的准确率。
有趣的是,当我们颠倒CLIP和VideoMAE的角色,即将VideoMAE作为空间专家,将CLIP作为时间专家时,我们实现了47.8%的良好性能。这些结果表明,B-CAST架构促进了两个专家之间的有效信息交换。通过堆叠的B-CAST,即使角色颠倒,专家们也可以通过交换信息学习高质量的时空表示。
总的来说,这些发现表明,当模型被分配到与其优势相符的专家角色时,CAST可以实现最佳性能。CLIP作为有效的空间专家,而VideoMAE作为时间专家更为有效。B-CAST架构鼓励这些专家通过信息交换利用各自的优势,从而实现增强的时空平衡理解。
4.6与最先进的比较
在本节中,我们评估了CAST和现有最先进方法在多个数据集上的平衡时空理解性能,如表2所示。对于每种方法,除了报告每个任务的top-1准确性外,我们还报告了以下两项的top-1准确性的调和均值:i)SSV2和K400,ii)EK100动词、EK100名词、SSV2和K400。为了与最先进的模型进行比较,我们设置了不同的超参数,这些超参数与我们的消融研究中使用的超参数不同。有关详细的计算复杂性比较,请参阅附录§E。
表2:与EK100、SSV2和K400数据集的比较。我们显示了每个数据集的Top-1精度和Top-1精度的调和平均值(H.M.)。最好的表现用粗体表示,第二好的表现用下划线表示。
我们观察到,在基于CLIP的方法中(表2中的第二组),AIM在静态偏向的K400数据集上表现良好,准确率达到84.5%。然而,AIM在时间偏向的SSV2上表现相对较低,为68.1%。另一方面,VideoMAE,作为最先进的方法之一,在SSV2数据集上表现为70.8%的准确率,比AIM更具竞争力。然而,VideoMAE在K400数据集上的准确率为81.5%,竞争力不及AIM。我们提出的方法CAST在SSV2(71.6%)和K400(85.3%)数据集上均表现良好,调和均值达到77.9%,高于AIM(75.4%)和VideoMAE(75.8%)。CAST表现出比现有方法更平衡的时空理解能力。此外,CAST在EK100数据集上的细粒度动作识别中表现良好。CAST实现了49.3%的竞争性动作准确率,居比较方法中的第二位。
就EK100动词、EK100名词、SSV2和K400准确率的整体调和均值而言,CAST展现出最佳的71.6%性能。结果突显了CAST的有效性。通过在空间和时间专家之间交换信息,我们的CAST展示出了有利的平衡时空理解性能。
5结论
在本文中,我们提出了一种解决动作识别模型缺乏平衡时空理解的问题的方法,所提出的方法为CAST,结合了一个空间专家和一个时间专家,它们通过交叉注意力进行信息交换以实现协同预测。我们在具有不同特征的数据集上进行了大量实验,结果表明,CAST在数据集的调和均值在准确率方面优于单个专家模型和现有方法。结果突显了CAST在实现视频平衡时空理解方面的有效性,并暗示了CAST在视频理解领域可能具有广泛的适用性。
附录
A. 我们框架的架构细节
B. 实现细节和实验设置
C. 我们实验中数据集的详细信息
D. 额外的定量和定性结果
E. 与最新技术的比较,附加信息
F. EK100动词和名词类别的类别F1得分
G. EK100的额外定性分析
H. 限制
I. 更广泛的影响
A架构细节
在本节中,我们提供我们的B-CAST架构的详细信息。假设我们使用CLIP [44]作为空间专家,而使用VideoMAE [56]作为时间专家。
B-CAST架构。在表3中,我们提供了B-CAST中两个专家的阶段性详细信息。给定来自多头自注意力(MHSA)层的输入,我们首先通过每个专家的线性投影层传递它。随后,两个专家互相交换它们的特征。每个专家的多头交叉注意力(MHCA)层使得两个专家之间的信息有效交换。之后,我们将B-CAST的输出张量通过前馈网络(FFN)传递。我们以堆叠的方式重复这个过程,包括12个块,每个块由MHSA模块以及适配器、B-CAST以及带有适配器的FFN模块组成。最后,我们将生成的张量馈送到分类头部以预测动作。
表3:B-CAST中两个专家的阶段性详细信息。我们提供了每个专家中执行的每个操作的详细描述。此示例的输入是由16帧组成的视频。MHCA代表应用了特定窗口形状的多头交叉注意力:时间注意力或空间注意力。在描述中,B、D、T和N分别表示批量大小、嵌入维度、时间序列长度和空间序列长度。为简单起见,我们省略了层归一化和激活函数。
不同信息交换方法的架构细节。在图7中,我们可视化了主文中表1(b)中呈现的简单信息交换基线的架构。这些基线涉及在没有使用适配器的情况下完全微调两个专家模型,遵循附录§B中概述的训练配方。在图7(a)中,我们呈现了add基线,它通过使用逐元素加法进行的晚期融合促进了空间和时间专家之间的信息交换。在图7(b)中,我们呈现了concat基线,它通过使用拼接进行的晚期融合来交换空间和时间专家之间的信息。在图7(c)中,我们展示了侧向连接基线,它通过层次性侧向连接促进了空间和时间专家之间的信息交换,同时结合了线性投影。
在B-CAST架构消融研究中使用的基线的架构细节。在图8中,我们展示了B-CAST架构消融研究中使用的基线的架构,如主文中的表1(c)所示。在图8(a)中,我们描述了身份基线,它作为一个没有B-CAST模块的基线。在图8(b)中,我们展示了无适配器的基线,它包括交叉注意力,但不包含瓶颈适配器。在图8(c)中,我们展示了交叉注意力→适配器基线,它在交叉注意力阶段之后使用适配器。作为参考,我们在图8(d)中包含了我们在研究中使用的最终模型的B-CAST架构。
分类头部。如图9所示,我们针对传统动作识别和细粒度动作识别使用不同的分类策略。i) 对于传统的动作识别数据集,即Kinetics-400(K400)和Something-Something-V2(SSV2),CAST将来自两个专家的CLS和GAP令牌合并起来预测动作,如图9(a)所示。空间专家CLIP [44]为每帧生成一个CLS令牌。为了获得单个CLS令牌,我们对输入视频的所有帧的CLS令牌取平均值。时间专家VideoMAE [56]对所有输出特征进行全局平均池化,得到一个单独的GAP令牌。经过适配器处理后,我们将CLS和GAP令牌相加,并将令牌馈送到线性分类头部。ii) 对于细粒度动作识别数据集,即EPIC-KITCHENS-100(EK100),模型需要预测动作的动词和名词,我们使用两个单独的分类头部,而不是单个头部,如图9(b)所示。具体来说,我们将来自空间专家的CLS令牌馈送到线性分类头部进行名词预测,将来自时间专家的GAP令牌馈送到另一个线性分类头部进行动词预测。
图 9: 分类头部架构。我们针对传统动作识别和细粒度动作识别使用不同的分类策略,如图(a)和(b)所示。这里,T,N和D分别表示时间序列长度、空间序列长度和嵌入维度。空间专家的输出包括帧级特征向量。每个帧级特征向量由N个patches和一个CLS令牌组成。时间专家的输出是一个视频级特征向量,由N·T个patches组成。
B实现细节
在这一部分,我们提供了每个数据集的实验设置和实现的更多细节。我们使用16个NVIDIA GeForce RTX 3090 GPU进行实验。我们使用PyTorch实现了CAST,并在现有的VideoMAE [56]代码库的基础上进行了开发。
数据预处理。在对视频采样到16帧后,我们对每一帧进行随机裁剪并将其调整大小为224×224。我们还应用数据增强技术,包括mixup [73],标签平滑[55],水平翻转,颜色抖动和randaugment [9],以及重复增强[22],以增加训练数据的多样性。我们在SSV2上不使用水平翻转。请注意,如果时间专家的补丁嵌入层具有时间步幅值为2,例如VideoMAE [56],我们只对空间路径采用偶数帧。在补丁嵌入层之后,两个专家都采用了3通道×8帧×224宽度×224高度的输入。我们在所有实验中使用相同的数据预处理协议。
模型训练。我们使用了2个节点,每个节点配备8个GPU进行实验。为了确保有效的多节点训练,我们利用了DeepSpeed 3库。此外,我们通过实现梯度累积来增加有效批量大小以更新模型权重。对于EK100数据集,我们将更新频率设置为4次迭代,从而每个GPU的总批量大小为24。我们将基本学习率进行线性缩放,实际lr = 基本lr×总批量大小/256。在表4中,我们总结了微调配置和表2、表9、表10和表11中使用的超参数。
预训练权重。我们使用两个专家模型的现成预训练权重。对于我们的主要时间专家,我们使用VideoMAE [56]在K400和SSV2数据集上的官方仓库中预训练的权重。由于VideoMAE没有专门针对EK100提供预训练权重,我们在EK100上预训练VideoMAE,而不包含额外的视频数据集。预训练过程遵循VideoMAE论文中描述的方法。对于所有其他实验,我们使用各自模型仓库提供的预训练权重,以确保结果的一致性和可靠性。
C数据集
动作识别:我们在两个视频数据集上评估我们的B-CAST模块:Kinetics400(K400)[24]和Something-Something-V2(SSV2)[19]。
i)K400是一个大规模的第三人称视频数据集,用于动作识别,包含约300,000个视频片段和400个人类动作类别。该数据集被分为训练/验证/测试集,其中包含240,000/20,000/40,000个视频片段。视频都是从不同的YouTube视频中剪辑而来,长度大约为10秒。
ii)SSV2包含超过220,000个短视频片段,标记有人类使用日常物品执行预定义的基本动作。该数据集被分为训练/验证/测试集,其中包含168,000/24,000/27,000个视频片段,并包含174个人-物体交互类别。
细粒度动作识别:我们在一个组合动作数据集EPIC-KITCHENS-100(EK100)[10]上评估我们的B-CAST模块。EK100是一个大规模(100小时)的主观视角视频数据集,记录了几天的厨房非编剧活动。它包含90,000个动作片段,分为训练/验证/测试集,分别包含67,000/10,000/13,000个片段。与前两个数据集不同,EK100将动作定义为动词和名词的组合。因为需要匹配动词和名词来识别动作,所以它比在动作由单个标签表示的数据集中(如Kinetics-400,Something-Something-V2)更具挑战性。
D额外的定量分析
在本节中,我们提供额外的结果以补充主文。我们展示了以下内容:(1) 在附录§ D.1 中,我们展示了 CAST 在不同 ViT 架构和预训练权重下的普适性,以及 (2) 在附录§ D.2 中,我们展示了 B-CAST 特定位置编码的效果。
D1普适性
在这一部分,我们展示了所提出方法的通用性。我们证明了CAST可以很好地与任何ViT骨干和预训练权重配合使用。我们在EK100数据集上进行了所有实验。
CAST对预训练数据集不加以偏好。在表5中,我们将CAST与一个变体进行了比较,该变体将CLIP替换为在ImageNet-21K(IN21K)数据集上预训练的ViT-B模型。作为参考,我们还展示了仅使用两个独立专家模型而没有任何信息交换的基准性能。当配备了IN21K预训练的ViT-B时,CAST仍然达到了合理的性能,动作准确率为45.5%,而独立专家的基准性能为40.4%。
在表格6中,我们分析了预训练数据集对CAST中的时间专家VideoMAE的影响。我们展示了使用EK100、SSV2和K400预训练的VideoMAE权重的结果。我们还调查了预训练数据集对空间专家CLIP的影响。我们展示了使用IN21K和CLIP预训练权重的结果。当使用CLIP的预训练权重作为空间专家时,我们观察到动作准确率稳定在48.7%到49.4%之间。当我们使用IN21K预训练的CLIP权重时,我们观察到类似的趋势。这些结果表明,该方法对预训练数据集是不加以偏好的。
CAST是与模型无关的。在表格7中,我们展示了CAST是与模型无关的。在这个实验中,我们用其他现有模型替换了我们的空间和时间专家模型。我们采用EVA [53]作为空间专家,它是CLIP的扩展,在各种视觉任务中表现出色。我们采用MVD [63]作为我们的时间专家。结果表明,当我们采用不同的模型作为专家时,CAST达到了类似的性能。例如,EVA + MVD的动作准确率为49.2%,而CLIP + VideoMAE的动作准确率为48.7%。
D.2 B-CAST特定的位置嵌入
我们调查了B-CAST特定的位置嵌入的影响,如图8(d)所示。在从时间到空间(T2S)的交叉注意力中,空间专家沿着时间轴进行注意力聚焦,如图10(a)所示,而在自注意力阶段的预训练期间,空间专家沿着空间轴进行注意力聚焦,如图10(b)所示。因此,空间专家缺乏关于时间序列的信息。类似地,在从空间到时间(S2T)的交叉注意力中,时间专家沿着空间轴进行注意力聚焦,如图10(b)所示,而在自注意力阶段的预训练期间,时间专家沿着时空轴进行注意力聚焦,如图10(c)所示。因此,时间专家缺乏关于仅空间序列的信息。为了解决这一限制,我们引入了新的可学习的位置嵌入,这些嵌入特定于T2S和S2T交叉注意力。
如表8所示,与不使用B-CAST特定位置嵌入相比,添加B-CAST特定位置嵌入将性能提高了1.2个百分点。结果表明了B-CAST特定位置嵌入的有效性。
“w/o”代表“without”,意思是“没有”,而“w/”代表“with”
E与最先进的比较
为了提供更全面的信息,我们增补了与主文中现有技术的比较表格。表9、表10和表11分别对应于相应的数据集,包括额外的细节,如每个视频片段的帧数、推理中使用的时间和空间视图数量、计算复杂度以及每个模型的可学习参数数量。有关使用的超参数的详细信息,请参阅表4。
表9:在EPIC-Kitchens-100数据集上与现有技术的比较。我们展示了动作、名词和动词预测任务的Top-1准确率,以及每个视频片段的帧数、推理中使用的时间和空间视图数量、计算复杂度和每个模型的可学习参数数量。最佳性能用粗体表示,次佳性能用下划线表示。
表10:在Something-Something-V2数据集上与现有技术的比较。我们展示了Top-1准确率,以及每个视频片段的帧数、推理中使用的时间和空间视图数量、计算复杂度和每个模型的可学习参数数量。最佳性能用粗体表示,次佳性能用下划线表示。
表 11: 在Kinetics400数据集上与现有技术的比较。我们展示了Top-1准确率,以及每个视频片段的帧数、推理中使用的时间和空间视图数量、计算复杂度和每个模型的可学习参数数量。最佳性能用粗体表示,次佳性能用下划线表示。
F 类别的性能比较
我们提供了CAST相对于我们的空间专家(CLIP)和我们的时间专家(VideoMAE)的类别级F1分数改进。我们在图11中显示了相对于CLIP的动词类别级F1分数改进,并在图12中显示相对于VideoMAE的改进。我们在图13中显示相对于CLIP的名词类别级F1分数改进,并在图14中显示相对于VideoMAE的改进。
Figure 11: CAST相对于CLIP在EK100动词类别上的改进。我们展示了CAST相对于CLIP的类别级F1分数改进。CAST平均改进了17.8个点。最好放大查看,带有颜色。
Figure 12: CAST相对于VideoMAE在EK100动词类别上的改进。我们展示了CAST相对于VideoMAE的类别级F1分数改进。CAST平均改进了2.2个点。最好放大查看,带有颜色。
Figure 13: CAST相对于CLIP在EK100名词类别上的改进。我们展示了CAST相对于CLIP的类别级F1分数改进。CAST平均改进了7.9个点。最好放大查看,带有颜色。
Figure 14: CAST相对于VideoMAE在EK100名词类别上的改进。我们展示了CAST相对于VideoMAE的类别级F1分数改进。CAST平均改进了9.2个点。最好放大查看,带有颜色。
G定性分析
为了更好地理解CAST的有效性,我们在图15中提供了来自EK100数据集更多样本帧的定性分析。每个专家模型在其专业领域的任务中提供了更准确的预测,但在另一任务中显示出较弱的性能。相反,CAST在名词和动词预测任务中始终显示出正确的预测。定性示例展示了CAST在实现平衡的时空理解方面的有效性,这对于细粒度动作识别至关重要。
Figure 15: EK100的定性示例,比较了CLIP、VideoMAE和提出的CAST。每个专家模型在其专业领域中显示出更准确的预测,但在另一领域中显示出较弱的性能。然而,提出的CAST在名词和动词类别上始终显示出正确的预测,证明了所提出的时空交叉注意机制的有效性。最佳查看放大和彩色。
H限制
尽管CAST取得了良好的平衡的时空理解性能,但它也有一些局限性。CAST的可学习参数数量较少,因为我们除了适配器之外冻结了专家模型,然而,由于利用了两个专家模型,CAST的计算复杂度并不可忽略。由于资源限制,我们无法对各种输入视频长度和模型大小进行实验。最后,交叉注意层需要相同维度的特征进行注意力操作,因此,如果两个模型的架构差异很大,CAST可能会面临困难。
I 更广泛的影响
我们的工作是关于从视频中识别人类动作的任务。监视可能是一个应用场景,当这项技术被部署时可能会涉及隐私问题。其他消费者应用,如个人或互联网视频搜索和标记,预计将使个人和组织受益,帮助它们更有效地维护以人为中心的数据。
读后总结
出发点:针对现有的动作识别模型缺乏对视频的时空平衡理解。
创新点1:提出双流网络--时空交叉注意力网络CAST,通过时间专家和空间专家获得时间和空间的特征信息,为了进一步融合时空信息,提出瓶颈交叉注意力模块B-CAST,使空间和时间专家模型能够交换信息并进行协同预测。
创新点2:瓶颈交叉注意力模块B-CAST中,在时间到空间(T2S)的交叉注意力中,查询标记来自空间专家 s,而键和值标记来自时间专家 t;在空间到时间(S2T)的交叉注意力中,查询标记来自时间专家 t,而键和值标记来自空间专家 s。
补充
Adapter模块设计方法
2019年,Houlsby N等人将Adapter引入NLP领域,作为全模型微调的一种替代方案。Adapter主体架构下图所示。
在预训练模型每一层(或某些层)中添加Adapter模块(如上图左侧结构所示),微调时冻结预训练模型主体,由Adapter模块学习特定下游任务的知识。每个Adapter模块由两个前馈子层组成,第一个前馈子层将Transformer块的输出作为输入,将原始输入维度d投影到m,通过控制m的大小来限制Adapter模块的参数量,通常情况下m<<d。在输出阶段,通过第二个前馈子层还原输入维度,将m重新投影到d,作为Adapter模块的输出(如上图右侧结构)。通过添加Adapter模块来产生一个易于扩展的下游模型,每当出现新的下游任务,通过添加Adapter模块来避免全模型微调与灾难性遗忘的问题。Adapter方法不需要微调预训练模型的全部参数,通过引入少量针对特定任务的参数,来存储有关该任务的知识,降低对模型微调的算力要求。
原文链接:https://blog.csdn.net/yinizhilianlove/article/details/127484131