Skip to main content Skip to search Skip to main navigation

Outline


In this blog post we will explain everything about Charuco Targets. In order to understand Charuco Targets, we need to deal with the following topics:

  • Aruco Markers
  • Aruco Targets
  • Checker Targets
  • Charuco Targets

Aruco Markers


An Aruco Marker (Augmented Reality University of Cordoba) is a binary square synthetic marker. It consists of a black square containing an inner binary matrix (made up of white squares) that gives the marker its identifier. Three examples of an Aruco Marker are shown below:

Its main purpose is to help with camera pose estimation, i.e. finding correspondences between points in the real world and their projection in the image. This is a very common task in computer vision applications requiring precise localization in the environment like: robot navigation, autonomous driving, virtual/augmented reality and many more. A single detection of an Aruco Marker provides enough information (4 corners) to obtain such a camera pose.

The black border of the marker enables very fast and robust recognition of the marker in the image. The binary white matrix inside the black square provides the following benefits:
  1.  It provides each marker with a unique ID
  2. It uniquely encodes each of the 4 corners so that no rotational ambiguities exist
  3. It allows for detecting and correcting errors
A set of markers that are considered in an application are defined in a dictionary. This dictionary stores the binary encoding for each marker.

To specify an Aruco Marker, the following parameters are required:
  • Matrix Size: size of the inner binary matrix, e.g. 5x5 bits
  • Dictionary Size: number of markers in a dictionary, e.g. 1000. Note: The smaller the dictionary size, the higher the inter-marker distance (better error detection and correction)
  • Marker ID: the unique marker ID in the specific dictionary, e.g. marker 2 of the DICT_5x5_1000
  • Marker Size: square length of the black square, e.g. 10mm. Note: Depending on the marker generation software this value can be given in millimeter [mm] or pixels [px].
  • Border Size: this specifies the size of the black border around the inner white matrix. The default value for the border is 1 which is exactly the size of an internal bit.

Parameters of the depicted Aruco Marker:
  • Matrix Size: 4x4 (side length of each square is 25mm)
  • Dictionary Size: 1000
  • Marker ID: 0
  • Marker Size: 150mm (4 * 25mm + 2 * 25mm)
  • Border Size: 1 (25mm)

Aruco Targets


Aruco Targets can be created by using a dictionary of Aruco Markers and arranging them on a plane in a regular grid stricture (see image below). This ensures that the relative positions of the individual markers with respect to the board is known a priori and thus can be used as a target for camera calibration. 

The main advantage is that the feature detection for an Aruco Target works even if the target is not fully visible or partially occluded in the image. This allows for much more convenient handling during calibration procedure and can additionally improve calibration results, as feature data points can be obtained very close to the edge of the image.

The main disadvantage of an Aruco Target is that the detection accuracy of the corner feature points is slightly lower compared to other camera calibration targets.

Checker Targets


Checkerboard Targets are the most common and popular targets for camera calibration. They are supported by almost every calibration library.

The main advantage of a Checker Target is that the corner feature points are not affected by perspective transformations or lens distortions and can therefore be detected with very high subpixel accuracy.

One drawback is that the entire Checker Target must be fully visible in the image to be detected. If the target is only partially visible or occluded, feature extraction will not work for simple checkerboard targets. This makes it somewhat difficult to collect calibration data near the edge of the image.

Charuco Targets


The name Charuco originates from the combination of: Checker + Aruco = Charuco

Charuco Targets have been designed to combine the advantages of Aruco and Checker Targets into one camera calibration target. The key advantages are:

  • Subpixel accuracy feature point detection
  • Feature detection in partial or occluded views

These features make the Charuco Targets particularly useful for calibrating stereo cameras, since there is no need to ensure that the entire calibration board is in the field of view of both cameras. 

To specify a Charuco Target, the following parameters are required:

  • Matrix Size: size of the inner binary Aruco matrix, e.g. 5x5 bits
  • Dictionary Size: number of Aruco Markers in a dictionary, e.g. 1000. Note: The smaller the dictionary size, the higher the inter-marker distance (better error detection and correction).
  • Rows x Columns (Checker): number of rows and columns of the Checker Target
  • Checker Size: square length of the Checkers
  • Marker Size: square length of the Aruco Markers, Note: This value must be smaller than Checker Size

Have any additional questions or comments regarding this topic?

Ask us: https://calitar.com/Information/Contact/