论文阅读:MGMAE : Motion Guided Masking for Video Masked Autoencoding

MGMAE:Motion Guided Masking for Video Masked Autoencoding

Abstract

掩蔽自编码(Masked Autoencoding)在自监督视频表示学习中展现了出色的表现。时间冗余导致了VideoMAE中高掩蔽比率和定制的掩蔽策略。本文旨在通过引入运动引导掩蔽策略,进一步提升视频掩蔽自编码的性能。我们的关键见解是,运动是视频中的一种普遍且独特的先验信息,应在掩蔽预训练过程中加以考虑。我们提出的运动引导掩蔽明确地结合了运动信息,构建了时间一致的掩蔽体积。基于这个掩蔽体积,我们能够追踪时间上的未掩蔽标记,并从视频中采样一组时间一致的立方体。这些时间对齐的未掩蔽标记将进一步缓解信息泄漏问题,并鼓励MGMAE学习更多有用的结构信息。我们使用在线高效光流估计器和反向掩蔽图扭曲策略实现了MGMAE并在Something-Something V2和Kinetics-400数据集上进行了实验,展示了MGMAE相较于原始VideoMAE的优越性能。此外,我们还提供了可视化分析,说明MGMAE能够以运动自适应的方式采样时间一致的立方体,从而更有效地进行视频预训练。

1. Introduction

基于注意力机制的Transformer(如Vision Transformer,ViT)自从引入以来,在计算机视觉领域取得了巨大成功。ViT被广泛应用于各种视觉任务,并取得了最先进的性能,如图像分类[36, 59, 52]、目标检测[23, 46]、语义分割[49]和目标跟踪[8]。得益于其优异的性能,ViT模型也已被应用于视频领域,如动作识别[5, 1]和检测[33, 54]。然而,Transformer通常具有较高的模型容量,这常常需要在大规模数据集上进行预训练,以降低后续微调时过拟合的风险。因此,ViT的有效预训练策略对于在视频领域获得优异的性能尤为重要,因为视频数据集相对较小。

早期的video Transformer[1, 5]通常依赖于基于图像的大规模数据集进行预训练,这些vision Transformer衍生于大规模的图像数据集[10]。这种预训练方案使得学习到的视频模型往往受到基于图像的ViT的影响。近年来,掩蔽自编码(MAE)[35, 14, 41]由于其简洁性以及在图像领域的良好表现[17],已被探索用于video Transformer的预训练。然而,与图像不同,视频数据具有额外的时间维度,并展现出时间冗余性和相关性的独特特性。这一特性要求视频掩蔽自编码器相比图像MAE需要一些定制化的设计。例如,VideoMAE和MAE-ST都提出在视频掩蔽自编码器的预训练中使用极高的掩蔽比率以提高其性能。此外,VideoMAE设计了一种管道掩蔽策略,在所有帧中相同位置丢弃标记,以进一步减少时间上的信息泄漏。尽管这种管道掩蔽方法较为简单,但其假设相邻帧之间几乎没有或只有微小的运动,这种假设对于某些高速运动场景可能并不成立。

基于上述分析,本文提出了一种新的掩蔽策略,旨在通过显式利用运动信息来减少时间上的信息泄漏,从而改善视频掩蔽自编码器的预训练。具体而言,我们在视频掩蔽编码器处理中设计了运动引导掩蔽(Motion Guided Masking),并将所得到的掩蔽自编码器命名为MGMAE。运动是视频中普遍存在的先验信息光流表示法明确地编码了每个像素从当前帧到下一帧的运动信息。我们提出利用这种光流信息来对相邻帧之间的掩蔽图进行对齐,从而在时间上构建一致的掩蔽体积。通过构建一致的掩蔽体积,可以通过仅让编码器看到一个小的立方体轨迹集合,构建更具挑战性的重建任务。希望这种运动引导掩蔽能够进一步减轻时间上的信息泄漏风险,并促使学习到更有意义的视觉表示。

更具体地,我们使用了一种在线且轻量的光流估计器(RAFT [34])来捕捉运动信息,该估计器可以无缝集成到现有的VideoMAE框架中。为了构建时间一致的掩蔽体积,我们首先在基准帧上随机生成一个初始掩蔽图。然后,我们使用估算的光流将初始掩蔽图扭曲到相邻帧。通过多次扭曲操作,我们为视频中的所有帧构建了时间一致的掩蔽体积。最后,基于该掩蔽体积,我们使用基于帧的top-k选择方法从中采样一组可见标记MAE编码器处理。对这些采样标记应用与原始VideoMAE相同的自编码过程进行视频预训练。通过这种简单的运动引导掩蔽,我们能够进一步增加视频预训练任务的难度,从而得到一个更好的预训练模型,供后续微调使用。

我们主要通过在Something-Something V2 [16]和Kinetics-400 [20]数据集上与原始VideoMAE中的管道掩蔽进行对比,验证了所提出的MGMAE的有效性。结果表明,MGMAE的预训练能够生成更强大的视频基础模型,并在下游任务中取得更高的微调准确率。特别是在以动作为中心的Something-Something基准上,MGMAE的改进更加明显,表明我们的运动引导掩蔽能够适应运动变化,并能更好地捕捉时间结构信息,从而为预训练提供支持。我们希望我们的研究结果能够启发在视频掩蔽自编码领域进行一些特定且独特的设计,尤其是在与图像对比时。

图 1:不同掩蔽策略的比较。掩蔽自动编码 [11, 17] 已在视频领域进行了探索,用于自我监督预训练,采用不同的掩蔽策略:随机掩蔽 [14] 和管掩蔽 [35]。我们建议在运动信息的指导下跟踪掩蔽图(称为运动引导掩蔽)。我们得到的 MGMAE 可以为视频预训练构建更具挑战性和意义的任务。

2. Related Work

掩蔽视觉建模。掩蔽自编码器是一种长期存在的无监督学习框架,广泛应用于计算机视觉领域。早期的研究提出了去噪自编码器的通用形式[40, 39],通过从噪声输入中重建干净信号来学习表示。另一项工作[27]也将掩蔽建模视为通过卷积从周围上下文中填充缺失区域的图像修复任务。受掩蔽语言建模(Masked Language Modeling, MLM)[11]成功的启发,一些研究尝试将这一预训练范式应用于视觉领域的自监督预训练。例如,iGPT[7]借鉴了自然语言处理(NLP)中的GPT工作[30],通过处理一系列像素进行下一像素的自回归预测。原始的ViT[12]使用掩蔽标记预测作为自监督训练步骤,在大规模图像数据集上进行预训练,但未能取得令人印象深刻的结果。近年来,一些有趣的工作通过使用掩蔽图像建模在自监督图像预训练中取得了突破性进展,如BEiT[3]、SimMIM[50]和MAE[17]。BEiT[3]直接借鉴了BERT框架,提出通过预测掩蔽块的离散标记来进行训练,要求使用显式的分词器来构建标记词典。SimMIM[50]和MAE[17]共享相同的设计,直接预测掩蔽块的像素,而不需要任何分词器设计。此外,MAE[17]设计了一个非对称的编码器-解码器架构,以加速掩蔽图像预训练。

自掩蔽图像建模取得巨大成功以来,一些研究尝试将这一新的预训练范式扩展到视频领域进行自监督视频预训练。BEVT[45]和VIMPAC[32]提出通过类似于BEiT的方法,预测离散视觉标记来学习视频表示。然而,它们在视频动作识别中的性能提升有限。MaskFeat[48]将HOG特征[9]作为掩蔽块的重建目标,并在视频识别中取得了优秀的性能,采用了多尺度视觉Transformer。VideoMAE[35]MAE-ST[14]将图像MAE扩展到视频领域,使用普通的vision Transformer进行表示学习。它们都提出使用极高的掩蔽比率来处理视频数据冗余问题。同时,VideoMAE[35]使用管道掩蔽策略进一步增加了重建任务的难度。基于VideoMAE的多项工作应运而生。例如,MAR[29]通过引入运行单元掩蔽减少了训练和推理成本。与此同时,VideoMAE V2[41]提出了双重掩蔽策略,以降低预训练开销,并通过扩展模型规模和数据集进一步探索了VideoMAE的可扩展性。我们提出的运动引导掩蔽旨在通过构建更具挑战性的掩蔽和重建任务来提高VideoMAE的性能。与原始VideoMAE不同,我们的MGMAE显式地使用光流对跨帧的掩蔽图进行对齐,并生成时间一致的掩蔽体积来采样一组可见标记。

运动引导建模。运动信息,如光流,是视频中的一种通用先验信息,代表了与图像不同的独特特性。光流已广泛应用于为视频中的低层次和高层次视觉任务提供强大的先验信息。对于低层次的视频任务,运动通常用于对齐辅助帧的信息与目标帧的对应区域。例如,在视频超分辨率任务中,BasicVSR++[6]利用光流通过从邻近帧传递特征来增强低分辨率帧的外观。对于视频修复,Zhang等[56]利用光流提取的运动差异来指导Transformer中的注意力检索,以实现高保真度的视频修复。至于视频帧插值,主流方法直接利用光流在图像上合成中间帧,如DAIN[4]和RIFE[18],而Zhang等[55]则提出了一个统一的操作,利用帧间注意力同时提取运动和外观信息,并融合了混合CNN和Transformer设计,以提高效率和精细细节的保留。对于高层次视频任务光流直接作为数据模态输入到网络中进行动作识别[44, 31]。TDD[42]利用运动轨迹池化深度卷积特征进行动作识别。Trajectory Convolution[57]将运动信息融入时间卷积核设计中。MSNet[21]提出了一个可插拔的MotionSqueeze模块,用于生成跨帧的运动信息。VideoMS[19]通过计算补丁嵌入后的特征差异来生成掩蔽图,并尝试动态调整掩蔽位置。AdaMAE[2]引入了一种端到端可训练的自适应掩蔽策略,利用辅助采样网络优先选择来自高时空信息区域的标记。Yang等[51]利用分层运动信息改进提取的视频特征。MotionFormer[28]在视频Transformer中采用轨迹进行注意力计算。TEA[22]和TDN[43]使用RGB差异近似运动信息,并将其融入视频CNN骨干网设计中。MGSampler[58]探索了运动信息,用于选择一组代表性帧以提高视频动作识别的效率。我们的MGMAE与这些运动引导建模的工作具有相同的精神。我们专注于利用运动信息作为提示,生成掩蔽图进行视频预训练。

2: MGMAE 的流程

我们的 MGMAE 遵循简单的掩码和重建流程进行视频自监督预训练。我们的核心设计是提出一种运动引导的掩码策略,用于生成时间一致性的掩码体积。通过这个掩码体积,我们追踪可见的块并确保掩码图的时间一致性。最终,这使得我们能够构建一个更具挑战性的重建任务,并在掩码自监督预训练过程中鼓励提取更有效的表示。

3. Method

在本节中,我们首先回顾了 VideoMAE 的预训练范式,以在 3.1 节中清楚地介绍我们的 MGMAE。然后在 3.2 节中详细说明了运动引导的遮罩映射生成的细节。最后,在 3.3 节中描述了在时间一致的遮罩映射下的 MGMAE 预训练方法。

3.1. VideoMAE 回顾

VideoMAE 是一种简单的遮罩视频自动编码器,具有一个非对称的编码器-解码器架构,并通过立方体嵌入来处理输入的采样帧。接下来,我们简要回顾其实现细节。

立方体嵌入

VideoMAE 将输入视频片段 III(大小为 T×3×H×W)划分为不重叠的立方体 C={Ci∣Ci∈R2×16×16×3}i=1N,其中 N=2×H/16×W/16是立方体的数量。然后,对这些立方体进行嵌入生成视频标记 T={Ti∣Ti∈RD}i=1N,其中 Ti表示带有位置编码的立方体嵌入,D 是通道数。

遮罩策略

VideoMAE 使用管状遮罩策略,并设置极高的遮罩比率 ρ(即 90%),在输入视频片段的所有帧中采样相同的空间位置。具体而言,VideoMAE 首先生成一个二值遮罩映射 M′(大小为 H/16×W/16,0 表示未遮罩,1 表示遮罩),然后在时间维度上复制它,并展平成令输入视频片段的标记级遮罩映射 M 的大小为 N。

编码器

编码器是一个采用联合时空注意力机制的标准 ViT 模型。为了提高计算效率,仅将未遮罩的可见标记 Tv={Ti∣i∉M}(加上固定的位置编码)输入编码器,从而获得大小为 Nv×D的潜在特征Z,其中 Nv=⌊(1−ρ)N⌋ 是未遮罩的可见标记总数。

解码器

解码器比编码器更窄、更浅。它将由潜在特征 Z 与带有固定位置编码的可学习 [MASK] 标记连接形成的标记序列作为输入,以重建归一化的视频立方体 C^={C^i∣C^i∈R2×16×16×3}i=1N。

损失

预训练目标是在遮罩位置上最小化归一化 C 和 C^之间的均方误差损失:

完成预训练后,编码器将作为主干网络用于下游任务的微调以获得专门模型。


3.2. 运动引导遮罩图 (Motion Guided Masking Map)

时间是视频的一个独特特性,与空间维度有着不同的属性。在设计掩蔽视频自编码器时,我们需要仔细考虑这一额外的时间维度,并提出定制化的设计。时间信息泄漏是掩蔽视频预训练中的一个重要问题。当信息泄漏发生时,模型可以轻易地基于相邻帧的可见标记重建掩蔽的块,这将大大降低重建任务的难度,从而导致预训练模型在后续微调中的性能较差。一个简单的解决方案是增加掩蔽比率。VideoMAE[35]和MAE-ST[14]通过将掩蔽比率增加到90%,大大增加了重建任务的难度。此外,VideoMAE做出了小运动假设,并采用了管道掩蔽策略,该策略在所有帧中掩蔽相同的空间位置。然而,这种小运动先验并不总是适用于以运动为主的视频。一个更合理的方法是确保视频片段中的每个物体在所有帧中始终可见或不可见。为实现这一目标,我们提出了运动引导掩蔽策略,用以替代VideoMAE中的管道掩蔽策略。该策略包含两个过程:首先,我们使用光流作为指导,生成输入视频片段的时间一致的掩蔽体积;然后,基于时间一致的掩蔽体积采样未掩蔽的可见标记。我们将在第3.2节和第3.3节中详细介绍这两个过程。

一般而言,生成时间一致掩蔽体积的过程分为以下四个步骤:

  • 步骤1:确定基准帧 Ib,其中 b 是基准帧的索引。
  • 步骤2:随机生成一个像素级的初始掩蔽图 Mb ​,大小为 H×W,作为基准帧 Ib的掩蔽图。
  • 步骤3:从基准帧 Ib 双向提取密集光流 F
  • 步骤4在密集光流 F 的指导下,扭曲初始掩蔽图 Mb ​,并逐步构建时间一致的掩蔽体积 M,大小为 T×H×W

确定基准帧

默认情况下,我们选择中间帧作为基准帧。在运动引导掩蔽中,我们需要确保基准帧中的所有物体在输入片段的所有帧中始终保持一致的可见性或不可见性。需要注意的是,物体可能由于物体或相机的运动而在时间上(不)出现,通过光流来扭曲掩蔽图可能会导致一些“孔洞”,因为某些像素可能会被映射到边界外。因此,基准帧的选择可能会影响信息泄漏的抑制效果。我们将在第4.2节中探讨基准帧选择的影响,结果表明,中间帧是最优选择。

生成初始掩蔽图

我们为基准帧初始化一个像素级的掩蔽图,使用高斯混合模型(GMM)来分布这些掩蔽区域。掩蔽图用来指示基准帧中块的可见或不可见状态。以往的掩蔽策略通常使用基于标记级的二进制初始化,即每个大小为 2×16×16 的标记要么全为0,要么全为1,这种做法实际上打破了物体表面纹理的连续性。

具体而言,我们首先随机选择 N^v=⌊(1−ρ)×H/16×W/16⌋ 个标记,其中心坐标为 c={c⃗i:(ci1,ci2)}iN^v​。然后,我们在每个标记的中点生成二维高斯分布 Ni(ci,σ2),其中 σ是标准差,取为块大小(16,16)。由此,我们会得到与基准帧对应的混合高斯分布 ,并使用混合高斯分布的概率密度函数来指示基准帧中块(标记)的可见性。

提取光流

我们使用在线和离线两种方法提取光流。在线方法使用RAFT[34](小版本)来估计输入视频片段的光流;离线方法则应用传统的TVL1[53]算法提前提取所有相邻帧之间的密集光流。在读取光流时,我们执行一致的裁剪、缩放操作。在线和离线方法的结果相似,更多细节请参见第4.2节。

在实践中,我们仅从基准帧 Ib 提取前向和后向光流 F,即:

其中,光流 νi→j表示从帧 Ii到帧 Ij的光流。

使用光流扭曲掩蔽图

我们使用反向扭曲方法逐步生成视频片段的时间一致掩蔽图。前向扭曲 ϕF 和反向扭曲 ϕB ​ 是两种相对的扭曲模式,都可以有效地用于从初始掩蔽图构建掩蔽体积。遗憾的是,前向扭曲会遇到“孔洞”或遮挡问题,即某些像素可能无法接收到光流,或者可能有多个光流指向同一像素。相比之下,反向扭曲将给定图像的像素逐一映射到各自的目标位置。值得注意的是,尽管反向扭曲并不能避免因光流映射超出边界而产生的孔洞,但这些孔洞通常比前向扭曲少,并且大多发生在图像的边界,因此对信息分布的影响较小。对于反向扭曲造成的孔洞,我们用基准帧中相应位置的值填充这些孔洞,从而模拟管道掩蔽策略。

形式化地,给定光流 F 和基准帧掩蔽体积 Mb ​,可以通过反向扭曲构建视频帧 Ii的掩蔽图 Mi:

随后,整个掩蔽体积 M={Mi}i=1T可以通过双向反向扭曲光流 FFF,从基准帧掩蔽图 Mb开始逐步构建。

3.3 运动引导的掩蔽自编码器 (MGMAE)

我们基于上述的运动引导掩蔽图构建了MGMAE。时间一致的掩蔽体积表示在光流追踪下,邻近帧中对应位置的可见性概率。为了尽可能抑制信息泄漏,我们沿时间维度采样具有最高可见概率的视频标记。具体来说,我们首先对掩蔽体积 M 执行大小为 2×16×16的平均池化操作,以获得大小为 T/2×H/16×W/16 的标记级掩蔽体积 M′。然后,我们在时间维度上选择前 N^v 个掩蔽图位置,并从中采样相应的视频标记作为未掩蔽的可见标记。

根据我们得到的时间一致掩蔽体积,这些采样的标记被输入到非对称的编码器-解码器中进行自编码器式的预训练。通过我们MGMAE预训练得到的模型与原始的VideoMAE模型在微调下游任务时采用相同的方法。

讨论

此前的研究 [35, 14] 将MAE扩展到了视频领域,它们分别采用了随机(无关)掩蔽和管道(仅空间)掩蔽策略。随机掩蔽不会对视频的空间和时间维度引入明确的归纳偏差,其目的是提供一个最小领域知识的统一特征表示学习框架。我们认为,尽管这个思想很简单,但时间本质上是与空间不同的维度。认识到这一点后,我们可以更好地利用这一先验信息来增强视频的掩蔽自编码。

管道掩蔽假设帧的大面积区域没有运动或只有很小的运动,因此跨帧掩蔽相同的位置可以大大减少信息泄漏的风险。然而,对于以运动为主的视频数据集,如Something-Something,这一假设将不再成立,正如表1b所示,反向扭曲的贡献证明了这一点。我们提出的运动引导掩蔽提供了一个更通用且概念上简单的解决方案,可以考虑时间关联性。它可以视为一种自适应的视频掩蔽策略,并在视频预训练中创造出更具挑战性但意义重大的任务。

4. Experiments

4. 实验

4.1 数据集

与原始的VideoMAE相同,我们在Kinetics-400 (K400) [20] 和 Something-Something V2 (SSV2) [16] 数据集上评估我们的MGMAE。K400包含约24万条训练视频和2万条验证视频,视频中的动作通常与特定的物体或场景相关,如刷牙和弹钢琴。而SSV2包含约16.9万条训练视频和2.5万条验证视频,SSV2中的类别主要关注特定的运动模式(例如推、拉)。我们首先在相应的数据集上使用MGMAE对视频Transformer进行自监督表示学习的预训练。然后,我们报告预训练模型在目标数据集上进行动作识别的微调表现。在我们的MGMAE预训练中,我们通常遵循原始VideoMAE的设置和实现。由于RAFT [34] 在MGMAE预训练中的效率和准确性,我们采用它来提取光流。有关MGMAE实现的详细信息,可以在附录中找到。

4.2 消融实验

在本小节中,我们对运动引导掩蔽策略中每个步骤的选择进行了深入的消融实验。我们使用16台80G-A100 GPU在SSV2数据集上训练ViT-base模型800个epoch,然后在SSV2数据集上微调编码器进行动作识别。所有模型共享相同的训练计划,并报告2个剪辑×3个裁剪的准确性。

基帧选择

在本研究中,我们探讨了基帧选择对初始掩蔽生成过程的影响。我们将中间帧作为基帧与第一帧或随机帧进行比较,结果如表1a所示。结果表明,中间帧是最佳选择。

使用光流的扭曲方法

我们比较了两种用于对齐帧间掩蔽图的扭曲方法,如第3.2节所述。正如之前提到的,前向扭曲往往会导致掩蔽扭曲过程中更严重的遮挡和孔洞问题。相反,反向扭曲可以有效缓解这一问题,并确保更加平滑的掩蔽扭曲。表1b的结果表明,反向扭曲有助于更好的性能。

顶部k个可见标记的采样策略

我们检查并比较了两种采样策略,基于我们的时间一致掩蔽体积选择可见标记。帧级策略为每帧独立采样前k个位置,而剪辑级策略为整个视频联合采样前k个位置。正如表1c所示,帧级前k采样策略的性能略优。

基帧的掩蔽初始化

我们消融了在基帧生成初始掩蔽图的选择,如表1d所示。标记级初始化方法将掩蔽图划分为大小为 H16×W16\frac{H}{16} \times \frac{W}{16}16H​×16W​ 的16×16标记,并随机将90%的标记设置为0(表示被掩蔽)和10%的标记设置为1(表示未掩蔽)。像素级初始化方法随机将90%的像素设置为0,10%的像素设置为1。混合高斯方法的初始化过程在第3.2节中有详细描述。结果表明,混合高斯初始化方法效果最好。

孔洞填充方法

我们研究了在反向扭曲中通过映射出界产生的孔洞问题的不同处理方法,如表1e所示。为了确定反向扭曲所造成的真实孔洞,我们将初始掩蔽图中的0值设置为1e−8,然后将新掩蔽图中等于0的位置视为孔洞。我们试验了五种填充孔洞的方法:

  • 不可见方法:将所有孔洞填充为0
  • 可见方法:将所有孔洞填充为1
  • 随机方法:根据掩蔽率ρ以随机概率将孔洞填充为01
  • 先前图方法:使用与上一个生成的掩蔽图相同位置的值填充孔洞;
  • 管道方法:根据初始掩蔽图中对应位置的值填充孔洞,符合管道掩蔽的原则。

我们发现,管道方法在所有方法中表现最好。

光流估计方法

我们评估了不同光流估计方法的效果,如表1f所示。对于离线方法,我们使用TVL1算法提前提取光流,其准确性与在线的RAFT光流相当。尽管VideoMAE在使用RAFT-small(设为6次测试迭代)估计光流时训练速度比MGMAE快1.3倍,但MGMAE在性能和减少过拟合风险方面有明显优势。我们发现,离线方法的训练速度并不比在线方法快,因为读取光流(IO操作)会成为训练速度的瓶颈。值得注意的是,我们的默认设置并不是最优的,但其他消融实验中得出的结论应该不受影响。

掩蔽率

MGMAE的表现突出了即使在高掩蔽率下(例如90%),改进掩蔽策略的重要性。然而,在应用MGMAE之后,仍然有一个问题是是否仍然需要这么高的掩蔽率。正如[35, 14]所指出的,盲目提高掩蔽率可能会降低模型的性能。我们的消融实验如图3所示,表明即使在MGMAE的情况下,维持80%以上的高掩蔽率也是至关重要的。我们认为,视频背景和大物体主要驱动了高掩蔽率的需求。视频背景通常宽广且简单。如果掩蔽率不够高,模型仍然可以从其他背景部分重建像素,即使邻近帧掩蔽了相似的区域。对于大物体,较低的掩蔽率可能会让模型使用不同部分的纹理来重建被掩蔽的部分。从实验中也可以观察到,MGMAE在85%的掩蔽率下表现最佳,但90%仍然是一个不错的选择,考虑到训练效率和性能之间的折衷。

掩蔽对象的暴露

另一个值得考虑的建议是,偶尔暴露被掩蔽的对象是否有助于掩蔽视频建模的预训练。我们进行了一个补充实验。具体而言,在构建掩蔽体积之后,我们向一个随机选择的帧的掩蔽图上添加了高斯噪声。这种修改可能会提供一个机会,让被掩蔽的对象暴露出来。结果显示,准确率为71.2%,略高于默认设置的71.0%。

表1:在Something-Something V2数据集上的部分消融实验结果。
我们的MGMAE预训练采用16帧的基础ViT-B骨干网络实现。所有模型均在掩码比例ρ=90%的条件下进行800个周期的预训练。推理协议采用2片段×3裁剪的方式报告微调动作识别的准确率。
默认设置在表中以灰色标出。尽管在光流估计方法上默认设置可能不是最优的,但我们认为这并不影响消融实验的结论。

图3:掩蔽比例对SSV2的影响。

4.3 主要结果与可视化分析

在对 MGMAE 设计进行详细的消融研究后,我们进一步通过与原始 VideoMAE 的比较进行更深入的分析,同时提供了一些中间可视化结果以说明运动引导采样过程。

表2:MGMAE和VideoMAE的预训练损失比较。

预训练损失表明任务更具挑战性

MGMAE 的核心设计是借助光流动态采样被遮掩 token 的位置,从而增加重建任务的难度。如表 2 所示,MGMAE 的预训练损失始终比 VideoMAE 高出 0.05 以上。此损失差距表明运动引导遮掩进一步抑制了信息泄露,并构建了更具挑战性的遮掩-重建预训练任务。这一更困难的任务有助于学习更有效的表示。

图 4:MGMAE 和 Video MAEbyClass 的准确率比较。

MGMAE VideoMAE 的详细比较

为了理解 MGMAE 和 VideoMAE 遮掩策略对视频模型预训练的不同影响,我们深入分析了两者在每个类别上的准确率变化。图 4 展示了分类准确率差异最显著的 29 个类别,直观反映了两种方法的区别。

表3:MG MAE与VideoMAE的准确度比较。

MGMAE:更有效的视频表示学习器

MGMAE 因运动引导遮掩策略构建的更困难任务而受益匪浅。一方面,模型必须更加努力地编码可见 token 与不可见 token 之间的关系,从而更好地指导模型训练。另一方面,信息泄露的抑制可能有效降低预训练的过拟合风险,使得模型可以进行更长时间的预训练。如表 3 所示,在以动作为中心的 SSV2 数据集上,MGMAE 的微调性能相较 VideoMAE 一直保持明显优势(800 轮时提升 1.4%,2400 轮时提升 1.5%)。在以场景为中心的 Kinetics-400 数据集上也有一定提升(800 轮时提升 1.2%,1600 轮时提升 0.3%)。

图5:SSV2验证集视频的可视化。
我们展示了运动引导掩码图以及重建图像。从上到下依次为:原始图像、x方向的光流、y方向的光流、运动引导掩码图、掩码后的图像以及重建的图像。

可视化分析

我们随机选取了 SSV2 验证集中的一个视频片段,并在图 5 中展示了其重建示例。可以看到,遮掩图随着物体运动而变化,使得模型更难以重建原始视频。

表 4:Something-Something V2 数据集上的比较。我们仅列出使用类似主干获得的结果。

表 5:Kinetics-400 数据集上的比较。我们仅列出使用相似主链获得的结果。

4.4 与最新方法的比较

我们将 MGMAE 与之前的最新方法在 Kinetics-400 和 Something-Something V2 数据集上进行了比较,结果分别展示在表 5 和表 4 中。为保证公平比较,我们主要列出计算成本相近的结果。在 Something-Something V2 数据集上,MGMAE 使用 ViT-B 骨干网络在 2400 轮训练中取得了 72.3% 的性能,相较原始 VideoMAE 提升了 1.5%。在 Kinetics-400 数据集上,MGMAE 的性能略优于原始 VideoMAE。这种较小的性能提升可能归因于 Kinetics-400 是一个以场景为中心的动作识别基准,相较于 Something-Something 数据集,运动信息的重要性较低。

5. Conclusion

总结

本文提出了运动引导的掩码自动编码器 (MGMAE),它通过运动引导的掩码策略,在光流的指导下动态采样未掩码的可见 Token,从而抑制信息泄露,为掩码视频预训练构建了一个更具挑战性的任务。实验结果表明,MGMAE 性能良好,并在公平比较的条件下始终保持对现有方法的显著性能优势。此外,该策略还降低了预训练过程中过拟合的风险,使得模型能够从更长时间的预训练中受益。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/69373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

晶闸管的静态与开关特性

1. 静态特性 晶闸管的静态特性,是指晶闸管承受变化率较小的正向/反向阳极电压与漏电流之间的关系(即伏安特性),可使它导通的门极电压与电流之间的关系(即门极特性)和正向通态电流与电压之间的关系(即通态特性)。 位于第一象限的是正向特性。当门极开路时()时,…

基于机器学习时序库pmdarima实现时序预测

目录 一、Pmdarima实现单变量序列预测1.1 核心功能与特性1.2 技术优势对比1.3 python案例1.3.1 时间序列交叉验证1.3.1.1 滚动交叉验证1.3.1.2 滑窗交叉验证 时间序列相关参考文章: 时间序列预测算法—ARIMA 基于VARMAX模型的多变量时序数据预测 基于机器学习时序库…

Naive UI去掉n-select下拉框边框,去掉n-input输入框边框

1、第一种通过js去掉 <template><div><div style"margin-top:10px;width: 100%;"><dade-descriptions><tr><dade-descriptions-item label"代理名称"><dade-input placeholder"代理名称"></dade-…

Qwen2-VL-2B-Instruct 模型 RK3576 板端部署过程

需要先在电脑上运行 RKLLM-Toolkit 工具&#xff0c;将训练好的模型转换为 RKLLM 格式的模型&#xff0c;然后使用 RKLLM C API 在开发板上进行推理。 在安装前先查看板端的内存容量&#xff0c;和自己模型占用大小比较一下&#xff0c;别安装编译好了不能用。 这里我就是先尝试…

【C语言标准库函数】双曲函数:sinh(), cosh(), tanh()

目录 一、头文件 二、函数简介 2.1. 双曲正弦函数 sinh(double x) 2.2. 双曲余弦函数 cosh(double x) 2.3. 双曲正切函数 tanh(double x) 三、函数实现&#xff08;概念性&#xff09; 四、注意事项 4.1. 参数类型 4.2. 计算精度 4.3. 函数返回值 4.4. 环境差异 4.…

(五)QT——QDialog 对话框

目录 前言 QDialog 主要功能 QDialog 使用方法 基本QDialog 应用程序级别的模态对话框 标准对话框 示例代码 功能展示 总结 1. 基本功能 2. 创建方式 3. 常用方法 前言 QDialog 是 Qt 框架中的对话框类&#xff0c;用于创建模态&#xff08;modal&#xff09;或非…

python 语音识别方案对比

目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…

TensorFlow域对抗训练DANN神经网络分析MNIST与Blobs数据集梯度反转层提升目标域适应能力可视化...

全文链接&#xff1a;https://tecdat.cn/?p39656 本文围绕基于TensorFlow实现的神经网络对抗训练域适应方法展开研究。详细介绍了梯度反转层的原理与实现&#xff0c;通过MNIST和Blobs等数据集进行实验&#xff0c;对比了不同训练方式&#xff08;仅源域训练、域对抗训练等&am…

OSPF基础(2):数据包详解

OSPF数据包(可抓包) OSPF报文直接封装在IP报文中&#xff0c;协议号89 头部数据包内容&#xff1a; 版本(Version):对于OSPFv2&#xff0c;该字段值恒为2(使用在IPV4中)&#xff1b;对于OSPFv3&#xff0c;该字段值恒为3(使用在IPV6中)。类型(Message Type):该OSPF报文的类型。…

在CT107D单片机综合训练平台上,8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0~F的值,如此往复。

题目&#xff1a;在CT107D单片机综合训练平台上&#xff0c;8个数码管分别单独依次显示0~9的值&#xff0c;然后所有数码管一起同时显示0~F的值&#xff0c;如此往复。 延时函数分析LED首先实现8个数码管单独依次显示0~9的数字所有数码管一起同时显示0~F的值&#xff0c;如此往…

使用VCS对Verilog/System Verilog进行单步调试的步骤

Verilog单步调试&#xff1a; System Verilog进行单步调试的步骤如下&#xff1a; 1. 编译设计 使用-debug_all或-debug_pp选项编译设计&#xff0c;生成调试信息。 我的4个文件&#xff1a; 1.led.v module led(input clk,input rst_n,output reg led );reg [7:0] cnt;alwa…

数据结构及排序算法

数据结构 线性结构 ◆线性结构:每个元素最多只有一个出度和一个入度,表现为一条线状。线性表按存储方式分为顺序表和链表。 存储结构: ◆顺序存储:用一组地址连续的存储单元依次存储线性表中的数据元素,使得逻辑上相邻的元素物理上也相邻。 ◆链式存储:存储各数据元素的结点…

python实现多路视频,多窗口播放功能

系列Python开发 文章目录 系列Python开发前言一、python实现多路视频播放功能二、代码实现1. http申请视频流地址并cv2播放功能 三、打包代码实现生成可执行文件 总结 前言 一、python实现多路视频播放功能 服务端开发后通常需要做功能测试、性能测试&#xff0c;通常postman、…

【R语言】数据操作

一、查看和编辑数据 1、查看数据 直接打印到控制台 x <- data.frame(a1:20, b21:30) x View()函数 此函数可以将数据以电子表格的形式进行展示。 用reshape2包中的tips进行举例&#xff1a; library("reshape2") View(tips) head()函数 查看前几行数据&…

51单片机之使用Keil uVision5创建工程以及使用stc-isp进行程序烧录步骤

一、Keil uVision5创建工程步骤 1.点击项目&#xff0c;新建 2.新建目录 3.选择目标机器&#xff0c;直接搜索at89c52选择&#xff0c;然后点击OK 4.是否添加起吊文件&#xff0c;一般选择否 5.再新建的项目工程中添加文件 6.选择C文件 7.在C文件中右键&#xff0c;添加…

STM32 软件SPI读写W25Q64

接线图 功能函数 //写SS函数 void My_W_SS(uint8_t BitValue) {GPIO_WriteBit(GPIOA, GPIO_Pin_4, (BitAction)BitValue); }//写SCK函数 void My_W_SCK(uint8_t BitValue) {GPIO_WriteBit(GPIOA, GPIO_Pin_5, (BitAction)BitValue); }//写MOSI函数 void My_W_MOSI(uint8_t Bit…

apachePoi中XSSFClientAnchor图片坐标简述;填充多张图片

概述 业务中经常会遇到在单元格内填充图片的需求&#xff0c;而且要求指定图片在单元格内的位置。 一般都是用的apache的poi&#xff0c;设置图片坐标。 HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int row2)dx1 dy1 起始单元…

Centos挂载镜像制作本地yum源,并补装图形界面

内网环境centos7.9安装图形页面内网环境制作本地yum源 上传镜像到服务器目录 创建目录并挂载镜像 #创建目录 cd /mnt/ mkdir iso#挂载 mount -o loop ./CentOS-7-x86_64-DVD-2009.iso ./iso #前面镜像所在目录&#xff0c;后面所挂载得目录#检查 [rootlocalhost mnt]# df -h…

ssti学习笔记(服务器端模板注入)

目录 一&#xff0c;ssti是什么 二&#xff0c;原理 所谓模板引擎&#xff08;三列&#xff0c;可滑动查看&#xff09; 三&#xff0c;漏洞复现 1&#xff0c;如何判断其所属的模板引擎&#xff1f; 2&#xff0c;判断清楚后开始注入 &#xff08;1&#xff09;Jinja2&a…

【前端】Python 闭包与JavaScript闭包的实现差异

目录 Python 闭包JavaScript 闭包 推荐超级课程&#xff1a; Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战 Python 闭包 如何定义&#xff1a; 在一个函数内部定义另一个函数&#xff0c;内部函数引用外部函数的变量。 def outer_function(text):…