Allgemeine Einführung
Ultralight Digital Human ist ein Open-Source-Projekt mit dem Ziel, ein ultraleichtes digitales Menschmodell zu entwickeln, das in Echtzeit auf mobilen Geräten laufen kann. Das Projekt ermöglicht einen reibungslosen Betrieb auf mobilen Geräten, indem Algorithmen und Modellstrukturen für eine Vielzahl von Szenarien wie soziale Anwendungen, Spiele und virtuelle Realität optimiert werden. Die Nutzer können ihre eigenen digitalen Menschmodelle leicht trainieren und einsetzen, um personalisierte und immersive Erfahrungen zu machen.
Was die Tatsache anbelangt, dass es auf dem Handy gut funktioniert, ändern Sie einfach die Anzahl der Kanäle des aktuellen Modells ein bisschen kleiner und verwenden Sie Wenet für die Audiofunktionen und Sie werden gut sein.
Funktionsliste
- EchtzeitbetriebModelle können in Echtzeit auf mobilen Geräten laufen und sind responsiv.
- Leichte KonstruktionOptimierte Modellstruktur für ressourcenbeschränkte mobile Geräte.
- Open-Source-ProjektDer Code und das Modell sind vollständig quelloffen und können von den Nutzern frei verändert und verwendet werden.
- Multi-Szenario-AnwendungGeeignet für eine Vielzahl von Szenarien wie soziale Anwendungen, Spiele, virtuelle Realität und mehr.
- Extraktion von AudiomerkmalenUnterstützt sowohl Wenet- als auch Hubert-Audio-Feature-Extraktionsverfahren.
- SynchronnetzVerbesserte Lippensynchronisation mit Syncnet-Technologie.
- Ausführliche AnleitungAusführliche Schulungs- und Nutzungsanleitungen helfen den Anwendern, sich schnell zurechtzufinden.
Hilfe verwenden
Ablauf der Installation
- Vorbereitung der Umwelt::
- Installieren Sie Python 3.10 und höher.
- Installieren Sie PyTorch 1.13.1 und andere Abhängigkeiten:
conda create -n dh python=3.10 conda aktivieren dh conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia conda install mkl=2024.0 pip install opencv-python transformers numpy==1.23.5 soundfile librosa onnxruntime
- Modelldateien herunterladen::
- Laden Sie die Datei wenet encoder.onnx von folgendem Link herunter und platzieren Sie sie im Verzeichnis
data_utils/
Katalog: Download-Link
- Laden Sie die Datei wenet encoder.onnx von folgendem Link herunter und platzieren Sie sie im Verzeichnis
Verwendung Prozess
- Das Video vorbereiten::
- Bereiten Sie ein 3- bis 5-minütiges Video vor. Achten Sie darauf, dass jedes Bild eine vollständige Gesichtsbelichtung aufweist und dass der Ton klar und rauschfrei ist.
- Legen Sie das Video in einem neuen Ordner ab.
- Extrahieren von Audiomerkmalen::
- Verwenden Sie die folgenden Befehle, um Audio-Features zu extrahieren:
cd data_utils python process.py IHR_VIDEO_PATH --asr hubert
- Verwenden Sie die folgenden Befehle, um Audio-Features zu extrahieren:
- Ausbildungsmodelle::
- Trainieren Sie das Syncnet-Modell für bessere Ergebnisse:
cd ... python syncnet.py ---save_dir . /syncnet_ckpt/ --dataset_dir . /data_dir/ --asr hubert
- Trainieren Sie das digitale Menschmodell anhand des Kontrollpunkts mit dem geringsten Verlust:
python train.py --dataset_dir . /data_dir/ ---save_dir . /checkpoint/ --asr hubert --use_syncnet --syncnet_checkpoint syncnet_ckpt
- Trainieren Sie das Syncnet-Modell für bessere Ergebnisse:
- Inferenz::
- Extrahieren von Test-Audiomerkmalen:
python extract_test_audio.py IHR_TEST_AUDIO_PATH --asr hubert
- Running Reasoning:
python inference.py --dataset . /data_dir/ --audio_feat . /Ihr_test_audio_hu.npy ---save_path . /output.mp4 --checkpoint . /prüfpunkt/best_model.pth
- Extrahieren von Test-Audiomerkmalen:
caveat
- Vergewissern Sie sich, dass die Videobildrate mit dem gewählten Schema für die Extraktion der Audiomerkmale übereinstimmt: 20fps für wenet und 25fps für hubert.
- Während des Trainings- und Inferenzprozesses wird der Verlustwert des Modells regelmäßig überwacht und der optimale Kontrollpunkt für das Training ausgewählt.