VideoGrain: proyecto de código abierto de indicaciones de texto para la edición local de vídeo

Introducción general

VideoGrain es un proyecto de código abierto centrado en la edición de vídeo multigrano, desarrollado por el equipo xAI y alojado en GitHub. Este proyecto procede de la ponencia "VideoGrain: Modulating Space-Time Attention for Multi-Grained Video Editing", que ha sido seleccionada para la conferencia ICLR 2025. Consigue una edición detallada del contenido de vídeo a nivel de categoría, instancia y local modulando el mecanismo de atención espacio-temporal en el modelo de difusión. En comparación con los métodos tradicionales, VideoGrain resuelve el problema de la alineación semántica del texto y el control de regiones y el problema del acoplamiento de características, y puede completar una edición de alta calidad sin formación adicional. El proyecto proporciona un código completo, una guía de instalación y modelos preentrenados para desarrolladores, investigadores y aficionados a la edición de vídeo, y ya ha atraído la atención de las comunidades académica y de código abierto.

VideoGrain:文本提示对视频进行局部编辑的开源项目

 

Lista de funciones

  • Edición de vídeo multigranularSoporte para la modificación precisa de categorías (por ejemplo, sustituir "humano" por "robot"), instancias (por ejemplo, objetos específicos) y detalles locales (por ejemplo, movimientos de la mano) en un vídeo.
  • Cero capacidad de edición de muestras: No es necesario volver a entrenar para un vídeo específico, basta con escribir las indicaciones de texto para terminar la edición.
  • modulación espaciotemporal de la atención: Mejore la precisión de la edición y la calidad del vídeo mejorando la atención cruzada (texto-región) y la autoatención (separación de características intrarregión).
  • Códigos y modelos de código abiertoSe proporciona el código de implementación completo y los modelos preentrenados para que los usuarios puedan reproducirlos y ampliarlos fácilmente.
  • modelo compatible con la difusión: Basado en marcos como difusores y FateZero para una fácil integración en los procesos de generación de vídeo existentes.
  • Soporte para múltiples documentosPuede procesar vídeo, imágenes y otros contenidos cargados por los usuarios y emitir los resultados de vídeo editados.

 

Utilizar la ayuda

VideoGrain requiere algunos conocimientos de programación y soporte de hardware, pero sus procedimientos de instalación y funcionamiento se describen detalladamente en el repositorio de GitHub. A continuación se ofrece una guía detallada de instalación y uso para ayudar a los usuarios a empezar a utilizarlo rápidamente.

Proceso de instalación

  1. Creación de un entorno Conda
    Cree un entorno Python 3.10 independiente y actívelo escribiendo el siguiente comando en el terminal:
conda create -n videograin python=3.10
conda activate videograin

Asegúrese de que Conda está instalado, si no, vaya al sitio web de Anaconda para descargarlo.

  1. Instalación de PyTorch y dependencias relacionadas
    VideoGrain se basa en PyTorch y su soporte CUDA, se recomienda la aceleración por GPU. Ejecute el siguiente comando para instalarlo:
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia
pip install --pre -U xformers==0.0.27

Los xformers pueden optimizarse para memoria y velocidad, omitirse si no se necesitan.

  1. Instalación de dependencias adicionales
    Ejecute el siguiente comando desde la raíz del repositorio para instalar todas las librerías dependientes:
pip install -r requirements.txt

Asegúrate de que internet está abierto, ya que puede ser necesario un acceso científico a internet para descargar algunos de los paquetes.

  1. Descargar modelo preentrenado
    VideoGrain requiere pesos de modelos como Stable Diffusion 1.5 y ControlNet. Ejecute el script proporcionado en el repositorio:
bash download_all.sh

Esto descargará automáticamente el modelo base en el directorio especificado. Para descargas manuales, visite los enlaces de Hugging Face o Google Drive (consulte README para más detalles).

  1. Preparar los pesos del preprocesador ControlNet
    Descargue los pesos del anotador (por ejemplo, DW-Pose, depth_midas, etc.), unos 4 GB. utilice el siguiente comando:
gdown https://drive.google.com/file/d/1dzdvLnXWeMFR3CE2Ew0Bs06vyFSvnGXA/view?usp=drive_link
tar -zxvf videograin_data.tar.gz

Descomprima los archivos y colóquelos en la carpeta ./annotator/ckpts Catálogo.

Utilización

Una vez finalizada la instalación, los usuarios pueden ejecutar VideoGrain para la edición de vídeo a través de la línea de comandos. A continuación se muestra el flujo operativo de las funciones principales:

1. Edición de vídeo multigranular

  • Preparación del archivo de entrada
    Coloque el archivo de vídeo que va a editar en el directorio del proyecto (p. ej. ./input_video.mp4). Soporta formatos comunes como MP4, AVI.
  • Preparar alertas de texto
    Especifique las instrucciones de edición en el guión, por ejemplo:
prompt = "将视频中的汽车替换为保时捷"

Admite la sustitución de categorías (por ejemplo, "Coche" por "Porsche"), la modificación de instancias (por ejemplo, "Personaje específico" por "Iron Man ") y ajustes locales (por ejemplo, "movimiento de la mano" por "saludo con la mano").

  • Ejecute el comando de edición
    Introdúcelo en el terminal:
python edit_video.py --input ./input_video.mp4 --prompt "将视频中的汽车替换为保时捷" --output ./output_video.mp4

Tras la edición, el resultado se guarda en ./output_video.mp4.

2. Edición de muestras cero

  • Edición directa sin formación
    El punto fuerte de VideoGrain es su capacidad de muestra cero. Los usuarios sólo tienen que proporcionar vídeos y pistas, sin necesidad de formación previa. Por ejemplo:
python edit_video.py --input ./sample_video.mp4 --prompt "将狗替换为猫" --output ./edited_video.mp4
  • Parámetros de ajuste
    pasable --strength El parámetro controla la intensidad de edición (0,0-1,0, por defecto 0,8), como:

python editar_video.py --entrada . /video_de_ejemplo.mp4 --prompt "Reemplazar perro por gato" --strength 0.6

3. Modulación temporal de la atención

  • Control mejorado de texto a área
    VideoGrain optimiza automáticamente la atención cruzada para garantizar que las indicaciones sólo afecten a la zona objetivo. Por ejemplo, si la indicación es "Cambia la ropa del personaje a rojo", los fondos extraños no se verán afectados.
  • Separación de elementos elevada
    El mecanismo de autoatención mejora la coherencia de los detalles dentro de las regiones y reduce las interferencias entre ellas. Los usuarios no tienen que hacer ajustes manuales; surten efecto automáticamente en tiempo de ejecución.

Precauciones de manipulación

  • requisitos de hardware
    Se recomiendan las GPU NVIDIA (por ejemplo, A100 o RTX 3090) con al menos 12 GB de memoria de vídeo. la CPU puede funcionar más lentamente.
  • Sugerencias de palabras clave
    Las instrucciones deben ser específicas y claras, por ejemplo, "Sustituye el personaje de la izquierda por un robot" es mejor que el vago "Edita el personaje".
  • Depuración y registro
    Si algo va mal, compruebe el ./logs o añadiendo el archivo de registro después del comando --verbose Ver salida detallada.

Funciones destacadas

  • Edición multigranular en acción
    Suponiendo que el usuario quiera sustituir "bici" por "moto" en un vídeo, basta con introducir la ruta del vídeo y la palabra de referencia, y VideoGrain reconocerá todas las bicis y las sustituirá por motos, manteniendo la coherencia entre la acción y el fondo.
  • Extensiones de código abierto
    Modificable por el usuario edit_video.py parámetros del modelo en el marco de los difusores, o para añadir nuevas funciones basadas en el marco de los difusores, como la compatibilidad con resoluciones más altas o más tipos de edición.
  • Apoyo comunitario
    El repositorio de GitHub ofrece un tablón de incidencias donde los usuarios pueden enviar problemas o ver lo que han hecho otros.

Con los pasos anteriores, los usuarios pueden iniciarse rápidamente con VideoGrain y completar tareas de edición de vídeo que van desde simples sustituciones a complejos ajustes locales.

© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...