Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ragavsachdeva/CYWS-3D/llms.txt

Use this file to discover all available pages before exploring further.

CYWS-3D depends on a precise set of library versions — particularly PyTorch, PyTorch3D, and mmcv-full — that must be installed in the correct order. The instructions below use conda for environment isolation and have been tested on a Linux system with a CUDA 11.3-capable GPU. Follow each step in sequence; skipping or reordering steps is the most common cause of installation failures.
CYWS-3D requires exact version pins for several packages. Using newer or older versions of PyTorch (1.10.1), torchvision (0.11.2), PyTorch3D (0.7.1), mmcv-full (1.7.0), kornia (0.6.8), or timm (0.6.12) is likely to cause runtime errors or silent incompatibilities. Do not upgrade these packages after installation.

Prerequisites

  • CUDA 11.3 — a driver and toolkit version compatible with cudatoolkit=11.3.1 must be present on the host.
  • Python 3.9 — managed automatically by conda in the steps below.
  • conda — Miniconda or Anaconda. The installation commands use conda directly; ensure it is on your PATH.
  • Git — required to clone the repository along with its submodule.

Installation steps

1

Clone the repository (with submodules)

CYWS-3D includes SuperGluePretrainedNetwork as a Git submodule for feature matching. The --recursive flag is required — omitting it will clone an empty submodule directory and cause import errors at runtime.
git clone --recursive git@github.com:ragavsachdeva/CYWS-3D.git
cd CYWS-3D
2

Create and activate the conda environment

Create a dedicated Python 3.9 environment to isolate CYWS-3D’s dependencies from other projects.
conda create -n cyws3d python=3.9 -y
conda activate cyws3d
3

Install PyTorch, torchvision, and CUDA toolkit

Install the pinned versions of PyTorch and torchvision together with the matching CUDA toolkit. Installing these through conda ensures that the compiled CUDA extensions in later steps link against the correct libraries.
conda install -c pytorch pytorch=1.10.1 torchvision=0.11.2 cudatoolkit=11.3.1 -y
4

Install fvcore and iopath (PyTorch3D prerequisites)

PyTorch3D requires fvcore and iopath from their respective conda channels.
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
5

Install PyTorch3D

Install the pinned PyTorch3D release. The --freeze-installed flag prevents conda from downgrading any packages that were installed in the previous steps.
conda install pytorch3d==0.7.1 -c pytorch3d --freeze-installed
6

Install mmcv-full

mmcv-full must be installed from the OpenMMLab wheel index corresponding to CUDA 11.3 and PyTorch 1.10. Installing from PyPI directly will pull a CPU-only or mismatched build.
pip install mmcv-full==1.7.0 \
  -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10/index.html
7

Install remaining Python packages

Install the rest of the Python dependencies via pip.
pip install timm==0.6.12 jsonargparse matplotlib imageio loguru \
  einops wandb easydict kornia==0.6.8 scipy etils mmdet==2.25.3
8

Install the custom segmentation-models-pytorch fork

CYWS-3D requires a specific fork of segmentation-models-pytorch with modifications not present in the upstream package.
pip install segmentation-models-pytorch@git+https://github.com/ragavsachdeva/segmentation_models.pytorch.git@2cde92e776b0a074d5e2f4f6a50c68754f948015

Download the pre-trained checkpoint

The pre-trained model weights are distributed as a gzip-compressed checkpoint file. Download and decompress it into the repository root:
wget https://thor.robots.ox.ac.uk/cyws-3d/cyws-3d.ckpt.gz
gzip -d cyws-3d.ckpt.gz
After decompression you will have cyws-3d.ckpt in the current directory. Pass this path to --load_weights_from when running inference.

Download the datasets (optional)

Two annotated 3D change-detection datasets are provided for evaluation. Both are optional and only needed if you intend to reproduce the paper’s benchmark results. KC-3D — a dataset of indoor scenes with annotated changes:
wget https://thor.robots.ox.ac.uk/cyws-3d/kc3d.tar
tar -xf kc3d.tar
RC-3D — a dataset of rendered 3D scenes with annotated changes:
wget https://thor.robots.ox.ac.uk/cyws-3d/rc3d.tar
tar -xf rc3d.tar
The demo images shipped in demo_data/ are included in the repository and do not require any separate download. You can run inference immediately after obtaining the checkpoint.

Build docs developers (and LLMs) love