VideoMAE (modelo base, solo preentrenado)

MCG-NJU
Clasificación de video

VideoMAE es una extensión de los Autoencoders enmascarados (MAE) a video. La arquitectura del modelo es muy similar a la de un Transformador de Visión (ViT) estándar, con un decodificador en la parte superior para predecir valores de píxeles 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 agrega un token [CLS] al principio de una secuencia para usarlo en tareas de clasificación. También se agregan incrustaciones de posición sinusoidal/cosinusoidal fijas antes de alimentar la secuencia a las capas del codificador del Transformador. Al preentrenar el modelo, se aprende una representación interna de los videos que luego se puede usar para extraer características útiles para tareas posteriores.

Como usar

Aquí se muestra cómo usar este modelo para predecir valores de píxeles para parches enmascarados aleatoriamente:

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

Funcionalidades

Clasificación de video
Preentrenamiento autosupervisado en Kinetics-400 por 1600 épocas
Uso de parches de tamaño 16x16
Incrustaciones de posición sinusoidal/cosinusoidal fijas

Casos de uso

Predicción de valores de píxeles para parches enmascarados en un video
Clasificación de video colocando una capa lineal en la parte superior del codificador preentrenado
Extracción de características útiles para tareas posteriores utilizando conjuntos de datos de videos etiquetados