Data Collection for Multi Target Lidar-Camera Calibration
Charucoboard is the calibration target. Charucoboard of the following dictionaries of any size and squares can be used as the target.
Targets should be as flat as possible and the surface of the target should be anti-glare (matte finish)
Supported charuco dictionaries
Note: When multiple targets are used, make sure targets are of different dictionaries.
We suggest the users make at least 1.0m*1.0m charcoboard for good corner detection.
Place the targets in the focus of the camera and the field of view of the LiDAR. Targets should be either placed on the ground or a stand. Avoid holding the targets with your hands.
The targets and all sensors should be static while collecting the data. To avoid time-synchronization problems, please keep the boards and the sensors stationary for at least 10 seconds while collecting each calibration data set.
For example, these are the steps to collect one set of calibration data:
- 1.Orient the camera toward the targets. Start recording. Wait for 10 seconds (Don't move/rotate your car/robot/sensors). Stop recording. You must have a recording of images and lidar data for 10 seconds. Extract one image from the camera and one frame of lidar data captured 5 seconds after the recording has started (e.g., if you start recording at 3:00:00, you stop recording at 3:00:10. We need a frame captured at 3:00:05) and save them.
- 2.Change the targets' location and orientation. Start recording. Wait for 10 seconds (Don't move/rotate your car/robot). Stop recording. Again, you must have a recording of images and lidar data for 10 seconds. Extract one image from the camera and one frame of lidar data captured 5 seconds after the recording starts and save them. (Dataset front_2)
- 3.In the same manner, save Dataset front_3, front_4, and front_5.
Multi-target LiDAR Camera calibration works even with a single pair of images and a lidar frame. The more pairs, the better the accuracy will be.
Try to have the board position in either of the following two ways.
- The targets are placed on the ground (touching the ground). In such a case, enable the On ground flag on the calibration configuration page. Also, make sure that the lidar data captures the ground points. By doing so, we can optimize the extrinsic parameters using the ground points.
Sample image for board on the ground
- A holder holds the targets up in the air and tilts right by around 45 degrees. In such a case, enable the Tilted flag on the calibration configuration page. Deep Optimization can be enabled using this approach, and the extrinsic parameters are further optimized using the edge points of the board.
Sample image for tilted board