VideoGrain: proyecto de código abierto de indicaciones de texto para la edición local de vídeo
Últimos recursos sobre IAActualizado hace 5 meses Círculo de intercambio de inteligencia artificial 1.6K 00
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.

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
- 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.
- 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.
- 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.
- 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).
- 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 usuarioedit_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
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...