Description
DreamTalk est une implémentation officielle d'un framework de génération de têtes parlantes expressives piloté par l'audio et basé sur la diffusion. Cet outil est conçu pour produire des vidéos de têtes parlantes de haute qualité qui reflètent fidèlement divers styles de parole et émotions. Sa capacité principale réside dans ses performances robustes sur un large éventail d'entrées, y compris la parole standard, les chansons, l'audio multilingue et même les signaux audio bruyants. De plus, DreamTalk démontre une résilience lors du traitement de portraits hors domaine, ce qui en fait une solution polyvalente pour diverses applications.
Le framework exploite les modèles probabilistes de diffusion pour réaliser sa génération vidéo expressive et réaliste. Les utilisateurs peuvent installer le projet en utilisant conda et pip, en suivant des exigences de version spécifiques pour PyTorch, torchvision, torchaudio et d'autres dépendances. Le processus d'installation implique la création d'un environnement conda dédié, puis l'installation des packages nécessaires à partir d'un fichier requirements.
Pour les utilisateurs souhaitant obtenir les checkpoints pré-entraînés, l'accès au téléchargement public a été interrompu en raison de considérations d'impact social. Les parties intéressées doivent demander les checkpoints par e-mail, en consentant explicitement à leur utilisation uniquement à des fins de recherche académique. Une fois obtenus, les checkpoints doivent être placés dans le dossier désigné 'checkpoints'.
L'inférence avec DreamTalk implique l'exécution d'un script Python avec plusieurs paramètres clés. Ceux-ci incluent les chemins vers le fichier audio d'entrée (prenant en charge divers formats tels que wav, mp3, m4a et mp4), un clip de style de référence, une séquence de pose de tête et l'image du portrait d'entrée. Des paramètres supplémentaires tels que 'cfg_scale' contrôlent l'intensité des styles de parole, tandis que 'max_gen_len' définit la durée maximale de génération vidéo. La vidéo de sortie est enregistrée dans le dossier 'output_video', avec des résultats intermédiaires dans un dossier temporaire.
DreamTalk propose également des solutions ad hoc pour améliorer la résolution vidéo. Deux méthodes sont suggérées : CodeFormer pour une résolution allant jusqu'à 1024x1024, bien qu'il soit plus lent et puisse présenter des problèmes d'incohérence temporelle, et le modèle de super-résolution temporelle de MetaPortrait pour une résolution de 512x512 avec des performances plus rapides et une cohérence temporelle, bien qu'il puisse réduire l'intensité des émotions faciales. Le projet reconnaît et s'appuie sur les travaux précédents dans le domaine, citant la recherche pertinente et fournissant une entrée de citation pour un usage académique.
Fonctionnalités principales de DreamTalk
Génération de têtes parlantes pilotée par l'audio et basée sur la diffusion
Sortie vidéo de haute qualité avec divers styles de parole
Performances robustes avec diverses entrées audio (parole, chansons, audio bruyant)
Gère les portraits hors domaine
Prend en charge plusieurs langues
Fournit le code d'implémentation officiel
Inclut un script d'inférence pour la génération vidéo
Propose des solutions ad hoc pour l'amélioration de la résolution (CodeFormer, MetaPortrait)
Paramètres ajustables pour l'intensité du style et la durée de génération
Prend en charge l'inférence CPU
Premiers pas avec DreamTalk
Cloner : Clonez le dépôt DreamTalk depuis GitHub.
Installer les dépendances : Créez un environnement conda et installez les packages requis en utilisant le fichier requirements.txt fourni.
Télécharger les Checkpoints : Demandez les checkpoints par e-mail pour la recherche académique et placez-les dans le dossier 'checkpoints'.
Préparer les entrées : Rassemblez l'audio d'entrée, les clips de style de référence, les séquences de pose de tête et les images de portrait.
Configurer l'inférence : Spécifiez les chemins d'entrée et les paramètres tels que cfg_scale et max_gen_len dans le script d'inférence.
Exécuter l'inférence : Lancez le script d'inférence (par exemple, python inference_for_demo_video.py) pour générer des vidéos de têtes parlantes.
Améliorer la résolution (Optionnel) : Appliquez CodeFormer ou MetaPortrait pour une résolution vidéo améliorée.
Utiliser pour la recherche : Employez les vidéos générées à des fins de recherche académique.
Cas d'utilisation de DreamTalk
- Génération expressive de têtes parlantes
- Synthèse audio-visuelle
- Recherche en animation IA
- Têtes parlantes inter-langues
- Transfert de style pour les visages
- Gestion de l'audio bruyant






