Dale vida a cualquier retrato: Llega LivePortrait, tu animador IA de código abierto.
June 04, 2025
LivePortrait
Descripción del Proyecto
LivePortrait es una implementación de PyTorch de código abierto para animaciones eficientes de retratos. Permite animar retratos estáticos (de humanos, gatos y perros) utilizando un video guía o una plantilla de movimiento, centrándose en el control de "stitching" y "retargeting" para darles vida. El proyecto es activamente actualizado y mejorado por investigadores de Kuaishou Technology, la Universidad de Ciencia y Tecnología de China y la Universidad de Fudan.
Instrucciones de Uso
Configuración del Entorno
- Clona el repositorio:
git clone https://github.com/KwaiVGI/LivePortrait cd LivePortrait
- Crea y activa un entorno Conda:
conda create -n LivePortrait python=3.10 conda activate LivePortrait
- Instala PyTorch (compatible con CUDA para Linux/Windows):
Primero, verifica tu versión de CUDA:
nvcc -V
. Luego, instala la versión correspondiente de PyTorch.- Para CUDA 11.8:
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu118
- Para CUDA 12.1:
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121
- Para otras versiones de CUDA, consulta el sitio web oficial de PyTorch.
- Nota para usuarios de Windows: Bajar la versión de CUDA a 11.8 podría resolver problemas con versiones más recientes de CUDA.
- Para CUDA 11.8:
- Instala las dependencias restantes:
pip install -r requirements.txt
- Para macOS con Apple Silicon:
(La dependencia X-Pose se omite, el modo Animales no es compatible).
pip install -r requirements_macOS.txt
- Para macOS con Apple Silicon:
Descargar Pesos Pre-entrenados
- Desde HuggingFace (recomendado):
# !pip install -U "huggingface_hub[cli]" huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
- Usando hf-mirror (si HuggingFace es inaccesible):
# !pip install -U "huggingface_hub[cli]" export HF_ENDPOINT=https://hf-mirror.com huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
- Alternativamente, descarga desde Google Drive o Baidu Yun y colócalos en
./pretrained_weights
.
Inferencia
Modo Humanos
- Ejecutar con entradas predeterminadas:
(Para macOS con Apple Silicon, usa
python inference.py
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py
) - Especificar entradas de origen y guía:
# La fuente es una imagen python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4 # La fuente es un video python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d0.mp4
Modo Animales (solo Linux/Windows con GPU NVIDIA)
- Construir MultiScaleDeformableAttention OP:
cd src/utils/dependencies/XPose/models/UniPose/ops python setup.py build install cd -
- Ejecutar inferencia:
python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
Recorte Automático de Video Guía
- Activar el recorte automático:
(Ajusta
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d13.mp4 --flag_crop_driving_video
--scale_crop_driving_video
o--vy_ratio_crop_driving_video
para obtener mejores resultados.)
Creación de Plantillas de Movimiento
- Usa archivos
.pkl
generados automáticamente para una inferencia más rápida y protección de la privacidad:python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d5.pkl # animación de retrato python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d5.pkl # edición de video de retrato
Interfaz Gradio
- Modo Humanos:
# Para Linux y Windows python app.py # Para macOS con Apple Silicon PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py
- Modo Animales (solo Linux con GPU NVIDIA):
python app_animals.py
- Aceleración: Usa
--flag_do_torch_compile
para obtener inferencias posteriores un 20-30% más rápidas (no compatible con Windows/macOS).python app.py --flag_do_torch_compile
- También hay disponible un espacio en línea en HuggingFace.
Características Clave
- Animación Eficiente de Retratos: Anima imágenes estáticas de humanos, gatos y perros.
- Control de "Stitching" y "Retargeting": Ofrece un control preciso sobre el proceso de animación.
- Diversas Entradas Guía: Admite movimientos guía desde video, imágenes o plantillas de movimiento pregeneradas (archivos .pkl).
- Edición de Video a Video (v2v): Soporte para editar videos de retratos existentes.
- Interfaz Gradio: Interfaz web amigable para facilitar el uso y la edición precisa de retratos.
- Control Regional y Modo Impulsado por Imagen: Ofrece control avanzado y diferentes opciones de guía.
- Edición de Pose: Permite editar las poses del retrato de origen dentro de la interfaz Gradio.
- Recorte Automático: Recorta automáticamente los videos guía a una relación de aspecto 1:1, centrándose en la cabeza.
- Protección de la Privacidad: Las plantillas de movimiento se pueden usar para proteger la privacidad de los sujetos en los videos guía.
- Compatibilidad Multiplataforma: Compatible con Linux, Windows (con GPU NVIDIA) y macOS con Apple Silicon.
- Rendimiento Optimizado: Incluye una opción para
torch.compile
para acelerar la inferencia.
Usuarios Previstos
- Creadores de Contenido de Video: Para animar retratos en sus videos.
- Animadores: Para generar rápidamente animaciones faciales de personajes.
- Investigadores y Desarrolladores: Como base para desarrollos futuros en animación de retratos, generación de imágenes/video y animación facial.
- Entusiastas en General: Personas interesadas en dar vida a sus fotos o experimentar con animación por IA.
- Grandes Plataformas de Video: Ya adoptado por plataformas como Kuaishou, Douyin, Jianying y WeChat Channels.
Enlaces del Proyecto
- Repositorio GitHub: https://github.com/KwaiVGI/LivePortrait
- Página Principal del Proyecto: liveportrait.github.io
- Demo en Línea de HuggingFace: https://huggingface.co/spaces/KwaiVGI/LivePortrait
- Artículo arXiv: arXiv:2407.03168
Escenarios de Aplicación
- Contenido para Redes Sociales: Creación de atractivas fotos de perfil animadas o clips de video cortos a partir de imágenes estáticas.
- Marketing y Publicidad: Generación de personajes animados o portavoces a partir de imágenes estáticas.
- Desarrollo de Cine y Videojuegos: Prototipado rápido de animaciones de personajes para expresiones faciales.
- Avatares Virtuales y Humanos Digitales: Animación de avatares estáticos para reuniones virtuales o simulaciones.
- Uso Personal: Dar vida a viejas fotos familiares o imágenes de mascotas queridas.