
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的,这是生动且吸引人的:)