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 dataset 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.
We initialize DiffLoc's feature learner with 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 appreciate the code of RangeVit and PoseDiffusion they shared.
@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}
}