定义
Struck Tracker是一种基于tracking-by-detection策略的经典的目标跟踪算法(即tracker)[1],在2012年深度学习流行前属于顶尖的水平[2,3]。
基于tracking-by-detection的目标跟踪算法,核心思想是将跟踪问题转化一种二进制的分类问题,并通过在线学习(online learning)策略来更新目标模型。典型的算法过程如图1所示,具体如下:
- 在第一帧中用矩形框出目标位置标记为目标,并选取若干周围矩形框按照一定的标准标记为目标和背景样本;
- 根据不同样本的图像特征构建一个目标模型,目标模型评分越高代表是目标可能性越大;
- 根据前一帧的目标位置生成当前帧的目标候选位置,选取评分最高的候选位置作为当前帧的目标位置。
- 基于各个候选位置评分结果以及具体更新策略目标模型的更新。
图 1 典型的tracking-by-detection的目标跟踪算法框架
Struck目标跟踪算法与上述传统方法的区别在于对第2-3步进行了改进,具体原因是传统方法一般通过目标模型评分阈值,将样本分为正样本(目标)以及负样本(背景),容易发生错误划分;且所有样本的等权重,致使错误的样本标签对跟踪结果的影响较大。Struck算法基于结构化SVM策略来构建一个预测函数,直接预测目标位置的帧间变化,取代传统的二值分类,避免中间分类环节对结果的干扰,及大地提高了跟踪的准确率。
详细的算法过程和公式推导请参考文献[3]。
参考文献
[1] Hare S, Golodetz S, Saffari A, et al. Struck: Structured output tracking with kernels[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 38(10): 2096-2109.
[2] Wu Y, Lim J, Yang M H. Online object tracking: A benchmark [C]// CVPR, 2013.
[3] Wu Y, Lim J, Yang M H. Object tracking benchmark [J]. TPAMI, 2015.