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.

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
- Créer et activer l'environnement conda :
conda create -n joygen python=3.8.19 ffmpeg
conda activate joygen
pip install -r requirements.txt
- Installer la bibliothèque Nvdiffrast :
git clone https://github.com/NVlabs/nvdiffrast
cd nvdiffrast
pip install .
- 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 :
- 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
- 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
- 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
- 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
- Examiner les données prétraitées et générer des listes de formation :
python -u preprocess_dataset_extra.py data_dir
- 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
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...