深度学习笔记(38周)

发布于:2025-03-23 ⋅ 阅读:(24) ⋅ 点赞:(0)

Abstracts

The paper "Stacked Temporary Attention: Improving First person Action Recognition by Emphasizing Discriminative Clips" was published in BMVC at the University of Tokyo in 2021.

First person action recognition is a challenging task in video understanding. Due to strong self movement and limited field of view, many background or noisy frames in first person videos may distract the attention of action recognition models during the learning process. In order to encode more discriminative features, the model needs to be able to focus on the most relevant parts of the video for action recognition. Previous studies attempted to address this issue by applying temporal attention mechanisms, but failed to consider the global context of the entire video, which is crucial for identifying relatively important parts. This work proposes a simple but effective Stacked Temporal Attention Module (STAM) that calculates temporal attention based on global knowledge in video clip segments to emphasize the most discriminative features. This is achieved by stacking multiple self attention layers. There is no experimentally proven ineffective simple stacking, but rather a carefully designed input for each self attention layer to consider both local and global backgrounds of the video when generating temporal attention weights. Experiments have shown that STAM can be built on top of most existing backbones and improve performance on various datasets.

摘要

21年发表在BMVC东京大学论文“Stacked Temporal Attention: Improving First-person Action Recognition by Emphasizing Discriminative Clips”。

第一人称动作识别是视频理解中的一项具有挑战性的任务。由于强烈的自我运动和有限的视野,第一人称视频中的许多背景或嘈杂帧可能会在动作识别模型的学习过程中分散其注意力。为了编码更具判别性的特征,模型需要能够专注于视频中最相关的部分以进行动作识别。以前的研究尝试通过应用时间注意机制来解决这个问题,但未能考虑整个视频的全局背景,这对于确定相对重要的部分至关重要。这项工作提出了一个简单但有效的堆叠时间注意模块 (STAM),根据视频剪辑片段中的全局知识来计算时间注意,以强调最具判别性的特征。通过堆叠多个自注意层来实现这一点。没有实验证明无效的简单堆叠,而是精心设计每个自注意层的输入,以便在生成时间注意权重时同时考虑视频的局部和全局背景。实验表明,STAM 可以在大多数现有主干之上构建,并提高各种数据集的性能。


视频动作识别是计算机视觉领域最基本的问题之一。大多数研究集中于从固定摄像机 [2, 7, 36](第三人称视频)拍摄的视频中识别人类动作。与这些第三人称视频不同,可穿戴摄像机拍摄的第一人称视频从不同的角度记录人类行为,具有广泛的应用,例如协助人机交互。不幸的是,第一人称视频中的动作识别方法的性能仍然无法与第三人称视频 [40] 相提并论。

第一人称动作识别面临的主要挑战之一是独特的视野使得动作有时会发生在视频观看范围之外。由于动作并非总是在视频序列的所有帧中都可见,因此首先从视频中稀疏地采样片段,然后通过池化计算视频片段共识,这种方法 [28, 44] 被证明是在第三人称视频中创建更具判别性特征的良好做法,但在第一人称视频中无法获得同样好的性能。

第一人称动作识别面临的另一个主要挑战是,视频通常伴随着巨大的自我运动,这是由佩戴相机个体的剧烈运动(例如转动头部)引起的,这会使运动的编码变得复杂 [40]。使用当前的视频片段采样技术,即使时间感受野扩大,一些片段可能仅包含背景信息,这会损害识别。

共同解决这两个挑战的一种方法,是将时间注意机制应用于视频片段,强调判别性片段,同时抑制杂乱的片段。之前有几篇研究成果探索了这个方向。例如,Pei [35] 建议使用门控 LSTM 来决定每个输入帧的权重,而 Girdhar [9] 利用 Transformers [42] 来计算视频中人物的时空注意。然而,无论是使用 LSTM 还是 Transformers,时间信息都只能通过计算视频片段关系来形成。如果没有对整个输入的全局理解,模型仍然很难决定最佳的注意选择。直观地思考,对所有局部片段的全局了解,可以帮助识别哪个片段是最具辨别力的片段,并抑制不太重要的片段特征。

如图所示是STAM 概述:使用主干中的特征,首先初始化全局特征 g0;此全局特征用作所有输入片段的聚合全局信息,并用于以下全局注意层。全局注意层的堆栈逐步细化注意权重以及全局特征。分类损失应用于每层的输出。

STAM 可以与大多数使用神经网络和反向传播进行训练的现有主干网络配合使用。这里展示了一个使用 3D 卷积的主干编码器 E,它将一个包含几个视频帧的小片段作为输入。给定一个包含动作的修剪视频,遵循 TSN [44] 的做法将输入分成 N 个片段。从每个片段中提取 16 个连续帧片段作为主干网络的输入。主干网络会将片段编码为片段特征 f1 , ..., fN 。这些片段特征用作 STAM 的输入。

利用主干网络编码的特征,STAM 找到用局部和全局信息在时间上聚合特征的注意机制。STAM 是几个全局注意层的堆栈。第一个全局注意层的输入,是由局部特征向量 f 初始化的全局特征向量 g0。实验过多种初始化方法。在第 l 个全局注意层中,使用输入全局特征 gl-1 与每个局部特征 f 之间的关系,计算注意权重向量 al。该注意权重用于生成一个新的全局向量 gl,作为该层的输出。为简单起见,省略所有的分类器和规范化层。

为了逐步完善每一层的全局特征,在训练模型期间在每个注意层上添加一个具有交叉熵损失的分类器。最终的损失函数,是全局特征初始化步骤和 M 个全局注意层的损失组合。


对两个公开的第一人称数据集进行了实验:EGTEA [25, 26] 和 EPIC-Kitchens-100 [3] (EPIC-100)。EGTEA 是一个以自我为中心的视频数据集,包含 32 名受试者在厨房中执行的 29 小时备餐动作。提供了 106 个动作类别的细粒度注释。按照 [40],报告数据集三个分割的平均值。EPIC-100 是目前最大的第一人称视频数据集,包含不同受试者在不同厨房录制的 100 小时视频。提供了 97 个动词和 300 个名词的细粒度注释。遵循官方协议并报告动词、名词和组合动作的表现。对于所有数据集,报告动作识别准确度作为评估指标。

实施细节如下。

对所有实施都使用 PyTorch [34]。所有主干都在 Kinetics 数据集 [1] 上进行预训练。用 Adam 优化器 [19] 以端到端的方式将 STAM 与预训练的主干一起训练,初始学习率为 1e-4,持续 40 个epochs。至于损失权重 λ,根据经验将所有 λ 设置为 1。

在所有实验中,隐藏的维度 d 均设置为 512。对于 2D 主干 TSM,均匀采样 16 帧作为输入。对于 2D 和 3D 主干,输出时间维度与剪辑数相同。对于全局注意层 M 的数量,根据经验设置不同的值,配合不同的主干编码器。

评估该时间注意模块STAM,与一些基线和几种最先进的时间注意方法进行比较。对于 EGTEA 数据集,使用 I3D 主干,并为所有方法使用 9 个包含 16 帧的剪辑片段。对于 EPIC-100 数据集,用包含 16 帧的 TSM 主干作为输入。其结果如下表所示:左边EGTEA,右边EPIC-100。