第一次接触到目标跟踪方面的课题,公式的推导能力一直不强,正好拿这篇论文补一下自己的公式推导能力,本文意在推导论文中出现的所有关键部分,整篇论文需要了解一些先验知识例如循环矩阵:请看这里 以及傅里叶变换的小知识见这里
论文的主要思路为:
KCF中的所有训练样本全都是由目标样本循环位移得到,这里举一个一维的例子。
x=[x1,x2,...,xn]T x = [ x 1 , x 2 , . . . , x n ] T
Px=[xn,x1,x2,...,xn−1]T P x = [ x n , x 1 , x 2 , . . . , x n − 1 ] T
从一维可以直接扩展到维,所以可以由一个向量 x∈Rn x ∈ R n 通过不断的乘以排列矩阵得到n个循环位移向量,将这n个向量依序排列到一个矩阵中,就形成了x生成的循环矩阵(也就是数据窗口)表示为 C(x) C ( x ) ,下面有2个图片用来展示这个过程:
图1:达标1维的情况
图2:代表二维的情况
首先介绍一个线性回归模型—脊回归。设训练样本为 (xi,yi) ( x i , y i ) ,那么其线性回归函数 f(xi)=wTxi f ( x i ) = w T x i ,w是列向量表示权重系数,可以通过最小二乘法求解之:
首先核回归的式子为: f(z)=αTk(z) f ( z ) = α T k ( z ) , 其中k(z)表示测试样本和训练样本的核函数,参数有解: α=(K+λI)−1y α = ( K + λ I ) − 1 y ,其中 Ki,j=k(xi,xj) K i , j = k ( x i , x j ) ,所以问题的关键在于选择什么样的核函数使得x的内部元素顺序交换不影响核函数的值,也就是让K也为循环矩阵,论文提到了可以选择多项式核函数和高斯核函数,现在设核相关矩阵的生成向量是k.推导和上面十分像,如下:
α=(Fdiag(k̂ )FH+Fdiag(λδ)FH)−1y=(Fdiag(k̂ +λδ)FH)−1y=Fdiag(1k̂ +λδ)FHy=C(ℱ−1(1k̂ +λδ))y α = ( F d i a g ( k ̂ ) F H + F d i a g ( λ δ ) F H ) − 1 y = ( F d i a g ( k ̂ + λ δ ) F H ) − 1 y = F d i a g ( 1 k ̂ + λ δ ) F H y = C ( F − 1 ( 1 k ̂ + λ δ ) ) y
利用循环卷积的性质: ℱ(C(x)∗y)=x̂ ∗⊙ŷ F ( C ( x ) ∗ y ) = x ̂ ∗ ⊙ y ̂ 得到:
α̂ =(1k̂ +λδ)∗⊙ŷ 这里k是核相关矩阵的第一行,表示原始生成向量x0和位移了i的向量xi的核函数,并且k还是对称向量即满足ki=k(x0,xi)=kn−i=k(x0,xn−i)举个例子来讲x0=[1,2,3,4],x1=[4,1,2,3],x3=[2,3,4,1],利用多项式核函数k(x,y)=xT(y),容易验证k(x0,x1)=k(x0,x3),根据傅里叶变换的性质对称向量的傅里叶变换为实数,所以右边的式子是实数,可以把共轭去掉,化简为:α̂ =(1k̂ +λδ),因此线性回归系数α可以通过向量的傅里叶变换和对位乘法得到。 α ̂ = ( 1 k ̂ + λ δ ) ∗ ⊙ y ̂ 这 里 k 是 核 相 关 矩 阵 的 第 一 行 , 表 示 原 始 生 成 向 量 x 0 和 位 移 了 i 的 向 量 x i 的 核 函 数 , 并 且 k 还 是 对 称 向 量 即 满 足 k i = k ( x 0 , x i ) = k n − i = k ( x 0 , x n − i ) 举 个 例 子 来 讲 x 0 = [ 1 , 2 , 3 , 4 ] , x 1 = [ 4 , 1 , 2 , 3 ] , x 3 = [ 2 , 3 , 4 , 1 ] , 利 用 多 项 式 核 函 数 k ( x , y ) = x T ( y ) , 容 易 验 证 k ( x 0 , x 1 ) = k ( x 0 , x 3 ) , 根 据 傅 里 叶 变 换 的 性 质 对 称 向 量 的 傅 里 叶 变 换 为 实 数 , 所 以 右 边 的 式 子 是 实 数 , 可 以 把 共 轭 去 掉 , 化 简 为 : α ̂ = ( 1 k ̂ + λ δ ) , 因 此 线 性 回 归 系 数 α 可 以 通 过 向 量 的 傅 里 叶 变 换 和 对 位 乘 法 得 到 。
训练数据和测试数据的核相关矩阵为K,每一列对应一个待测样本。可以可以一次性的计算所有样本的响应( N×1 N × 1 ): f(z)=(C(kxz))Tα=(Fdiag(k̂ xz)FH)Tα=FHdiag(k̂ xz)Fα f ( z ) = ( C ( k x z ) ) T α = ( F d i a g ( k ̂ x z ) F H ) T α = F H d i a g ( k ̂ x z ) F α 等式2边同时乘以F得: Ff(z)=diag(k̂ xz)Fα F f ( z ) = d i a g ( k ̂ x z ) F α ,然后结合 Fz=ẑ F z = ẑ 推出 f̂ (z)=k̂ xz⊙α̂ f ̂ ( z ) = k ̂ x z ⊙ α ̂ , 因此所有侯选块的检测响应可以通过向量的傅里叶变换和对位乘法计算得到。
对本文的多项式核函数和高斯核函数做一个介绍,在训练和检测过程中,都需要计算核相关矩阵K的生成向量k.
对核相关矩阵的生成向量的推导直接看论文的第6部分,这里不做推导。
在多通道情况下(例如使用了HOG特征),生成向量x变成M×L,其中M是样本像素数,L是特征维度。在上述所有计算中,需要更改的只有向量的内积: XTy=∑l(xl)Tyl X T y = ∑ l ( x l ) T y l
参考文章:https://blog.csdn.net/shenxiaolu1984/article/details/50905283
https://blog.csdn.net/shenxiaolu1984/article/details/50864845
https://www.cnblogs.com/YiXiaoZhou/p/5925019.html