[论文阅读 2016 ECCV 目标跟踪]Fully-Convolutional Siamese Networks for Object Tracking

简介

paper:Fully-Convolutional Siamese Networks for Object Tracking

code:siamfc-pytorch

siamfc是siamese目标跟踪的开山鼻祖,siamfc提出的背景是:直接使用深度网络用于目标跟踪无法满足实时性要求。而siamfc开创性地使用siamese netword结构用于目标跟踪,并使用ILSVRC15这种大型的数据集进行预训练,从而使得siamfc的性能非常好。

主要流程

[论文阅读 2016 ECCV 目标跟踪]Fully-Convolutional Siamese Networks for Object Tracking_第1张图片

siamfc的网络框架如上图所示,其中z是参照图片,x是测试图片,将参照图片和测试图片都输入到backbone中提取特征,输出参照图片的特征图 6 ∗ 6 ∗ 128 6*6*128 66128,测试图片的特征图 22 ∗ 22 ∗ 128 22*22*128 2222128;之后将参照图片的特征图与测试图片的特征图进行卷积运算从而得到score map.取score mapmax score距离中心的偏移,乘以网络缩放比例从而得到跟踪目标的偏移量.

[论文阅读 2016 ECCV 目标跟踪]Fully-Convolutional Siamese Networks for Object Tracking_第2张图片

siamfcbounding box的中心置为整幅图片的中心,同时以bounding box的中心,取半径为R的区域作为正标签。

y [ u ] = { + 1  if  k ∥ u − c ∥ ≤ R − 1  otherwise  y[u]=\left\{\begin{array}{ll} +1 & \text { if } k\|u-c\| \leq R \\ -1 & \text { otherwise } \end{array}\right. y[u]={+11 if kucR otherwise 

训练阶段

训练时,取ILSVRC15的来自同一个video的两张图片组成训练图像对,这两张图片间距至少是T帧。将这样的图像对输入到siamfc中,并采用损失函数:

L ( y , v ) = 1 ∣ D ∣ ∑ u ∈ D ℓ ( y [ u ] , v [ u ] ) L(y, v)=\frac{1}{|\mathcal{D}|} \sum_{u \in \mathcal{D}} \ell(y[u], v[u]) L(y,v)=D1uD(y[u],v[u])

其中 ℓ ( y , v ) = log ⁡ ( 1 + exp ⁡ ( − y v ) ) \ell(y, v)=\log (1+\exp (-y v)) (y,v)=log(1+exp(yv)), D D Dscore map,y[u]是标签,v[u]是预测的score.

测试阶段

测试时,将首帧图像作为参照图像z,并输入到backbone得到其模板特征,该模板特征每过若干帧通过线性插值的方法更新。

实验结果

[论文阅读 2016 ECCV 目标跟踪]Fully-Convolutional Siamese Networks for Object Tracking_第3张图片
[论文阅读 2016 ECCV 目标跟踪]Fully-Convolutional Siamese Networks for Object Tracking_第4张图片

小结

siamfc首次将siamese network引入目标跟踪任务,之后siamRPN等各种优秀的siamese目标跟踪算法被提出。siamese network可以用于计算两张图片的相似性,而在目标跟踪中正是在跟踪过程中寻找与目标特征最相似的区域,所以siamese network可以很好地用于目标跟踪任务中。

你可能感兴趣的:(论文阅读,计算机视觉,深度学习,目标跟踪)