Allgemeine Einführung
ER-NeRF (Efficient Region-Aware Neural Radiance Fields) ist ein Open-Source-System zur Synthese sprechender Charaktere, das auf der ICCV 2023 vorgestellt wird. Das Projekt nutzt die "Region-Aware Neural Radiance Fields"-Technik zur effizienten Erzeugung von Videos sprechender Charaktere mit hoher Wiedergabetreue. Die Hauptmerkmale des Systems sind ein regionalisiertes Verarbeitungsschema, das den Kopf und den Rumpf des Charakters separat modelliert, und eine innovative Audio-Raum-Zerlegungstechnik, die eine genauere Lippensynchronisation ermöglicht. Das Projekt stellt einen vollständigen Trainings- und Inferenzcode zur Verfügung, unterstützt benutzerdefinierte Trainingsvideos und kann verschiedene Audio-Feature-Extraktoren (z.B. DeepSpeech, Wav2Vec, HuBERT, etc.) zur Verarbeitung des Audio-Inputs verwenden. Das System erzielt signifikante Verbesserungen sowohl bei der visuellen Qualität als auch bei der Berechnungseffizienz und stellt eine wichtige technische Lösung im Bereich der Synthese sprechender Zeichen dar.
Neues Projekt: https://github.com/Fictionarry/TalkingGaussian
Funktionsliste
- High Fidelity Video Compositing von sprechenden Köpfen
- Neuronale Strahlungsfeldwiedergabe für die Flächenwahrnehmung
- Unterstützt die separate Modellierung von Kopf und Rumpf
- Präzise Lippensynchronisation
- Unterstützung für die Extraktion mehrerer Audiomerkmale (DeepSpeech/Wav2Vec/HuBERT)
- Unterstützung für benutzerdefinierte Videoschulungen
- Audiogesteuerte Erzeugung von Charakteranimationen
- Reibungslose Steuerung der Kopfbewegung
- Unterstützung von Blinkbewegungen (AU45-Funktion)
- LPIPS-Optimierungsfunktion zur Feinabstimmung
Hilfe verwenden
1. ökologische Konfiguration
Anforderungen an die Betriebsumgebung des Systems:
- Betriebssystem Ubuntu 18.04
- PyTorch Version 1.12
- CUDA 11.3
Installationsschritte:
- Erstellen Sie eine conda-Umgebung:
conda create -n ernerf python=3.10
conda install pytorch==1.12.1 torchvision==0.13.1 cudatoolkit=11.3 -c pytorch
pip install -r anforderungen.txt
- Installieren Sie zusätzliche Abhängigkeiten:
pip install "git+https://github.com/facebookresearch/pytorch3d.git"
pip install tensorflow-gpu==2.8.0
2. die Erstellung von Vorverarbeitungsmodellen
Die folgenden Modelldateien müssen heruntergeladen und vorbereitet werden:
- Modell zur Analyse von Gesichtern
- 3DMM-Modell zur Schätzung der Kopfneigung
- Basler Gesichtsmodell 2009
3. die Anpassung des Videoschulungsprozesses
- Anforderungen an die Videovorbereitung:
- Format: MP4
- Bildrate: 25FPS
- Auflösung: 512x512 empfohlen
- Dauer: 1-5 Minuten
- Erfordert, dass jedes Bild sprechende Zeichen enthält
- Vorverarbeitung der Daten:
python data_utils/process.py data//.mp4
- Extraktion von Audiomerkmalen (eines von drei):
- DeepSpeech Merkmalsextraktion:
python data_utils/deepspeech_features/extract_ds_features.py --input data/.wav
- Wav2Vec-Merkmalextraktion:
python data_utils/wav2vec.py --wav data/.wav --save_feats
- HuBERT-Merkmalextraktion (empfohlen):
python data_utils/hubert.py --wav data/.wav
4. modellhafte Ausbildung
Das Training gliedert sich in zwei Phasen: Kopftraining und Rumpftraining:
- Kopftraining:
python main.py data/obama/ --workspace trial_obama/ -O --iters 100000
python main.py data/obama/ --workspace trial_obama/ -O --iters 125000 --finetune_lips --patch_size 32
- Torso-Training:
python main.py data/obama/ --workspace trial_obama_torso/ -O ---torso --head_ckpt .pth --iters 200000
5. modelltests und inferenz
- Auswirkungen des Testmodells:
# Nur Kopfzeile rendern
python main.py data/obama/ --workspace trial_obama/ -O --test
# Kopf und Torso rendern
python main.py data/obama/ --workspace trial_obama_torso/ -O --torso --test
- Reasoning mit Ziel-Audio:
python main.py data/obama/ --workspace trial_obama_torso/ -O --torso --test --test_train --aud
Tipp: Das Hinzufügen des Parameters --smooth_path reduziert das Kopfzittern, kann aber die Lagegenauigkeit verringern.