Follow setup instructions from README.
$ conda activate crossover
Adjust path parameters in configs/train/train_instance_baseline.yaml
and run the following:
$ bash scripts/train/train_instance_baseline.sh
Adjust path parameters in configs/train/train_instance_crossover.yaml
and run the following:
$ bash scripts/train/train_instance_crossover.sh
Adjust path/configuration parameters in configs/train/train_scene_crossover.yaml
. You can also add your customised dataset or choose to train on Scannet & 3RScan & MultiScan or any combination of the same. Run the following:
$ bash scripts/train/train_scene_crossover.sh
The scene retrieval pipeline uses the trained weights from instance retrieval pipeline (for object feature calculation), please ensure to update
task:UnifiedTrain:object_enc_ckpt
in the config file.
We provide all an inventory of all checkpoints on G-Drive here. Detailed descriptions in the table below:
Description | Checkpoint Link |
---|---|
Instance Baseline trained on 3RScan | 3RScan |
Instance Baseline trained on ScanNet | ScanNet |
Instance Baseline trained on ScanNet + 3RScan | ScanNet+3RScan |
Description | Checkpoint Link |
---|---|
Instance CrossOver trained on 3RScan | 3RScan |
Instance CrossOver trained on ScanNet | ScanNet |
Instance CrossOver trained on ScanNet + 3RScan | ScanNet+3RScan |
Instance CrossOver trained on ScanNet + 3RScan + MultiScan | ScanNet+3RScan+MultiScan |
Description | Checkpoint Link |
---|---|
Unified CrossOver trained on ScanNet + 3RScan | ScanNet+3RScan |
Unified CrossOver trained on ScanNet + 3RScan + MultiScan | ScanNet+3RScan+MultiScan |
We release script to perform inference (generate scene-level embeddings) on a single scan of 3RScan/Scannet. Detailed usage in the file. Quick instructions below:
$ python single_inference/scene_inference.py
Various configurable parameters:
--dataset
: dataset name, Scannet/Scan3R/MultiScan--data_dir
: data directory (eg:./datasets/Scannet
, assumes similar structure as inpreprocess.md
).--floorplan_dir
: directory consisting of the rasterized floorplans (this can point to the downloaded preprocessed directory), only for Scannet--ckpt
: Path to the pre-trained scene crossover model checkpoint (details here), example_path:./checkpoints/scene_crossover_scannet+scan3r.pth/
.--scan_id
: the scan id from the dataset you'd like to calculate embeddings for (if not provided, embeddings for all scans are calculated).
The script will output embeddings in the same format as provided here.
Run the following script (refer to the script to run instance baseline/instance crossover) for objects instance + scene retrieval results using the instance-based methods. Detailed usage inside the script.
$ bash scripts/evaluation/eval_instance_retrieval.sh
Running this script for 3RScan dataset will also show point-to-point temporal instance matching results on the RIO category subset.
Run the following script (for scene crossover). Detailed usage inside the script.
$ bash scripts/evaluation/eval_instance_retrieval.sh