videomae-base-finetuned-ssv2

MCG-NJU
Clasificación de video

VideoMAE es una extensión de Masked Autoencoders (MAE) para 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 añade un token [CLS] al comienzo de una secuencia para usarlo en tareas de clasificación. Luego se añaden incrustaciones de posición sinusoidales/cosinusoidales antes de alimentar la secuencia a las capas del codificador Transformer. Al preentrenar el modelo, aprende una representación interna de videos que luego se puede usar para extraer características útiles para tareas posteriores: si tienes un conjunto de datos de videos etiquetados, por ejemplo, puedes entrenar un clasificador estándar colocando una capa lineal en la parte superior del codificador preentrenado. Normalmente se coloca una capa lineal en la parte superior del token [CLS], ya que el último estado oculto de este token puede verse como una representación de un video completo.

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-base-finetuned-ssv2")
model = VideoMAEForVideoClassification.from_pretrained("MCG-NJU/videomae-base-finetuned-ssv2")

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, consulta la documentación.

Funcionalidades

Pre-entrenado durante 2400 épocas de manera auto-supervisada
Fine-tuneado de manera supervisada en Something-Something-v2
Arquitectura similar a Vision Transformer (ViT)
Utiliza parches de tamaño fijo (16x16)
Añade un token [CLS] para tareas de clasificación
Incrustaciones de posición sinusoidales/cosinusoidales

Casos de uso

Clasificación de videos en una de las 400 posibles etiquetas de Kinetics-400