I have been following fiducial marker recognition toolkits since 2009 when I was an visiting researcher at Dr. Takeo Igarashi’s ERATO Lab in Tokyo, Japan. These marker recognition toolkits are designed to detect special machine-readable printed markers in an image. They are applied in a workflow that involves capturing an image from a live video stream, e.g., webcam, processing the marker positions, and then rendering 3D objects in lieu of the marker back into the original video stream. We used the markers slightly differently in ERATO lab to identify local-aware position of objects relative to the camera.
Several marker recognition toolkits are available in today’s industry. ARToolkit is the first library to offer this technology, which solved several problems in image recognition. ARToolkit is provided for C/C++ and variants are offered by NYARToolkit for Java and C#. Other toolkits also have been produced with completely different code bases such as ARTag, ARToolkitPlus, QR codes, AForge.Net Graft, Goblin XNA, and Qualcomm AR. Qualcomm AR differs from most other toolkits because it has a free license and is designed for the mobile platform.
Recognition algorithms have improved over time. ARTookit originally did incorporate any way to make the image recognizable out of the box and additional image filter libraries were required. It also allowed to recognize any image, which is prone to misrecognition because of non-ideal lighting and camera conditions. Improved algorithms use bit-coded patterns to reduce misrecognition. These bit-coded patterns may also include ECC codes to ensure higher recognition accuracy.
The design of markers has also changed over time. The original markers were freeform images enclosed in a box, but this does not work because colours are dependent on lighting conditions. Reducing the colour choices was taken by Microsoft, a black-and-white markers are used by the other recognition toolkits. Another advancement is to bit-code the marker, where black and white pixels are printed inside the box. A recent trend is to employ frame (around the edge) markers, which frees the middle of the marker for anything.
These marker recognition toolkits have been used in several projects. I used the C# variant NYARToolkit to teach a robot instructions using photographs. Jim Young and Min Xin used ARToolkitPlus in their projects.These projects, however, exist in the research and academic world.