From IntRoLab

Jump to: navigation, search


  • Ronan Chauvin


ROS_OpenTLD is a ROS version of the OpenTLD tracker. OpenTLD is a C++ implementation of TLD Predator (Tracking. Learning and Detection) implemented by the AIT (Austrian Institute of Technology), that was originally published in Matlab by Zdenek Kalal. OpenTLD is used for tracking objects in video streams. It doesn't need any training data and is also able to load predefined models (

The ROS implementation consists of two nodes: the tracker node which use the opentld library and an interface node that allow you to select a bounding box, start stop the tracking, start and stop the learning, import or export a model, clear the background and change the tracker's method.

In the two launch files, you can configure the input video stream. In the tracker launch file, you can configure the bounding box source, the default bounding box if there is one, the model that you may want to load and its path, the automatic face detection by the OpenCV cascade classifier and some others parameters. Like OpenTLD, ROS_OpenTLD is published under the terms of the GNU General Public License.

Source Code

You can get the source code on GitHub :


There are many possible applications in robotic. For example, ROS_OpenTLD is already used for tracking cars from a ROS version of the Parrot AR Drone. On our part, we used the algorithm in the purpose of tracking a target (a head or a body) and following this target with a robotic mobile platform.