MCG-NJU/videomae-base-short-finetuned-kinetics
VideoMAE es una extensión de Masked Autoencoders (MAE) a video. La arquitectura del modelo es muy similar a la de un Vision Transformer (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 comienzo de una secuencia para usarlo en tareas de clasificación. También se agregan incrustaciones de posición sinus/cosinus fijas antes de alimentar la secuencia a las capas del codificador Transformer. Al preentrenar el modelo, 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 explica cómo usar este modelo para clasificar un video:
from transformers import VideoMAEImageProcessor, VideoMAEForVideoClassification
import numpy as np
import torch
video = list(np.random.randn(16, 3, 224, 224))
processor = VideoMAEImageProcessor.from_pretrained("MCG-NJU/videomae-base-short-finetuned-kinetics")
model = VideoMAEForVideoClassification.from_pretrained("MCG-NJU/videomae-base-short-finetuned-kinetics")
inputs = processor(video, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Clase predicha:", model.config.id2label[predicted_class_idx])
Funcionalidades
- Modelo preentrenado por 800 épocas de manera auto-supervisada
- Ajustado de forma supervisada en Kinetics-400
- Eficiente en términos de datos para el preentrenamiento de video auto-supervisado
- Obtiene una precisión top-1 de 79.4 y una precisión top-5 de 94.1 en el conjunto de prueba de Kinetics-400
Casos de uso
- Clasificación de video en una de las 400 etiquetas posibles de Kinetics-400
- Extracción de características útiles para tareas posteriores (por ejemplo, entrenar un clasificador estándar)