FantasyTalking: una herramienta de código abierto para generar retratos hablados realistas
Introducción general
FantasyTalking es un proyecto de código abierto desarrollado por el equipo Fantasy-AMAP, centrado en la generación de retratos sonoros realistas. El proyecto se basa en el modelo avanzado de difusión de vídeo Wan2.1 , combinado con el codificador de audio Wav2Vec y pesos de modelo propios , utilizando técnicas de inteligencia artificial para lograr una sincronización labial y expresiones faciales de gran realismo . Admite múltiples estilos de generación de retratos, incluidas imágenes de personas reales y de dibujos animados, para una amplia gama de puntos de vista, como panorámica, busto o primer plano. Los usuarios pueden generar rápidamente vídeos hablados de alta calidad introduciendo imágenes y audio mediante sencillas operaciones de línea de comandos.

Lista de funciones
- Genere vídeos de retratos hablados realistas con movimientos de los labios muy sincronizados con el audio.
- Se admiten múltiples puntos de vista para la generación, incluidos primeros planos, retratos de medio cuerpo y de cuerpo entero.
- Compatible con retratos reales y de dibujos animados para satisfacer diversas necesidades.
- Proporciona la función de control de palabras clave para ajustar la expresión y el movimiento corporal del personaje.
- Admite salida de alta resolución de hasta 720P.
- Módulo integrado de atención cruzada centrada en el rostro para garantizar la coherencia de los rasgos faciales.
- Incluye un módulo de modulación de la intensidad del ejercicio para controlar la expresión y la amplitud del movimiento.
- Modelos y código de fuente abierta para apoyar el desarrollo y la optimización de la comunidad secundaria.
Utilizar la ayuda
Proceso de instalación
Para utilizar FantasyTalking, es necesario instalar primero las dependencias y modelos necesarios. A continuación se detallan los pasos de instalación:
- Clonación del código del proyecto
Ejecute el siguiente comando en el terminal para clonar el proyecto localmente:git clone https://github.com/Fantasy-AMAP/fantasy-talking.git cd fantasy-talking
- Instalación de dependencias
El proyecto depende del entorno Python y de PyTorch (versión >= 2.0.0). Ejecute el siguiente comando para instalar las librerías necesarias:pip install -r requirements.txt
Montaje opcional
flash_attn
para acelerar el cálculo atencional:pip install flash_attn
- Descargar modelos
FantasyTalking requiere tres modelos: Wan2.1-I2V-14B-720P (modelo base), Wav2Vec (codificador de audio) y FantasyTalking model weights. Pueden descargarse a través de Hugging Face o ModelScope:- Utilice la CLI Cara de abrazo:
pip install "huggingface_hub[cli]" huggingface-cli download Wan-AI/Wan2.1-I2V-14B-720P --local-dir ./models/Wan2.1-I2V-14B-720P huggingface-cli download facebook/wav2vec2-base-960h --local-dir ./models/wav2vec2-base-960h huggingface-cli download acvlab/FantasyTalking fantasytalking_model.ckpt --local-dir ./models
- O utilice la CLI de ModelScope:
pip install modelscope modelscope download Wan-AI/Wan2.1-I2V-14B-720P --local_dir ./models/Wan2.1-I2V-14B-720P modelscope download AI-ModelScope/wav2vec2-base-960h --local_dir ./models/wav2vec2-base-960h modelscope download amap_cvlab/FantasyTalking fantasytalking_model.ckpt --local_dir ./models
- Utilice la CLI Cara de abrazo:
- Entorno de verificación
Asegúrate de que la GPU está disponible (se recomienda RTX 3090 o superior, VRAM de al menos 24 GB). Si tienes problemas de memoria, prueba a bajar la resolución o activar la optimización de VRAM.
Utilización
Una vez completada la instalación, los usuarios pueden ejecutar el script de razonamiento para generar vídeos desde la línea de comandos. Los comandos básicos son los siguientes:
python infer.py --image_path ./assets/images/woman.png --audio_path ./assets/audios/woman.wav
--image_path
Introduzca la ruta de la imagen de retrato (compatible con el formato PNG/JPG).--audio_path
: Ruta del archivo de audio de entrada (compatible con el formato WAV).--prompt
Palabras clave opcionales para controlar el comportamiento de los roles, por ejemplo:--prompt "The person is speaking enthusiastically, with their hands continuously waving."
--audio_cfg_scale
responder cantando--prompt_cfg_scale
: Controla el nivel de influencia de las palabras de audio y cue, con un rango recomendado de 3-7. Aumentar el CFG de audio mejora la sincronización labial.
Función destacada Operación
- Sincronización labial
La función principal de FantasyTalking es generar movimientos labiales precisos basados en audio. El usuario debe preparar un archivo de audio claro (por ejemplo, en formato WAV, con una frecuencia de muestreo óptima de 16 kHz). Una vez ejecutado el script de inferencia, el modelo analiza automáticamente el audio y genera los movimientos labiales correspondientes. Para obtener mejores resultados, asegúrese de que el audio no contiene ruidos significativos. - Control de palabras clave
aprobar (una factura o inspección, etc.)--prompt
el usuario puede definir las expresiones y acciones del personaje. Por ejemplo, introduzca--prompt "The person is speaking calmly with slight head movements."
Se pueden generar vídeos de conversaciones tranquilas. Las palabras clave deben ser concisas y claras, evitando descripciones vagas. - Soporte multiestilo
El proyecto permite generar retratos en estilo real y de dibujos animados. Los usuarios pueden proporcionar imágenes de entrada de diferentes estilos, y el modelo ajustará el estilo de salida en función de las características de la imagen. El estilo de dibujos animados es adecuado para escenas de animación, y el estilo real es adecuado para aplicaciones como anclajes virtuales. - Modulación de la intensidad del ejercicio
El módulo de Modulación de Intensidad de Movimiento de FantasyTalking permite al usuario controlar la amplitud de las expresiones y movimientos. Por ejemplo, el establecimiento de un mayor--audio_weight
El parámetro realza los movimientos de las extremidades y es adecuado para escenas dinámicas. Los ajustes predeterminados están optimizados y se recomienda mantener los valores predeterminados para el primer uso.
advertencia
- requisitos de hardwareRTX 5090 con 32 GB de VRAM aún puede experimentar problemas de memoria baja y se recomienda reducir la cantidad de memoria necesaria para generar vídeo de alta resolución.
--image_size
tal vez--max_num_frames
. - Descarga de modelos: Los archivos del modelo son grandes (unas decenas de gigabytes), así que asegúrate de tener una red estable y suficiente espacio en disco.
- Optimización de las palabras claveLa palabra clave tiene un gran impacto en el resultado y se recomiendan varios experimentos para encontrar la mejor descripción.
escenario de aplicación
- Creación de contenidos de anclaje virtual
Los usuarios pueden utilizar FantasyTalking para generar vídeos hablados realistas para presentadores virtuales. Introduzca la imagen del retrato del presentador y el audio de la voz en off para generar vídeos sincronizados con los labios para retransmisiones en directo, vídeos cortos o producción de contenidos educativos. - Doblaje de personajes de animación
Los animadores pueden generar vídeos de voz en off para personajes de dibujos animados. A partir de la imagen y el audio de los dibujos animados, el modelo puede generar movimientos y expresiones labiales acordes, lo que simplifica el proceso de producción de la animación. - Producción de vídeos educativos
Los profesores o las organizaciones de formación pueden generar vídeos virtuales de instructores. Introduzca un retrato del instructor y el audio del curso para generar rápidamente vídeos didácticos que aumenten el atractivo del contenido. - Creación de entretenimiento y fascinación
Los usuarios pueden generar divertidísimos retratos hablados para fanfics o vídeos de entretenimiento. Ajustando las palabras clave, se pueden crear vídeos con expresiones exageradas o acciones adecuadas para compartir en las redes sociales.
CONTROL DE CALIDAD
- ¿Qué formatos de entrada admite FantasyTalking?
Las imágenes son compatibles con los formatos PNG y JPG y el audio con el formato WAV, con una frecuencia de muestreo recomendada de 16 kHz para una sincronización labial óptima. - ¿Cómo resolver el problema de una memoria de vídeo insuficiente?
Si la GPU no tiene suficiente memoria (por ejemplo, 32 GB de VRAM en la RTX 5090), baja la--image_size
(por ejemplo, 512x512) o reducido--max_num_frames
(por ejemplo, 30 fps). También es posible activar la opción de optimización de VRAM o utilizar una GPU más configurable. - ¿Cómo se puede mejorar la calidad del vídeo generado?
Utilice una imagen de entrada de alta resolución (al menos 512x512) para garantizar que el audio sea claro y sin ruidos. Ajuste--audio_cfg_scale
(por ejemplo, 5-7) mejora la sincronización labial, y la optimización de las palabras clave mejora la naturalidad de las expresiones. - ¿Admite la generación en tiempo real?
La versión actual sólo admite la inferencia fuera de línea; la generación en tiempo real requiere una mayor optimización del modelo y soporte de hardware.
© 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...