This article will show you how to use camcalib to calibrate the intrinsic and extrinsics of a multi-camera setup using the latest camcalib release.
The following topics are not part of this article, but we are happy to link you to them.
What is new ?
If you have multiple Aprilgrid boards, where all of them have the same grid size and tag spacing and the tag ids are in successive order, the camcalib april detector will automatically detect all boards and assign them to the particular board.
All tag features that belong to a specific board will be of the same color, in order to show that they belong to the same board.
Multi-board camera calibration improves the accuracy, coordination, and capabilities of camera networks, enabling a wide range of applications in computer vision, mobile robotics, surveillance, and much more.
Multi-board camera calibration offers numerous benefits in various applications. By calibrating multiple cameras simultaneously, this technique ensures precise alignment and consistent measurements across different views, enhancing accuracy and precision. It is particularly valuable in computer vision, mobile robotics, and 3D reconstruction scenarios.
Accuracy and Precision: Multi-board camera calibration allows for precise alignment and calibration of multiple cameras, ensuring accurate and consistent measurements across different views. This is crucial in applications such as computer vision, robotics, and 3D reconstruction, where accurate spatial relationships between cameras are required.
3D Reconstruction: By calibrating multiple cameras, it becomes possible to reconstruct a 3D scene by triangulating the correspondences between the camera views. This is particularly useful in applications like virtual reality, augmented reality, and 3D modeling.
Camera Network Calibration: Multi-camera setups are often used for surveillance, tracking, or monitoring purposes. Calibration enables the synchronization of camera networks, ensuring coordinated operation and seamless handoff of tracking objects or subjects between cameras.
Camera Calibration Convenience: By calibrating multiple cameras together, it reduces the effort required for individual calibrations. This is especially beneficial when dealing with a large number of cameras or complex setups, as performing calibration individually for each camera would be time-consuming and prone to errors.
Robustness and Redundancy: Calibrating multiple cameras provides redundancy and robustness to the system. If one camera fails or its calibration parameters change, the other calibrated cameras can compensate for the loss and continue to provide reliable measurements.
How to generate multiple boards
You can download the 6 April boards that are used below from here
Or generate them with you own parameters with this script.
What is the advantage?
Using multiple boards allows to calibrate cameras that have non overlapping field of view. Therefore you would arrange the boards in a semicircle and rotate the sensors in a way that every camera has seen the same boards at least once.
The relative position between boards must not change over the calibration process in order to have consistent constraints on those parameters.
We perform a global optimization over all extrinsic parameters while introducing constraints on the relative board poses for a more robust calibration process.
We calibrated the Hilti challenge
You can try the multi-board feature by reproducing our results with the calibration data for the Hilti challenge 2023.
you can download the dataset here
Load the rosbag file into camcalib
Now create a new AprilBoard with the settings columns: 6, rows: 6, tag size: 0.08 and a tag spacing 0.3.
Now press Detect Features and wait for the detection process to finish.
After the feature detection, which will take some time, you can see the successful detection of multiple boards, indicated by the different colors.
You can now perform either multi camera extrinsic calibration or additionally calibrate the cameras to the IMU.
Simply uncheck Calibrate check mark for the LIDAR sensor and start the calibration.
After calibration which can take some time you can inspect the results and the reprojection error. (Want to know more about the projection error? Read the following Blog Post )
For a more detailed report about the calibration result you can Generate Report
We updated the calibration report
We added some metadata of the calibration data such as recording time and number of boards that were detected.
We have now one reprojection error plot for each camera that shows all reprojected feature points for all boards and all frames that were used in the calibration process.
Download the report of our calibration run here.