Paper : End-to-end representation learning for Correlation Filter based tracking
Code : official
摘要
本文的主要贡献在于将相关滤波器完美融入到了神经网络中,通过给出正向传播和反向传播的公式使得相关滤波器成为神经网络中可学习的一层。其他的结构继承自Siam-FC,从孪生神经网络和特征提取的结构来说没有什么创新,因此本文着重介绍CF block的形式和反向传播结果。作者发现,对于层数较多的CNN来说CF层的引入没有什么提升,而对于较少层次的CNN网络进行特征提取有较大的性能改善。
网络结构
在CFNet中,Siamese Network 两个分支不是完全对称的,使用
x
x
x 表示感兴趣的物体区域,使用
z
z
z 表示更大的搜索区域,使用
f
f
f 表示CNN网络进行特征图的生成,那么最后的score map 表示为
h ρ , s , b ( x , z ) = s ω ( f ρ ( x ) ) ⊗ f ρ ( z ) + b h_{\rho,s,b}(x,z) = s\omega(f_\rho(x)) \otimes f_\rho(z) +b hρ,s,b(x,z)=sω(fρ(x))⊗fρ(z)+b
其中, ρ \rho ρ 表示CNN的参数, ω \omega ω 表示CF block, s , b s,b s,b 用来调节score map 的取值范围,支持logistic 回归。
对于图像的预处理与Visual Object Tracking using Adaptive Correlation Filters 相同,都是点成cosine 窗来减缓边缘效应。
CF Block
形式化的表述CF Block :假设 w w w 表示CF Block的相关核, x x x 为较大的搜索区域中对应大小的一块候选区域, ⊗ \otimes ⊗ 表示相关操作,考虑加入L2正则项,有
arg min w 1 2 n ∣ ∣ w ⊗ x − y ∣ ∣ 2 + λ 2 ∣ ∣ w ∣ ∣ 2 \arg \min_w \frac{1}{2n}||w\otimes x- y||^2+\frac{\lambda}{2}||w||^2 argwmin2n1∣∣w⊗x−y∣∣2+2λ∣∣w∣∣2
使用Language 算法解有约束的最值问题,得到如下解
{ k ^ = 1 n x ^ ∗ ⊙ x ^ + λ α ^ = 1 n k ^ − 1 ⊙ y ^ w ^ = α ^ ∗ ⊙ x ^ \left\{\begin{matrix} \widehat k = \frac{1}{n} \widehat x^*\odot \widehat x +\lambda & \\ \widehat \alpha = \frac{1}{n}\widehat k^{-1}\odot \widehat y & \\ \widehat w = \widehat \alpha^* \odot \widehat x \end{matrix}\right. ⎩⎨⎧k =n1x ∗⊙x +λα =n1k −1⊙y w =α ∗⊙x
其中, x ^ , y ^ , w ^ \widehat x,\widehat y,\widehat w x ,y ,w 分别表示 x , y , w x,y,w x,y,w 的频域形式
根据计算图的结果,得到反向求导的结果为
{
▽
α
l
^
=
x
^
⊙
(
▽
w
l
^
)
∗
▽
y
l
^
=
1
n
(
k
^
−
1
)
∗
⊙
▽
α
l
^
▽
k
l
^
=
−
(
k
^
−
1
)
∗
⊙
α
^
∗
⊙
▽
α
l
^
▽
x
l
^
=
α
^
⊙
▽
w
l
^
+
2
n
x
^
⊙
Re
(
▽
k
l
^
)
\left\{\begin{matrix} \widehat {\triangledown_{\alpha} l} = \widehat x\odot (\widehat {\triangledown_{w} l})^* \\ \widehat {\triangledown_{y} l} = \frac{1}{n}(\widehat k^{-1})^*\odot \widehat {\triangledown_{\alpha} l} & \\ \widehat {\triangledown_{k} l} = -(\widehat k^{-1})^*\odot \widehat \alpha^*\odot \widehat {\triangledown_{\alpha} l} \\ \widehat {\triangledown_{x} l} = \widehat \alpha \odot \widehat {\triangledown_{w} l} + \frac{2}{n} \widehat x \odot \textrm{Re}(\widehat {\triangledown_{k} l}) \end{matrix}\right.
⎩⎪⎪⎪⎨⎪⎪⎪⎧▽αl
=x
⊙(▽wl
)∗▽yl
=n1(k
−1)∗⊙▽αl
▽kl
=−(k
−1)∗⊙α
∗⊙▽αl
▽xl
=α
⊙▽wl
+n2x
⊙Re(▽kl
)
多通道CF Block具有相似的形式的解
相比Siam-FC,CFNet将总的Stride改小了,用来生成更大的feature map,其次,为了保证追踪速度要限制最后一层的输出通道数。
在实验的过程,作者发现随着网络深度的加深,CF对性能的提升逐渐消失,作者认为随着深度的加深,针对分类的训练使卷积层逐渐具有位置不变性
总结
这篇文章值得学习的个人认为主要有两点,一点是CF Block的正向传播,反向传播的公式推导值得一看,另一个是在自己写文章时,从哪些指标进行试验评估,分析模型值得学习。个人认为这篇文章的实验相对全面。