Views
No views yet

visibility package has been updated for I2D-LocX, so please use the implementation included in this repository instead of the original I2D-Loc visibility package.1conda create -n i2d-locx python=3.11 -y
2conda activate i2d-locxpip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118pip install -r requirements.txt1cd pkg/visibility_package
2python setup.py install
3cd ../..python -c "import visibility; print('visibility extension is available')"kitti_100epoch.pth. Download it from Hugging Face, then place it in the following location:checkpoints/kitti_100epoch.pth1i2d-locX-open/
2└── checkpoints/
3 └── kitti_100epoch.pth1sample/
2└── 0/
3 ├── image/
4 │ ├── 000000.png
5 │ ├── 000100.png
6 │ ├── 000200.png
7 │ └── 000300.png
8 └── lidar/
9 ├── 000000.h5
10 ├── 000100.h5
11 ├── 000200.h5
12 └── 000300.h5core/dataset.py.bash cmd/sample.shpython sample.py --cfg cfg/sample.toml --checkpoint checkpoints/kitti_100epoch.pth0, generates deterministic initial pose perturbations with seed 3407, and evaluates all four sample pairs.1i2d_locX_sample/test/test_<YYYYMMDD_HHMMSS>/
2├── logs/
3│ └── test.log
4└── result/
5 ├── iter_1/
6 ├── iter_2/
7 ├── iter_3/
8 └── iter_4/vision_image_with_initial.png for the initial LiDAR projection, vision_image_with_initial_gt.png for the ground-truth alignment, and vision_image_with_predict.png for the alignment after pose correction. The terminal and test.log report the initial and predicted rotation and translation errors.cfg/sample.toml.| Option | Description |
|---|---|
gpus | CUDA device list; the sample uses [0] |
dataset.root_folder | Root directory of the input data |
dataset.test_sequence | Sequence used for evaluation |
dataset.max_r | Maximum sampled rotation perturbation in degrees |
dataset.max_t | Maximum sampled translation perturbation |
dataset.batch_size | Evaluation batch size |
model.iters | Number of iterative flow-refinement steps |
No CUDA devices available: Run nvidia-smi and python -c "import torch; print(torch.cuda.is_available(), torch.version.cuda)" to verify the NVIDIA driver and PyTorch CUDA build.ModuleNotFoundError: No module named 'visibility': Rebuild the extension with cd pkg/visibility_package && python setup.py install.Checkpoint not found: Place the model at checkpoints/kitti_100epoch.pth or pass its actual location through --checkpoint.dataset.batch_size = 1 and close other GPU workloads.1@article{yu2025i2dlocx,
2 title={I2D-LocX: An Efficient, Precise and Robust Method for Camera Localization in LiDAR Maps},
3 author={Yu, Huai and Zhu, Xubo and Han, Shu and Yang, Wen and Xia, Gui-Song},
4 journal={IEEE Robotics and Automation Letters},
5 volume={10},
6 number={8},
7 pages={7899--7906},
8 year={2025},
9 doi={10.1109/LRA.2025.3581122}
10}