FantasyTalking : un outil open source pour générer des portraits parlants réalistes
Introduction générale
FantasyTalking est un projet open source développé par l'équipe Fantasy-AMAP, qui se concentre sur la génération audio de vidéos de portraits parlants réalistes. Le projet est basé sur le modèle de diffusion vidéo avancé Wan2.1, combiné à l'encodeur audio Wav2Vec et à des poids de modèle propriétaires, utilisant des techniques d'intelligence artificielle pour obtenir une synchronisation labiale et des expressions faciales très réalistes. Il prend en charge plusieurs styles de génération de portraits, y compris des personnes réelles et des images de dessins animés, pour un large éventail de points de vue tels que le panorama, le buste ou le gros plan. Les utilisateurs peuvent rapidement générer des vidéos parlantes de haute qualité en entrant des images et de l'audio par le biais de simples opérations de ligne de commande.

Liste des fonctions
- Générer des vidéos de portraits parlants réalistes avec des mouvements de lèvres hautement synchronisés avec l'audio.
- Plusieurs points de vue sont pris en charge pour la génération, y compris les portraits en gros plan, à mi-corps et à corps entier.
- Compatible avec les portraits réels et les dessins animés pour répondre à divers besoins.
- La fonction de contrôle des mots de repère permet d'ajuster l'expression et les mouvements corporels du personnage.
- Prend en charge la sortie haute résolution jusqu'à 720P.
- Module intégré d'attention croisée centrée sur le visage pour assurer la cohérence des traits du visage.
- Comprend un module de modulation de l'intensité de l'exercice pour contrôler l'expression et l'amplitude des mouvements.
- Modèles et code en libre accès pour soutenir le développement et l'optimisation de la communauté secondaire.
Utiliser l'aide
Processus d'installation
Pour utiliser FantasyTalking, vous devez d'abord installer les dépendances et les modèles nécessaires. Vous trouverez ci-dessous les étapes détaillées de l'installation :
- Clonage du code du projet
Exécutez la commande suivante dans le terminal pour cloner le projet localement :git clone https://github.com/Fantasy-AMAP/fantasy-talking.git cd fantasy-talking
- Installation des dépendances
Le projet dépend de l'environnement Python et de PyTorch (version >= 2.0.0). Exécutez la commande suivante pour installer les bibliothèques nécessaires :pip install -r requirements.txt
Montage en option
flash_attn
pour accélérer le calcul de l'attention :pip install flash_attn
- Télécharger les modèles
FantasyTalking nécessite trois modèles : Wan2.1-I2V-14B-720P (modèle de base), Wav2Vec (encodeur audio) et les poids du modèle FantasyTalking. Ils peuvent être téléchargés via Hugging Face ou ModelScope :- Utilisez l'interface de dialogue en ligne (CLI) de Hugging Face :
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
- Ou utilisez l'interface de programmation 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
- Utilisez l'interface de dialogue en ligne (CLI) de Hugging Face :
- Environnement de vérification
Assurez-vous que le GPU est disponible (RTX 3090 ou supérieur recommandé, VRAM d'au moins 24 Go). Si vous rencontrez des problèmes de mémoire, essayez de réduire la résolution ou d'activer l'optimisation de la VRAM.
Utilisation
Une fois l'installation terminée, les utilisateurs peuvent exécuter le script de raisonnement pour générer des vidéos à partir de la ligne de commande. Les commandes de base sont les suivantes :
python infer.py --image_path ./assets/images/woman.png --audio_path ./assets/audios/woman.wav
--image_path
: Saisissez le chemin d'accès à l'image du portrait (format PNG/JPG pris en charge).--audio_path
Chemin d'accès au fichier audio d'entrée (format WAV pris en charge).--prompt
Les mots d'incitation facultatifs permettent de contrôler le comportement du rôle, par exemple :--prompt "The person is speaking enthusiastically, with their hands continuously waving."
--audio_cfg_scale
répondre en chantant--prompt_cfg_scale
Contrôle le niveau d'influence des mots audio et des mots repères, avec une plage recommandée de 3 à 7. L'augmentation du CFG audio améliore la synchronisation des lèvres.
Fonction en vedette Fonctionnement
- Synchronisation des lèvres
La fonction principale de FantasyTalking est de générer des mouvements précis des lèvres sur la base d'un fichier audio. L'utilisateur doit préparer un fichier audio clair (format WAV, taux d'échantillonnage optimal de 16 kHz). Une fois le script d'inférence exécuté, le modèle analyse automatiquement l'audio et génère les mouvements des lèvres correspondants. Veillez à ce que l'audio ne contienne pas de bruit important pour obtenir les meilleurs résultats. - Contrôle des mots repères
faire passer (un projet de loi, une inspection, etc.)--prompt
l'utilisateur peut définir les expressions et les actions du personnage. Par exemple, entrez--prompt "The person is speaking calmly with slight head movements."
Des vidéos de conversations calmes peuvent être générées. Les mots-clés doivent être concis et clairs, en évitant les descriptions vagues. - Support multi-styles
Le projet prend en charge la génération de portraits dans des styles réels et de dessins animés. Les utilisateurs peuvent fournir des images d'entrée de différents styles, et le modèle ajustera le style de sortie en fonction des caractéristiques de l'image. Le style "dessin animé" convient aux scènes d'animation, et le style "réel" aux applications telles que les ancres virtuelles. - Modulation de l'intensité de l'exercice
Le module de modulation de l'intensité des mouvements de FantasyTalking permet à l'utilisateur de contrôler l'amplitude des expressions et des mouvements. Par exemple, en augmentant l'intensité de--audio_weight
Ce paramètre améliore les mouvements des membres et convient aux scènes dynamiques. Les paramètres par défaut sont optimisés et il est recommandé de conserver les valeurs par défaut lors de la première utilisation.
mise en garde
- exigences en matière de matérielLa RTX 5090 avec 32 Go de VRAM peut encore rencontrer des problèmes de mémoire faible et il est recommandé de réduire la quantité de mémoire nécessaire pour générer des vidéos haute résolution.
--image_size
peut-être--max_num_frames
. - Modèle à téléchargerLes fichiers du modèle sont volumineux (plusieurs dizaines de gigaoctets), assurez-vous donc de disposer d'un réseau stable et d'un espace disque suffisant.
- Optimisation des mots clésLe mot indicateur a un impact important sur le résultat et plusieurs expériences sont recommandées pour trouver la meilleure description.
scénario d'application
- Création de contenu pour les ancres virtuelles
Les utilisateurs peuvent utiliser FantasyTalking pour générer des vidéos parlantes réalistes pour des présentateurs virtuels. Saisissez le portrait du présentateur et la voix off pour générer des vidéos synchronisées sur les lèvres pour la diffusion en direct, les vidéos courtes ou la production de contenu éducatif. - Animation Doublage de personnages
Les animateurs peuvent générer des vidéos de voix off pour des personnages de dessins animés. En fournissant l'image et le son du dessin animé, le modèle peut générer des mouvements et des expressions labiales adaptés, ce qui simplifie le processus de production de l'animation. - Production de vidéos éducatives
Les enseignants ou les organismes de formation peuvent générer des vidéos d'instructeurs virtuels. Saisissez le portrait de l'instructeur et l'audio du cours pour générer rapidement des vidéos pédagogiques qui renforcent l'attrait du contenu. - Création de divertissements et de fascinations
Les utilisateurs peuvent créer des portraits parlants hilarants pour des fanfictions ou des vidéos de divertissement. En ajustant les mots-clés, créez des vidéos avec des expressions ou des actions exagérées, adaptées au partage sur les réseaux sociaux.
QA
- Quels sont les formats d'entrée pris en charge par FantasyTalking ?
Les images sont prises en charge aux formats PNG et JPG et le son est pris en charge au format WAV avec un taux d'échantillonnage recommandé de 16 kHz pour une synchronisation labiale optimale. - Comment résoudre le problème de l'insuffisance de la mémoire vidéo ?
Si le GPU n'a pas assez de mémoire (par exemple, 32GB VRAM sur la RTX 5090), diminuez le paramètre--image_size
(par exemple, 512x512) ou réduite--max_num_frames
(par exemple 30 fps). Il est également possible d'activer l'option d'optimisation de la VRAM ou d'utiliser un GPU plus configurable. - Comment améliorer la qualité de la vidéo générée ?
Utilisez une image d'entrée à haute résolution (au moins 512x512) pour vous assurer que l'audio est clair et sans bruit. Ajustement--audio_cfg_scale
(par exemple, 5-7) améliore la synchronisation des lèvres, et l'optimisation des mots repères améliore le naturel des expressions. - Prend-il en charge la génération en temps réel ?
La version actuelle ne prend en charge que l'inférence hors ligne, la génération en temps réel nécessitant une optimisation plus poussée du modèle et un support matériel.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...