DiffLoc: Diffusion Model for Outdoor LiDAR Localization
-
python 3.9
-
pytorch 1.13
-
cuda 11.6
source install.sh
We support the Oxford Radar RobotCar and NCLT datasets right now.
The data of the Oxford and NCLT datasets should be organized as follows:
data_root
├── 2019-01-11-14-02-26-radar-oxford-10k
│ ├── xxx.bin
│ ├── xxx.bin
├── Oxford_pose_stats.txt
├── train_split.txt
├── valid_split.txt
-
NCLT: We use NCLT Sample Python Scripts to preprocess velodyne_sync to speed up data reading. We provided within it nclt_precess.py.
-
Oxford&NCLT: We use SPVNAS to generate static object masks to train the SOAP module. You need to download the code for SPVNAS and run the data_prepare.py.
Note: We notice the pre-trained weights for the segmentation model are no longer available for download. A backup is provided on my Google Drive. Please follow the installation instructions on Docs to install the necessary libraries. If you use the model, please cite the corresponding paper.
We initialize DiffLoc's feature learner using the DINOv2.
accelerate launch --multi_gpu --num_processes 4 --mixed_precision fp16 train.py
python test.py
The models of DiffLoc on Oxford, and NCLT can be downloaded here.
We would like to express our gratitude for the code shared by RangeVit and PoseDiffusion.
@inproceedings{li2024diffloc,
title={DiffLoc: Diffusion Model for Outdoor LiDAR Localization},
author={Li, Wen and Yang, Yuyang and Yu, Shangshu and Hu, Guosheng and Wen, Chenglu and Cheng, Ming and Wang, Cheng},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={15045--15054},
year={2024}
}
@inproceedings{li2023sgloc,
title={SGLoc: Scene Geometry Encoding for Outdoor LiDAR Localization},
author={Li, Wen and Yu, Shangshu and Wang, Cheng and Hu, Guosheng and Shen, Siqi and Wen, Chenglu},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={9286--9295},
year={2023}
}