LatentSync : un outil open source pour générer des vidéos avec synchronisation labiale directement à partir de l'audio

Introduction générale

LatentSync est un outil open source développé par ByteDance et hébergé sur GitHub. Il pilote les mouvements des lèvres des personnages dans la vidéo directement à travers l'audio, de sorte que la forme de la bouche corresponde précisément à la voix. Le projet est basé sur le modèle de diffusion latente de Stable Diffusion, combiné avec le modèle de diffusion latente de Chuchotement Les caractéristiques audio sont extraites pour générer des images vidéo sur le réseau U-Net. La version 1.5 de latentSync, publiée le 14 mars 2025, optimise la cohérence temporelle, prend en charge les vidéos en chinois et réduit la mémoire vidéo nécessaire à l'apprentissage à 20 Go. Les utilisateurs peuvent exécuter le code d'inférence pour générer des vidéos synchronisées avec les lèvres en résolution 256x256 en disposant simplement d'une carte graphique qui prend en charge 6,8 Go de mémoire vidéo. L'outil permet de générer des vidéos synchronisées avec les lèvres en résolution 256x256. L'outil est entièrement gratuit, le code et les modèles pré-entraînés étant fournis, et convient aussi bien aux passionnés de technologie qu'aux développeurs.

LatentSync:用音频直接生成唇形同步视频的开源工具

Expérience : https://huggingface.co/spaces/fffiloni/LatentSync

 

LatentSync:用音频直接生成唇形同步视频的开源工具

Adresse de démonstration de l'API : https://fal.ai/models/fal-ai/latentsync

 

LatentSync:用音频直接生成唇形同步视频的开源工具

 

Liste des fonctions

  • Audio Driver Lip SyncLe logiciel de gestion de l'image : il permet de saisir des données audio et vidéo pour générer automatiquement des mouvements de lèvres correspondant au son.
  • Génération de vidéos de bout en boutLes images de l'appareil sont en outre plus faciles à lire et à comprendre : pas besoin de représentation intermédiaire, sortie directe d'une vidéo claire et synchronisée avec les lèvres.
  • Optimisation de la cohérence temporelleLa technologie TREPA et les couches de synchronisation permettent de réduire les sauts d'image.
  • Prise en charge de la vidéo en chinoisVersion 1.5 : La version 1.5 améliore la gestion de l'audio et de la vidéo chinoises.
  • Un soutien efficace à la formationL'U-Net est disponible dans une variété de configurations U-Net, avec des besoins en mémoire aussi bas que 20GB.
  • Pipeline de traitement des donnéesLes outils intégrés permettent de nettoyer les données vidéo et de garantir la qualité de la génération.
  • paramétrageLes outils d'aide à la décision sont les suivants : aide à l'ajustement des étapes d'inférence et des échelles d'orientation afin d'optimiser la génération.

 

Utiliser l'aide

LatentSync est un outil local destiné aux utilisateurs disposant d'une base technique. Le processus d'installation, de raisonnement et de formation est décrit en détail ci-dessous.

Processus d'installation

  1. Exigences en matière de matériel et de logiciel
    • Nécessite une carte graphique NVIDIA avec au moins 6,8 Go de mémoire vidéo (pour l'inférence), 20 Go ou plus recommandés pour la formation (par exemple RTX 3090).
    • Prend en charge Linux ou Windows (Windows nécessite un ajustement manuel du script).
    • Installez Python 3.10, Git et PyTorch avec prise en charge de CUDA.
  2. Télécharger le code
    S'exécute dans le terminal :
git clone https://github.com/bytedance/LatentSync.git
cd LatentSync
  1. Installation des dépendances
    Exécutez la commande suivante pour installer les bibliothèques requises :
pip install -r requirements.txt

Installation supplémentaire de ffmpeg pour le traitement audio et vidéo :

sudo apt-get install ffmpeg  # Linux
  1. Télécharger les modèles
  • à travers (une brèche) Visage étreint téléchargement latentsync_unet.pt répondre en chantant tiny.pt.
  • Placer le fichier dans le répertoire checkpoints/ avec la structure suivante :
    checkpoints/
    ├── latentsync_unet.pt
    ├── whisper/
    │   └── tiny.pt
    
  • Si vous vous entraînez avec SyncNet, vous devrez également télécharger stable_syncnet.pt et d'autres modèles auxiliaires.
  1. Environnement de vérification
    Exécutez la commande de test :
python gradio_app.py --help

Si aucune erreur n'est signalée, l'environnement est construit avec succès.

processus d'inférence

LatentSync propose deux méthodes d'inférence, toutes deux nécessitant 6,8 Go de mémoire vidéo.

Méthode 1 : Interface Gradio

  1. Lancez l'application Gradio :
python gradio_app.py
  1. Ouvrez votre navigateur et visitez l'adresse locale demandée.
  2. Téléchargez les fichiers vidéo et audio, cliquez sur Exécuter et attendez que les résultats soient générés.

Méthode 2 : Ligne de commande

  1. Préparer le fichier d'entrée :
  • Vidéo (par exemple input.mp4), doivent contenir des visages clairs.
  • Audio (par exemple audio.wav), 16000Hz recommandé.
  1. Exécutez le script de raisonnement :
python -m scripts.inference 
--unet_config_path "configs/unet/stage2_efficient.yaml" 
--inference_ckpt_path "checkpoints/latentsync_unet.pt" 
--inference_steps 25 
--guidance_scale 2.0 
--video_path "input.mp4" 
--audio_path "audio.wav" 
--video_out_path "output.mp4"
  • inference_stepsLa valeur est de 20 à 50, plus la valeur est élevée, plus la qualité est grande et plus la vitesse est lente.
  • guidance_scalePlus la valeur est élevée, plus la forme des lèvres est précise, mais il peut y avoir une légère distorsion.
  1. sonde output.mp4L'effet de la synchronisation des lèvres est confirmé.

Prétraitement des données

  • Il est recommandé de régler la fréquence d'images vidéo sur 25 FPS :
ffmpeg -i input.mp4 -r 25 resized.mp4
  • La fréquence d'échantillonnage audio doit être de 16000Hz :
ffmpeg -i audio.mp3 -ar 16000 audio.wav

Flux de traitement des données

Si le modèle doit être entraîné, les données doivent d'abord être traitées :

  1. Exécutez le script :
./data_processing_pipeline.sh
  1. modifications input_dir pour votre catalogue vidéo.
  2. Le processus comprend
  • Supprimez la vidéo corrompue.
  • Réglez la vidéo à 25 FPS et l'audio à 16000Hz.
  • Diviser la scène en utilisant PySceneDetect.
  • Découper la vidéo en segments de 5 à 10 secondes.
  • Détecter les visages avec l'alignement des visages et redimensionner à 256x256.
  • Filtre les vidéos dont le score de synchronisation est inférieur à 3.
  • Calculer le score hyperIQA et supprimer les vidéos inférieures à 40.
  1. La vidéo traitée est enregistrée dans le fichier high_visual_quality/ Catalogue.

Formation U-Net

  1. Préparer les données et tous les points de contrôle.
  2. Sélectionnez le profil (par exemple stage2_efficient.yaml).
  3. Entraînement à la course à pied :
./train_unet.sh
  1. Modifier le chemin des données et le chemin d'enregistrement dans le fichier de configuration.
  2. Mémoire graphique requise :
  • stage1.yaml: 23GB.
  • stage2.yaml: 30GB.
  • stage2_efficient.yaml20 Go pour les cartes graphiques ordinaires.

mise en garde

  • Les utilisateurs de Windows doivent définir l'option .sh Passer à l'exécution de la commande Python.
  • Si l'écran saute, augmentez la inference_steps ou de régler la fréquence d'images vidéo.
  • La prise en charge de l'audio chinois a été optimisée dans la version 1.5 pour garantir l'utilisation des modèles les plus récents.

Grâce à ces étapes, les utilisateurs peuvent facilement installer et utiliser LatentSync pour générer des vidéos de synchronisation labiale ou entraîner davantage le modèle.

 

scénario d'application

  1. post-production
    Remplacer l'audio des vidéos existantes pour générer de nouvelles lèvres adaptées aux ajustements de doublage.
  2. image virtuelle
    Entrée audio pour générer des vidéos d'avatars parlant pour des vidéos en direct ou de courte durée.
  3. production de jeux
    Ajoutez des animations de dialogue dynamiques aux personnages pour améliorer l'expérience de jeu.
  4. multilinguisme
    Générer des vidéos d'instruction avec audio dans différentes langues, adaptées aux utilisateurs du monde entier.

 

QA

  1. Prend-il en charge la génération en temps réel ?
    Non pris en charge. La version actuelle nécessite des données audio et vidéo complètes et prend de quelques secondes à quelques minutes pour être générée.
  2. Quelle est la mémoire vidéo minimale ?
    Le raisonnement nécessite 6,8 Go et la formation recommande 20 Go (après optimisation dans la version 1.5).
  3. Pouvez-vous supporter les vidéos d'anime ?
    Peut. Les exemples officiels comprennent des vidéos d'anime qui fonctionnent bien.
  4. Comment améliorer l'assistance linguistique en chinois ?
    Utilisez la version 1.5 de LatentSync, qui a été optimisée pour le traitement audio chinois.

 

Installateur LatentSync en un clic

Quark : https://pan.quark.cn/s/c3b482dcca83

Installateur autonome WIN/MAC

Quark : https://pan.quark.cn/s/90d2784bc502

Baidu : https://pan.baidu.com/s/1HwN1k6v-975uLfI0d8N_zQ?pwd=gewd

LatentSync amélioré : https://pan.quark.cn/s/f8d3d9872abb

LatentSync 1.5 Déploiement local 1 : https://pan.baidu.com/s/1QLqoXHxGbAXV3dWOC5M5zg?pwd=ijtt

LatentSync 1.5 Déploiement local 2 : https://pan.baidu.com/share/init?surl=zIUPiJc0qZaMp2NMYNoAug&pwd=8520

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...