Multi-Camera Calibration

Introduction

This article is an in-depth description of the multi-camera calibration problem, solution and application.

In order to introduce the real problem, let us first briefly look at the application. The Zivid camera can only see one side of an object, like any camera or a human eye, there is no x-ray. If we want to see an object from behind we have to rotate the object or move the camera behind the object. So, to get a point cloud of an object from all sides we need to capture from all sides.

Now to the problem. When a point cloud is returned by the Zivid SDK, the origin of its coordinate frame is inside the camera. If you capture a scene from multiple locations you will get point clouds whose reference frames all have a different pose relative to the world frame. So, how do you visualize the result, or work on it in any way?

In summary:

Problem

Point clouds from different locations relative to the object are not given relative to the same world coordinate frame.

Solution

  1. Calibrate camera poses against each other and provide transformation matrices.

  2. Use transformation matrices to transform point clouds into one common coordinate frame.

Multi-Camera Calibration Theory

In this section we go into detail about the theory behind multi-camera calibration.

Multi Camera Calibration Theory.

Multi-Camera Calibration Programming Tutorial

Further Reading

For a detailed description of the topic, please read the following pages:

Version History

SDK

Changes

2.16.0

Support is added for a smaller Zivid calibration board, ZVDA-CB02 (5x6 20 mm). Programming tutorial is integrated into the Knowledge Base from the C++ samples repository.

2.12.0

Zivid One+ has reached its End-of-Life and is no longer supported.

2.6.0

Improved robustness of the checkerboard detection with regards to Blooming - Bright Spots in the Point Cloud.

2.4.0

Added support for Zivid 2 cameras.

2.3.0

Improved robustness of the checkerboard detection.

2.2.0

Support is added for the new line of official Zivid calibration boards, the first of which is the ZVDA-CB01 (7x8 30 mm).

2.0.0

Multi-Camera Calibration API is changed, part of the Calibration namespace.

1.6.0

Multi-Camera Calibration API is added for Zivid One+ cameras.