CFNet视频目标跟踪推导笔记

1. 论文信息

论文题目:End-to-end representation learning for Correlation Filter based tracking
论文出处:CVPR 2017
论文作者:Jack Valmadre,Luca Bertinetto等人
论文主页:http://www.robots.ox.ac.uk/~luca/cfnet.html
源码链接:https://github.com/bertinetto/cfnet

2. 滤波器求解——论文公式(7)推导过程

2.1 最优化求解

首先,定义最优化问题

argminw12nXTwy2+λ2w2(1) (1) arg ⁡ min w ⁡ 1 2 n ‖ X T w − y ‖ 2 + λ 2 ‖ w ‖ 2

其中, w w 表示待求解的滤波器, n n 表示样本数目, y y 表示样本标签。
现在,我们将公式(1)换一种方式进行表述,定义 r=XTwy r = X T w − y ,那么最优化问题为
argminw,r12nr2+λ2w2s.t.r=XTwy(2) (2) arg ⁡ min w , r ⁡ 1 2 n ‖ r ‖ 2 + λ 2 ‖ w ‖ 2 s . t . r = X T w − y

从公式(2)开始,利用拉格朗日乘子法进行优化,具体可以参考 Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers一书中 Chapter 2.1 Dual Ascent中的描述(PDF链接: https://web.stanford.edu/~boyd/papers/pdf/admm_distr_stats.pdf),首先构建拉格朗日表达式:
L(w,r,v)=12nr2+λ2w2+vT(rXTw+y)(3) (3) L ( w , r , v ) = 1 2 n ‖ r ‖ 2 + λ 2 ‖ w ‖ 2 + v T ( r − X T w + y )

其中 v v 是拉格朗日乘数,这样,将损失函数进行梯度求解,首先对 w w 求偏导数,得

L(w,r,v)w=(12nr2+λ2w2+vT(rXTw+y))w=(12nr2)w+(λ2w2)w+(vT(rXTw+y))w=(12nr2)w+(λ2w2)w+(vT(XTw))w=(12nr2)w+(λ2w2)w+(vTXTw)w=0+λw+vT(0XT)=λw(vTXT)T=λwXv(4) (4) ∂ L ( w , r , v ) ∂ w = ∂ ( 1 2 n ‖ r ‖ 2 + λ 2 ‖ w ‖ 2 + v T ( r − X T w + y ) ) ∂ w = ∂ ( 1 2 n ‖ r ‖ 2 ) ∂ w + ∂ ( λ 2 ‖ w ‖ 2 ) ∂ w + ∂ ( v T ( r − X T w + y ) ) ∂ w = ∂ ( 1 2 n ‖ r ‖ 2 ) ∂ w + ∂ ( λ 2 ‖ w ‖ 2 ) ∂ w + ∂ ( v T ( X T w ) ) ∂ w = ∂ ( 1 2 n ‖ r ‖ 2 ) ∂ w + ∂ ( λ 2 ‖ w ‖ 2 ) ∂ w + ∂ ( v T X T w ) ∂ w = 0 + λ w + v T ( 0 − X T ) = λ w − ( v T X T ) T = λ w − X v

现在对 r r 求偏导数,得

L(w,r,v)r=(12nr2+λ2w2+vT(rXTw+y))r=(12nr2)r+(λ2w2)r+(vT(rXTw+y))r=12n2r+0+(vT)T(10+0)=1nr+v(5) (5) ∂ L ( w , r , v ) ∂ r = ∂ ( 1 2 n ‖ r ‖ 2 + λ 2 ‖ w ‖ 2 + v T ( r − X T w + y ) ) ∂ r = ∂ ( 1 2 n ‖ r ‖ 2 ) ∂ r + ∂ ( λ 2 ‖ w ‖ 2 ) ∂ r + ∂ ( v T ( r − X T w + y ) ) ∂ r = 1 2 n ⋅ 2 r + 0 + ( v T ) T ( 1 − 0 + 0 ) = 1 n r + v

最后对 v v 求偏导数,得

L(w,r,v)v=(12nr2+λ2w2+vT(rXTw+y))v=(12nr2)v+(λ2w2)v+(vT(rXTw+y))v=0+0+(rXTw+y)=rXTw+y(6) (6) ∂ L ( w , r , v ) ∂ v = ∂ ( 1 2 n ‖ r ‖ 2 + λ 2 ‖ w ‖ 2 + v T ( r − X T w + y ) ) ∂ v = ∂ ( 1 2 n ‖ r ‖ 2 ) ∂ v + ∂ ( λ 2 ‖ w ‖ 2 ) ∂ v + ∂ ( v T ( r − X T w + y ) ) ∂ v = 0 + 0 + ( r − X T w + y ) = r − X T w + y

现在,分别令上述三个偏导数为0,得

λwXv=01nr+v=0rXTw+y=0(7) (7) { λ w − X v = 0 1 n r + v = 0 r − X T w + y = 0

根据方程(7),首先求解 ,可以得到

w=1λXv(8) (8) w = 1 λ X v

接下来求解 v v ,有

w=1λXv1nr+v=0r=XTwy1n(XTwy)+v=01n(XT1λXvy)+v=01n1λXTXv1ny+v=01n1λXTXv+v=1ny1n1λXTXv+v=1ny1n1λXTXv+v=1ny1λXTXv+nv=y(1λXTX+nI)v=y(XTX+λnI)v=λyv=λyXTX+λnIv=λn(1nXTX+λI)yv=λn(1nXTX+λI)1y(9) (9) { w = 1 λ X v 1 n r + v = 0 r = X T w − y ⇒ 1 n ( X T w − y ) + v = 0 ⇒ 1 n ( X T 1 λ X v − y ) + v = 0 ⇒ 1 n ⋅ 1 λ X T X v − 1 n y + v = 0 ⇒ 1 n ⋅ 1 λ X T X v + v = 1 n y ⇒ 1 n ⋅ 1 λ X T X v + v = 1 n y ⇒ 1 n ⋅ 1 λ X T X v + v = 1 n y ⇒ 1 λ X T X v + n v = y ⇒ ( 1 λ X T X + n I ) v = y ⇒ ( X T X + λ n I ) v = λ y ⇒ v = λ y X T X + λ n I ⇒ v = λ n ( 1 n X T X + λ I ) y ⇒ v = λ n ( 1 n X T X + λ I ) − 1 y

最终,得到的解为

w=1λXvv=λn(1nXTX+λI)1y=v=λnK1y(10) (10) { w = 1 λ X v v = λ n ( 1 n X T X + λ I ) − 1 y = v = λ n K − 1 y

其中, K=1nXTX+λI K = 1 n X T X + λ I 是正则化核矩阵。通常情况下,我们会引入一个scaled dual变量 α=1λv=1nK1y α = 1 λ v = 1 n K − 1 y ,利用变量 α α ,可以将 w w 表示为某种加权组合

w=Xα=i=1nαixi(11) (11) w = X α = ∑ i = 1 n α i x i

2.2 相关滤波引入

根据相关滤波跟踪方法的特性,这里我们将上述变量 X X 定义为循环矩阵,满足 X[u,t]=X[u+tmodm] X [ u , t ] = X [ u + t mod m ] ,由于此时矩阵 X X 是对称矩阵,所以模板 w w 是通过互相关的方式获取的

w=Xα=αx(12) (12) w = X α = α ⋆ x

注: 表示循环卷积操作, 表示循环互相关操作, 表示矩阵元素级乘法

关于正则化核矩阵 K=1nXTX+λI K = 1 n X T X + λ I ,关于它的线性映射等价于与base信号 k k 的卷积

Kz=kz(13) (13) K z = k ∗ z

其中 k=1nxx+λδ k = 1 n x ⋆ x + λ δ ,由于

z:FXTXz=F((zx)x)=z^x^x^=F(z(xx))(14) (14) ∀ z : F X T X z = F ( ( z ⋆ x ) ⋆ x ) = z ^ ⊙ x ^ ∗ ⊙ x ^ = F ( z ∗ ( x ⋆ x ) )

于是,有

k=1nxx+λδkα=k1nK1y=1nkK1y=1nKK1y=1nyw=αx(15) (15) { k = 1 n x ⋆ x + λ δ k ∗ α = k ∗ 1 n K − 1 y = 1 n k ∗ K − 1 y = 1 n K K − 1 y = 1 n y w = α ⋆ x

放到傅里叶域中,其解为

k^=1n(x^x^)+λIα^=1nk^1y^w^=α^x^(16) (16) { k ^ = 1 n ( x ^ ∗ ⊙ x ^ ) + λ I α ^ = 1 n k ^ − 1 ⊙ y ^ w ^ = α ^ ∗ ⊙ x ^

公式(16)即为论文中的公式(7),这样,相关滤波的求解表达式就完成了。

注:公式中的互相关,在傅里叶域中会带上一个共轭符号,其中一种出处:
不管如何,与直接卷积相差一个负号。这时,看清楚了,相关函数在频域也不完全是乘积,是一个信号的共轭再与原信号乘积,这就是与“时域卷积频域相乘不同的地方”。
所以,请记住这个有用的结论:两个信号的互相关函数的频域等于X信号频域的共轭乘以Y信号的频域。
https://blog.csdn.net/xiahouzuoxin/article/details/19286077

3. 反向传播公式推导过程

3.1 计算微分

由于论文将相关滤波器作为深度神经网络中的一层,因此在定义网络结构时,有必要确定网络的反向传播表达式。

首先,根据公式(15),求解微分

dk=1n(dxx+xdx)dkα+kdα=1ndydw=dαx+αdx(17) (17) { d k = 1 n ( d x ⋆ x + x ⋆ d x ) d k ∗ α + k ∗ d α = 1 n d y d w = d α ⋆ x + α ⋆ d x

将公式(17)转换到傅里叶域,有

dkˆ=1n(dxˆx^+x^dxˆ)dαˆ=k^1(1ndyˆdkˆα^)dwˆ=dαˆx^+α^dxˆ(18) (18) { d k ^ = 1 n ( d x ^ ∗ ⊙ x ^ + x ^ ∗ ⊙ d x ^ ) d α ^ = k ^ − 1 ⊙ ( 1 n d y ^ − d k ^ ⊙ α ^ ) d w ^ = d α ^ ∗ ⊙ x ^ + α ^ ∗ ⊙ d x ^

3.2 计算反向传播

J1 J 1 表示映射 dxdk d x ↦ d k (这个映射就是公式(17),如果放到傅里叶域就是公式(18)),首先计算内积

F(dk),F(J1(dx))=dkˆ,1n(dxˆx^+x^dxˆ)=1ndkˆ,dxˆx^+1ndkˆ,x^dxˆ=1ndxˆ,dkˆx^+1ndxˆ,x^dkˆ=1ndxˆ,dkˆx^+1ndxˆ,dkˆx^=1ndxˆ,dkˆx^+dkˆx^=1ndxˆ,dkˆx^+dkˆx^=1ndxˆ,2Re{dkˆx^}=dxˆ,2nRe{dkˆx^}=dxˆ,2nRe{dkˆ}x^(19) (19) ⟨ F ( d k ) , F ( J 1 ( d x ) ) ⟩ = ⟨ d k ^ , 1 n ( d x ^ ∗ ⊙ x ^ + x ^ ∗ ⊙ d x ^ ) ⟩ = 1 n ⟨ d k ^ , d x ^ ∗ ⊙ x ^ ⟩ + 1 n ⟨ d k ^ , x ^ ∗ ⊙ d x ^ ⟩ = 1 n ⟨ d x ^ , d k ^ ∗ ⊙ x ^ ⟩ + 1 n ⟨ d x ^ , x ^ ∗ ⊙ d k ^ ⟩ = 1 n ⟨ d x ^ , d k ^ ∗ ⊙ x ^ ⟩ + 1 n ⟨ d x ^ , d k ^ ⊙ x ^ ∗ ⟩ = 1 n ⟨ d x ^ , d k ^ ∗ ⊙ x ^ + d k ^ ⊙ x ^ ∗ ⟩ = 1 n ⟨ d x ^ , d k ^ ∗ ⊙ x ^ + d k ^ ⊙ x ^ ∗ ⟩ = 1 n ⟨ d x ^ , 2 Re { d k ^ ∗ ⊙ x ^ } ⟩ = ⟨ d x ^ , 2 n Re { d k ^ ∗ ⊙ x ^ } ⟩ = ⟨ d x ^ , 2 n Re { d k ^ ∗ } ⊙ x ^ ⟩

根据公式(19),计算反向传播映射

xˆ=2nx^Re{kˆ}(20) (20) ∇ x ℓ ^ = 2 n x ^ ⊙ Re ⁡ { ∇ k ℓ ^ }

类似地,现在计算内积

F(dα),F(J2(dk,dy))=dαˆ,k^1(1ndyˆdkˆα^)=dαˆ,k^1(1ndyˆ)dαˆ,k^1(dkˆα^)=1nk^1dαˆ,dyˆ+dαˆ,k^1(dkˆα^)=1nk^1dαˆ,dyˆ+k^1α^dαˆ,dkˆ=1nk^dαˆ,dyˆ+k^α^dαˆ,dkˆ(21) (21) ⟨ F ( d α ) , F ( J 2 ( d k , d y ) ) ⟩ = ⟨ d α ^ , k ^ − 1 ⊙ ( 1 n d y ^ − d k ^ ⊙ α ^ ) ⟩ = ⟨ d α ^ , k ^ − 1 ⊙ ( 1 n d y ^ ) ⟩ − ⟨ d α ^ , k ^ − 1 ⊙ ( d k ^ ⊙ α ^ ) ⟩ = ⟨ 1 n k ^ − 1 ⊙ d α ^ , d y ^ ⟩ + ⟨ − d α ^ , k ^ − 1 ⊙ ( d k ^ ⊙ α ^ ) ⟩ = ⟨ 1 n k ^ − 1 ⊙ d α ^ , d y ^ ⟩ + ⟨ − k ^ − 1 ⊙ α ^ ⊙ d α ^ , d k ^ ⟩ = ⟨ 1 n k ^ − ∗ ⊙ d α ^ , d y ^ ⟩ + ⟨ − k ^ − ∗ ⊙ α ^ ∗ ⊙ d α ^ , d k ^ ⟩

得到反向传播映射

yˆ=1nk^αˆkˆ=k^α^αˆ(22) (22) { ∇ y ℓ ^ = 1 n k ^ − ∗ ⊙ ∇ α ℓ ^ ∇ k ℓ ^ = − k ^ − ∗ ⊙ α ^ ∗ ⊙ ∇ α ℓ ^

类似地,计算内积

F(dw),F(J3(dα,dx))=dwˆ,dαˆx^+α^dxˆ=dwˆ,dαˆx^+dwˆ,α^dxˆ=dαˆ,

你可能感兴趣的:(视频目标跟踪(Visual,tracking),论文笔记,filter),数字图像处理,模式识别与深度学习)