Full Body Pose Estimation for Sports Analysis - Chessboard Camera Calibration

From RidgeRun Developer Connection
Jump to: navigation, search



Previous: AprilTag Camera Calibration Index Next: 3D Pose Estimation




This wiki summarizes the documentation of the chessboard based camera calibration method. It contains information such as how the method works, how to set up the environment for use, and how to build a calibration object.

Introduction

This module provides the user with a calibration method that works with a 2D calibration object. By using a chessboard like a pattern, intrinsic camera calibration become possible since the relation between the known object points and the found image points can be used for said calculation. The module also provides the possibility of computing extrinsic camera parameters for a single camera, and the relation between cameras in a multi-camera system as long as all cameras capture the same calibration object. The following image shows a chessboard like a camera calibration object in front of a dual-camera system.

Error creating thumbnail: Unable to save thumbnail to destination
Model of a dual camera system capturing Chessboard calibration object.

Description

This calibrator class uses the OpenCV library calibration functions to provide the user with the ability to compute a camera's intrinsic and extrinsic calibration parameters. It also provides the possibility of computing the relation between cameras coordinate systems on a multi-camera rig, as long as all cameras capture the calibration object.

Getting started

In this section, you will find information on how to set up your environment to use this calibration method. It will also contain details on how to build a chessboard like a calibration object.

Setting-up the environment

To get the environment ready for using this calibration method, you only require to install OpenCV.

The calibration object

The calibration chessboard pattern can be selected as you required, however, it must be an asymmetrical chessboard pattern. Otherwise, the calibration parameters are going to be computed wrong. Make sure to take note of your pattern size in terms of how many rows and columns is it composed of, and also the width and height of the actual squares. The pattern information must be provided to the calibrator in order for it to find it.

The precision of the calibration parameters calculated is directly related to the quality of your calibration object. The higher the tolerances and the sturdier the material used for the construction of chessboard like an object, the better results you will get. However, if the application is not critical, the calibration object could be built out of wood, acrylic, or some sort of strong cardboard. For instance, the next image shows a chessboard like a calibration object made out of a reused cardboard certificate holder.

Error creating thumbnail: Unable to save thumbnail to destination
Chessboard like calibration object made out of cardboard.

To let the calibrator know the characteristics of the chessboard pattern, you can specify the values of the variables: pattern_rows, pattern_cols, pattern_block_height and pattern_block_width on the configuration object passed to the calibrator when instantiated.



Previous: AprilTag Camera Calibration Index Next: 3D Pose Estimation