英文

VideoMAE (基础尺寸模型,仅预训练)

VideoMAE模型在Kinetics-400上进行了1600次自监督方式的预训练。它是由Tong等人在文章 VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training 中提出,并在 this repository 中首次发布。

免责声明:发布VideoMAE的团队没有为该模型撰写模型卡片,因此这个模型卡片是由Hugging Face团队撰写的。

模型描述

VideoMAE是 Masked Autoencoders (MAE) 在视频方面的扩展。模型的架构与标准的视觉Transformer(ViT)非常相似,顶部添加了一个解码器用于预测被遮挡补丁的像素值。

视频被呈现给模型作为固定大小补丁(分辨率为16x16)的序列,这些补丁被线性嵌入。在序列之前还添加了一个[CLS]标记,用于分类任务。在将序列输入Transformer编码器的层之前,还会添加固定的正弦/余弦位置嵌入。

通过对模型进行预训练,它学习到了视频的内部表示,可以在下游任务中用于提取有用的特征:例如,如果您有一组带标签的视频数据集,可以在预训练的编码器之上放置一个线性层来训练一个标准分类器。通常情况下,会在[CLS]标记之上放置一个线性层,因为这个标记的最后隐藏状态可以看作是整个视频的表示。

使用目的和限制

您可以使用原始模型来预测视频中随机遮挡补丁的像素值,但它主要用于在下游任务上进行微调。请查看 model hub 以寻找您感兴趣的任务的微调版本。

如何使用

以下是如何使用此模型预测随机遮挡补丁的像素值:

from transformers import VideoMAEImageProcessor, VideoMAEForPreTraining
import numpy as np
import torch

num_frames = 16
video = list(np.random.randn(16, 3, 224, 224))

processor = VideoMAEImageProcessor.from_pretrained("MCG-NJU/videomae-base")
model = VideoMAEForPreTraining.from_pretrained("MCG-NJU/videomae-base")

pixel_values = processor(video, return_tensors="pt").pixel_values

num_patches_per_frame = (model.config.image_size // model.config.patch_size) ** 2
seq_length = (num_frames // model.config.tubelet_size) * num_patches_per_frame
bool_masked_pos = torch.randint(0, 2, (1, seq_length)).bool()

outputs = model(pixel_values, bool_masked_pos=bool_masked_pos)
loss = outputs.loss

有关更多代码示例,请参考 documentation

训练数据

(待完成,欢迎提交PR)

训练过程

预处理

(待完成,欢迎提交PR)

预训练

(待完成,欢迎提交PR)

评估结果

(待完成,欢迎提交PR)

BibTeX条目和引用信息

misc{https://doi.org/10.48550/arxiv.2203.12602,
  doi = {10.48550/ARXIV.2203.12602},
  url = {https://arxiv.org/abs/2203.12602},
  author = {Tong, Zhan and Song, Yibing and Wang, Jue and Wang, Limin},
  keywords = {Computer Vision and Pattern Recognition (cs.CV), FOS: Computer and information sciences, FOS: Computer and information sciences},
  title = {VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training},
  publisher = {arXiv},
  year = {2022},
  copyright = {Creative Commons Attribution 4.0 International}
}