本文主要是介绍TLD算法学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目前,基于检测和半监督学习的目标跟踪算法已经成为研究的主流。TLD是这其中的经典代表,具有良好的适应性和鲁棒性!
TLD提出背景
传统跟踪算法对运动目标初始化后就可以快速地生成目标的运动轨迹,但传统算法仅仅依靠的是先验的知识,非常不利于对实际情况的变化做出适应。并且在不断的跟踪中难免会不断的积累误差,而且一旦目标跟踪失败那么即使目标再次失败也无法继续跟踪!究其原因,传统的检测算法独立的评估每一帧视频序列,判断每一帧中是否含有目标,如果有目标就给出目标状态信息,检测器不会因目标消失而导致检测失败。它们是基于离线训练的,所以无法对未知目标进行检测的。根本无法具备独立应对长时目标跟踪的条件,因为它们都不直接涉及跟踪框漂移后的在线处理,误差积累势必会越来越严重。TLD提出的创始人Zdenek Kalal认为具备长期跟踪的条件如下:
(1)跟踪器具备一定的自检测能力
(2)加入半监督机器学习以实时更新目标模型
(3)检测模块与跟踪模块搭配
TLD介绍
TLD算法由4个模块构成:跟踪模块、学习模块、检测模块和整合模块。
跟踪模块和检测模块并列运行,两者相互影响,检测模块可以重置跟踪模块,同时跟踪模块又可以通过学习模块为检测模块提供训练数据,紧接着将它们生成正负样本传入整合模块,整合模块生成正负样本参与半监督学习,此时负责存储具备表征当前目标外观的目标模型得到更新,更新之后又反作用于跟踪模块和检测模块。
TLD算法缺陷归纳
(1)手动初始化
(2)贪婪搜索,基于滑动窗口扫描的。
(3)图像元方差分类器泛化能力相对较弱
(4)目标模型样本膨胀,样本不断的膨胀,冗余度高。
(5)对相似目标辨识能力相对较弱
(6)发生严重遮挡时,目标框易漂移
(7)最近邻分类器耗时巨大
(8)复杂背景下,目标框易漂移
(9)Median——Flow跟踪器稳定性相对较弱
(10)目标发生大尺度形变时,目标框易漂移
算法存在的缺陷也是现在TLD算法研究学者们不断改进下手的地方。
这篇关于TLD算法学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!