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 最优化求解

首先,定义最优化问题

(1)argminw12nXTwy2+λ2w2

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

从公式(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),首先构建拉格朗日表达式:
(3)L(w,r,v)=12nr2+λ2w2+vT(rXTw+y)

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

(4)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

现在对r 求偏导数,得

(5)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

最后对v 求偏导数,得

(6)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

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

(7){λwXv=01nr+v=0rXTw+y=0

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

(8)w=1λXv

接下来求解v ,有

(9){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

最终,得到的解为

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

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

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

2.2 相关滤波引入

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

(12)w=Xα=αx

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

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

(13)Kz=kz

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

(14)z:FXTXz=F((zx)x)=z^x^x^=F(z(xx))

于是,有

(15){k=1nxx+λδkα=k1nK1y=1nkK1y=1nKK1y=1nyw=αx

放到傅里叶域中,其解为

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

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

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

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

3.1 计算微分

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

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

(17){dk=1n(dxx+xdx)dkα+kdα=1ndydw=dαx+αdx

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

(18){dk^=1n(dx^x^+x^dx^)dα^=k^1(1ndy^dk^α^)dw^=dα^x^+α^dx^

3.2 计算反向传播

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

(19)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),计算反向传播映射

(20)x^=2nx^Re{k^}

类似地,现在计算内积

(21)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^

得到反向传播映射

(22){y^=1nk^α^k^=k^α^α^

类似地,计算内积

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

也可以得到反向传播映射

(24){α^=x^w^x^=α^w^

最后,综合上述公式(20)、(22)和(24),可以得到CFNet最终的反向传播映射

(25){α^=x^w^y^=1nk^α^k^=k^α^α^x^=2nx^Re{k^}+α^w^

最后,本推导笔记离不开富民同学的耐心帮助和CSDN博主的xiahouzuoxin的启发,在此一并表示感谢!


更多内容,欢迎扫码关注“视觉边疆”微信订阅号

这里写图片描述

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