/multiple-cameras-and-3D-LiDARs-extrinsic-calibration

This repo contains source code of our paper presented in IROS2021 "Single-Shot is Enough: Panoramic Infrastructure Based Calibration of Multiple Cameras and 3D LiDARs"

Primary LanguageC++

Single-Shot is Enough: Panoramic Infrastructure Based Calibration of Multiple Cameras and 3D LiDARs

Updates

  • [2021/09/01] first commit, source code of localization and calibration stage; Given sparse map of panoramic infrastructure, we can easily calibrate the extrinsics among multi-camera and multi-LiDAR. In order to facilitate camera intrinsic calibration and imu calibration, Kalibr toolbox is used in our scripts, and imu_utils code is simplified in our source code.
  • [2021/10/01] source code of panoramic infrastructure reconstruction; coming soon...

Introduction

This paper is accpeted in 2021 IROS, the preprint version is accessible in arXiv. In this paper, we propose a single-shot solution for calibrating extrinsic transformations among multiple cameras and 3D LiDARs. We establish a panoramic infrastructure, in which a camera or LiDAR can be robustly localized using data from single frame. Experiments are conducted on three devices with different camera-LiDAR configurations, showing that our approach achieved comparable calibration accuracy with the state-of-the-art approaches but with much greater efficiency.

image-20210724161755730

Prerequisities

  1. Kalibr

    Follow Kalibr installation.

  2. Ceres

    follow ceres installation.

  3. CCTag

    Follow cctag installation.

  4. Yaml-cpp(>=0.6.0)

    Follow yaml-cpp installation.

  5. Boost(>=1.69)

    Follow boost installation.

  6. Open3D(>=0.10)

    follow open3d installation.

Docker Support

To further facilitate the building process, we add docker in our code. Docker environment is like a sandbox, thus makes our code environment-independent.

Docker build:

docker/build

Run docker with outr test data, please refer to docker_usage_en.md.

Quick Start

  1. Build the source code in Ubuntu 16.04/Ubuntu 18.04:

    git clone https://github.com/alibaba/multiple-cameras-and-3D-LiDARs-extrinsic-calibration.git
    cd multiple-cameras-and-3D-LiDARs-extrinsic-calibration
    mkdir build && cd build
    cmake ..
    make -j8
  2. Download the test data.

  3. Build the source code in docker, refer to docker_useage_en.md for further tutorial.

Citation

If you find this code is useful in your research, please cite:

@article{fang2021single,
  title={Single-Shot is Enough: Panoramic Infrastructure Based Calibration of Multiple Cameras and 3D LiDARs},
  author={Fang, Chuan and Ding, Shuai and Dong, Zilong and Li, Honghua and Zhu, Siyu and Tan, Ping},
  journal={arXiv preprint arXiv:2103.12941},
  year={2021}
}

Acknowledgements

Thanks to gaowenliang for opening source of his excellent works imu_utils. Thanks to the maintenance team of Kalibr for the well-known open-source project Kalibr.

License

The source code is released under MIT license.

We are still working on improving the performance and reliability of our codes. For any technical issues, please contact me via email fang1457737815@gmail.com.