
conda create - n echoscene python = 3.8
conda activate echosceneWir haben es auf Ubuntu 20.04 mit Pytorch 1.11.0, Cuda 11.3 und Pytorch3d getestet.
pip install - r requirements . txt
pip install einops omegaconf tensorboardx open3d(Hinweis: Wenn man auf ein Problem mit Pyyaml stößt, beziehen Sie sich bitte auf diesen Link.)
Installieren Sie MMCV-DET3D (optional):
mim install mmengine
mim install mmcv
mim install mmdet
mim install mmdet3dClip installieren:
pip install ftfy regex tqdm
pip install git + https : //github.com/openai/CLIP.gitI. Download 3D-Future-SDF. Dies wird von uns selbst auf den 3D-Future-Netze unter Verwendung von Tools in SDFusion verarbeitet.
Ii. Folgen Sie dieser Seite, um den SG-Front-Datensatz herunterzuladen und weitere Informationen zugreifen.
III. Optional
Laden Sie den 3D-Front-Datensatz von ihrer offiziellen Website herunter.
Vorverarbeitet den Datensatz nach Atiss.
Iv. Erstellen Sie einen Ordner mit dem Namen FRONT und kopieren Sie alle Dateien darauf.
Die Struktur sollte ähnlich sein:
FRONT
|--3D-FUTURE-SDF
|--All SG-FRONT files (.json and .txt)
|--3D-FRONT (optional)
|--3D-FRONT-texture (optional)
|--3D-FUTURE-model (optional)
|--3D-FUTURE-scene (optional)
|--3D-FRONT_preprocessed (optional, by ATISS)
|--threed_front.pkl (optional, by ATISS)
Essential: Laden Sie hier von hier auf die scripts/checkpoint herunter.
Optional: Wir stellen zwei geschulte Modelle an: hier EchoLayout und EchoScene hier erhältlich.
Um die Modelle zu trainieren, rennen Sie:
cd scripts
python train_3dfront.py --exp /path/to/exp_folder --room_type all --dataset /path/to/dataset --residual True --network_type echoscene --with_SDF True --with_CLIP True --batchSize 64 --workers 8 --loadmodel False --nepoch 10000 --large False --use_scene_rels True
--exp : Der Weg, auf dem geschulte Modelle und Protokolle gespeichert werden möchten.
--room_type : Zimmer zum Training, zB "Wohnzimmer", "Esszimmer", "Schlafzimmer" und "All". Wir trainieren alle Zimmer zusammen in der Implementierung.
--network_type : Das zu trainierende Netzwerk. echoscene ist Echoscen, echolayout ist Echolayout (Retrieval -Methode, einzelne Layout -Generationszweig).
--with_SDF : auf True festlegen, wenn der Zug echoscene.
--batch_size : Die Stapelgröße für das Layout-Zweig-Training.
--large : Standard ist False , True bedeutet konkrete Kategorien.
Um die Modelle zu bewerten:
cd scripts
python eval_3dfront.py --exp /path/to/trained_model --dataset /path/to/dataset --epoch 2050 --visualize True --room_type all --render_type echoscene --gen_shape True
--exp : Wo die Modelle gespeichert werden. Wenn man unsere bereitgestellten Modelle laden möchte, sollte der Pfad darauf ausgerichtet sein
--gen_shape : Setzen Sie True , wenn man Formzweig arbeiten möchte.
Diese Metrik zielt darauf ab, die Treue auf Szenenebene zu bewerten. Um FID/Kid zu bewerten, müssen Sie zunächst die von Top-Down-GT gerenderten Bilder zum Abrufen von Methoden und SDF-Renderbildern für generative Methoden herunterladen oder Renderings sammeln, indem Sie collect_gt_sdf_images.py geändert und ausgeführt werden. Beachten Sie, dass das Flag without_lamp in unserem Experiment auf True eingestellt ist.
Anschließend können die Renderings erzeugter Szenen in eval_3dfront.py erhalten werden.
Führen Sie nach dem Erhalten sowohl des Grundwahrheitsbilders als auch der erzeugten Szenen Renderings aus compute_fid_scores_3dfront.py aus.
Diese Metrik zielt darauf ab, die Treue auf Objektebene zu bewerten. Um dies zu bewerten, müssen Sie zunächst Grundwahrheitsobjekte von hier (~ 5G) erhalten.
Zweitens speichern Sie pro generiertes Objekt in den generierten Szenen, die in eval_3dfront.py erfolgen können. Ändern Sie nach dem Erhalten von Objektnetzen den Pfad in compute_mmd_cov_1nn.py und führen Sie ihn aus, um die Ergebnisse zu erzielen.
Diese Metrik basiert auf dem Abstand von Schamfern. Dies prüft, wie die erzeugten Formen zweier identischer Objekte zueinander ähneln. Um dies zu bewerten, müssen Sie die Konsistenzinformationen von hier herunterladen, die Pfade in consistency_check.py ändern und dieses Skript ausführen.
Relevante Arbeiten: Graph-to-3D, Commonscenes, Diffuscen, InstructScene, SzenetEx.
Haftungsausschluss: Dies ist ein Code -Repository nur als Referenz. Im Falle von Unstimmigkeiten hat das Papier herrscht.
Wir danken dem Autor von Diffuscene, Jiapeng Tang und der Autorin von Chenguo Lin, für die Bereitstellung des Codes und der hilfreichen Diskussionen und danken Mahdi Saleh für den Titel der Zeitung als EchoScene , was lebendig und eingängig ist :)