Full Body Pose Estimation for Sports Analysis - Chessboard Camera Calibration

From RidgeRun Developer Connection
Revision as of 03:18, 17 September 2020 by Spalli (talk | contribs) (Created page with "{{Full Body Pose Estimation for Sports Analysis/Head|previous=|next=}} This wiki summarizes the documentation of the chessboard based camera calibration method. It contains i...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



  Index  




This wiki summarizes the documentation of the chessboard based camera calibration method. It contains information such as the 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 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 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 AprilTag calibration object.

Description

This calibrator class uses the OpenCV library calibration functions to provide the user with the ability of computing 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 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 object, the better results you will get. However, if the application is not critical, the calibration object could be build out of wood, acrylic or some sort of strong cardboard. For instance, the next image shows a chessboard like 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.



  Index