## Prepare data

- Follow the [ScanNet instructions](https://github.com/ScanNet/ScanNet) to download the ScanNet dataset.

- Use pretrained 3D instance segmentor:
    - Follow [Mask3D](https://github.com/JonasSchult/Mask3D) for instance segmentation. We use the [checkpoint](https://omnomnom.vision.rwth-aachen.de/data/mask3d/checkpoints/scannet200/scannet200_val.ckpt) pretrained on ScanNet200.

- Prepare annotations:
    - Set the `segment_result_dir` in [run_prepare.sh](run_prepare.sh) to the output dir of Mask3D.
    - Run: `bash preprocess/run_prepare.sh`

- Use pretrained 3D encoder:
    - Follow [Uni3D](https://github.com/baaivision/Uni3D?tab=readme-ov-file) to extract 3D features of each instance. We use the pretrained model [uni3d-g](https://huggingface.co/BAAI/Uni3D/blob/main/modelzoo/uni3d-g/model.pt).