TLD算法是Tracking-Learning-Detection的简称,凡是对模式识别、机器学习和计算机视觉有些许了解的人都对一个算法敢起这样的名字而诧异。在看完作者的演示视频和相关论文之后,我除了对算法的发明者Zdenek Kalal的勇气而感到佩服之外(敢于将一个算法命名为TLD本身就需要很大的勇气),更加对Zdenek能将一个工作做得这么细致而自愧不如。下面就结合我这些天分析TLD的论文、从网上找到的资料和基于alantrrs提供的纯C++源代码给出我自己的理解。本博客直供自己学习交流记录只用,引用的资料恕不一一给出。
TLD(Tracking-Learning-Detection)算法是英国萨里大学的一个捷克籍博士生Zdenek Kalal在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统的跟踪算法相比,显著特点就是它将传统的跟踪算法、检测算法和一种自己提出的在线学习机制相结合,从而给出了一个在跟踪过程中能够解决跟踪目标形变、遮挡、视角变化、目标频繁在相机视野中出现和消失的比较鲁棒的方案。
总体来说,TLD跟踪模型主要包括如下的三个有机整体:检测模块、跟踪模块和学习模块。其中,三个模块的关系如图1所示: