RGB-D Calibration

This algorithm performs camera calibration on the different cameras in an RGB-D sensor based on a number of shots of a defined calibration board (see Calibration Board) and undistorts the given images.

Input

Two or three image sets with the following properties (the selection order of the image sets matters, i.e. first must be Infrared (IR) images, second depth, and (optionally) third color!):

  1. IR Images: Must have 8 bit depth, exactly one or three channels, and a resolution of exactly 1280x1024 or 640x480 pixels

  2. Depth Images: Must have 16 bit depth (floating point or unsigned short), exactly one channel, and a resolution of exactly 640x480 pixels

  3. Color Images (optional): Must have 8 bit depth, exactly one or three channels, and a resolution of 640x480 pixels

All given image sets must contain the same number of images for the algorithm to be shown in the RGBD context menu. It is not enforced that images with matching indices in the given image sets stem from the same shot, so the user has to make sure of that in order to get reasonable results.

Output

The actual output of the algorithm is two or three undistorted image sets, corresponding to the input. Additionally an RGBD data component is attached to the input, if not already present, or the respective RGBD data component is updated.

Description

The algorithm computes the intrinsic parameters and the radial and tangential distortion parameters for all cameras of the sensor using a set of images of a well-defined calibration board. The type of board used must be specified by the user (see Calibration Board). further options are explained below.

Calibration Board

This section contains settings for the used calibration board. It embeds a Marker Configuration Controller with activated settings for Chessboard, Charuco Board, and Circle Grid

Depth Settings

  • IR depth Y shift: The horizontal offset of the infrared image to the depth image

  • Drop corrupt depth data: Can be enabled to erase a certain depth range from the undistorted depth images:

    • Range of corrupted depth: The depth range to be deleted from the undistorted depth images

    • Default for Astra Mini S / Astra S: Sets the depth range to the default values for the respective sensors

Calibration

These settings relate to different options for the actual camera calibration, forwarded to the OpenCV calibrateCamera function:

  • Don’t Calibrate: Skips the camera calibration and only performs the undistortion (Note: This only works if the RGBD camera is already calibrated, i.e. has the respective RGBD data component).

  • Perform the Undistortion: Selects whether the output images are to be undistorted (default true).

  • Fix Aspect Ratio: Only computes the intrinsic camera height while computing the width using the image’s aspect ratio.

  • Fix Principal Point: Fixes the camera’s principal point to the image center.

  • Fix Radial k1 / k2 / k3: Fixes the camera’s respective radial distortion coefficients by setting them to zero.

  • Fix Tangential Distortion: Fixes the camera’s tangential distortion parameters to zero.

The Load and Save buttons let the user save or load the current calibration settings.

Visualization

The two options in this section let the user switch the visualization of detected intersections and / or their reprojections in the input images (color or IR).