
conda create - n echoscene python = 3.8
conda activate echoscene我們已經在ubuntu 20.04上使用Pytorch 1.11.0,Cuda 11.3和Pytorch3d對其進行了測試。
pip install - r requirements . txt
pip install einops omegaconf tensorboardx open3d(注意:如果遇到PYYAML的問題,請參考此鏈接。)
安裝MMCV-DET3D(可選):
mim install mmengine
mim install mmcv
mim install mmdet
mim install mmdet3d安裝剪輯:
pip install ftfy regex tqdm
pip install git + https : //github.com/openai/CLIP.gitI.下載3D-Future-SDF。我們自己使用SDFusion中的工具在3D未來網格上處理這。
ii。請按照此頁面下載SG-Front數據集並訪問更多信息。
iii。選修的
從其官方網站下載3D前數據集。
預處理數據集ATISS。
iv。創建一個名為FRONT的文件夾,然後將所有文件複製到它。
結構應該類似:
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)
本質:從此處下載驗證的VQ-VAE型號到文件scripts/checkpoint 。
可選:我們提供了兩種訓練有素的型號:可在此處提供的EchoLayout和此處可用的EchoScene 。
要訓練模型,請運行:
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 :希望存儲訓練有素的模型和日誌的路徑。
--room_type :訓練的房間,例如,“客廳”,“餐廳”,“臥室”和“全部”。我們在實施中一起訓練所有房間。
--network_type :要訓練的網絡。 echoscene是Echoscene, echolayout是Echolayout(檢索方法,單佈局生成分支)。
--with_SDF :設置為True If Train Echoscene。
--batch_size :佈局分支培訓的批次大小。
--large :默認值為False , True意味著更多具體類別。
評估模型運行:
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 :存儲模型的位置。如果一個人想加載我們提供的模型,則應將路徑與
--gen_shape :如果要組成形狀分支工作,則設置為True 。
該指標旨在評估場景級別的保真度。要評估FID/KID,您首先需要下載自上而下的GT渲染圖像,以進行檢索方法和SDF渲染圖像以進行生成方法,或通過修改和運行collect_gt_sdf_images.py來收集渲染圖。請注意,在我們的實驗中, without_lamp標誌將設置為True 。
然後,可以在eval_3dfront.py中獲得生成場景的效果圖。
在獲得兩個地面真相圖像和生成的場景效果圖後,運行compute_fid_scores_3dfront.py 。
該指標旨在評估對象級保真度。為了評估這一點,您需要首先從這裡獲得地面真相對象(〜5G)。
其次,在生成的場景中存儲每個生成的對象,可以在eval_3dfront.py中完成。獲得對象網格後,修改compute_mmd_cov_1nn.py中的路徑並運行它以具有結果。
該指標基於倒角距離。這檢查了兩個相同對象的生成形狀彼此相似。為了評估這一點,您需要從此處下載一致性信息,修改consistency_check.py中的路徑,然後運行此腳本。
相關工作:圖表到3D,Commonscenes,diffuscene,consendscene,sceetEtex。
免責聲明:這是一個僅供參考的代碼存儲庫;如果有任何差異,則該論文應佔上風。
我們感謝Diffuscene的作者Jiapeng Tang和Concentscene的作者Chenguo Lin提供了代碼和有用的討論,並感謝Mahdi Saleh將紙張稱為EchoScene ,它是Echoscene的,這是生動且吸引人的:)