Voltar ao ranking

hku-mars/livox_camera_calib

C++

This repository is used for automatic calibration between high resolution LiDAR and camera in targetless scenes.

calibrationpoint-cloud
Crescimento de estrelas
Estrelas
1.3k
Forks
248
Crescimento semanal
Issues
65
5001k
fev. de 2021nov. de 2022set. de 2024jul. de 2026
README

lidar_camera_calib

lidar_camera_calib is a robust, high accuracy extrinsic calibration tool between high resolution LiDAR (e.g. Livox) and camera in targetless environment. Our algorithm can run in both indoor and outdoor scenes, and only requires edge information in the scene. If the scene is suitable, we can achieve pixel-level accuracy similar to or even beyond the target based method.

An example of a outdoor calibration scenario. We color the point cloud with the calibrated extrinsic and compare with actual image. A and C are locally enlarged views of the point cloud. B and D are parts of the camera image corresponding to point cloud in A and C.

Info

New features:

  1. Support muti-scenes calibration (more accurate and robust)

Related paper available on arxiv:
Pixel-level Extrinsic Self Calibration of High Resolution LiDAR and Camera in Targetless Environments

Related video: https://youtu.be/e6Vkkasc4JI

1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic. ROS Installation and its additional ROS pacakge:

    sudo apt-get install ros-XXX-cv-bridge ros-xxx-pcl-conversions

1.2 Eigen

Follow Eigen Installation

1.3 Ceres Solver

Follow Ceres Installation.

1.4 PCL

Follow PCL Installation. (Our code is tested with PCL1.7)

2. Build

Clone the repository and catkin_make:

cd ~/catkin_ws/src
git clone https://github.com/hku-mars/livox_camera_calib.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

3. Run our example

The exmaple dataset can be download from OneDrive and BaiduNetDisk(百度网盘)

3.1 Single scene calibration

Download Our pcd and iamge file to your local path, and then change the file path in calib.yaml to your data path. Then directly run

roslaunch livox_camera_calib calib.launch

You will get the following result. (Sensor suite: Livox Avia + Realsense-D435i)

An example of single scene calibration.

3.2 Multi scenes calibration

Download Our pcd and iamge file to your local path, and then change the file path in multi_calib.yaml to your data path. Then directly run

roslaunch livox_camera_calib multi_calib.launch

The projected images obtained by initial extrinsic parameters. (Sensor Suite: Livox Horizon + MVS camera)

An example of multi scenes calibration. The projected image obtained by theinitial extrinsic parameters
Rough calibration is used to deal with the bad extrinsic.
The projected image obtained by the extrinsic parameters after rough calibration
Then we finally get a fine extrinsic after final optimization.
The projected image obtained by the extrinsic parameters after fine calibration

4. Run on your own sensor set

4.1 Record data

Record the point cloud to pcd files and record image files.

4.2 Modify the calib.yaml

Change the data path to your local data path.
Provide the instrinsic matrix and distor coeffs for your camera.

4.3 Use multi scenes calibration

Change the params in multi_calib.yaml, name the image file and pcd file from 0 to (data_num-1).

Repositórios relacionados
ethz-asl/kalibr

The Kalibr visual-inertial calibration toolbox

C++Othercameracalibration
5.6k1.6k
facebookresearch/map-anything

MapAnything: Universal Feed-Forward Metric 3D Reconstruction

PythonPyPIApache License 2.03d-reconstructionai
3.6k277
PJLab-ADG/SensorsCalibration

OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving

C++Apache License 2.0autonomous-drivingcalibration
3.2k700
tangxyw/RecSysPapers

推荐/广告/搜索领域工业界经典以及最前沿论文集合。A collection of industry classics and cutting-edge papers in the field of recommendation/advertising/search.

PythonPyPIBSD 2-Clause "Simplified" Licensecalibrationcausal-inference
tangxyw.github.io
2.2k265
uncertainty-toolbox/uncertainty-toolbox

Uncertainty Toolbox: a Python toolbox for predictive uncertainty quantification, calibration, metrics, and visualization

PythonPyPIMIT Licenseuncertaintyuncertainty-quantification
uncertainty-toolbox.github.io
2k152
ankitdhall/lidar_camera_calibration

ROS package to find a rigid-body transformation between a LiDAR and a camera for "LiDAR-Camera Calibration using 3D-3D Point correspondences"

C++GNU General Public License v3.0cameralidar
arxiv.org/abs/1705.09785
1.8k473
gaowenliang/imu_utils

A ROS package tool to analyze the IMU performance.

C++MIT Licenseimuallan
gaowenliang.github.io/imu_utils
1.7k503
autowarefoundation/autoware_universe

C++Apache License 2.0rosros2
autowarefoundation.github.io/autoware_universe/
1.7k931
ShisatoYano/AutonomousVehicleControlBeginnersGuide

Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.

PythonPyPIMIT Licensealgorithmautonomous-driving
1.6k242
koide3/direct_visual_lidar_calibration

A toolbox for target-less LiDAR-camera calibration [ROS1/ROS2]

C++calibrationcamera
koide3.github.io/direct_visual_lidar_calibration/
1.5k212
hku-mars/LiDAR_IMU_Init

[IROS2022] Robust Real-time LiDAR-inertial Initialization Method.

C++GNU General Public License v2.0calibrationlidar-odometry
1.5k244
rockowitz/ddcutil

Control monitor settings using DDC/CI and USB

CGNU General Public License v2.0monitormccs
ddcutil.com
1.4k71