Allgemeine Einführung
JoyGen ist ein innovatives zweistufiges System zur Erzeugung von Videos mit sprechenden Gesichtern, das sich auf die Lösung des Problems der audiogesteuerten Erzeugung von Gesichtsausdrücken konzentriert. Das von einem Team von Jingdong Technology entwickelte Projekt nutzt fortschrittliche 3D-Rekonstruktionstechniken und Methoden zur Extraktion von Audiomerkmalen, um die Identitätsmerkmale und Ausdruckskoeffizienten des Sprechers für eine qualitativ hochwertige Lippensynchronisation und visuelle Synthese genau zu erfassen.JoyGen besteht aus zwei Hauptphasen: erstens der audiobasierten Erzeugung von Lippenbewegungen und zweitens der visuellen Synthese. Durch die Integration von Audiomerkmalen und Gesichtstiefenkarten bietet es eine umfassende Überwachung für eine genaue Lippensynchronisation. Das Projekt unterstützt nicht nur chinesische und englische Audiotreiber, sondern bietet auch eine vollständige Trainings- und Inferenzpipeline, was es zu einem leistungsstarken Open-Source-Tool macht.
Funktionsliste
- Audiogesteuerte Erzeugung und Bearbeitung von 3D-Gesichtsausdrücken
- Präzise lippensynchrone Audiotechnik
- Unterstützt chinesische und englische Audioeingabe
- Visuelle Synthese für 3D-Tiefenwahrnehmung
- Funktion zur Wahrung der Gesichtsidentität
- Hochwertige Funktionen für die Erstellung und Bearbeitung von Videos
- Umfassende Schulung und Unterstützung des Argumentationsrahmens
- Vorgefertigte Modelle unterstützen den schnellen Einsatz
- Unterstützung für kundenspezifisches Dataset-Training
- Detaillierte Tools für die Datenvorverarbeitung bereitstellen
Hilfe verwenden
1. ökologische Konfiguration
1.1 Anforderungen an die Infrastruktur
- Unterstützte GPUs: V100, A800
- Python Version: 3.8.19
- System-Abhängigkeiten: ffmpeg
1.2 Installationsschritte
- Erstellen und aktivieren Sie die conda-Umgebung:
conda create -n joygen python=3.8.19 ffmpeg
conda joygen aktivieren
pip install -r anforderungen.txt
- Installieren Sie die Nvdiffrast-Bibliothek:
git clone https://github.com/NVlabs/nvdiffrast
cd nvdiffrast
pip install .
- Download des vortrainierten Modells
Aus dem mitgeliefertenDownload-LinkHolen Sie das trainierte Modell und legen Sie es entsprechend der angegebenen Verzeichnisstruktur im. /pretrained_models/
Katalog.
2. der Nutzungsablauf
2.1 Begründungsprozess
Führen Sie die gesamte Argumentationspipeline aus:
bash scripts/inference_pipeline.sh Audiodateien Videodateien Ergebnisverzeichnis
Führen Sie den Argumentationsprozess in Schritten aus:
- Extraktion von Gesichtsausdruckskoeffizienten aus Audioaufnahmen:
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
- Rendert Tiefenkarten Frame für Frame mit neuen Expression-Koeffizienten:
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
- Generierung von Gesichtsanimationen auf der Grundlage von Audiomerkmalen und Tiefenkarten des Gesichts:
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 Ausbildungsprozess
- Vorverarbeitung der Daten:
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
- Prüfen Sie vorverarbeitete Daten und erstellen Sie Trainingslisten:
python -u preprocess_dataset_extra.py data_dir
- Beginn der Ausbildung:
Ändern Sie die Datei config.yaml und führen Sie sie aus:
accelerate launch --main_process_port 29501 --config_file config/accelerate_config.yaml train_joygen.py