JoyGen : Outil d'édition vidéo parlant de portraits en 3D, piloté par l'audio et conscient de la profondeur

Introduction générale

JoyGen est un cadre innovant de génération vidéo de visages parlants en deux étapes qui vise à résoudre le problème de la génération d'expressions faciales pilotée par le son. Développé par une équipe de Jingdong Technology, le projet utilise des techniques avancées de reconstruction 3D et des méthodes d'extraction de caractéristiques audio pour capturer avec précision les caractéristiques d'identité et les coefficients d'expression de l'orateur en vue d'une synchronisation labiale et d'une synthèse visuelle de haute qualité. En intégrant les caractéristiques audio et les cartes de profondeur du visage, il fournit une supervision complète pour une synchronisation labiale précise. Le projet prend non seulement en charge les pilotes audio chinois et anglais, mais fournit également un pipeline complet d'apprentissage et d'inférence, ce qui en fait un puissant outil open source.

JoyGen:音频驱动的3D深度感知人像说话视频编辑工具

 

Liste des fonctions

  • Génération et édition d'expressions faciales 3D pilotées par l'audio
  • Technologie audio de synchronisation des lèvres précise
  • Prise en charge de l'entrée audio en chinois et en anglais
  • Synthèse visuelle pour la perception de la profondeur en 3D
  • Fonction de conservation de l'identité faciale
  • Capacités de génération et de montage de vidéos de haute qualité
  • Formation complète et soutien au cadre de raisonnement
  • Des modèles pré-entraînés pour un déploiement rapide
  • Prise en charge de la formation d'ensembles de données personnalisés
  • Fournir des outils détaillés de prétraitement des données

 

Utiliser l'aide

1. configuration de l'environnement

1.1 Exigences en matière d'infrastructure

  • GPU pris en charge : V100, A800
  • Version de Python : 3.8.19
  • Dépendances du système : ffmpeg

1.2 Étapes de l'installation

  1. Créer et activer l'environnement conda :
conda create -n joygen python=3.8.19 ffmpeg
conda activate joygen
pip install -r requirements.txt
  1. Installer la bibliothèque Nvdiffrast :
git clone https://github.com/NVlabs/nvdiffrast
cd nvdiffrast
pip install .
  1. Télécharger le modèle pré-entraîné
    A partir de l'information fournielien de téléchargementObtenir le modèle pré-entraîné et le placer selon la structure de répertoire spécifiée dans le répertoire./pretrained_models/Catalogue.

2. flux d'utilisation

2.1 Processus de raisonnement

Exécuter le pipeline d'inférence complet :

bash scripts/inference_pipeline.sh 音频文件 视频文件 结果目录

Exécuter le processus de raisonnement par étapes :

  1. Extraction de coefficients d'expression faciale à partir de données audio :
python inference_audio2motion.py --a2m_ckpt ./pretrained_models/audio2motion/240210_real3dportrait_orig/audio2secc_vae --hubert_path ./pretrained_models/audio2motion/hubert --drv_aud ./demo/xinwen_5s.mp3 --seed 0 --result_dir ./results/a2m --exp_file xinwen_5s.npy
  1. Rend les cartes de profondeur image par image en utilisant de nouveaux coefficients d'expression :
python -u inference_edit_expression.py --name face_recon_feat0.2_augment --epoch=20 --use_opengl False --checkpoints_dir ./pretrained_models --bfm_folder ./pretrained_models/BFM --infer_video_path ./demo/example_5s.mp4 --infer_exp_coeff_path ./results/a2m/xinwen_5s.npy --infer_result_dir ./results/edit_expression
  1. Génération d'animations faciales basées sur les caractéristiques audio et les cartes de profondeur du visage :
CUDA_VISIBLE_DEIVCES=0 python -u inference_joygen.py --unet_model_path pretrained_models/joygen --vae_model_path pretrained_models/sd-vae-ft-mse --intermediate_dir ./results/edit_expression --audio_path demo/xinwen_5s.mp3 --video_path demo/example_5s.mp4 --enable_pose_driven --result_dir results/talk --img_size 256 --gpu_id 0

2.2 Processus de formation

  1. Prétraitement des données :
python -u preprocess_dataset.py --checkpoints_dir ./pretrained_models --name face_recon_feat0.2_augment --epoch=20 --use_opengl False --bfm_folder ./pretrained_models/BFM --video_dir ./demo --result_dir ./results/preprocessed_dataset
  1. Examiner les données prétraitées et générer des listes de formation :
python -u preprocess_dataset_extra.py data_dir
  1. Commencer la formation :
    Modifier le fichier config.yaml et l'exécuter :
accelerate launch --main_process_port 29501 --config_file config/accelerate_config.yaml train_joygen.py
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

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