gitextract_y3zcu4ix/ ├── .gitignore ├── DATA.md ├── LICENSE ├── README.md ├── TRAIN.md ├── common/ │ ├── box_utils.py │ ├── dist_utils.py │ ├── io_utils.py │ ├── launch_utils.py │ ├── misc.py │ └── type_utils.py ├── configs/ │ └── final/ │ ├── all_anno.yaml │ ├── all_nomlm.yaml │ ├── all_noobj.yaml │ ├── all_noscene.yaml │ ├── all_pretrain.yaml │ ├── all_pretrain_125.yaml │ ├── all_pretrain_25.yaml │ ├── all_pretrain_50.yaml │ ├── all_pretrain_75.yaml │ ├── all_pretrain_objcap.yaml │ ├── all_pretrain_objcap_notemplate.yaml │ ├── all_pretrain_s3d.yaml │ ├── all_pretrain_unfreeze.yaml │ ├── all_rewrite.yaml │ ├── all_template.yaml │ ├── all_wo_both.yaml │ ├── all_wo_both_125.yaml │ ├── all_wo_both_25.yaml │ ├── all_wo_both_50.yaml │ ├── all_wo_multiscan.yaml │ ├── all_wo_scannet.yaml │ ├── debug.yaml │ ├── finetune/ │ │ ├── multiscan_finetune.yaml │ │ ├── multiscan_woL.yaml │ │ ├── nr3d_finetune.yaml │ │ ├── scannet_woL.yaml │ │ ├── scanqa_finetune.yaml │ │ ├── scanrefer_finetune.yaml │ │ ├── sqa3d_finetune.yaml │ │ └── sr3d_finetune.yaml │ ├── multiscan_only.yaml │ ├── nr3d_only.yaml │ ├── procthor_only.yaml │ ├── s3d_only.yaml │ ├── scanrefer_only.yaml │ ├── scanrefer_only_gttest.yaml │ └── sr3d_only.yaml ├── data/ │ ├── __init__.py │ ├── build.py │ ├── data_utils.py │ └── datasets/ │ ├── __init__.py │ ├── arkitscene.py │ ├── base.py │ ├── constant.py │ ├── data_augmentor.py │ ├── dataset_wrapper.py │ ├── hm.py │ ├── multiscan.py │ ├── procthor.py │ ├── rscan.py │ ├── scannet.py │ ├── scannet_base.py │ ├── scannet_old.py │ └── structure3d.py ├── evaluator/ │ ├── __init__.py │ ├── build.py │ ├── objcls_eval.py │ ├── pretrain_eval.py │ ├── referit3d_eval.py │ ├── scanqa_eval.py │ ├── scanrefer_eval.py │ └── sqa3d_eval.py ├── launch.py ├── model/ │ ├── __init__.py │ ├── build.py │ ├── objcls.py │ └── openvocab.py ├── modules/ │ ├── __init__.py │ ├── build.py │ ├── grounding/ │ │ ├── __init__.py │ │ └── unified_encoder.py │ ├── heads/ │ │ ├── __init__.py │ │ ├── grounding_head.py │ │ ├── pretrain_head.py │ │ └── qa_head.py │ ├── language/ │ │ ├── __init__.py │ │ ├── bert.py │ │ └── clip.py │ ├── layers/ │ │ ├── pointnet.py │ │ └── transformers.py │ ├── third_party/ │ │ ├── __init__.py │ │ └── pointnet2/ │ │ ├── _ext_src/ │ │ │ ├── include/ │ │ │ │ ├── ball_query.h │ │ │ │ ├── cuda_utils.h │ │ │ │ ├── group_points.h │ │ │ │ ├── interpolate.h │ │ │ │ ├── sampling.h │ │ │ │ └── utils.h │ │ │ └── src/ │ │ │ ├── ball_query.cpp │ │ │ ├── ball_query_gpu.cu │ │ │ ├── bindings.cpp │ │ │ ├── group_points.cpp │ │ │ ├── group_points_gpu.cu │ │ │ ├── interpolate.cpp │ │ │ ├── interpolate_gpu.cu │ │ │ ├── sampling.cpp │ │ │ └── sampling_gpu.cu │ │ ├── _version.py │ │ ├── pointnet2_modules.py │ │ ├── pointnet2_test.py │ │ ├── pointnet2_utils.py │ │ ├── pytorch_utils.py │ │ ├── requirements_new.txt │ │ └── setup.py │ ├── utils.py │ ├── vision/ │ │ ├── __init__.py │ │ ├── obj_cls_encoder.py │ │ └── pcd_openvocab_encoder.py │ └── weights.py ├── optim/ │ ├── __init__.py │ ├── build.py │ ├── loss/ │ │ ├── __init__.py │ │ ├── contra_loss.py │ │ └── loss.py │ ├── optimizer/ │ │ ├── __init__.py │ │ └── optim.py │ ├── scheduler.py │ └── utils.py ├── preprocess/ │ ├── README.md │ ├── __init__.py │ ├── arkitscenes.py │ ├── build.py │ ├── multiscan.py │ ├── rscan.py │ ├── sceneverse2hmsemantic.py │ ├── ssg/ │ │ ├── README.md │ │ ├── relationships/ │ │ │ ├── camera.py │ │ │ ├── hanging.py │ │ │ ├── init.py │ │ │ ├── multi_objs.py │ │ │ ├── proximity.py │ │ │ └── support.py │ │ ├── ssg_data/ │ │ │ ├── dictionary.py │ │ │ ├── script/ │ │ │ │ └── ObjNode.py │ │ │ └── ssg_visualize.py │ │ ├── ssg_main.py │ │ └── ssg_utils.py │ ├── structured3d.py │ └── utils/ │ ├── __init__.py │ ├── align_utils.py │ ├── constant.py │ └── label_convert.py ├── requirements.txt ├── run.py ├── trainer/ │ ├── __init__.py │ ├── build.py │ ├── debug_trainer.py │ ├── default_trainer.py │ ├── objpretrain_trainer.py │ └── openvocab_trainer.py └── visualize_data.py