ECCV 2018 《Triplet Loss in Siamese Network for Object Tracking》论文笔记

       理解出错之处望不吝指正。
       文章链接

模型概况

       模型结构如下图所示:
ECCV 2018 《Triplet Loss in Siamese Network for Object Tracking》论文笔记
       本模型与SiamFC的区别在于:提出了一种不同于SiamFC的损失函数。
       在SiamFC中的损失函数如下:
Ll(Y,V)=xiXwilog(1+eyivi)L_l(Y,V)=\sum_{x_i \in X}w_ilog(1+e^{-y_i \centerdot v_i})
       作者说,这个损失函数不够好,因为它只考虑了每个instance(啥是instance?比如模板经过特征提取后得到6×6的特征图fef_e,搜索区域经过特征提取后得到22×22的特征图fsf_s,我们使用6×6的特征图当做卷积核在22×22的特征图上进行卷积得到17×17的分数矩阵,则在卷积的过程中fsf_s中的每一个6×6区域在原图上的对应区域就是一个instance,而对应“+1”标签的称为positive instance,“-1”标签的称为negative instance)是否足够正确,而忽略了positive instance和negative instance之间的关系。
       文中提出使用下式的损失函数:
Lt(Vp,Vn)=1/(MN)iMjNlog prob(vpi,vnj)L_t(V_p,V_n)=-1/(MN)\sum_{i}^{M}\sum_{j}^{N}log\ prob(vp_i,vn_j)
prob(vpi,vnj)=evpi/(evpi+evnj)prob(vp_i,vn_j)=e^{vp_i}/(e^{vp_i}+e^{vn_j})
       作者还通过梯度计算公式对比了两种损失函数(以下为两种损失函数的梯度中不同的部分,并不是全部的梯度公式):
Tlvp=12(1+evp),    Tlvn=12(1+evn)\frac{\partial T_l}{\partial vp}=-\frac{1}{2(1+e^{vp})},\ \ \ \ \frac{\partial T_l}{\partial vn}=\frac{1}{2(1+e^{-vn})}
Ttvp=11+evpvn,    Ttvn=11+evpvn\frac{\partial T_t}{\partial vp}=-\frac{1}{1+e^{vp-vn}},\ \ \ \ \frac{\partial T_t}{\partial vn}=\frac{1}{1+e^{vp-vn}}
       从中我们可以看出本文中的损失函数在计算positive instance和negative instance的梯度时,都能考虑到两种不同的instance的联系,这样利于得到更好的跟踪模型。

实验结果

       文章的训练数据集采用ILSVRC2015,实验结果如下所示。
       1.OTB-2013
ECCV 2018 《Triplet Loss in Siamese Network for Object Tracking》论文笔记
       2.OTB-其他
ECCV 2018 《Triplet Loss in Siamese Network for Object Tracking》论文笔记       3.VOT-2017
ECCV 2018 《Triplet Loss in Siamese Network for Object Tracking》论文笔记