上接推导笔记(1)——线性滤波器
论文题目:High-Speed Tracking with Kernelized Correlation Filters
作者主页:http://www.robots.ox.ac.uk/~joao/circulant/
在非线性回归条件下,最终的滤波器解为
其中,若采用高斯核,则
以下是该公式的推导过程。
该过程包含两个方面:
(1)将线性滤波器的解 w w 1用样本的线性组合来表示
在这样的条件下,最优化下的变量不再是 w w ,而是 α α 。该表达式是在对偶空间中进行的(此处需要参考SVM相关理论,此处不再赘述)。
(2)用点积进行表示:
因此,在线性条件下的回归问题: f(z)=wTz f ( z ) = w T z ,经过非线性变换后的表达式为
其中 n n 表示 n n 个训练样本(参考KCF论文4.2节末尾及5.1节公式(15)相关表述)。
在核函数情况下,岭回归问题的解为
其中, α α 是由各个系数 αi α i 组成的向量, K K 是核矩阵,其各个元素的定义是: Kij=K(xi,xj) K i j = K ( x i , x j ) , λ λ 是正则项系数。里面的 x x 和 y y 都是训练集中的数据。公式(6)的推导过程可以参考Max Welling的Kernel ridge Regression,此处不再赘述。
利用循环矩阵的有关特性,对公式(6)进行对角化处理,可以提高计算效率。
训练时,采集一个感兴趣的图像块,将其拉伸为一个列向量作为基础样本(base sample),记作 x=[x1x2⋯xn]T x = [ x 1 x 2 ⋯ x n ] T ,现在给定一个置换矩阵(permutation matrix)
尝试计算 P1x P 1 x ,得 x2=[xnx1⋯xn−1]T x 2 = [ x n x 1 ⋯ x n − 1 ] T .
尝试计算 P2x=P(Px) P 2 x = P ( P x ) ,得 x3=[xn−1xn⋯xn−2]T x 3 = [ x n − 1 x n ⋯ x n − 2 ] T .
…
尝试计算 Pn−1x=P…(Px) P n − 1 x = P … ( P x ) ,得 xn=[x2x3⋯x1]T x n = [ x 2 x 3 ⋯ x 1 ] T .
由此可以将上述 x1,x2,…,xn x 1 , x 2 , … , x n 向量组合起来,构成一个循环矩阵 X X .
首先指出该重要结论(即KCF论文中的Theorem 1):假设存在一种核函数 K K ,满足 K(x1,x2)=K(Mx1,Mx2) K ( x 1 , x 2 ) = K ( M x 1 , M x 2 ) ,那么相关核矩阵 K K 也是循环矩阵,且 K=C(kxx) K = C ( k x x ) ,其中 M M 是一种置换矩阵(permutation matrix), kxx k x x 是相关核矩阵 K K 的第一行,现在证明 K=C(kxx) K = C ( k x x ) .
证明:根据矩阵 K K 的定义 Kij=K(xi,xj) K i j = K ( x i , x j ) ,其中 xi x i 表示训练样本集 X X 中的一个移位样本(参考KCF论文4.1节中的表述),可以将矩阵 K K 表示为如下矩阵(假设矩阵有4行4列):
数据内容: | |||
---|---|---|---|
K11=K(x1,x1) K 11 = K ( x 1 , x 1 ) | K12=K(x1,x2) K 12 = K ( x 1 , x 2 ) | K13=K(x1,x3) K 13 = K ( x 1 , x 3 ) | K14=K(x1,x4) K 14 = K ( x 1 , x 4 ) |
K21=K(x2,x1) K 21 = K ( x 2 , x 1 ) | K22=K(x2,x2) K 22 = K ( x 2 , x 2 ) | K23=K(x2,x3) K 23 = K ( x 2 , x 3 ) | K24=K(x2,x4) K 24 = K ( x 2 , x 4 ) |
K31=K(x3,x1) K 31 = K ( x 3 , x 1 ) | K32=K(x3,x2) K 32 = K ( x 3 , x 2 ) | K33=K(x3,x3) K 33 = K ( x 3 , x 3 ) | K34=K(x3,x4) K 34 = K ( x 3 , x 4 ) |
K41=K(x4,x1) K 41 = K ( x 4 , x 1 ) | K42=K(x4,x2) K 42 = K ( x 4 , x 2 ) | K43=K(x4,x3) K 43 = K ( x 4 , x 3 ) | K44=K(x4,x4) K 44 = K ( x 4 , x 4 ) |
同时根据定义, kxx k x x (即 kx1x1 k x 1 x 1 )是核矩阵 K K 的第一行,也可以将 kxx k x x 表示为如下向量:
数据内容: | |||
---|---|---|---|
K11=K(x1,x1) K 11 = K ( x 1 , x 1 ) | K12=K(x1,x2) K 12 = K ( x 1 , x 2 ) | K13=K(x1,x3) K 13 = K ( x 1 , x 3 ) | K14=K(x1,x4) K 14 = K ( x 1 , x 4 ) |
现在,观察 K11 K 11 和 K22 K 22 ,从矩阵数据可知,则
而 K(x2,x2)=K(Mx1,Mx1) K ( x 2 , x 2 ) = K ( M x 1 , M x 1 ) ,其中 M M 是一种置换矩阵(permutation matrix),因为训练数据集 X X 为循环矩阵(参考线性滤波器的解 w w 2),而在循环矩阵中, x2 x 2 可以由一个置换矩阵(permutation matrix)乘以它前面的 x1 x 1 得到,也就是 x2=Mx1 x 2 = M x 1 ,从而 K(x2,x2)=K(Mx1,Mx1) K ( x 2 , x 2 ) = K ( M x 1 , M x 1 ) .
另外前面已经做好假设,存在一种核函数 K K ,满足 K(x1,x2)=K(Mx1,Mx2) K ( x 1 , x 2 ) = K ( M x 1 , M x 2 ) ,这样可以得出结论 K11=K22 K 11 = K 22 ,同理,还可以得出: K12=K23 K 12 = K 23 、 K13=K24 K 13 = K 24 、 K14=K21 K 14 = K 21 …这样可以得出矩阵 K K 的另一种表示:
数据内容: | |||
---|---|---|---|
K11=K(x1,x1) K 11 = K ( x 1 , x 1 ) | K12=K(x1,x2) K 12 = K ( x 1 , x 2 ) | K13=K(x1,x3) K 13 = K ( x 1 , x 3 ) | K14=K(x1,x4) K 14 = K ( x 1 , x 4 ) |
K14=K(x1,x4) K 14 = K ( x 1 , x 4 ) | K11=K(x1,x1) K 11 = K ( x 1 , x 1 ) | K12=K(x1,x2) K 12 = K ( x 1 , x 2 ) | K13=K(x1,x3) K 13 = K ( x 1 , x 3 ) |
K13=K(x1,x3) K 13 = K ( x 1 , x 3 ) | K14=K(x1,x4) K 14 = K ( x 1 , x 4 ) | K11=K(x1,x1) K 11 = K ( x 1 , x 1 ) | K12=K(x1,x2) K 12 = K ( x 1 , x 2 ) |
K12=K(x1,x2) K 12 = K ( x 1 , x 2 ) | K13=K(x1,x3) K 13 = K ( x 1 , x 3 ) | K14=K(x1,x4) K 14 = K ( x 1 , x 4 ) | K11=K(x1,x1) K 11 = K ( x 1 , x 1 ) |
观察该矩阵数据,可以发现该矩阵的第二行是第一行的位移,第三行又是第二行的位移…,这就是 C(kxx) C ( k x x ) ,因此
证明完毕。
进一步结合本笔记2.1节中关于置换矩阵(permutation matrix)的移位作用,我们有
从核函数角度来看,上式即为
从前述公式(6)开始,利用2.2节的重要结论,将公式(6)中的矩阵 K K 用 C(kxx) C ( k x x ) 代替,得到下式:
公式(8)中的 C(kxx) C ( k x x ) 可以用 Fdiag(k^xx)FH F d i a g ( k ^ x x ) F H 代替,这是由循环矩阵的特性决定的,见线性滤波器公式推导中的(3)式3。
现在利用傅里叶矩阵 F F 的幺正性(unitarity)即: FFH=I F F H = I ,可以进一步将公式(8)改写为
上文已经推导出了非线性条件下滤波器的求解公式,在得到了滤波器后,我们可以对视频中某一帧中的图像块进行检测以求出目标的位置,这样待检测的图像块称之为 z z 。
回顾公式(5)
论文认为:为了检测到目标,应该从多个候选样本中进行评估(见论文5.3节),仍然采用循环矩阵,对待检测的图像块 z z 进行循环化,那么在目标检测的场景下,(14)式可表示为
现在推导上述公式(15),由公式(5)可以推出
将公式(16)展开,可得