Text-guided Video MAE
Text-guided Video Masked Autoencoder[1]
作者是来自Amazon的David Fan等人,论文引用[1]:Fan, David et al. “Text-Guided Video Masked Autoencoder.” European Conference on Computer Vision (2024).
Time
- 2024.Aug
Key Words
- 一句话总结:captions/自然语言密集信息能够捕捉视频中的显著信息,不需要先验假设
总结
- 最近Video MAE的工作设计了改进的masking 算法,这些工作利用visual cues例如motion来mask 最突出的regions,然而,这些visual cues的robustness依赖于输入视频与底层假设的匹配程度,另一方面,natural language description是一个信息密集的representation,不需要modality-specific assumption,能够隐式捕捉视频中的显著性特征,这还没有别video MAE explore,出于这个目的,作者介绍了一个新的text-guided masking 算法,TGM,将和paired captions高度相关的video regions进行mask,不利用任务显式地visual cues for saliency。TGB是对于motion-guided masking是很有竞争力的,为了进一步利用自然语言的语义,用于masked reconstruction,接下来作者介绍了一个unified framework for joint MAE和masked video-text contrastive learning。作者展示了在现有的masking算法中,将MAE和masked video-text contrastive learning统一,相比于纯MAE,提高了下游任务的性能。
masked language modeling的成功启发了MAE在masked image和video modeling上的应用。随机mask image patches,通过非对称的encoder-decoder架构,重建missing image patches,在image recognition上实现了很好的效果。类似的工作有VideoMAE、ST-MAE,将random masking从2D image patches 扩展到3D video cubes。 这些初始的工作展示了masked visual modeling的很有潜力,后续的工作进一步探索了"where to mask"的问题,简单有效的random masking假设输入的information的density是均匀分布的,一些新的masking 策略被提出来,挑战了这个假设,尝试直接mask visual saliency,例如在image domain中,SemMAE将前景分解为coarse semantic parts,然后根据定义的sampling probability,从每个semantic segment中mask visual patches。AutoMAE利用bboxes的对抗训练,学习一个object-centric mask,这些工作倾向于mask foreground,在image recognition上实现了比random masking更好的效果。然而,这存在一个trade-off point,将信息密集的regions进行mask,会导致下游任务上性能的下降。
在video domain,MGM和MGMAE利用motion作为video specific prior for saliency,特别地,它们将highest motion over time进行mask,motion要么是通过video codec中的motion vectors得到,要么是optical flow,motion-guided masking比随机masking实现了更好的性能,意味着masking saliency对于masked video modeling也是重要的。
这些之前的工作利用了多种visual priors,然而,它们的robustness依赖于input videos和潜在的统计假设是否经常匹配,例如,不是所有的videos的foreground motion比background motion更higher,另一方面,自然语言的captions是视频的信息密集的representation,不需要任何先验假设,提供了一个well-aligned vision-language model,根据input text,可能直接mask salient regions,这使得natural language是一个用于masked video modeling的promising的source of saliency,因此,本文探索了一个新的,用自然语言来提高video modeling的方向,展示了一个很强的、由新的masking 算法和额外的loss构成的baseline。
首先,作者抛弃了之前工作用的visual priors,并探讨字幕中的内容是否已经能够捕捉视频中最显著的区域。出于这个目的,作者引入了text-guided masking 算法,将与给定的caption最相关 video regions mask掉,这个给定的caption要么是机器生成的、要么是human-annotated。captions can capture video saliency without prior assumptions。 另外,为了进一步利用自然语言的语义,用于masked video modeling,作者引入了一个统一的framework for MAE和video-text contrastive learning,对于任何给定的masking算法,引入一个optional contrastive loss,将masked encoder representation和text对齐**。
作者首次将 MAE 预训练的生成性质与视频掩码对比学习的判别性质统一起来,并从这两种预训练范式中获得了优势。 作者的贡献如下:
- text-guided masking(TGM),一个简单有效的masking算法
- 统一了masked video modeling和video-text contrastive learning
- masked contrative learning和masked video modeling协同的本质
早期的工作例如iGPT在pixel level上进行masked image modeling,BEIT将重建的target从individual pixel改为了预训练的dVAE tokens,MAE重建了normalized pixel patches,展示了非对称encoder-decoder的设计,最近的工作想解决随机masking是否是理想的问题。SemMAE用attention maps得到一个coarse segmentation,基于每个semantic class上定义的sampling distribution来mask patches。AutoeMAE利用bboxes进行对抗训练,来学习一个object-centric mask。SemMAE和AutoeMAE发现:mask更高比例的foreground tokens提高了image representation,但这种提升仅在一定范围内有效;当遮蔽比例过高时,反而会导致性能下降。 相比于这些工作,作者的工作是为了video设计的,利用textual infomation作为primary proxy for video saliency。
Masked Video Modeling: 一些工作用tokenization-based 重建targets。VIMPAC和BEVT用预训练的VQ-VAE tokens,然而,这些工作需要额外的预训练,MaskFeat用HoG features,VideoMAE和ST-MAE直接随机mask 3D video patches,实现了很好的结果。最近的工作探索了motion-based priors是否能够提高masking performance。MGM和MGMAE对highest motion的video patches进行mask,是假设higher motion是由higher saliency。这些motion-guided masks增强了video的representation,相比于random masking。相比于这些工作,作者的工作利用textual information作为guide for mask,引入了一个masked video-text contrastive loss,这是据作者所知video MAE还没有被探索的领域。
Contrastive Visual Pretraining: MOCO和SimCLR引入了对比学习,作为image representation learning的范式,这个encoder通过f通过对同一张图像的两个不同视图的编码表示强制保持不变性来进行训练的,通常是通过image augmentations来生成的。在video domain中,CVRL和 \(\rou-MoCo\) 通过从同一个video中采样subclips,将对比学习扩展到video domain,BRAVE和LSTCL采样overlapping short和long clips,来强制建立时间上的对应关系。这些方法都使用了实例内正样本 (intra-instance positive samples),即通过对同一张图像或视频进行数据增强或重新采样生成的正样本。 其他研究则超越了实例内正样本的范畴,探索从不同实例中采样正样本对。NNCLR用了最近邻的images作为positive samples to the anchor,类似地,IIVCL用了多个nearest-neighbor videos作为positive samples to the anchor。
相比于这些工作,作者做了video-text contrastive learning,而不是visual contrastive learning
Vision-Language Pretraining:CLIP和相关的工作ALIGN,在数亿对图像-文本数据上推动了图像到文本的对比学习方法的发展,FLIP通过引入图像掩码,将CLIP扩展更高的吞吐量,第二条线例如CoCA和Florence,将captioning作为一个vision-language pretraining的task。CoCa额外引入了一个optional image-text contrastive loss,其它的工作对image和text都采用了masked modeling。M3AE将image patches和text tokens结合作为input,输入到一个统一的masked autoencoder,相比于之前的工作,作者统一了video MAE和masked video-text contrastive learning,没有用captioning 作为一个task,没有用masking to text,作者从零开始预训练,提出了新的text-guided masking 策略。 另外一个条线是尝试复刻CLIP的成功 for video-text pretraining,CLIP4CLIP采用预训练的CLIP,将其逐帧应用于视频,探索了不同的temporal aggregation的策略,例如mean pooling和Transformer encoder,来实现一个video-level的embedding。CLIP4CLIP只探索了检索的任务,ViCLIP用spatiotemporal attention升级了CLIP,使其变成了一个video encoder,在一个高质量的数据集上进行训练,InternVideo在视频 MAE 预训练与视频-文本对比学习之间进行交替训练,并在对比学习中使用了不同于 MAE 的视觉主干网络。相比之下,作者的方法用相同的visual backbone,联合优化video MAE和video-text contrastive loss,且contrastive loss作用于在masked MAE encoder 输出上。作者没有采用任何cross-attention layers或者multimodal fusion。
Caption Generation:因为Kinetics-400和Something-Something v2没有human annotated captions,作者利用BLIP-2 offline来产生video-text pairs for pretraining,对于每个pretraining video,作者统一sample 3 keyframes,每帧推理一个caption,每个video共3个captions,在预训练期间,作者从这3个captions中随机采样,形成text-video pair,注意到,这个captioning model是used offline,在训练的时候没有收到任何的梯度,注意到,用off-shelf captioning models for video是便利的,但是导致比human annotation更加有噪声的captions。
Text-guided Masking:作者利用CLIP对齐的reprsentation space来计算一个text-guided mask,首先,作者计算了visual features,对于每个frame \(f_t\),计算feature map,将CLS token作为每个patch的embedding,为了得到text embedding,沿用CLIP的做法,取tranformer的最后一层在EOS token处的activation map,计算 \(V_t\) 和 w之间的余弦相似度,取top k patches,形成binary mask。 video i的 global video embedding \(v_i\) 是通过对所有的patches进行mean pooling计算得到的,然后计算 \(\frac{\mathcal{L}^{\text{NCE}}(v_i, t_i, t_{j \neq i}) + \mathcal{L}^{\text{NCE}}(t_i, v_i, v_{j \neq i})}{2}\), 类似于SimCLR,用一个prediction head with global batch norm。
InforNCE loss \(\mathcal{L}\) 最大化给定样本q和它的positive key的相似度,最小化和negative samples的相似度。
\(Fig.1^{[1]}\)
用off-shelf image captioning
model生成一个caption,利用CLIP来mask和text最相关的patches,额外的对比损失是将encoded
visible patches和text对齐,这促进了semantic-aware
reconstruction。BLIP和CLIP不会有gradients。