Fachbereich Informatik

Robust Apriltags Detector

Bachelor- or Master-Thesis at group TAMS


Despite a lot of progress, robot vision algorithms are still not reliable enough to detect and localize objects in a cluttered environments. This motivated the development of so-called fiducial marker systems, whose specially designed patterns can be detected with specialized computer vision algorithm. For example, the popular Aruco and Apriltag markers consist of a simple black and white rectangular pattern, that can simply be printed and glued or pasted onto arbitrary objects. The computer vision algorithm detects the outline of the pattern, decodes the bit-pattern made up from the internal black and white patches, and calculates distance and orientation of the marker from the camera. The existing systems are highly optimized and are surprisingly robust against different lighting conditions, but detection quality deteriorates if the marker is too far away, or if the camera or the object are moving.

Dataset Collection

In this thesis, we will set up one of the robot systems at TAMS to record a dataset of Aruco/Apriltag or other fiducial markers in different lighting conditions. Mounting either the marker or the camera on the robot will allow us to measure and vary the distance and orientation and the relative velocity between camera and object.

Vision Algorithm

Using this dataset, you will then develop and implement improved vision algorithm (classical or deep-learning) to detect the fiducials. Several options look promising, and you can decide on which approach you want to choose.

Software and ROS integration

For the dataset collection, we will select one of the robot arms in the TAMS lab, using the ROS framework to generate and record the robot motion, camera images, and required additional data. The existing computer vision algorithms (Aruco and Apriltag) are written in C/C++ and the OpenCV computer vision framework. It would probably be easiest to develop the improved detector on top of the existing implementation (using OpenCV bindings from C/C++ and/or Python). This would also allow to re-integrate the new algorithm into ROS. However, other languages and programming environments could also be used.

Thesis Goals: