We conducted experiments comparing V2I-Calib and V2I-Calib++ against well-performed point cloud Global Registration methods, using two widely recognized V2X datasets: DAIR-V2X and V2X-Sim. The results are as follows.
Method | RRE(°) | RTE(m) | Success Rate(%) | Time (s) | |
@1 | @2 | ||||
FGR | 0.69 | 0.16 | 78.64 | 95.15 | 0.92 |
Quatro | 0.17 | 0.18 | 96.40 | 98.20 | 0.83 |
Teaser++ | 0.77 | 0.17 | 76.70 | 94.17 | 0.91 |
V2I-Calib(Ours) | 0.06 | 0.03 | 93.26 | 95.48 | 0.37 |
V2I-Calib++(Ours) | 0.01 | 0.01 | 96.80 | 98.31 | 0.13 |
Method | RRE(°) | RTE(m) | Success Rate(%) | Time (s) | |
@1 | @2 | ||||
FGR | 1.71 | 1.61 | 22.11 | 62.81 | 25.50 |
Quatro | 1.46 | 1.49 | 19.90 | 69.90 | 24.52 |
Teaser++ | 1.83 | 1.67 | 20.30 | 58.91 | 24.33 |
V2I-Calib(Ours) | 1.25 | 1.32 | 42.81 | 76.04 | 0.34 |
V2I-Calib++(Ours) | 1.23 | 1.16 | 51.40 | 84.58 | 0.12 |
This code is mainly developed under Ubuntu 20.04. We use anaconda3 with Python 3.8 as the base Python setup.
After cloning this repo, please run:
source setup.sh
To test the sample, simply run the following command:
python test.py --test_type single
For batch testing, additional data preparation is required. This process is also included in the test.py file.
Download DAIR-V2X-C dataset here and organize as follows:
# For DAIR-V2X-C Dataset located at ${DAIR-V2X-C_DATASET_ROOT}
├── cooperative-vehicle-infrastructure # DAIR-V2X-C
├── infrastructure-side # DAIR-V2X-C-I
├── velodyne
├── {id}.pcd
├── label
├── camera # Labeled data in Infrastructure Virtual LiDAR Coordinate System fitting objects in image based on image frame time
├── {id}.json
├── virtuallidar # Labeled data in Infrastructure Virtual LiDAR Coordinate System fitting objects in point cloud based on point cloud frame time
├── {id}.json
├── data_info.json # Relevant index information of Infrastructure data
├── vehicle-side # DAIR-V2X-C-V
├── velodyne
├── {id}.pcd
├── label
├── camera # Labeled data in Vehicle LiDAR Coordinate System fitting objects in image based on image frame time
├── {id}.json
├── lidar # Labeled data in Vehicle LiDAR Coordinate System fitting objects in point cloud based on point cloud frame time
├── {id}.json
├── data_info.json # Relevant index information of the Vehicle data
├── cooperative # Coopetative Files
├── label_world # Vehicle-Infrastructure Cooperative (VIC) Annotation files
├── {id}.json
├── calib
├── lidar_i2v # External Parameters from Infrastructure LiDAR to Vehicle LiDAR
├── {id}.json # Vehicle ID
├── data_info.json # Relevant index information combined the Infrastructure data and the Vehicle data
Note: cooperative-vehicle-infrastructure/cooperative/calib/lidar_i2v is generated by https://github.com/AIR-THU/DAIR-V2X/blob/main/tools/dataset_converter/calib_i2v.py
.
cd ${v2i-calib_root}/v2i-calib
mkdir ./data/DAIR-V2X
ln -s ${DAIR-V2X-C_DATASET_ROOT}/cooperative-vehicle-infrastructure ${v2i-calib_root}/v2i-calib/data/DAIR-V2X
python test.py --test_type batch
The results are detailed in Log/xx.log
. Execute Log/analyze.py
to analyze the batch test results. The final results will be available in analysis_results.csv
. You will find these results to be superior to those previously discussed or those presented in the paper :-)
The configuration parameters are located in config/config.yaml
. To use the oIoU metric, set core_similarity_component_list = [iou]
. To use the oDist metric, set core_similarity_component_list = [centerpoint_distance, vertex_distance]
This project is not possible without the following codebases.
If you find our work or this repo useful, please cite:
@article{qu2024v2i,
title={V2I-Calib: A Novel Calibration Approach for Collaborative Vehicle and Infrastructure LiDAR Systems},
author={Qu, Qianxin and Xiong, Yijin and Wu, Xin and Li, Hanyu and Guo, Shichun},
journal={arXiv preprint arXiv:2407.10195},
year={2024}
}
@article{qu2024v2iplus,
title={V2I-Calib++: A Multi-terminal Spatial Calibration Approach in Urban Intersections for Collaborative Perception},
author={Qu, Qianxin and Zhang, Xinyu and Xiong, Yijin and Guo, Shichun and Song, Ziqiang and Li, Jun},
journal={arXiv preprint arXiv:2410.11008},
year={2024}
}