Tracking-Learning-Detection是一种单目长时跟踪算法,特点和优势是通过一种改进的在线学习机制不断更新跟踪模块的“显著特征点”和检测模块的目标模型及相关参数,从而使得跟踪效果更加稳定、鲁棒、可靠。主要有三部分组成:跟踪模块、检测模块、学习模块;跟踪器在一帧帧的视频帧中跟踪目标。检测器是将已经检测到的特征(表征目标物体)进行局部化处理,并且根据需要不断修正跟踪器。学习器估计出检测器的错误,并及时更新检测器,以避免后续再出现这些错误
其运行原理是:检测模块和跟踪模块互补干涉的并行进行处理,首先,跟踪模块假设相邻视频帧之间物体的运动是有限的,且被跟踪目标是可见的,以此来估计目标的运动。如果目标在相机视野中消失,将造成跟踪失败。检测模块假设每一个视帧都是彼此独立的,并且根据以往检测和学习到的目标模型,对每一帧图片进行全图搜索以定位目标可能出现的区域。同其它目标检测方法一样,TLD中的检测模块也有可能出现错误,且错误无非是错误的负样例和错误的正样例这两种情况。而学习模块则根据跟踪模块的结果对检测模块的这两种错误进行评估,并根据评估结果生成训练样本对检测模块的目标模型进行更新,同时对跟踪模块的“关键特征点”进行更新,以此来避免以后出现类似的错误。
并且提出了一种全新的学习方法(P-N学习,Positive和Negative),这种方法通过一对约束来估计出错误,正约束可以检测出是否丢失,负约束可以检测出错误的警告。