MCG-NJU/videomae-small-finetuned-kinetics
VideoMAE es una extensión de los Codificadores Automáticos Enmascarados (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íxeles para parches enmascarados. Los videos se presentan al modelo como una secuencia de parches de tamaño fijo (resolución 16x16), los cuales se incrustan linealmente. También se añade un token [CLS] al comienzo de una secuencia para usarlo en tareas de clasificación. Además, se agregan incrustaciones posicionales fijas sinusoides/cosinusoidales antes de alimentar la secuencia a las capas del codificador del Transformer. Al preentrenar el modelo, este aprende una representación interna de los videos que luego se puede usar para extraer características útiles para tareas posteriores. Por ejemplo, si tienes un conjunto de datos etiquetados de videos, puedes entrenar un clasificador estándar colocando una capa lineal sobre el codificador preentrenado.
Como usar
Aquí está 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-small-finetuned-kinetics')
model = VideoMAEForVideoClassification.from_pretrained('MCG-NJU/videomae-small-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])
Para más ejemplos de código, nos referimos a la documentación.
Funcionalidades
- Clasificación de video
- Transformers
- PyTorch
- VideoMAE
- Visión
Casos de uso
- Clasificación de video en una de las 400 posibles etiquetas de Kinetics-400