Official PyTorch implementation of the paper "Online Segmentation of LiDAR Sequences: Dataset and Algorithm".
Please visit our webpage for more details.
git clone git@github.com:romainloiseau/Helix4D.git --recursive
conda env create -f environment.yml
conda activate helix4d_conda
Optional: some monitoring routines are implemented with tensorboard
.
Note: this implementation uses spconv
for sparse convolutions, pytorch_lightning
for all training routines and hydra
to manage configuration files and command line arguments.
This implementation uses dedicated modules to perform slice-splitting on HelixNet and Semantic-KITTI datasets that can be found here. HelixNet's toolbox is used as a submodule for this repository.
Go to the website of desired datasets and download them at /path/to/datasets/
and use data.data_dir=/path/to/datasets/dataset-name
as a command line argument for python to find your path when using this implementation.
To train our best model, launch :
python main.py \
+data=dataset \
+experiment=ours
helixnet
: HelixNet (9 classes)semantic-kitti
: Semantic-KITTI (20 classes)semantic-kitti-all
: Semantic-KITTI with moving objects (26 classes)
To test the model, launch :
python main.py \
+data=dataset \
+experiment=ours \
mode=test \
model.load_weights="/path/to/trained/weights.ckpt"
Note: pretrained weights to come in pretrained_models/
To reproduce the Table 4: Ablation Study of the paper using slurm jobs, launch :
python ablations.py
@article{loiseau22online,
title={Online Segmentation of LiDAR Sequences: Dataset and Algorithm.},
author={Romain Loiseau and Mathieu Aubry and Loic Landrieu},
journal={ECCV},
year={2022}
}