
conda create - n echoscene python = 3.8
conda activate echosceneKami telah mengujinya di Ubuntu 20.04 dengan Pytorch 1.11.0, Cuda 11.3 dan Pytorch3d.
pip install - r requirements . txt
pip install einops omegaconf tensorboardx open3d(Catatan: Jika seseorang menghadapi masalah dengan pyyaml, silakan merujuk ke tautan ini.)
Instal MMCV-DET3D (Opsional):
mim install mmengine
mim install mmcv
mim install mmdet
mim install mmdet3dInstal klip:
pip install ftfy regex tqdm
pip install git + https : //github.com/openai/CLIP.gitI. Unduh 3D-Future-SDF. Ini diproses oleh diri kita sendiri pada jerat future 3D menggunakan alat di SDFusion.
Ii. Ikuti halaman ini untuk mengunduh SG-Front Dataset dan mengakses informasi lebih lanjut.
AKU AKU AKU. Opsional
Unduh dataset 3D-front dari situs resmi mereka.
Preprocess dataset mengikuti atiss.
Iv. Buat folder bernama FRONT , dan salin semua file ke sana.
Strukturnya harus serupa seperti ini:
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: Unduh model VQ-VAE pretrained dari sini ke scripts/checkpoint .
Opsional: Kami menyediakan dua model terlatih: EchoLayout tersedia di sini dan EchoScene tersedia di sini.
Untuk melatih model, jalankan:
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 : Jalan di mana model dan log yang terlatih ingin disimpan.
--room_type : Kamar untuk berlatih, misalnya, 'ruang tamu', 'ruang makan', 'kamar tidur', dan 'semua'. Kami melatih semua kamar bersama dalam implementasi.
--network_type : Jaringan yang akan dilatih. echoscene adalah Echoscene, echolayout adalah Echolayout (Metode Pengambilan, Cabang Generasi Tata Letak Tunggal).
--with_SDF : Setel ke True if train echoscene.
--batch_size : Ukuran batch untuk pelatihan cabang tata letak.
--large : Default False , True berarti lebih banyak kategori konkret.
Untuk mengevaluasi model yang dijalankan:
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 : Di mana model disimpan. Jika seseorang ingin memuat model yang disediakan kami, jalur harus diselaraskan dengan
--gen_shape : Tetapkan True jika seseorang ingin membuat bentuk cabang bekerja.
Metrik ini bertujuan untuk mengevaluasi kesetiaan tingkat adegan. Untuk mengevaluasi FID/KID, pertama-tama Anda harus mengunduh gambar yang diberikan GT top-down untuk metode pengambilan dan sdf yang diberikan gambar untuk metode generatif, atau mengumpulkan rendering dengan memodifikasi dan menjalankan collect_gt_sdf_images.py . Perhatikan bahwa bendera without_lamp diatur ke True dalam percobaan kami.
Kemudian, rendering adegan yang dihasilkan dapat diperoleh di dalam eval_3dfront.py .
Setelah mendapatkan kedua gambar kebenaran ground dan rendering adegan yang dihasilkan, jalankan compute_fid_scores_3dfront.py .
Metrik ini bertujuan untuk mengevaluasi kesetiaan tingkat objek. Untuk mengevaluasi ini, Anda harus terlebih dahulu mendapatkan jinar objek kebenaran tanah dari sini (~ 5g).
Kedua, simpan per objek yang dihasilkan dalam adegan yang dihasilkan, yang dapat dilakukan di eval_3dfront.py . Setelah mendapatkan jala objek, ubah jalur di compute_mmd_cov_1nn.py dan jalankan untuk memiliki hasil.
Metrik ini didasarkan pada jarak chamfer. Yang memeriksa bagaimana bentuk yang dihasilkan dari dua objek identik mirip satu sama lain. Untuk mengevaluasi ini, Anda perlu mengunduh informasi konsistensi dari sini, memodifikasi jalur di consistency_check.py , dan menjalankan skrip ini.
Pekerjaan yang relevan: Grafik-ke-3d, Commonscenes, Diffuscene, InstructScene, Scenetex.
Penafian: Ini adalah repositori kode hanya untuk referensi; Dalam hal perbedaan apa pun, makalah ini akan berlaku.
Kami berterima kasih kepada penulis Diffuscene Jiapeng Tang dan penulis Instruktur Chenguo Lin karena telah memberikan kode dan diskusi yang bermanfaat, dan juga berterima kasih kepada Mahdi Saleh karena telah berjudul makalah sebagai EchoScene , yang jelas dan menarik :)