This is the offical implementation of LiSnowNet: Real-time Snow Removal for LiDAR Point Clouds.
- Ubuntu 20.04+
- NVIDIA driver >= 515
- Docker with the post-installation steps
- NVIDIA Container Runtime
-
(Only for WSL2) Install
x11-xserver-utils
$ sudo apt install -y x11-xserver-utils
-
Build the docker image
$ docker build --tag lisnownet -f docker/Dockerfile .
-
Launch a container
$ DATA_PATH=/path/to/datasets # the dataset path to be mounted to the container $ ./docker/run.sh # use all GPUs $ ./docker/run.sh 0 # use GPU #0 $ ./docker/run.sh 2,3 # use GPU #2 and #3
Download the Canadian Adverse Driving Conditions (CADC) Dataset and the Winter Adverse Driving dataSet (WADS), and create symlinks to them under the data
folder:
./data
├── cadcd
| └── {DATE}/{DRIVE_ID}/raw/lidar_points/corrected/data/{FRAME_ID}.bin
└── wads
└── {DRIVE_ID}
├── labels/{FRAME_ID}.label
└── velodyne/{FRAME_ID}.bin
To train the model, run
$ ./train.py [--batch_size BATCH_SIZE] [--dataset DATASET] [--alpha ALPHA] [--tag TAG] [...]
For example:
$ ./train.py --dataset cadc --tag cadc_alpha=5.0 --lr_decay -1 --alpha 5.0
$ ./eval.py [--batch_size BATCH_SIZE] [--dataset DATASET] [--tag TAG] [--threshold THRESHOLD] [...]
To reproduce the results using pretrained weights, run
$ ./eval.py --tag wads_alpha=5.5 --batch_size 8 --dataset wads --threshold 8e-3
$ ./eval.py --tag cadc_alpha=5.0 --batch_size 8 --dataset cadc --threshold 1.2e-2
@INPROCEEDINGS{9982248,
author={Yu, Ming-Yuan and Vasudevan, Ram and Johnson-Roberson, Matthew},
booktitle={2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
title={LiSnowNet: Real-time Snow Removal for LiDAR Point Clouds},
year={2022},
volume={},
number={},
pages={6820-6826},
doi={10.1109/IROS47612.2022.9982248}}