videomae-base-ssv2
El modelo VideoMAE preentrenado en Something-Something-v2 durante 2400 épocas de manera auto supervisada. Fue introducido en el artículo VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training por Tong et al. y se lanzó por primera vez en este repositorio. VideoMAE es una extensión de Masked Autoencoders (MAE) para video. La arquitectura del modelo es muy similar a la de un Transformer de Visión estándar (ViT), con un decodificador en la parte superior para predecir valores de píxel para parches enmascarados. Los videos se presentan al modelo como una secuencia de parches de tamaño fijo (resolución 16x16), que se incrustan linealmente. También se añade un token [CLS] al comienzo de una secuencia para usarlo en tareas de clasificación.
Como usar
Aquí se explica cómo usar este modelo para predecir valores de píxel para parches enmascarados aleatoriamente:
from transformers import VideoMAEFeatureExtractor, VideoMAEForPreTraining
import numpy as np
import torch
num_frames = 16
video = list(np.random.randn(16, 3, 224, 224))
feature_extractor = VideoMAEFeatureExtractor.from_pretrained("MCG-NJU/videomae-base-short-ssv2")
model = VideoMAEForPreTraining.from_pretrained("MCG-NJU/videomae-base-short-ssv2")
pixel_values = feature_extractor(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
Funcionalidades
- Preentrenamiento en Something-Something-v2 durante 2400 épocas
- Extensión de Masked Autoencoders (MAE) para video
- Arquitectura similar a un Transformer de Visión (ViT)
- Decodificador para predecir valores de píxel para parches enmascarados
- Secuencia de parches de tamaño fijo (resolución 16x16)
- Incrustación lineal de vídeos
- Token [CLS] para tareas de clasificación
Casos de uso
- Predicción de valores de píxel para parches enmascarados en un video
- Entrenamiento de clasificadores estándar con videos etiquetados
- Extracción de características útiles para tareas posteriores