KCF(High-Speed Tracking with Kernelized Correlation Filters)论文详解

近期拜读了Jo ̃ao F. Henrique大神的KCF论文,下面是对该论文的详细介绍(不喜勿喷,嘻嘻)

摘要

如今大多数跟踪器的核心组件是判别分类器,其任务是区分目标和周围环境。为了适应自然图像变化,通常使用经过转化和缩放的样本块来训练该分类器。这样的样本集充满了冗余 --- 任何重叠的像素都被限制为相同。基于这个简单的观察,我们提出了数千个转化块的数据集分析模型。通过显示结果数据矩阵是循环的,我们可以使用离散傅立叶变换对其进行对角化,从而将存储和计算减少几个数量级。有趣的是,对于线性回归,我们的公式相当于一些最快竞争的跟踪器使用的相关滤波器。而对于核回归,我们推导出一种新的核化相关滤波器(KCF),与其他核算法不同,它具有与线性对应物完全相同的复杂度。在此基础上,我们还提出了一种线性相关滤波器的快速多通道扩展,通过线性核,我们称之为对偶相关滤波器(DCF)。 KCF和DCF在50个视频基准测试中的表现优于Struck或TLD等顶级跟踪器,尽管每秒运行数百帧,并且只需几行代码即可实现(算法1)。为了鼓励进一步的发展,我们的跟踪框架是开源的。

 1 介绍

可以说,最近视觉跟踪研究中最大的突破之一是判别学习方法的广泛采用。跟踪任务是许多计算机视觉系统的关键组成部分,可以自然地指定为在线学习问题[1],[2]。给定包含目标的初始图像块,目标是训练学习一个分类器以区分目标和周围环境。该分类器可以在许多位置进行精细评估,以便在后续帧中检测它。当然,每个新检测都提供了一个新的图像块从而更新模型。

我们很容易专注于表征感兴趣的目标对象 - 分类器的正样本。然而,判别方法的核心原则是给予同样或者更多的相关环境 -- 即负样本。最常用的负样本是来自不同位置和尺度的图像块,它反映了在这些条件下评估分类器的先验知识。

一个极具挑战性的因素是可以从图像中获得几乎无限量的负样本。由于跟踪的时间敏感性,如今的跟踪器在尽可能多地合并样本和保持较低的计算需求之间保持得很好。通常的做法是每帧随机选择几个样本[3],[4],[5],[6],[7]。

虽然这样做的原因是可以理解的,但我们认为负样本的欠采样是阻碍跟踪绩效的主要因素。在本文中,作者开发了用于在不同的相对平移下分析地合并数千个样本的工具,而无需明确地迭代它们。这可以通过以下发现来实现:在傅立叶域中,如果我们使用特定的模型进行转换,一些学习算法实际上变得更容易。

这些分析工具,即循环矩阵,在流行的学习算法和经典信号处理之间提供了有用的桥梁。这意味着我们能够提出一种基于Kernel的脊回归[8]的跟踪器,它不会受到“核诅咒”的影响,它有较大的渐近复杂度,甚至比非结构化线性回归表现出更低的复杂性。而且它可以被视为线性相关滤波器的核化版本,它构成了可用的最快跟踪器的基础[9],[10]。我们利用与线性相关滤波器相同的计算复杂度的强大内核技巧。我们的框架轻松地包含多个特征通道,并且通过使用线性内核,我们展示了线性相关滤波器到多通道情况的快速扩展。

 2 前期工作

2.1 跟踪检测方面

对检测跟踪的全面回顾超出了本文的范围,但我们将感兴趣的文章引用到两个极好的和最近的调查[1],[2]。最流行的方法是使用判别性外观模型[3],[4],[5],[6]。受统计机器学习方法的启发,它包含了在线训练分类器,来预测图像块中目标的存在与否。然后在许多候选块上测试该分类器从而找到最可能的位置。或者,也可以直接预测位置[7]。使用类标签的回归可以看作是分类,因此我们可以互换地使用这两个术语。

在关注与我们的分析方法更直接相关的文献之前,我们将讨论一些相关的跟踪器。逐个检测范例的典型例子包括基于支持向量机(SVM)[12],随机森林分类器[6]或弱分类变体[13],[5]。为了对跟踪有用,所有提到的算法都适用于在线学习。张等人[3]提出了一个固定随机基础的投影,以受压缩传感技术的启发来训练朴素贝叶斯分类器。为了直接预测目标的位置,而不是在给定的图像块中进行选取,Hare等人[7]基于大量的图像特征,采用了结构化输出SVM和高斯核。非判别性跟踪器的例子包括Wu等人的工作[14],他们将跟踪描述为一系列图像对齐目标。以及Sevilla-Lara和Learned-Miller [15],他们提出了一个基于分布领域的强外观描述符。 Kalal等人[4]的另一种判别性方法使用一组结构约束来指导增强分类器的采样过程。最后,Bolme等人[9]采用经典信号处理分析来推导快速相关滤波器。我们将在稍后更详细地讨论最后这两个的文章。

2.2 样本转换与相关滤波

回想一下,我们的目标是有效地学习和检测转换的图像块。与我们的方法不同,到目前为止,大多数尝试都集中在试图清除不相关的图像块。在检测方面,可以使用分支定界来找到分类器响应的最大值,同时避免不希望的候选块[16]。不幸的是,在最坏的情况下,算法可能仍然需要迭代所有图像块。相关方法可以有效地找到一对图像中最相似的色块[17],但不会直接转换为我们的设置。虽然它并不排除详尽的搜索。但值得注意的是,使用快速但不准确的分类器来选择有可能的块,并且只在那些[18],[19]上应用完整但较慢的分类器。

在训练方面,Kalal等人[4]提出,使用结构约束从每个新图像中选择相关的样本块。这种方法相对昂贵,限制了可以使用的特征,并且需要仔细调整结构启发式;另一种流行的相关方法虽然主要用于离线检测学习,即负样本挖掘[20]。它包括在图像池上运行初始检测器,并选择任何错误的检测作为重新训练的样本。尽管两种方法都减少了训练样本的数量,但主要缺点是必须通过运行检测器来考虑候选块

我们研究方向的最初动机是在跟踪中近期成功的相关滤波器的应用[9],[10]。事实证明,相关滤波器与更复杂的方法相比具有竞争力,但仅使用一小部分计算能力,数百帧/秒。他们利用了这样一个事实,即两个图像块的卷积(松散地,它们在不同相对转换中的点积)相当于傅里叶域中的元素乘积。因此,通过在傅里叶域中制定它们的目标,它们可以一次性指定用于若干平移或图像移位的线性分类器的期望输出。

从[21]中可以看出,在信号处理方面有数十年的研究中,傅立叶域方法可以非常有效。不幸的是,它也可能是非常有限的。我们希望,在傅里叶域上,同时利用计算机视觉方面的最新进展,例如更强大的功能,大边缘分类器和核方法[22],[20],[23]。

一些研究正朝该方向发展,并尝试将核方法应用于相关滤波器中[24],[25],[26],[27]。在这些工作中,必须区分两种类型的目标函数:一种是不考虑功率谱或图像转换,例如合成判别函数(SDF)滤波器[25],[26],以及另一种,即考虑功率谱或图像转换,例如最小平均相关能量[28],最佳权衡[27]和最小平方误差输出和(MOSSE)滤波器[9]。由于可以有效地忽略空间结构,前者更容易核化,并且已经提出了核SDF滤波器[26],[27],[25]。然而,在图像转换方面,由于缺乏非线性核和傅里叶域之间的相关性,将核技巧应用于其他滤波器更困难[25],[24],他们提出需要更高的计算时间和图像偏移数量的限制[24]。

这提示我们需要在图像块转换训练算法之间建立更深层次的联系,以克服傅立叶域公式的局限性。

 2.3 后续工作

自从这项工作的初始版本[29]以来,所提出的循环移位模型的一个有趣的时域变体已经非常成功地用于视频检索[30]。 还提出了线性相关滤波器到多通道的推广[31],[32],[33],其中的一些是基于我们的初始版本。 这允许他们利用更现代的特征(例如,方向梯度直方图 - HOG)。 还提出了对其他线性算法的推广,例如支持向量回归[31]。 这里必须指出,所有这些工作都以离线训练为目标,因此依赖于较慢的求解器[31],[32],[33]。 相比之下,我们专注于快速元素操作,甚至使用核技巧,它也更适合实时跟踪。

3 贡献

早期提出了这项工作的初级版本[29]。它首次证明了带有循环移位样本的脊回归经典相关滤波器之间的联系。这使得用O(n\log n )快速傅里叶变换的快速学习代替了昂贵的矩阵代数。还提出了第一个核相关滤波器,但仅限於单个通道。还提出了在所有循环移位中计算核的封闭式解决方案。它们具有相同的O(n\log n )计算成本,并且是针对径向基和点积核导出的。

目前的工作是在初始版本基础上增加了重要的方法:(1)使用更简单的对角化技术重新导出所有原始结果(第4-6节)。(2)我们将原始工作扩展到多通道,这就让我们使用最先进的特征来显着提升性能(第7节)。(3)在初始工作中添加了大量新分析和直观解释。(4)我们还将原始实验从12个视频扩展到50个视频,并添加了基于方向梯度直方图(HOG)特征而非原始像素的核相关滤波器(KCF)跟踪器的新变体。(5)通过线性核,我们还提出了一种计算复杂度非常低的线性多通道滤波器,几乎与非线性内核的性能相匹配。我们将其命名为对偶相关滤波器(DCF),并展示了它与一组最近更昂贵的多通道滤波器的关系[31]。在实验上,我们证明了在没有任何特征提取的情况下,KCF已经比线性滤波器表现更好。凭借HOG功能,线性DCF和非线性KCF都可以在Struck [7]或Track-Learn-Detect(TLD)[4]等大型顶级跟踪器表现出色,同时可以在数百帧每秒的情况下轻松运行。

4 模块

在本节中,我们提出了在不同平移下提取图像块的分析模型,并计算出对线性回归算法的影响。我们将展示与经典相关滤波器的自然底层连接,这将允许我们在第5-7节中研究更复杂的算法。

4.1 线性回归

由于脊回归展现了一个简单的闭合式解决方案,并且可以实现接近更复杂方法的性能,例如支持向量机[8]。 训练阶段,我们需要找到一个函数f(z)={w}^{T}z,使得平方误差达到最小值,即

其中,x_{i}为样本,y_{i}为所回归的目标,\lambda为如同SVM中的控制过拟合的正则化参数。

文献[8]中给出了w的闭合形式w=(X^{T}X+\lambda I)^{-1}X^{T}y(2),由于在本文的4.4节中提出要在傅里叶域中进行运算,通常会出现复数值,故将w转换为复数域:

w=(X^{H}X+\lambda I)^{-1}X^{H}y                                                       (3)

其中,X^{H}={X^{*}}^{T}为厄米特转置。可以看到,由于涉及矩阵的求逆等复杂操作,从而使得计算复杂度过高。

4.2 循环移位

我们首先讨论一下一维单通道信号,之后在第7节将推广至二维多通道图像。作者将n维列向量x作为基础样本,目的是使用基本样本(一个正样本)和通过转换获得的几个虚拟样本(即负样本)来训练一个分类器。 我们可以通过循环移位算子P来建模该向量x的一维转换,循环移位算子P是置换矩阵。

       

那么Px=\left [ x_{n} ,x_{1},x_{2},...,x_{n-1}\right ]^{T}表示向量x的元素向右平移一个单位。

上图表示了n维列向量x组成的n\times n维循环矩阵C(x), 由于循环特性,我们每n个周期定期得到相同的信号x。 这意味着可以获得整个移位信号,即有:

\left \{ P^{u}X|u=0,...,n-1 \right \}               (5)

     

4.3 循环矩阵<增加样本数>

由上节分析可知,X=C(x)=(P^{0}x,P^{1}x,P^{2}x,...,P^{n-1}x)^{T},即

上图3给出了得到的模式图示。我们刚刚得到的是一个循环矩阵,它具有几个有趣的特性[34],[35]。 请注意,该模式是确定性的,并且由生成向量x(第一行)完全指定。而且无论生成向量x [34]如何,所有循环矩阵都通过离散傅立叶变换(DFT)(线性运算)进行对角化。 即有

X=Fdiag(\hat{x})F^{H}    (7)

其中,F是一个与向量x无关的常数矩阵\hat{x}为进行离散傅立叶变换后的向量。(7)式表示了一般循环矩阵的特征分解。 共享的、确定性的特征向量F位于许多不常见特征的缘由。

对于常数矩阵F的表示形式,在循环矩阵傅立叶对角化里面有详细的推导介绍,该傅立叶矩阵有酉矩阵和对称矩阵的性质,即F^{H}F=IF^{H}=F

4.4 合并

当训练数据由循环移位组成时,我们现在可以应用这一新知识来简化(3)式中的线性回归,由此便使得计算更加简单。

\begin{align*} &X^{H}X=Fdiag(\hat{x}^{*})F^{H}Fdiag(\hat{x})F^{H} \\ & = Fdiag(\hat{x}^{*})diag(\hat{x})F^{H} \\ &= Fdiag(\hat {x}^{*} \odot \hat{x})F^{H} \end{align*}  (10)

其中\hat{x}^{*}=(\hat{x})^{H},由于上式中的第二行为两个对角矩阵的乘积,即对应对角元素的相应乘积,故用点积符号\odot化简上式。将(10)式代入(3)式(论文附录A.5推导):

\begin{align*} &w=(Fdiag(\hat {x}^{*} \odot \hat{x})F^{H}+\lambda F IF^{H})^{-1}X^{H}y \\ & = (F(diag(\hat {x}^{*} \odot \hat{x})+\lambda I)F^{H})^{-1}X^{H}y \\ &= F(diag(\hat {x}^{*} \odot \hat{x})+\lambda I)^{-1}F^{H}X^{H}y \\ &= Fdiag(\hat {x}^{*} \odot \hat{x}+ \lambda)^{-1}F^{H}F diag(\hat {x}^{*})F^{H}y \\ &= Fdiag(\frac{\hat {x}^{*}}{\hat {x}^{*} \odot \hat{x}+ \lambda})F^{H}y \end{align*}

对上式左乘常数矩阵F,得到:

\begin{align*} &F^{H}w= F^{H}Fdiag(\frac{\hat {x}^{*}}{\hat {x}^{*} \odot \hat{x}+\lambda})F^{H}y \\ &Fw =diag(\frac{\hat {x}^{*}}{\hat {x}^{*} \odot \hat{x}+\lambda})Fy \\ &\hat {w} =diag(\frac{\hat {x}^{*}}{\hat {x}^{*} \odot \hat{x}+\lambda})\hat {y} \\ &=\frac{\hat {x}^{*}\odot \hat {y}}{\hat {x}^{*} \odot \hat{x}+\lambda} \end{align*}      (12)

对于计算复杂度,若只考虑脊回归,则为O(n^{3});而对于(12)式,其计算复杂度为O(nlogn),若除去最后一步的傅立叶矩阵计算,其复杂度为O(n)

4.5 与相关滤波的联系

自80年代以来,相关滤波器一直是信号处理的一部分,在傅里叶域中解决了无数的目标函数[21],[28]。最近,他们作为MOSSE滤波器[9]重新出现在人们的视野中,尽管它们简单且具有处理极快,在跟踪方面表现出了卓越的性能。

这些过滤器的解决方案看起来像(12)式,但有两个关键的区别:首先,MOSSE滤波器源自在傅里叶域中设计一个特别的目标函数;其次,正则化器\lambda以点对点方式添加,以避免被零除。我们在上面展示的推导通过将起始点指定为具有循环移位的脊回归并且到达相同的结果。

循环矩阵丰富了经典信号处理和现代相关滤波器提出的工具集,并将傅里叶技巧应用于新算法。在下一节中,我们将在训练非线性滤波器中看到一个这样的实例。

5 非线性回归

使非线性回归函数f(z)更强大的的一种方法是使用“核技巧”[23]。 最有吸引力的是尽管是在一组不同的变量(在对偶空间)中,此优化问题仍然是线性的。 但我们必须注意一点,回归函数f(z)通常随着样本数量的增加而增加。然而,我们用了一种新的分析工具后克服了该限制,并获得与线性相关滤波器一样快的非线性滤波器,将其用于训练和评估。

5.1 核技巧--概述

使用核技巧将线性问题(原空间)的输入映射到非线性特征空间(对偶空间)\varphi (x)(基向量):

1)将向量w(原空间)表示为对偶空间中基向量的线性组合:

      w=\sum_{i}\alpha _{i}\Phi (x_{i})=\Phi \left ( X \right ) ^{T} \alpha         (13)

      此时优化问题转化为求解向量\alpha

2)定义核函数为向量之间的点积\varphi ^{T}(x)\varphi({x}')=k(x,{x}')

所有样本对之间的点积通常用n\times n维的核矩阵K中:

K_{i,j}=k(x_{i},x_{j})               (14)

核技巧的特点是采用来自隐式的高维特征空间\varphi (x),而无需实例化原空间中的向量,但因为回归函数的计算复杂度随着样本的数量的增加而增加,为了避免这一问题,我们采用了循环矩阵的性质特点。

5.2 快速核回归

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章