Semantic Occupancy Prediction with Dual Range-Voxel Representation

June 30, 2026 ยท View on GitHub

Environment

  1. Create the conda environment
conda create -n occ python=3.7
conda activate occ
  1. Install the following dependencies
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu116
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.12.0+cu116.html
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu116/torch1.12.1/index.html
pip install spconv-cu116 tensorboard numba nuscenes-devkit

Prepare Dataset

  1. SemanticKITTI

    • Download SemanticKITTI from SemanticKITTI
    • Download SSC labels from SemKitti-SSC
    • Modify utils/preprocess.py and execute it to preprocess SSC labels.
  2. SemanticPOSS

  3. nuScenes-Occupancy

  4. Occ3D-nuScenes

Model Zoo

MethodDatasetIoU (%)mIoU (%)Weights
DRVRSemanticKITTI60.330.4Google-drive
DRVRSemanticPOSS58.422.7Google-drive
DRVRnuScenes-Occupancy30.621.3Google-drive
DRVROcc3D (with mask)84.750.1Google-drive
DRVROcc3D (w/o mask)40.229.4Google-drive

Training and Evaluation

  1. SemanticKITTI

    • Modify the configuration file config/drvr_semantickitti.yaml.
    • Enter the tasks/semantickitti_ssc folder, modify run.sh and run the command ./run.sh.
  2. SemanticPOSS

    • Modify the configuration file config/drvr_semanticposs.yaml.
    • Enter the tasks/semanticposs_ssc folder, modify run.sh and run the command ./run.sh.
  3. nuScenes-Occupancy

    • Modify the configuration file config/drvr_nuscenes.yaml.
    • Enter the tasks/nuscenes_openocc folder, modify run.sh and run the command ./run.sh.
  4. Occ3D-nuScenes

    • Modify the configuration file config/drvr_occ3d.yaml.
    • Enter the tasks/nuscenes_occ3d folder, modify run.sh and run the command ./run.sh.