TLD2.2 is a C++ library for 2D tracking and online learning of generic objects. It is most appropriate for real-time applications with limited compute power that wish to track all kids of objects and ensure re-detection capabilities. TLD2 is a system which includes tracking, on-line learning and detection in a single real-time process. Considering these components all at once is what makes this technology unique.


Tracking is initialized by a single bounding box. Given this bounding box, TLD immediately learns the initial target model.


The object is then tracked using frame-to-frame tracker as long as it is visible. The tracker reports the object state using a bounding box which defines the location and scale in the image coordinates. During tracking the model is continuously updated with new information about the target.


In the event that the target becomes fully occluded or dispersals from the field of view, TLD uses the online learned model and re-detects the target once it becomes visible again. Tracking can thus continue without any interruption much longer than conventional trackers.


In case the tracker drifts, or the object reappears with significantly different appearance after occlusion, TLD allows trajectory correction. The operator provides additional bounding box and this information is smoothly integrated into the target model. This feature provides improved tracking stability.

Multiple Targets

Multiple targets are tracked and learned simultaneously. These can be saved for later use and loaded to memory once they become relevant again. In this case the target is re-initialized automatically using the previously saved model.

TLD2.2 is available for licensing. To find out more download the specs sheet.

Developed between 2009-2011 as part PhD thesis of Zdenek Kalal, supervised by Jiri Matas (CTU, Czech Republic) and Krystian Mikolajczyk (University of Surrey, UK). The algorithm was later popularized in a YouTube video and sparked significant interest both in academia and industry. Later in 2011, Zdenek founded TLD Vision in order to push this research into practical applications.

Developed in 2012 as part of collaboration between TLD Vision and Omron. The code is written in C++ with no dependence on Matlab. The algorithm uses more advanced detection module and more robust learning strategy. TLD2.0 allows tracking multiple targets simultaneously on desktop machines.

Developed between 2013-2015 by TLD Vision. The detection module was further optimized and parts of the code were implemented in low instruction sets. The algorithm offers 3 tracking profiles. Simple trajectory correction feature was added to the API in order to increase the tracker stability. TLD2.2 is the first version which allows tracking of multiple targets on mobile devices.