Animez N'importe Quel Portrait : Découvrez LivePortrait, Votre Animateur IA Open Source
June 04, 2025
LivePortrait
Description du projet
LivePortrait est une implémentation open-source en PyTorch pour une animation efficace de portraits. Il permet d'animer des portraits statiques (humains, chats et chiens) à l'aide d'une vidéo motrice ou d'un modèle de mouvement, en se concentrant sur le contrôle de l'assemblage et du ciblage pour les rendre vivants. Le projet est activement mis à jour et amélioré par les chercheurs de Kuaishou Technology, de l'Université des Sciences et Technologies de Chine et de l'Université Fudan.
Instructions d'utilisation
Configuration de l'environnement
- Cloner le dépôt :
git clone https://github.com/KwaiVGI/LivePortrait cd LivePortrait
- Créer et activer un environnement Conda :
conda create -n LivePortrait python=3.10 conda activate LivePortrait
- Installer PyTorch (compatible CUDA pour Linux/Windows) :
D'abord, vérifiez votre version de CUDA :
nvcc -V
. Ensuite, installez la version de PyTorch correspondante.- Pour 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
- Pour 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
- Pour les autres versions de CUDA, consultez le site officiel de PyTorch.
- Remarque pour les utilisateurs Windows : Rétrograder CUDA à la version 11.8 pourrait résoudre des problèmes avec des versions de CUDA plus récentes.
- Pour CUDA 11.8 :
- Installer les dépendances restantes :
pip install -r requirements.txt
- Pour macOS avec Apple Silicon :
(La dépendance X-Pose est ignorée, le mode Animaux n'est pas pris en charge.)
pip install -r requirements_macOS.txt
- Pour macOS avec Apple Silicon :
Télécharger les poids pré-entrainés
- Depuis HuggingFace (recommandé) :
# !pip install -U "huggingface_hub[cli]" huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
- Utiliser hf-mirror (si HuggingFace est inaccessible) :
# !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"
- Alternativement, téléchargez depuis Google Drive ou Baidu Yun et placez les fichiers dans
./pretrained_weights
.
Inférence
Mode Humains
- Exécuter avec les entrées par défaut :
(Pour macOS avec Apple Silicon, utilisez
python inference.py
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py
) - Spécifier les entrées source et motrice :
# La source est une image python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4 # La source est une vidéo python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d0.mp4
Mode Animaux (Linux/Windows avec GPU NVIDIA uniquement)
- Construire l'OP MultiScaleDeformableAttention :
cd src/utils/dependencies/XPose/models/UniPose/ops python setup.py build install cd -
- Exécuter l'inférence :
python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
Recadrage automatique de la vidéo motrice
- Activer le recadrage automatique :
(Ajustez
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d13.mp4 --flag_crop_driving_video
--scale_crop_driving_video
ou--vy_ratio_crop_driving_video
pour de meilleurs résultats.)
Création de modèles de mouvement
- Utilisez les fichiers
.pkl
générés automatiquement pour une inférence plus rapide et une meilleure protection de la vie privée :python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d5.pkl # animation de portrait python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d5.pkl # édition de vidéo de portrait
Interface Gradio
- Mode Humains :
# Pour Linux et Windows python app.py # Pour macOS avec Apple Silicon PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py
- Mode Animaux (Linux avec GPU NVIDIA uniquement) :
python app_animals.py
- Accélération : Utilisez
--flag_do_torch_compile
pour des inférences ultérieures 20-30% plus rapides (non pris en charge sur Windows/macOS).python app.py --flag_do_torch_compile
- Un espace HuggingFace en ligne est également disponible.
Fonctionnalités clés
- Animation efficace de portraits : Anime des images statiques d'humains, de chats et de chiens.
- Contrôle de l'assemblage et du ciblage : Offre un contrôle précis sur le processus d'animation.
- Diverses entrées motrices : Prend en charge le mouvement à partir de vidéos, d'images ou de modèles de mouvement pré-générés (fichiers .pkl).
- Édition vidéo-à-vidéo (v2v) : Prend en charge l'édition de vidéos de portraits existantes.
- Interface Gradio : Interface web conviviale pour une utilisation plus facile et une édition précise des portraits.
- Contrôle régional et mode piloté par l'image : Offre un contrôle avancé et différentes options de pilotage.
- Édition de pose : Permet d'éditer les poses du portrait source via l'interface Gradio.
- Recadrage automatique : Recadre automatiquement les vidéos motrices en format 1:1 en se concentrant sur la tête.
- Protection de la vie privée : Les modèles de mouvement peuvent être utilisés pour protéger la vie privée des sujets des vidéos motrices.
- Support multiplateforme : Compatible avec Linux, Windows (avec GPU NVIDIA) et macOS avec Apple Silicon.
- Performance optimisée : Inclut une option
torch.compile
pour accélérer l'inférence.
Utilisateurs cibles
- Créateurs de contenu vidéo : Pour animer des portraits dans leurs vidéos.
- Animateurs : Pour générer rapidement des animations faciales pour des personnages.
- Chercheurs et développeurs : Comme base pour un développement ultérieur dans l'animation de portraits, la génération d'images/vidéos et l'animation faciale.
- Enthousiastes en général : Personnes intéressées par l'animation de leurs photos ou l'expérimentation avec l'animation IA.
- Grandes plateformes vidéo : Déjà adopté par des plateformes comme Kuaishou, Douyin, Jianying et WeChat Channels.
Liens du projet
- Dépôt GitHub : https://github.com/KwaiVGI/LivePortrait
- Page d'accueil du projet : liveportrait.github.io
- Démo en ligne HuggingFace : https://huggingface.co/spaces/KwaiVGI/LivePortrait
- Article arXiv : arXiv:2407.03168
Scénarios d'application
- Contenu pour les réseaux sociaux : Création de photos de profil animées attrayantes ou de courtes vidéos à partir d'images statiques.
- Marketing et publicité : Génération de personnages animés ou de porte-parole à partir d'images statiques.
- Développement de films et de jeux : Prototypage rapide d'animations de personnages pour les expressions faciales.
- Avatars virtuels et humains numériques : Animation d'avatars statiques pour les réunions virtuelles ou les simulations.
- Usage personnel : Donnez vie à de vieilles photos de famille ou à des clichés d'animaux de compagnie adorés.