Animez N'importe Quel Portrait : Découvrez LivePortrait, Votre Animateur IA Open Source
Animez des portraits statiques d'humains, de chats et de chiens avec LivePortrait, une implémentation open-source basée sur PyTorch. Alimenté par des vidéos, des images ou des modèles, il offre un contrôle précis et une interface Gradio conviviale.
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, utilisezpython inference.pyPYTORCH_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 :
(Ajustezpython inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d13.mp4 --flag_crop_driving_video--scale_crop_driving_videoou--vy_ratio_crop_driving_videopour de meilleurs résultats.)
Création de modèles de mouvement
- Utilisez les fichiers
.pklgé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_compilepour 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.compilepour 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.