AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

GenXD: Open-Source-Framework zur Erzeugung von Videos beliebiger 3D- und 4D-Szenen

Allgemeine Einführung

GenXD ist ein Open-Source-Projekt, das von der National University of Singapore (NUS) und dem Microsoft-Team entwickelt wurde. Es konzentriert sich auf die Generierung beliebiger 3D- und 4D-Szenen und löst die Herausforderungen der 3D- und 4D-Generierung in der realen Welt, die auf unzureichende Daten und komplexes Modelldesign zurückzuführen sind. GenXD stellt den ersten quelloffenen 4D-Datensatz, CamVid-30K, zur Verfügung, der Kamerapositions- und Bewegungsinformationen aus mehr als 30.000 Videos enthält. Die Benutzer können damit Videos oder konsistente 3D-Ansichten erzeugen, die mit der Kamerabewegung übereinstimmen. Das Projekt wurde vom ICLR 2025 im Januar 2025 angenommen und wird auf GitHub von Forschern und Entwicklern aufmerksam verfolgt.

GenXD: Open-Source-Framework zur Erzeugung von Videos beliebiger 3D- und 4D-Szenen-1


 

Funktionsliste

  • Generieren Sie beliebige 3D-Szenen und unterstützen Sie die konsistente Ausgabe von 3D-Ansichten aus verschiedenen Blickwinkeln.
  • Erzeugen Sie 4D-Bewegungsszenen, um Videos zu erstellen, die sich im Laufe der Zeit verändern.
  • Zerlegen Sie Kamera- und Objektbewegungen, um einen natürlichen Fluss der generierten Inhalte zu gewährleisten.
  • Der CamVid-30K-Datensatz ist zur Unterstützung dynamischer 3D- und 4D-Missionsstudien verfügbar.
  • Unterstützt mehrere bedingte Eingaben (z. B. Bilder oder eine kleine Anzahl von Ansichten) zur flexiblen Anpassung der generierten Ergebnisse.
  • Konvertieren Sie 3D-Ansichten in bearbeitbare digitale Assets.
  • Integriertes Multiview-Zeitmodul zur Optimierung der 3D- und 4D-Datenfusion.

 

Hilfe verwenden

GenXD ist ein Open-Source-Framework für die Forschung. Um es zu verwenden, müssen die Benutzer die Umgebung lokal erstellen. Im Folgenden finden Sie eine ausführliche Installations- und Betriebsanleitung, die den Benutzern einen schnellen Einstieg ermöglicht.

Einbauverfahren

GenXD erfordert die Unterstützung einer Programmierumgebung und ist für Benutzer mit einigen technischen Grundlagen geeignet. Die Installationsschritte sind wie folgt:

  1. Vorbereiten der Basisumgebung
    • Stellen Sie sicher, dass Python 3.10 oder höher auf Ihrem Computer installiert ist.
    • Installieren Sie Git, um den Code herunterzuladen. Führen Sie es im Terminal aus:
      git clone https://github.com/HeliosZhao/GenXD.git
      
    • Rufen Sie den Projektkatalog auf:
      cd GenXD
      
  2. Installation von Kernabhängigkeiten
    • Installieren Sie PyTorch (empfohlene Version 2.1.2 mit CUDA-Unterstützung). Starten Sie es:
      pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
      
    • Installieren Sie weitere Abhängigkeiten (z.B. diffusers 0.30.3). Ausführen:
      pip install -r requirements.txt
      
    • für den Fall, dass requirements.txt Nicht vorhanden, siehe die offiziellen Anweisungen zur Installation von NumPy, OpenCV und anderen Bibliotheken.
  3. Herunterladen des vortrainierten Modells
    • Laden Sie das Modell von Hugging Face herunter:
      pip install -U "huggingface_hub[cli]"
      huggingface-cli download Yuyang-z/genxd --local-dir ./genxd-model
      
    • Legen Sie die Modelldateien in das Projektverzeichnis unter dem genxd-model Mappe.
  4. Datensatz herunterladen
    • Der CamVid-30K-Datensatz steht unter Hugging Face zum Download bereit:
      • Der VIPSeg-Teilsatz und der OpenVid-Teilsatz sind unter https://huggingface.co/datasets/Yuyang-z/CamVid-30K verfügbar.
      • WebVid-10M Subset ist aufgrund von Beschränkungen nicht verfügbar, Sie müssen es sich selbst besorgen.
    • Herunterladen und entpacken nach data/camvid-30k Mappe.
  5. Überprüfung der Umgebung
    • Stellen Sie sicher, dass Sie einen NVIDIA-Grafikprozessor verwenden:
      python -c "import torch; print(torch.cuda.is_available())"
      

      Ausfuhren True Zeigt eine normale Umgebung an.

Verwendung der Hauptfunktionen

GenXD unterstützt eine Vielzahl von Generierungsaufgaben, und im Folgenden wird beschrieben, wie man sie durchführt.

1. die Bilder anpassen, um 3D-Szenen zu erzeugen

  • Vorbereiten auf den Eintritt: Platzieren Sie ein Bild (im PNG- oder JPG-Format) im Feld example-images Mappe.
  • Einstellen des Kameramodus: Unterstützung forward(Vorwärts) und orbit(Surround) zwei Modi.
  • Befehl ausführen::
DATA_ROOT="example-images"
OUTPUT_DIR="outputs/example-images"
accelerate launch --main_process_port 1223 inference.py 
diffusion.pretrain_unet="./genxd-model" 
diffusion.output_dir="$OUTPUT_DIR" 
+evaluator.data_name="static_cam_single" 
+evaluator.data_root="$DATA_ROOT" 
+evaluator.camera_info.mode="forward" 
+evaluator.camera_info.elevation=0. 
+evaluator.camera_info.azimuth_range=[-30,30] 
+evaluator.focal=1.0938 
+evaluator.camera_info.radius=2.0
  • Ergebnisse AnsichtDie erzeugte 3D-Multiview-Ansicht wird in der Datei outputs/example-imagesDie erste Möglichkeit ist, die Datei mit einem Programm wie Blender zu öffnen.

2. beispiellose 3D-Szenenerzeugung

  • Daten vorbereitenLaden Sie den ReconFusion-Datensatz herunter (https://huggingface.co/datasets/Yuyang-z/reconfusion-torch) und extrahieren Sie ihn in das Verzeichnis data/reconfusion-torch/re10k.
  • Schritt 1: Erzeugen von Kameraspuren::
python tools/pose_traj_generate.py -d data/reconfusion-torch/re10k -o outputs/pose_dataset --save_data_pose -sx 0.2 0.4 -0.2 -0.4 -sz 0.2 0.4 -0.2 -0.4 -n 18
  • Schritt 2: Ansichten generieren::
accelerate launch --main_process_port 1224 inference.py 
diffusion.pretrain_unet="./genxd-model" 
diffusion.output_dir="outputs/re10k-group" 
+evaluator.data_name="reconfgroup" 
+evaluator.data_root="data/reconfusion-torch/re10k" 
+evaluator.pose_dir="outputs/pose_dataset/re10k" 
+evaluator.num_context_views=3 
+evaluator.n_views=3 
+evaluator.save_target_only=True 
+evaluator.pad_to_square=True
  • Ergebnisse Ansicht: Die erzeugte 3D-Ansicht wird in der outputs/re10k-group.

3. die Erzeugung von dynamischen 4D-Szenen

  • Daten vorbereitenCamVid-30K: Verwenden Sie das Video im CamVid-30K-Datensatz und fügen Sie es in den data/camvid-30k.
  • Befehl ausführenSie müssen die Parameter an die jeweilige Aufgabe anpassen. Beispiele für Befehle finden Sie in der GitHub-Aktualisierung.
  • Ergebnisse AnsichtDas erzeugte Video wird im angegebenen Ausgabeverzeichnis gespeichert.

Featured Function Bedienung

Zerlegung von Kamera- und Objektbewegungen

  • GenXD verwendet ein Multiview-Zeitmodul, um Kamera- und Objektbewegung zu trennen.
  • laufendes Beispiel::
python motion_decompose.py --input data/camvid-30k/sample_video --output outputs/motion_data
  • verwenden.Die erzeugten Bewegungsdaten können zur Anpassung der 4D-Szene verwendet werden.

Verwendung des CamVid-30K-Datensatzes

  • DatenstrukturEntpackt enthält es Bilder und COLMAP-Dateien (z.B. cameras.bin).
  • Daten laden: Einsetzen data/camvid-30kführen Sie das Testskript aus:
python test_dataset.py --dataset data/camvid-30k

caveat

  • Der GPU-Speicher muss 16 GB oder mehr betragen, und die Erstellung von 4D-Aufgaben dauert sehr lange.
  • Prüfen Sie die letzte Code-Aktualisierung für die offizielle Version des vortrainierten Modells vom 26. März 2025.
  • Bei Fragen wenden Sie sich bitte an .

 

Anwendungsszenario

  1. Forschungsexperiment
  • Die Forscher nutzten GenXD, um 3D- und 4D-Generierungsalgorithmen zu testen und die neuen Modelle zu validieren.
  1. Erstellung virtueller Inhalte
  • Schöpfer erzeugen dynamische Szenen zur Verwendung in Animations- oder Virtual-Reality-Projekten.
  1. Bildung und Ausbildung
  • Die Studenten lernen Computer Vision und generative Techniken anhand des CamVid-30K-Datensatzes.

 

QA

  1. Ist GenXD kostenlos?
  • Ja, es ist ein Open-Source-Projekt unter der Apache-2.0-Lizenz.
  1. Brauche ich eine Internetverbindung, um es zu benutzen?
  • Nicht erforderlich, lokal installiert und betriebsbereit.
  1. Sind die generierten Ergebnisse echt?
  • Das Modell ist nicht völlig realistisch und dient nur zu Forschungszwecken.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " GenXD: Open-Source-Framework zur Erzeugung von Videos beliebiger 3D- und 4D-Szenen
de_DEDeutsch