目标跟踪:TLD算法阅读后记

花了一个星期的时间阅读完2011年目标跟踪SOTA算法TLD,从中学习到不少东西,根据回忆记录下来,可能会有不少纰漏之处。

machine learning应用在目标跟踪领域

之前我以为machine learning应用在目标跟踪领域,应该是挺晚的,没想到之前的许多跟踪算法都应用到了。比如随机森林、聚类算法、binary-classification。文章将TLD框架分解成3个部分:trackinglearningdetecting,其中learningdetecting部分都涉及到了machine learning的分类算法。

特征选择

TLD可以看出,以前的算法对图像特征的选择没有现在这么丰富。TLD直接在boundingBox内平均选取了若干raw pixels当作特征点进行跟踪,raw pixel对光照、形变、遮挡都十分不鲁棒,所以TLD在遇到光照变化、物体遮挡和形变时,效果很差。按照今天的思路,HOG肯定要上,起码行人跟踪不成问题了,而TLD跟踪行人效果也是很差的。

相关运算

大概2014年之后,基于相关滤波的跟踪独占鳌头,速度和精度都上了一个新台阶。但给两张图做相关来判定相似程度,在以前的论文中也是常用的。不同的是,以前的论文仅仅将相关的系数与threshold作比较,而没有进一步发展出相关滤波器。

"传统的"跟踪

TLD经常将trackingdetecting分开来说,在TLD之前的算法中,默认tracking是预测物体在下一帧的位置,而不是检测物体在下一帧的位置。这是很不一样的。打个比方,tracker根据第一、二帧的图片,就可以直接预测第三帧中目标的位置;而检测则只能通过在第三帧中搜索和对比才能知道目标在哪儿。而现在提到跟踪,已经不在乎trackingdetecting的区别了,因为他们已经是一体的了。拿KCF举例,实际上也预测了下一帧的大概位置,就是在当前帧的目标附近;而最终确定目标位置,是通过检测。

P-N EXPERTS

入乡随俗,将trackingdetecting分开来看 P-N 专家。P 专家检测False Positive Object,即检测器检测到的假的目标;然后把假的目标当作负样本训练分类器,这样分类器今后就可以避免再次犯这种样本带来的错误。N 专家检测False Negative Object,即跟踪器跟踪到的假的背景;然后把假的背景当作正样本训练分类器,这样分类器今后就可以避免再次将这种正样本判断成背景的错误。P-N EXPERTS输入TLDlearning部分。

DETECTOR

Detector是以一种穷举的方式产生大量样本,然后从样本中找出谁是目标。Detector的初始样本可能有几万到几十万个,然后通过方差、融合分类器和最近邻分类器最终得到仅仅数个输出的样本。据论文介绍,方差对比可将样本数减少一半,十分高效。但不得不说,这儿的Detector还是太老实了,像KCF一样在目标周围弄一个检测区域,帧率还会提升。

框图

最后以4个框图代表TLD的精髓吧
目标跟踪:TLD算法阅读后记
目标跟踪:TLD算法阅读后记
目标跟踪:TLD算法阅读后记
目标跟踪:TLD算法阅读后记