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
-
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 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
We appreciate the code of DiffLoc and BEVPlace++ they shared.