Repolode
fudan-generative-vision

fudan-generative-vision/hallo

Código de investigación de código abierto que anima una foto de retrato para que hable sincronizada con un audio y genera un video MP4.

Estrellas
8,674
Forks
1,118
Issues abiertos
114
Último commit
hace 2 años

¿Qué es?

Hallo genera videos de cabezas parlantes a partir de una sola imagen de retrato y un archivo de audio WAV. El modelo utiliza el audio para controlar las expresiones faciales, la pose de la cabeza y el movimiento de los labios, de modo que una foto estática parezca hablar con la grabación. La inferencia se ejecuta desde la línea de comandos con scripts/inference.py, y el resultado se guarda como archivo MP4.

El proyecto se basa en modelos de difusión: utiliza Stable Diffusion v1.5 con un módulo de movimiento de AnimateDiff, además de InsightFace y MediaPipe para analizar el rostro, y Wav2Vec para extraer características del audio. Los pesos ajustables para la pose, el rostro y el movimiento de los labios, junto con una proporción de expansión facial, permiten adaptar el resultado. También incluye scripts de entrenamiento en dos etapas y herramientas de preprocesamiento de datos.

La configuración documentada está orientada a Ubuntu con CUDA 12.1 y una GPU A100. Las imágenes de entrada deben ser cuadradas, con el rostro ocupando entre el 50 % y el 70 % del encuadre y mirando al frente. El audio debe contener voz clara en inglés y estar en formato WAV, ya que los datos de entrenamiento solo están en inglés.

Funciones clave

  • 01Genera un video de un retrato parlante a partir de una imagen y un archivo de audio WAV.
  • 02Controla la intensidad del movimiento de la pose, el rostro y los labios mediante pesos configurados en la línea de comandos.
  • 03Incluye scripts de entrenamiento en dos etapas y un flujo de preprocesamiento de datos.
  • 04Se basa en Stable Diffusion v1.5 con un módulo de movimiento de AnimateDiff.
  • 05Hay modelos preentrenados disponibles en Hugging Face.

Casos de uso

  • Investigadores que estudian la animación facial impulsada por audio y la generación de cabezas parlantes.
  • Creadores que quieren hacer que una foto de retrato hable con una locución grabada en inglés.
  • Desarrolladores que entrenan modelos personalizados de animación de retratos con sus propios datos de video.

Inicio rápido

  1. 1

    Crea y activa un entorno de conda

    conda create -n hallo python=3.10 && conda activate hallo
  2. 2

    Instala los paquetes de Python con pip

    pip install -r requirements.txt && pip install .
  3. 3

    Instala ffmpeg (obligatorio; ejemplo para Ubuntu)

    apt-get install ffmpeg
  4. 4

    Descarga los modelos preentrenados en el directorio pretrained_models y, después, ejecuta la inferencia con la imagen y el audio de muestra

    python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav

Antes de usarlo

  • Requiere una GPU CUDA; el README solo incluye pruebas en Ubuntu 20.04/22.04 con CUDA 12.1 y una A100.
  • Para ejecutar la inferencia, hay que descargar varios gigabytes de modelos preentrenados.
  • El audio de entrada debe ser un archivo WAV en inglés, ya que los datos de entrenamiento solo están en inglés.
  • Las imágenes de entrada deben ser retratos cuadrados y frontales, con el rostro ocupando entre el 50 % y el 70 % del encuadre.

En colecciones

Temas

#face-animation#talking-head#diffusion-model#audio-driven#video-generation#stable-diffusion#image-animation#video-animation

Preguntas frecuentes

¿Qué es hallo?
Código de investigación de código abierto que anima una foto de retrato para que hable sincronizada con un audio y genera un video MP4. Hallo genera videos de cabezas parlantes a partir de una sola imagen de retrato y un archivo de audio WAV. El modelo utiliza el audio para controlar las expresiones faciales, la pose de la cabeza y el movimiento de los labios, de modo que una foto estática parezca hablar con la grabación. La inferencia se ejecuta desde la línea de comandos con scripts/inference.py, y el resultado se guarda como archivo MP4.
¿hallo es gratuito? ¿Qué licencia tiene?
hallo es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿hallo sigue mantenido?
Sin commits en más de 6 meses. El último commit de hallo fue el 14 sept 2024.
¿Para qué puedo usar hallo?
Investigadores que estudian la animación facial impulsada por audio y la generación de cabezas parlantes. Creadores que quieren hacer que una foto de retrato hable con una locución grabada en inglés. Desarrolladores que entrenan modelos personalizados de animación de retratos con sus propios datos de video.
¿Cómo se instala hallo?
Crea y activa un entorno de conda: conda create -n hallo python=3.10 && conda activate hallo Instala los paquetes de Python con pip: pip install -r requirements.txt && pip install . Instala ffmpeg (obligatorio; ejemplo para Ubuntu): apt-get install ffmpeg Descarga los modelos preentrenados en el directorio pretrained_models y, después, ejecuta la inferencia con la imagen y el audio de muestra: python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav
¿Dónde consigo hallo?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/fudan-generative-vision/hallo

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados