FAST-Calib is an efficient target-based extrinsic calibration tool for LiDAR-camera systems (eg., FAST-LIVO2).
Key highlights include:
- Support solid-state and mechanical LiDAR.
- No need for any initial extrinsic parameters.
- Achieve highly accurate calibration results in just one seconds.
In short, it makes extrinsic calibration as simple as intrinsic calibration.
Related paper:
FAST-Calib: LiDAR-Camera Extrinsic Calibration in One Second
📬 For further assistance or inquiries, please feel free to contact Chunran Zheng at zhengcr@connect.hku.hk.
Left: Example of Mid360 LiDAR calibration. Right: Point cloud colored with the calibrated extrinsics.
Circular hole extraction supports multiple LiDAR models.
ROS 2 (tested on Humble), PCL>=1.8, OpenCV>=4.0.
The Livox CustomMsg lidar input is optional: if livox_ros_driver2 is built in your workspace it is picked up automatically; otherwise FAST-Calib still builds and works with any sensor_msgs/PointCloud2 LiDAR.
- Prepare the static acquisition data in the
calib_datafolder (see Single-scene Calibration Sample Data from Mid360, Avia and Ouster, and Multi-scene Calibration Sample Data from Avia):
- a ROS 2 bag (directory containing
metadata.yaml) with the point cloud topic, e.g. recorded withros2 bag record /livox/lidar - corresponding image
- Run the single-scene calibration process:
ros2 launch fast_calib calib.launch.py bag_path:=/path/to/bag image_path:=/path/to/image.jpg- After completing Step 2 for at least three different scenes, you can perform multi-scene joint calibration:
ros2 launch fast_calib multi_calib.launch.py- Customize the calibration target in the image below, with the CAD model available here.
- Collect data from three scenes, with placement illustrated below, and record them into the corresponding rosbags.
- Provide the instrinsic matrix in
qr_params.yaml. - Set distance filter in
qr_params.yamlfor board point cloud (extra points are acceptable). - Calibrate now!
💡 Note: You can run scripts/distance_filter_tool.py to quickly obtain suitable filter parameters.
Left: Actual calibration target | Right: Technical drawing with annotated dimensions.
Placement of the calibration target for multi-scene data collection: (a) facing forward, (b) oriented to the right, (c) oriented to the left.
The calibration target design is based on the velo2cam_calibration.
For further details on the algorithm workflow, see this document.
Special thanks to Jiaming Xu for his support, Haotian Li for the equipment, and the velo2cam_calibration algorithm.