【目标跟踪】CACF:Context-Aware Correlation Filter Tracking

CVPR2017的oral,之前读过这篇文章,没get到oral的点在哪,今天有空又读了一遍,感觉嗯,oral还是有oral的理由的……

原文链接:Context-Aware Correlation Filter Tracking


Motivation

这篇文章还是解决的相关滤波的老问题,由于余弦窗(用来抑制边界效应的)和search region的限制,导致CF模板学不到太多的背景信息,当目标发生比较大的形变或者复杂背景干扰的时候,容易跟丢。


Contribution

针对上述问题,作者提出一种框架,显式的学习目标周围的背景信息,这种框架可以广泛地用到基于CF的跟踪算法上。


Algorithm

还是先来看一下pipeline:
【目标跟踪】CACF:Context-Aware Correlation Filter Tracking_第1张图片
上图左边是传统的CF方法,训练(training)和检测(detection)交替进行,简单直接。
右边是CACF作出的改进,可以看到,在训练阶段,作者在目标的上下左右各采了一个context area,在训练过程中,将中间的 A0 A 0 标记为正样本,将附近的上下文区域 Ai A i 标记为负样本,进行模版的训练。检测阶段与传统CF一样。

传统的CF的目标函数:
这里写图片描述
作者的改进版:
这里写图片描述
与原版相比,可以看作是加了一个惩罚项 ||Aiw||22 ∑ | | A i w | | 2 2 ,使得要训练的模版 w w 与背景 Ai A i 做相关时响应尽量小,这个想法可以说是很直接的。然后作者为了证明这个函数可以得到闭式解,开始了一系列风骚的操作:

方便起见,我解释一下他在单通道原始域下的公式推导(其实是因为我的数学水平只能够解释单通道原始域的操作T-T)
作者对 A0 A 0 y y 进行了行拓展:
【目标跟踪】CACF:Context-Aware Correlation Filter Tracking_第2张图片
使得第三项可以融到第一项里:
这里写图片描述
fp(w,B) f p ( w , B ) 有着和传统CF以一样的形式,所以也有着类似的解:
这里写图片描述
然后用循环矩阵对角化的性质,得到 w w 在傅立叶域的解
【目标跟踪】CACF:Context-Aware Correlation Filter Tracking_第3张图片

总而言之,就是:CACF在原始CF的目标方程上引入了一个背景惩罚项,并证明了这个新的方程是可以得到封闭解的。


Details

这篇文章有几个我很感兴趣的点,是今天重读的时候发现的。

  • context的选择 在文中4.3节有提到,context的选择会对performance产生重要的影响。最为普遍和简单的一种是在目标的周围固定的选取context的策略(也是本文code实现选取的策略)。这种方法实现起来简单,并且可以解决background clutter和occ等challenging case。 第二种是恒定速度模型的卡尔曼滤波器。 我比较感兴趣的是最后一种,类似于难例挖掘,根据当前帧检测阶段出的响应图,对那些不是目标的高响应点进行采样。直觉上这些点应该是类似于目标的背景干扰,也是潜在的会导致跟踪器drift的context,我觉得可能比简单的在目标周围取负样本更有意义。但可惜的是,文章中并没有给出这种策略下的结果,大家感兴趣的话可以实验一下。

  • 预测跟踪失败 这是文章在5.5节提到的,由目标变化引起的响应图上峰值的变化可以理解,但是由于有context-aware的存在,其他位置的期望是比较低的响应。如果某一帧的响应图上前景和背景对应的响应都发生了显著的变化,可能暗示着发生了潜在的跟踪失败。很可惜的是作者也没有给出这一部分的实验结果(感觉如果很明显的话是可以可视化的看出来的),只提到了可能会在supplementary material里show出这个的结果。

  • 关于 A0 A 0 Ai A i 的疑问 这一点是在我读完之后比较疑惑的地方。由文中的pipeline可见, A0 A 0 是指目标块, Ai A i 表示目标周围的context,但是看code的时候我发现 A0 A 0 是前景扩一圈后的search region,那么做了offset后的 Ai A i 其实是含有目标的一部分的,这样的话把含有一部分目标的context直接标为0感觉怪怪的,希望有能够get到这一点的可以和我交流一下~


Summary

从整体上来看,文章的motivation和contribution都很足,讲了一个很好的故事,从结果上看也很不错,在OTB100上Staple和SAMF分别可以提高1.9和4个点,可以说是很多了。如果detail里面的几个点能从实验上详细的阐述一下就更好了。

你可能感兴趣的:(【目标跟踪】CACF:Context-Aware Correlation Filter Tracking)