目录
模型概况实验结果理解出错之处望不吝指正。
文章链接
模型概况
模型结构如下图所示:
本模型与SiamFC的区别在于:提出了一种不同于SiamFC的损失函数。
在SiamFC中的损失函数如下:
Ll(Y,V)=∑xi∈Xwilog(1+e−yi⋅vi)L_l(Y,V)=\sum_{x_i \in X}w_ilog(1+e^{-y_i \centerdot v_i})Ll(Y,V)=xi∈X∑wilog(1+e−yi⋅vi)
作者说,这个损失函数不够好,因为它只考虑了每个instance(啥是instance?比如模板经过特征提取后得到6×6的特征图fef_efe,搜索区域经过特征提取后得到22×22的特征图fsf_sfs,我们使用6×6的特征图当做卷积核在22×22的特征图上进行卷积得到17×17的分数矩阵,则在卷积的过程中fsf_sfs中的每一个6×6区域在原图上的对应区域就是一个instance,而对应“+1”标签的称为positive instance,“-1”标签的称为negative instance)是否足够正确,而忽略了positive instance和negative instance之间的关系。
文中提出使用下式的损失函数:
Lt(Vp,Vn)=−1/(MN)∑iM∑jNlogprob(vpi,vnj)L_t(V_p,V_n)=-1/(MN)\sum_{i}^{M}\sum_{j}^{N}log\ prob(vp_i,vn_j)Lt(Vp,Vn)=−1/(MN)i∑Mj∑Nlogprob(vpi,vnj)
prob(vpi,vnj)=evpi/(evpi+evnj)prob(vp_i,vn_j)=e^{vp_i}/(e^{vp_i}+e^{vn_j})prob(vpi,vnj)=evpi/(evpi+evnj)
作者还通过梯度计算公式对比了两种损失函数(以下为两种损失函数的梯度中不同的部分,并不是全部的梯度公式):
∂Tl∂vp=−12(1+evp),∂Tl∂vn=12(1+e−vn)\frac{\partial T_l}{\partial vp}=-\frac{1}{2(1+e^{vp})},\ \ \ \ \frac{\partial T_l}{\partial vn}=\frac{1}{2(1+e^{-vn})}∂vp∂Tl=−2(1+evp)1,∂vn∂Tl=2(1+e−vn)1
∂Tt∂vp=−11+evp−vn,∂Tt∂vn=11+evp−vn\frac{\partial T_t}{\partial vp}=-\frac{1}{1+e^{vp-vn}},\ \ \ \ \frac{\partial T_t}{\partial vn}=\frac{1}{1+e^{vp-vn}}∂vp∂Tt=−1+evp−vn1,∂vn∂Tt=1+evp−vn1
从中我们可以看出本文中的损失函数在计算positive instance和negative instance的梯度时,都能考虑到两种不同的instance的联系,这样利于得到更好的跟踪模型。
实验结果
文章的训练数据集采用ILSVRC,实验结果如下所示。
1.OTB-
2.OTB-其他
3.VOT-