Allgemeine Einführung
Thin-Plate-Spline-Motion-Model ist ein bahnbrechendes Projekt zur Erzeugung von Bildanimationen, das auf der CVPR 2022 vorgestellt wurde. Das Projekt basiert auf der Theorie der Thin-Plate-Spline-Transformation, die eine qualitativ hochwertige Animation von statischen Bildern auf der Grundlage von Fahrvideos ermöglicht. Das Projekt verwendet ein durchgängiges, unüberwachtes Lernverfahren, das sich besonders gut für Situationen eignet, in denen es große Posenunterschiede zwischen dem Ausgangsbild und dem Fahrvideo gibt. Durch die innovative Einführung einer dünnen Spline-Bewegungsabschätzung und einer Maskierung mit mehreren Auflösungen ist das Modell in der Lage, natürlichere und glattere Animationseffekte zu erzeugen. Das Projekt stellt nicht nur die komplette Code-Implementierung als Open Source zur Verfügung, sondern auch ein vortrainiertes Modell und eine Online-Demo, die es Forschern und Entwicklern ermöglicht, die Technik einfach zu reproduzieren und anzuwenden.
Was ist, wenn der Sprecher des öffentlichen Bildes geht? Sie können das Bild des Sprechers behalten und dann eine andere Person ein Video aufnehmen lassen, so dass das Bild des Sprechers die Aktionen des aufgenommenen Videos nachahmt, um das Video zu erstellen, ähnlich wie bei der Face-Swapping-Technologie.
Funktionsliste
- Erzeugung statischer Bildanimationen
- Unterstützung für das Training auf mehreren Datensätzen (VoxCeleb, TaiChi-HD, TED-Talks, etc.)
- Vorgefertigte Modelle zum Download verfügbar
- Unterstützung für webbasierte Online-Präsentationen (Integration von Hugging Face Spaces)
- Unterstützt Google Colab, das online läuft
- Unterstützt Multi-GPU-Training
- AVD (Advanced Video Decoder) Netzwerk-Trainingsfunktion bereitstellen
- Bewertungsfunktion für die Videorekonstruktion
- Unterstützung für Python-API-Aufrufe
- Unterstützung von Docker-Umgebungen
Hilfe verwenden
1. ökologische Konfiguration
Das Projekt erfordert eine Python 3.x Umgebung (Python 3.9 wird empfohlen), und die Installationsschritte sind wie folgt:
- Klonen des Projektlagers:
git clone https://github.com/yoyo-nb/Thin-Plate-Spline-Motion-Model.git
cd Thin-Plate-Spline-Motion-Model
- Installieren Sie die Abhängigkeit:
pip install -r anforderungen.txt
2. die Datenaufbereitung
Das Projekt unterstützt mehrere Datensätze:
- MGif-Datensatz: beziehen Sie sich auf das Monkey-Net-Projekt, um ihn zu erhalten
- TaiChiHD- und VoxCeleb-Datensätze: Verarbeitung nach Video-Vorverarbeitungsrichtlinien
- TED-Talks-Datensatz: gemäß den MRAA-Projektrichtlinien
Download des Vorverarbeitungsdatensatzes (VoxCeleb als Beispiel):
# Herunterladen und zusammenführen, um zu dekomprimieren
cat vox.tar.* > vox.tar
tar xvf vox.tar
3. die Modellausbildung
Aufträge für die Grundausbildung:
CUDA_VISIBLE_DEVICES=0,1 python run.py --config config/dataset_name.yaml --device_ids 0,1
AVD-Netzwerkschulung:
CUDA_VISIBLE_DEVICES=0 python run.py --mode train_avd --checkpoint '{checkpoint_folder}/checkpoint.pth.tar' --config config/dataset_name. yaml
4. die Bewertung der Videorekonstruktion
CUDA_VISIBLE_DEVICES=0 python run.py --mode reconstruction --config config/dataset_name.yaml --checkpoint '{checkpoint_folder}/checkpoint. pth.tar'
5. grafische Animationspräsentationen
Bietet eine Vielzahl von Möglichkeiten zur Nutzung:
- Jupyter Notebook: Verwendung von demo.ipynb
- Python-Befehlszeile:
CUDA_VISIBLE_DEVICES=0 python demo.py --config config/vox-256.yaml --checkpoint checkpoints/vox.pth.tar --source_image . /source.jpg --driving_video . /driving.mp4
- Web-Demo:
- InterviewsGesicht umarmen RäumeOnline-Demo
- ausnutzenReplizieren SieWeb-Demo der Plattform
- passieren (eine Rechnung oder Inspektion etc.)Google Colabin Bewegung sein
6. vorbereitende Modellbildung
Es werden mehrere Download-Quellen angeboten:
- Google Drive
- Yandex-Scheibe
- Baidu.com (Auszugscode: 1234)
7 Vorbehalte
- Es wird empfohlen, mit mehr Daten und längeren Trainingszyklen zu trainieren, um bessere Ergebnisse zu erzielen.
- Ausreichenden GPU-Speicher sicherstellen
- Es wird empfohlen, den vorverarbeiteten Datensatz für das Training zu verwenden.