Allgemeine Einführung
DisPose ist ein innovatives Open-Source-Projekt für künstliche Intelligenz, das sich auf die kontrollierte Erzeugung von Charakterbildern konzentriert. Die Kerninnovation von DisPose besteht darin, die spärlichen Skelettposeninformationen in zwei Schlüsselkomponenten zu zerlegen, nämlich die Bewegungsfeldführung und die Schlüsselpunktkorrespondenz, und dieser einzigartige Ansatz führt zu einer natürlicheren und flüssigeren Animation mit größerer Präzision. Dieser einzigartige Ansatz führt zu einer natürlicheren und flüssigeren Animation mit besserer Kontrollierbarkeit. Das Projekt bietet nicht nur eine vollständige Code-Implementierung, sondern umfasst auch bereits trainierte Modelle, damit Forscher und Entwickler diese Technologie schnell einsetzen und nutzen können.
Ähnliche Artikel:StableAnimator: Erzeugt qualitativ hochwertige Videoanimationen, die die Eigenschaften der Figur beibehalten.
Funktionsliste
- Erkennung menschlicher Körperhaltungen und Extraktion von Schlüsselpunkten
- Erzeugung und Kontrolle von Sportplätzen
- Compositing der Charakterbildanimation
- Präzise Kontrolle von mehreren Gelenken
- Detaillierung von Gesicht und Hand
- Fähigkeit zur Stapelverarbeitung von Videos
- Haltungswechsel und Bewegungsumlenkung
- Schätzung und Verfolgung der Fluglage in Echtzeit
- Anpassung der Parameter für die Animationssteuerung
- Hochwertige Animationsausgabe
Hilfe verwenden
1. ökologische Konfiguration
DisPose erfordert die folgende grundlegende Umgebungskonfiguration:
- Python 3.10 oder höher
- PyTorch 2.0.1 und höher
- TorchVision 0.15.2 und höher
- CUDA 12.4 (für GPU-Beschleunigung)
Installationsschritte:
# conda-Umgebung erstellen
conda create -n dispose python==3.10
conda aktivieren dispose
# installiert die Abhängigkeiten
pip install -r anforderungen.txt
2. die Vorbereitung des Modells
- Laden Sie die Datei mit den vortrainierten Modellgewichten von Hugging Face herunter:
- Besuchen Sie https://huggingface.co/lihxxx/DisPose
- Laden Sie die Datei DisPose.pth herunter
- Legen Sie die Datei in das Verzeichnis . /pretrained_weights/ Verzeichnis
3. die Nutzungsströme der Kernfunktionen
3.1 Erkennung der Fluglage
Das System verwendet einen DWPose-Detektor zur Erkennung der menschlichen Körperhaltung, der die folgenden Schlüsselpunkte identifiziert:
- Gelenkpunkte des Körperskeletts (18)
- Punkte für Gesichtsmerkmale (68)
- Eckpunkte der Hand (21/Hand)
3.2 Bildvorverarbeitung
# Verarbeitung des Referenzbildes
ref_image = load_image(image_path)
pose_img, ref_pose = get_image_pose(ref_image)
3.3 Videoverarbeitung
# Verarbeitung von Videosequenzen
video_pose, body_points, face_points = get_video_pose(
video_pfad=video_pfad, ref_bild=ref_bild, ref_bild
ref_image=ref_image,
sample_stride=1
)
3.4 Steuerung der Animationserzeugung
Das System bietet mehrere Parameter zur Steuerung der Animationserzeugung:
- Regelung der Intensität im Stadion
- Die wichtigsten Punkte entsprechen den Gewichten
- Grad der posturalen Migration
- Timing Glattheit
4. die Beschreibung der erweiterten Funktionen
- Migration der Körperhaltung:
- Unterstützt die Posenmigration vom Quellvideo zur Zielfigur
- Beibehaltung der Identität der Figur
- Passt sich automatisch an unterschiedliche Körpergrößen an
- Action Editor:
- Unterstützung für die Änderung lokaler Maßnahmen
- Bereitstellung einer Keyframe-Bearbeitungsfunktion
- Einstellbare Geschwindigkeit und Amplitude der Bewegung
- Fähigkeit zur Stapelverarbeitung:
- Unterstützung der Stapelverarbeitung von Videos
- Bietet Optionen zur parallelen Verarbeitung
- Automatische Optimierung der Ressourcenplanung
5. vorsichtsmaßnahmen
- Vergewissern Sie sich, dass die Qualität des eingegebenen Bildes klar ist und dass die Pose der Person vollständig erkennbar ist.
- GPU-Videospeicher von mindestens 8 GB oder mehr empfohlen
- Passen Sie den Parameter sample_stride bei der Verarbeitung von hochauflösendem Video an.
- Regelmäßige Überprüfung und Aktualisierung der Version von Abhängigkeitspaketen
- Es wird empfohlen, vor der Verarbeitung großer Datenmengen Tests im kleinen Rahmen durchzuführen.
6. die Lösung gemeinsamer Probleme
- Speicherprobleme:
- Freigabe ungenutzter Ressourcen mit release_memory()
- Angemessene Größenänderung der Chargen
- Testen mit niedriger Auflösung
- Optimierung der Leistung:
- Aktivieren der GPU-Beschleunigung
- Geeignete Schrittweite für die Probenahme verwenden
- Optimierte Eingangsbildauflösung
- Qualitätsverbesserung:
- Verwendung von hochwertigen Referenzbildern
- Anpassung der Modellparameter
- Nachbearbeitungsoptimierung durchführen