Camera Calibration

Note

To perform camera calibration with DV please follow these instructions instead.

The following instructions target a purely script-based calibration.

Goals

Camera calibration aims to compute calibration parameters. These parameters represent the focal length, image sensor format, and camera principal point. Read more on Wikipedia.

Setup

To perform calibration, a calibration pattern is needed. Multiple types of patterns are available, the ones currently supported by this tutorial are:

  • April Grid
    April Grid

  • Checkerboard
    Checkerboard

  • Asymmetric Circles
    Asymmetric Circles

One can create, download and print the desired pattern using calib.io.

Procedure

The only difference to calibrate an event camera compared to a frame camera is the need to reconstruct frames from events. The other steps are identical.

Image Reconstruction

We provide a repository with python samples that allow the user to reconstruct images from events using the different state-of-the-art image reconstruction methods. All instructions to perform the desired reconstruction are also provided.

Calibration

The calibration steps are simple:

  • Place the calibration pattern in the view of the camera

  • Move the calibration pattern in the view of the camera. With the movements, try to cover all the different parts of the camera view and provide varying angles of the pattern with respect to the camera.

  • Provide the live or recording image output to the selected calibration pipeline and follow the corresponding instructions.

Using Kalibr

We provide a repository based on the Kalibr library with C++ samples that allow users to perform calibration from frame files, stored in aedat4 format. All instructions to perform the desired calibration are also provided.

Using OpenCV

OpenCV provides multiple tutorials to perform camera calibration from live frames or recorded files. Feel free to use them if you are familiar with OpenCV: