MCG-NJU/videomae-large-finetuned-kinetics
VideoMAE es una extensión de Autoencoders enmascarados (MAE) para videos. La arquitectura del modelo es muy similar a la de un Transformador 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), 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 pre-entrenar el modelo, aprende una representación interna de los videos que luego se puede usar para extraer características útiles para tareas posteriores: si tiene un conjunto de datos de videos etiquetados, por ejemplo, puede entrenar un clasificador estándar colocando una capa lineal sobre el codificador pre-entrenado. Normalmente se coloca una capa lineal sobre el token [CLS], ya que el último estado oculto de este token puede verse como una representación de todo un video.
Como usar
Aquí se muestra 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-large-finetuned-kinetics")
model = VideoMAEForVideoClassification.from_pretrained("MCG-NJU/videomae-large-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("Predicted class:", model.config.id2label[predicted_class_idx])
Para más ejemplos de código, nos referimos a la documentación.
Funcionalidades
- Clasificación de video en una de las 400 etiquetas posibles de Kinetics-400
- Modelo pre-entrenado autoregresivo
- Arquitectura similar a un Transformador de Visión
- Decodificador para predicción de parches enmascarados
- Representación interna de videos para tareas posteriores
Casos de uso
- Clasificación de video
- Extracción de características de video para tareas posteriores
- Entrenamiento de clasificadores estándar usando un codificador pre-entrenado