VideoMAE (modelo de tamaño base, ajustado en Kinetics-400)

MCG-NJU
Clasificación de video

VideoMAE es una extensión de los Autoencoders enmascarados (MAE) para vídeos. 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 los valores de los píxeles de los 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 fijo sinusoidal/cosinusoidal antes de alimentar la secuencia a las capas del codificador del Transformador. Al pre-entrenar el modelo, este aprende una representación interna de los videos que puede luego ser utilizada 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 pre-entrenado. Típicamente 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 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-finetuned-kinetics')
model = VideoMAEForVideoClassification.from_pretrained('MCG-NJU/videomae-base-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 en una de las 400 posibles etiquetas de Kinetics-400.
Pre-entrenamiento en 1600 épocas de forma auto supervisada.
Ajustado de forma supervisada en Kinetics-400.
Utiliza un modelo de Transformador de Visión (ViT) estándar con decodificador.

Casos de uso

Clasificación de videos en diferentes categorías de Kinetics-400.
Extracción de características útiles para tareas de clasificaciones posteriores.
Utilización en aplicaciones de visión por computadora que requieren clasificación de video.