Calibration refinement

Usually, the camera calibration for recording is obtained in the sensor calibration setup step and remains constant afterwards as long as the cameras are not moved. However, even a tiny (accidental) movement of a camera after this calibration has been done will cause the results to be worse.

If a camera has moved, one way to address this is to repeat the sensor calibration setup step. But what if the movement is not detected in time, the recording has already finished and cannot be repeated? This is where the calibration refinement tool may be able to help.

This tool can automatically optimize some aspects of the calibration of existing recordings: It optimizes the camera positions and orientations, but it will not optimize the internal calibration of the cameras.

The tool works by looking at the point clouds of each camera separately and slightly moving them in order to maximize the joint overlap of all point clouds. Thus, the requirements for its use are that:

  • There is sufficient overlap among the point clouds of all cameras.

  • There is sufficient geometrical detail in the scene that allows the tool to find the correct alignment.

  • The initial misalignment is relatively small.

To use the tool, open the recording details screen for the recording whose calibration you want to refine. Expand the “Calibration & Configuration” group in the side bar on the right, then click the “Calibration refinement” button.

This will show the calibration refinement settings:

../_images/calibration_refinement.png

The main setting is the number of measurements. This is the number of points in time at which the recording will be sampled for point clouds to use for the refinement. For example, with three measurements, one set of point clouds would be taken from the beginning of the recording, one from the middle, and one from the end. Increasing the measurement count may achieve higher accuracy, but will take longer to compute. For snapshot recordings, only a single measurement is possible.

Below, several advanced settings may be configured. There is usually no need to change those.

  • Use depth bias in refinement: If this is activated, the configured depth bias compensation will be applied to the point clouds that are used for refinement. If this is disabled, the raw point clouds will be used.

  • ICP iteration count: Number of iterations of the ICP (iterative closest point) algorithm to run. A higher iteration count may achieve higher accuracy, but will take more time.

  • Maximum matching distance [m]: Maximum distance, in meters, of two points to consider them as correspondences. A higher value allows for larger initial misalignment, but may cause some incorrect matches to be considered as well.

  • Maximum depth [m]: Maximum depth of points to consider (as seen from their depth camera). This may be used to discard points with large depth, which are less accurate than points with smaller depth.

Clicking the “Compute refinement” button will start the refinement process. After it has completed, the point cloud in the 3D view will be updated with the refined calibration, and you may choose whether to keep this new calibration, or whether to revert to the original calibration.