Raspberry banner finalFiducial markers are widely used in various applications like robot navigation, logistics, augmented reality.

Fig. 1

Fig. 1. Applications of fiducial markers

Advantages are obvious

  • High contrast

  • Simple code generation

  • Resistance to extremal angles

However, when we deal with a large number of markers, real-time recognition becomes challenging, especially on embedded devices with low power CPUs on-board.

In this project, we have been working on optimization of fiducial markers tracking algorithm on Raspberry Pi. Firstly, the default recognition algorithm was integrated.


Fig. 2. Applications of fiducial markers

Above “brute force” solution provided around 10 FPS. In order to overcome this challenge and improve the performance, a set of new ideas was proposed and added into the recognition pipeline. Below table contains high-level illustration of each improvement and the effect of its integration into the pipeline.

Table 1

Table 1. Performance boost for developed steps

Developed marker recognition algorithm gives around 60 FPS on Raspberry PI, which significantly outperforms the default solution.

Here are brief examples of binary markers recognition with rendering using OpenGL:

GIf cropped final

multiple markers GIF final

Binary Marker Recognition on Raspberry