Allgemeine Einführung
DiffPortrait360 ist ein Open-Source-Projekt, das Teil des CVPR 2025 Papiers "DiffPortrait360: Consistent Portrait Diffusion for 360 View Synthesis" ist. Es generiert eine konsistente 360-Grad-Kopfansicht aus einem einzigen Porträtfoto und unterstützt reale Menschen, stilisierte Bilder und anthropomorphe Charaktere, sogar einschließlich Details wie Brillen und Hüte. Das Projekt basiert auf einem Diffusionsmodell (LDM), das mit ControlNet und dem Dual Appearance-Modul kombiniert wird, um qualitativ hochwertige neuronale Strahlungsfelder (NeRFs) zu erzeugen, die für das Rendering von freien Ansichten in Echtzeit verwendet werden können. Es eignet sich für immersive Telepräsenz und die Erstellung personalisierter Inhalte und findet in der Wissenschaft und in der Entwicklergemeinschaft bereits Beachtung.
Funktionsliste
- Erzeugen Sie eine 360-Grad-Kopfansicht aus einem einzigen Porträtfoto.
- Unterstützt die Erstellung von echten Menschen, stilisierten Bildern und anthropomorphen Figuren.
- Verwenden Sie ControlNet zur Generierung von Hintergrundinformationen, um eine realistische Darstellung zu gewährleisten.
- Ausgabe hochwertiger NeRF-Modelle mit Unterstützung für Free-View-Rendering.
- Die Einheitlichkeit der Vorder- und Rückansichten wird durch das doppelte Erscheinungsbildmodul gewährleistet.
- Open-Source-Inferenzcode und vortrainierte Modelle, die von Entwicklern verwendet und verändert werden können.
- Bietet im Internet erfasste Testdaten mit Pexels und 1000en von echten Porträts.
Hilfe verwenden
DiffPortrait360 ist ein Tool für Entwickler und Forscher und erfordert eine gewisse technische Grundlage. Nachfolgend finden Sie eine detaillierte Anleitung zur Installation und Verwendung.
Einbauverfahren
- Hardware und Systeme vorbereiten
Sie benötigen einen NVIDIA-Grafikprozessor mit CUDA-Unterstützung und mindestens 30 GB RAM (um 32 Videobilder zu erzeugen), empfohlen werden 80 GB (z. B. A6000). Das Betriebssystem sollte Linux sein.- Überprüfen Sie die CUDA Version, 12.2 wird empfohlen:
nvcc --version
- Überprüfen Sie die CUDA Version, 12.2 wird empfohlen:
- Die Umwelt gestalten
Erstellen einer Python 3.9 Umgebung mit Conda:
conda env create -n diffportrait360 python=3.9
conda activate diffportrait360
- Klonen von Code
Laden Sie den Projektcode lokal herunter:
git clone https://github.com/FreedomGu/DiffPortrait360.git
cd DiffPortrait360/diffportrait360_release
- Installation von Abhängigkeiten
Projektangeboterequirements.txt
führen Sie den folgenden Befehl aus, um es zu installieren:
pip install -r requirements.txt
- Wenn Sie einen Abhängigkeitskonflikt feststellen, aktualisieren Sie die Pip:
pip install --upgrade pip
- Herunterladen des vortrainierten Modells
Laden Sie das Modell von Hugging Face herunter:
- Interviews HF-Links.
- Herunterladen von
PANO_HEAD_MODEL
undHead_Back_MODEL
im Gesang antwortenDiff360_MODEL
. - Platzieren Sie das Modell im lokalen Pfad und
inference.sh
Ändern Sie den entsprechenden Pfad, z. B. inPANO_HEAD_MODEL=/path/to/pano_head_model
- Überprüfung der Umgebung
Prüfen Sie, ob die GPU verfügbar ist:
python -c "import torch; print(torch.cuda.is_available())"
Ausfuhren True
Zeigt eine normale Umgebung an.
Bedienung der Hauptfunktionen
360-Grad-Kopfansicht generieren
- Vorbereiten der Dateneingabe
- Bereiten Sie ein Frontalporträtfoto (JPEG oder PNG) mit einer empfohlenen Auflösung von 512x512 oder höher vor.
- Legen Sie das Foto in den
input_image/
(falls dieser Ordner nicht existiert, erstellen Sie ihn manuell). - gewinnen
dataset.json
(Kamerainformationen), siehe PanoHead Beschneidungsanleitung Bearbeiten Sie Ihre eigenen Fotos.
- Ausführen von Inferenzskripten
- Wechseln Sie in das Code-Verzeichnis:
cd diffportrait360_release/code
- Exekutive Argumentation:
bash inference.sh
- Die Ausgabe wird im angegebenen Ordner gespeichert (Standard)
output/
).
- Ergebnisse anzeigen
- Die Ausgabe besteht aus Bildern mit mehreren Blickwinkeln und NeRF-Modelldateien (
.nerf
(Format). - Laden mit einem NeRF-Rendering-Tool wie NeRFStudio.
.nerf
Datei, stellen Sie den Blickwinkel ein, um den 360-Grad-Effekt zu sehen.
Optimierung der Rückseite mit ControlNet
- existieren
inference.sh
Aktivieren Sie das Modul zur Erzeugung von Rückseiten in den Parametern Ändern:
--use_controlnet
- Nach dem Durchlauf werden die Rückseitendetails bei komplexen Szenen realistischer dargestellt.
Benutzerdefiniertes Data Reasoning
- Einfügen von benutzerdefinierten Fotos in
input_image/
. - Erzeugung von
dataset.json
Stellen Sie sicher, dass die Kamerainformationen korrekt sind. - Laufen:
bash inference.sh
caveat
- Ein unzureichender GPU-Speicher kann zu Fehlern führen. Es wird empfohlen, eine Grafikkarte mit großem Speicher zu verwenden.
- Das Projekt bietet keinen Trainingscode und unterstützt nur die Inferenz. Folgen Sie den GitHub-Updates für die neuesten Fortschritte.
- Testdaten sind erhältlich bei der Gesicht umarmen Download mit Pexels und 1000 echten Porträts.
Anwendungsszenario
- Immersive Telekonferenzen
Die Benutzer können mit einem einzigen Foto eine 360-Grad-Kopfansicht erstellen, um die Realitätsnähe virtueller Meetings zu erhöhen. - Spielcharakter-Design
Entwickler generieren 3D-Kopfmodelle aus Konzeptzeichnungen, um den Spielentwicklungsprozess zu beschleunigen. - Erstellung digitaler Kunst
Künstler verwenden es, um stilisierte Avatare für NFT oder Präsentationen in sozialen Medien zu erstellen.
QA
- Was sind die Mindestanforderungen an die Hardware?
Erfordert NVIDIA-GPU mit CUDA-Unterstützung, mindestens 30 GB RAM, 80 GB empfohlen. - Unterstützt es Fotos mit niedriger Auflösung?
Nicht empfohlen. Bei einer Eingangsauflösung von weniger als 512x512 können Details verloren gehen und die Ergebnisse können sich verschlechtern. - Ist es möglich, ein Video zu erstellen?
Die aktuelle Version erzeugt statische Ansichtssequenzen, die mit dem Tool in ein Video umgewandelt werden können, unterstützt aber keine direkte Ausgabe von dynamischen Videos.