文章目录
  1. 1. 算法

压缩跟踪算法的核心主要是通过一个满足压缩感知约束条件的矩阵R把高维图像特征映射到低维, 并通过一个朴素贝叶斯分类器进行判别。作者的巧妙之处是找到了一个非常稀疏的这样一个矩阵R。

  1. 这个矩阵R和高维图像特征的乘积可以看做是若干个小的矩形框和图像boundingbox中某一区域的卷积(不过不知道这么理解会不会影响这一矩阵应该满足全部元素都是随机取值这一前提假设)。在这一理解基础上,C的工程代码就不需要存储这样一个大矩阵的所有元素,而只是需要存储这些小的矩形框相对于boundingbox的位置和矩形框的核(权重weight)了。

  2. 对于分类器,作者证明了正负样本服从高斯分布,所以利用高斯分布函数来进行正负样本的概率分布表达,对分类器的更新也只需要更新正负样本高斯分布的均值和方差。

  3. 算法在上一帧基础上随机采样周围boundingbox,提取每个boundingbox的特征并用分类器分类,分数最高的作为当前帧的结果。在结果周围随机采样,并提取他们的低维特征,加入分类器中进行更新迭代参数。

  4. 此外,论文中提到了可以克服尺度变化的问题,对图像boundingbox进行多尺度的模糊形成高维特征,但是在实际代码中并没有这一步。

算法

对于压缩跟踪的这篇论文中的一些实验结果,我也跑了几个数据集进行测试,struck在shaking、jumping和panda测试集上的结果,在作者的评价条件下比论文中提到的1%、18%和13%高得多,jumping的结果很轻易的就跑到了100%的成功率,不知道压缩跟踪的作者用的测试集不一样还是跟踪的是一些其他的非ground_truth目标。此外,在2013年的一篇综述Online Object Tracking: A Benchmark中,作者比对了Struck、TLD、OAB、CT等方法。综合对比来看,struck几乎是效果最优的一个算法,并且在成功率和精度方便表现都很出色,而CT压缩跟踪算法的效果其实在实际验证中几乎是垫底的效果(参见Visual Tracker Benchmark 1.0),除了算法速度外,并没有太大亮点。不过文章对于理解目前主流的跟踪算法及框架是很有帮助的,压缩跟踪的代码也几乎是我见过的最为简洁的。

文章目录
  1. 1. 算法