Draft:PuzzleBoard calibration pattern

The PuzzleBoard calibration pattern[1] is a modification of the chessboard calibration pattern. Unlike the chessboard pattern, it incorporates unique position encoding and error correction mechanisms to achieve high accuracy even under difficult conditions such as occlusion and off-nadir angles.

An example of a PuzzleBoard pattern with 8x11 chessboard corners.
An example of a PuzzleBoard pattern with 8x11 chessboard corners. Each 3x3 tile pattern is unique.

Key features

edit

Position encoding

edit

The PuzzleBoard pattern includes position encoding that provides unique positional information for each element within the pattern. This ensures accurate calibration by making it easier to identify and track specific points. The position encoding is based on De Bruijn tori[1][2], i.e. large patterns where each sub-pattern of a certain size is unique.

Error correction

edit

Built-in error correction algorithms are a core feature of the PuzzleBoard pattern. These algorithms help to improve the accuracy of the calibration process by correcting any misreadings. The amount of error correction scales with the size of the visible pattern.

Efficiency

edit

Despite its advanced features, the PuzzleBoard pattern maintains efficient decoding performance. This is due to the fact that reading the code bits just requires to compare the image brightness at the center point between two neighboring chessboard corners with their average brightness. The efficiency is beneficial for applications requiring high precision without excessive computational resources.

Applications

edit

The PuzzleBoard pattern is particularly useful in scenarios where high precision and robustness are critical. Applications include:

  • Industrial vision systems
  • Robotics
  • Augmented reality (AR) applications

Comparison with other patterns

edit

Unlike traditional checkerboard patterns, the PuzzleBoard pattern offers superior robustness due to its position encoding and error correction mechanisms while achieving almost the same accuracy. Compared to ArUco[3] and ChArUco[4] boards the pattern allows a higher number of reference points at a given image resolution. This makes it a preferred choice for complex and high-precision tasks.

A disadvantage of the PuzzleBoard pattern is that it is not yet supported in the standard image processing libraries, as it was first introduced in 2024. However, a tool for creating[5] and the source code for decoding[6] PuzzleBoards is available on an open source basis.

References

edit
  1. ^ a b P. Stelldinger, et al. "PuzzleBoard: A New Camera Calibration Pattern with Position Encoding." German Conference on Pattern Recognition. (2024). https://users.informatik.haw-hamburg.de/~stelldinger/pub/PuzzleBoard/.
  2. ^ P. Stelldinger. "On de Bruijn Rings and Families of Almost Perfect Maps". (2024) https://arxiv.org/abs/2405.03309
  3. ^ S. Garrido-Jurado et al. "Automatic generation and detection of highly reliable fiducial markers under occlusion." Pattern Recognition, vol. 47(6), pp. 2280-2292. https://dl.acm.org/doi/abs/10.1016/J.PATCOG.2014.01.005. (2014).
  4. ^ OpenCV. https://docs.opencv.org/3.4/df/d4a/tutorial_charuco_detection.html.
  5. ^ "PuzzleBoard: A Checkerboard Target with Lightweight Position Encoding".
  6. ^ "PStelldinger/PuzzleBoard". GitHub.