Getting Started

August 10, 2023 ยท View on GitHub

This document provides a brief intro of the usage of DAPS3D.

Training

  • Make shure to cteate conda environment and setup wandb.login for training (See Installation).

  • Select desired augmentation setup inside augmentation.yml. You can find more detailed description and different augmentation setups in our Paper.

Augmentations

Train Commands

This is default command structure for training:

./train.sh -d <path/to/dataset> \
           -f <path/to/configs> \
           -a <path/to/model_config> \
           -m <model_name> \
           -l <path/to/save/logs> \
           -p <path/to/pretrained/logs> \
           -c <gpu to run>

You need to choose <model_name> between: salsanet, salsanet_rec, salsanet_rec_lstm, salsanext, salsanext_rec_lstm, ddrnet or segformer.

SalsaNet

With default config requires 6 GB on GPU

./train.sh -d /Dataset/ -f cfgs/ -a cfgs/salsanext.yml -m salsanet -l ./logs/ -c 0

SalsaNetRec

With default config requires 7 GB on GPU

./train.sh -d /Dataset/ -f cfgs/ -a cfgs/salsanext.yml -m salsanet_rec -l ./logs/ -c 0

SalsaNetRecLSTM

With default config requires 9 GB on GPU

./train.sh -d /Dataset/ -f cfgs/ -a cfgs/salsanext.yml -m salsanet_rec_lstm -l ./logs/ -c 0

SalsaNext

With default config requires 10 GB on GPU

./train.sh -d /Dataset/ -f cfgs/ -a cfgs/salsanext.yml -m salsanext -l ./logs/ -c 0

SalsaNextRecLSTM

With default config requires 14 GB on GPU

./train.sh -d /Dataset/ -f cfgs/ -a cfgs/salsanext.yml -m salsanext_rec_lstm -l ./logs/ -c 0

DDRNet

Change MODEL.MOD inside ddrnet23_slim.yml to 'none', 'oc' or 'da' for different model configurations before run.

With default config requires 2, 3 & 10 GB on GPU for none, oc & da respectively

./train.sh -d /Dataset/ -f cfgs/ -a cfgs/ddrnet23_slim.yml -m ddrnet -l ./logs/ -c 0

SegFormer

With default config requires 11 GB on GPU

./train.sh -d /Dataset/ -f cfgs/ -a cfgs/segformer.yml -m segformer -l ./logs/ -c 0

Inference

This is default command structure for inference:

./infer.sh -d <path/to/dataset> \
          -f <path/to/configs> \
          -l <path/to/pretrained/logs> \
          -m <model_name> \
          -p <path/to/save/predictions> \
          -s <split to inference> \
          -c <gpu to run>

Simple example (for DDRNet model):

./infer.sh -d /Dataset/ -f cfgs/ -l ./logs/ddrnet_aug-set-5+t-z/ -m ddrnet  -p ./logs/infer/ddrnet_aug-set-5+t-z -s valid -c 0

In order to calculate metrics for your predicrions, run eval.sh. Metrics will be saved in iou.txt inside your <predictions folder>:

./eval.sh -d /Dataset/ -f cfgs/ -p ./logs/infer/ddrnet_aug-set-5+t-z -s valid

Pretrained Models

Segmentation models trained and evaluated on SemanticKITTI dataset

All models are trained with augmentation set 5 without T-Zone (see our Paper)

ModelmIoUmIoU, %IoUIoU[vehicle], %IoUIoU[human], %IoUIoU[surface], %IoUIoU[obstacle], %Checkpoint
SalsaNet0.7870.8820.4120.9290.924model
SalsaNetRec0.7890.8550.4880.9130.900model
SalsaNetRecLSTM0.7510.8870.2710.9270.920model
SalsaNext0.8210.9070.5640.9050.907model
SalsaNextRecLSTM0.8350.9140.6000.9110.914model
DDRNet0.6920.7500.2250.9010.893model
DDRNetOC0.6870.7390.2220.9000.889model
DDRNetDA0.6960.7540.2320.9030.895model
SegFormer0.5390.4370.0480.8930.777model

Segmentation models trained and evaluated on SemanticKITTI and RELLIS-3D datasets

All models are trained with augmentation set 5 with T-Zone (see our Paper)

ModelmIoUmIoU, %IoUIoU[vehicle], %IoUIoU[human], %IoUIoU[surface], %IoUIoU[obstacle], %Checkpoint
SalsaNet0.8320.8690.8860.7890.782model
SalsaNetRec0.8080.8580.8470.7630.766model
SalsaNetRecLSTM0.8280.8890.8800.7700.774model
SalsaNext0.8320.9040.9060.7550.763model
SalsaNextRecLSTM0.8330.9080.9160.7480.760model
DDRNet0.7060.7590.6540.6850.725model
DDRNetOC0.7050.7490.6520.6930.728model
DDRNetDA0.6580.7150.4710.7160.731model
SegFormer0.5330.4480.4230.6160.643model

Segmentation models trained and evaluated on DAPS-1 dataset

All models are trained with augmentation set 5 with T-Zone (see our Paper)

ModelmIoUmIoU, %IoUIoU[vehicle], %IoUIoU[human], %IoUIoU[surface], %IoUIoU[obstacle], %Checkpoint
SalsaNet0.8670.8800.6460.9890.953model
SalsaNetRec0.8500.8360.6800.9740.908model
SalsaNetRecLSTM0.8620.8780.6320.9880.949model
SalsaNext0.8860.8780.7210.9900.954model
SalsaNextRecLSTM0.9320.9290.8300.9940.974model
DDRNet0.6900.7730.1260.9770.886model
DDRNetOC0.6940.7690.1380.9780.889model
DDRNetDA0.6910.7700.1290.9770.886model
Segformer0.5300.4950.0520.9090.665model

Segmentation models evaluated on DAPS-2 dataset

These are inference results on DAPS-2 for the models listed in the following sections (see our Paper)

Models trained on SemanticKITTI

ModelmIoUmIoU, %IoUIoU[human], %IoUIoU[surface], %IoUIoU[obstacle], %Checkpoint
SalsaNet0.4050.0560.6620.498model
SalsaNetRec0.2670.0340.4780.290model
SalsaNetRecLSTM0.3380.0750.5650.373model
SalsaNext0.2580.0740.4230.277model
SalsaNextRecLSTM0.3270.0390.5480.394model
DDRNet0.3450.0800.7680.187model
DDRNetOC0.3230.0150.7390.216model
DDRNetDA0.3690.0400.7050.361model
Segformer0.2300.1660.1820.343model

Models trained on SemanticKITTI + RELLIS-3D

ModelmIoUmIoU, %IoUIoU[human], %IoUIoU[surface], %IoUIoU[obstacle], %Checkpoint
SalsaNet0.7120.7330.7600.643model
SalsaNetRec0.4810.4460.5900.406model
SalsaNetRecLSTM0.6890.7700.7610.537model
SalsaNext0.6630.7990.6840.505model
SalsaNextRecLSTM0.7360.8130.7840.612model
DDRNet0.5800.6970.5350.509model
DDRNetOC0.6160.7240.5860.539model
DDRNetDA0.5410.6140.5070.503model
Segformer0.2900.4120.0540.404model

Models trained on DAPS-1

ModelmIoUmIoU, %IoUIoU[human], %IoUIoU[surface], %IoUIoU[obstacle], %Checkpoint
SalsaNet0.5750.4790.7410.504model
SalsaNetRec0.6090.5960.7480.482model
SalsaNetRecLSTM0.6240.5320.7830.557model
SalsaNext0.6430.7060.6200.602model
SalsaNextRecLSTM0.7590.7090.7460.823model
DDRNet0.5160.3540.7370.458model
DDRNetOC0.5620.4030.7050.577model
DDRNetDA0.5310.3600.7180.515model
Segformer0.3930.3550.4180.407model