Introduction

This online toolbox can be used to fully automatically calibrate one or multiple video cameras intrinsically and extrinsically using a single image per sensor only using a set of planar checkerboard calibration patterns. Furthermore, if provided, it registers the point cloud of a 3D laser range finder with respect to the first camera coordinate system. The main assumption for our algorithm to work is that all cameras and the range finder have a common field of view and the checkerboard patterns can be seen in all images, cover most parts of the images and are presented at various distances and orientations. Below, you can upload and calibrate your own data directly using our calibration server. After a couple of minutes you will receive an email with your results. Please carefully read all the instructions on this page as well as our ICRA'12 publication before uploading any data to our server. You can also have a look at our example section, to get a quick overview over the data which needs to be submitted. Important note: Even though this toolbox is fully automatic it is an 'expert tool' and supposed to be used only by people which have a solid background in computer vision and camera calibration. MATLAB code for checkerboard corner detection and refinement can be downloaded separately here.

Upload your image/range data for calibration

Upload instructions

In order to use our toolbox, you need to upload the following data files:
  • 1 ini file specifying the parameters
  • 1 image per camera displaying multiple boards at different poses (provided as png or jpg)
  • 0 or 1 range data file (provided as 3d point cloud in txt file)

A description of the ini file contents and example ini files can be found below. The setup must be capturing a set of checkerboard patterns shown at different orientations and locations. All checkerboards must be clearly visible in all images and should cover the whole image area for best results. The distance between the checkerboard corners must be the same for all patterns. Checkerboard patterns must be rectangular, though there is no restriction on the pattern size (number of corners) which might vary. The range data file must be provided as a plain txt file with space separated columns (one for x,y and z) and one row per line. Example calibration setups can be found here.

Ini File Description

Note: The only mandatory parameter is corner_dist, all other parameters are automatically set to values, which should work well in most cases. If you calibrate multiple cameras, the calibration parameters must be specified multiple times (once per camera). It usually makes sense to restrict a1 to zero at all times, and a5 to zero if you do not have wide angle camera lenses.

[general]

  • corner_dist: Distance between neighboring checkerboard corners in meters (default=0.1)
  • rectify: Boolean value specifying if rectification parameters for OpenCV shall be computed (default=false)

[calibration]

  • a1_active: Boolean value (per camera) specifying if alpha (=shear) shall be optimized (default=true)
  • k5_active: Boolean value (per camera) specifying if k5 shall be optimized (default=true)

[range]

  • fine_max_scale_correction: Maximum scale deviation (i.e. scale=1.0 +- this value) between camera and range sensor (default=0.0)
  • fine_outlier_multiplier: Multiplied by median-error to estimate outliers (default=1.5)
  • fine_max_outlier_ratio: Maximum ratio of outliers, range [0,1) (default=0.05)
  • fine_max_number_of_results: Finish as soon as this number of good results exist (default=3)
  • fine_non_max_suppression: Radius for monmaxima suppression (default=1.5)

Example Ini Files

Monocular camera setup

[general]
corner_dist=0.04 # 4 cm corner distance

[calibration]
a1_active=0 # fix alpha to 0 during optimization
k5_active=0 # fix k5 to 0 during optimization (no wide angle lens)

Stereo wide-angle camera setup

[general]
corner_dist=0.1 # 10 cm corner distance
rectify=1 # compute rectification parameters (for OpenCV's cvInitUndistortRectifyMap)

[calibration]
a1_active=0 # fix alpha of first camera to 0 during optimization
a1_active=0 # fix alpha of second camera to 0 during optimization

Terms of Usage

Hereby, you are granted the right to use this online toolbox for camera and range sensor calibration free of charge for any academic and non-commercial research projects. If you are interested in a stand-alone version of this software for commercial usage, please contact us.

Citation

When using this software for your research, please cite us:
@INPROCEEDINGS{ICRA12,
   author = {Andreas Geiger and Frank Moosmann and Ömer Car and Bernhard Schuster},
   title = {Automatic Camera and Range Sensor Calibration using a single Shot},
   booktitle = {International Conference on Robotics and Automation (ICRA)},
   year = {2012},
   month = {May},
   address = {St. Paul, USA}
}

eXTReMe Tracker