[IROS 25] BEVDiffLoc: End-to-End LiDAR Global Localization in BEV View based on Diffusion Model
-
python 3.10
-
pytorch 2.1.2
-
cuda 12.1
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
│ ├── velodyne_left
│ │ ├── xxx.bin
│ │ ├── xxx.bin
│ ├── gps
│ │ ├── gps.csv
│ │ ├── ins.csv
│ ├── velodyne_left.timestamps
│ ├── merge_bev (Data prepare)
│ │ ├── xxx.png
│ │ ├── xxx.png
│ ├── merge_bev.txt (Data prepare)
├── Oxford_pose_stats.txt
├── train_split.txt
├── valid_split.txt
- Oxford&NCLT: We use merge_nclt.py and merge_oxford.py to generate local scenes for data augmentation.
We initialize BEVDiffLoc's feature learner with DINOv2.
accelerate launch --num_processes 1 --mixed_precision fp16 train_bev.py
python test_bev.py
If you find this work helpful, please consider citing:
@article{wang2025bevdiffloc,
title={BEVDiffLoc: End-to-End LiDAR Global Localization in BEV View based on Diffusion Model},
author={Wang, Ziyue and Shi, Chenghao and Wang, Neng and Yu, Qinghua and Chen, Xieyuanli and Lu, Huimin},
journal={arXiv preprint arXiv:2503.11372},
year={2025}
}We appreciate the code of DiffLoc and BEVPlace++ they shared.

