目标跟踪论文(一):SiamFC孪生网络

Fully-Convolutional Siamese Networks for Object Tracking

项目网页 http://www.robots.ox.ac.uk/~luca/siamese-fc.html
tensorflow+python代码:https://github.com/www0wwwjs1/tensorflow-siamese-fc

一、背景简介

传统的目标跟踪算法,要么用相关滤波,如TLD、Struck、KCF等,只能在线学习(用当前视频中的数据),限制了学习模型的丰富程度;要么用SGD方法(DeepLearning)对网络进行微调,虽然能达到最有效果,但会使速度下降,做不到实时跟踪。本论文提出一种新的全卷积孪生网络(SiamFC)作为基本的跟踪算法,这个网络在ILSVRC15的目标跟踪视频数据集上进行端到端的训练。跟踪器在帧率上超过了实时性要求,尽管结构非常简单,但在多个benchmark上达到最优的性能。
本文的工作:
 (1)训练一个Siam网络,利用全卷积的结构,使得输入大小不受限制。来定位一个更大的搜索图像中,与范例图像最匹配的区域。
 (2)利用双线性层计算了滑动窗口的两个输入之间的相互关系,实现了密集高效的滑动窗口评价(score map)。
 (3)巧妙使用ILSVRC15的数据集(正常的tracking训练数据比较匮乏)。

二、算法原理

目标跟踪论文(一):SiamFC孪生网络_第1张图片
  如上为该算法的模型图——SiamFC网络,图中z代表的是模板图像,算法中使用的是第一帧的groundtruth;x代表的是search region,代表在后面的待跟踪帧中的候选框搜索区域;经过φ恒等变换,使用如下函数:
在这里插入图片描述
  输出一个的相似度的score map分值图像(上图的17×17×1)。即算法原理为:比较搜索区域和目标模板的相似度,最后得到搜索区域的score map,将这种逐点平移匹配计算相似度的方法看成是一种卷积,然后在卷积结果中找到相似度值最大的点,作为新的目标的中心,其对应于搜索区域中子窗口的区域(上图的彩色区域),则该区域即为目标区域。
  上图所画的ϕ其实是CNN中的一部分,并且两个ϕ的网络结构是一样的,这是一种典型的孪生神经网络,并且在整个模型中只有conv层和pooling层,因此这也是一种典型的全卷积(fully-convolutional)神经网络。
网络的卷积层结构如下:
目标跟踪论文(一):SiamFC孪生网络_第2张图片
  该结构实际上与2012年的AlexNet类似,使用双GPU的形式,在第三层出还同时使用了两个GPU,其中前两个卷积层后面都接有最大池化层,前四层卷积层都使用了ReLU激励函数。训练时,每个ReLU层前都使用了BN层(batch normalization),降低过拟合的风险。

三、具体实现

1.网络正负样本的确定: 在输入搜索图像上,只要和目标的距离不超过R,那就算正样本,否则就是负样本,用公式表示如下:
在这里插入图片描述
其中,.k为网络的总步长,c为目标的中心,u为score map的所有位置,R为定义的半径。
2.损失函数: 本文算法为了构造有效的损失函数,对搜索区域的位置点进行了正负样本的区分,即目标一定范围内的点作为正样本,这个范围外的点作为负样本,例如图1中最右侧生成的score map中,红色点即正样本,蓝色点为负样本,他们都对应于search region中的红色矩形区域和蓝色矩形区域。文章采用的是logistic loss,具体的损失函数形式如下:
在这里插入图片描述
其中v是score map中每个点真实值,y∈{+1, −1}是这个点所对应的标签。
上面的是score map中每个点的loss值,而对于score map整体的loss,则采用的是全部点的loss的均值。即:
在这里插入图片描述
这里的u∈D代表score map中的位置。
3.数据集处理:
(1)样本图像大小 127×127,搜索图像大小255×255
(2)图像的缩放与填充如式所示:s(w+2p)×s(h+2p)=A。
(3)从ILSVRC15的4500个视频中选出4417个视频,超过2,000,000个标注的跟踪框作为训练集。

四、实验

(1).实现细节:
Training
1.梯度下降采用SGD
2.用高斯分布初始化参数
3.训练50个epoch,每个epoch有50,000个样本对
4.mini-batch等于8
5.学习率从10-2衰减到10-5
Tracking
1.初始目标的特征提取 φ(z)只计算一次
2.用双三次插值将score map从 17×17上采样到 272×272
3.对目标进行5种尺度来搜索(1.025{−2,−1,0,1,2})
4.目标图像在线不更新,因为对于CNN提取的是高层语义特征,不会像HOG或CN这些浅层特征苛求纹理相似度。(如跟踪目标是人,不论躺着或站着,CNN都能“认出来”这是人,而纹理特征如HOG或conv1可能完全无法匹配)
5.跟踪效率:3尺度86fps,5尺度58fps。
(2).实验结果:
The OTB-13 benchmark:
目标跟踪论文(一):SiamFC孪生网络_第3张图片
The VOT-14 results:
目标跟踪论文(一):SiamFC孪生网络_第4张图片
The VOT-15 results:
目标跟踪论文(一):SiamFC孪生网络_第5张图片
发现SiamFC和SiamFc-3s均排名较高,其中前者可达58fps,后者可达86fps。具体见表:
目标跟踪论文(一):SiamFC孪生网络_第6张图片
作者后面还通过不断改变数据集大小来观察测试效果的不同,发现数据集越大,目标预测效果越好结果见表:
目标跟踪论文(一):SiamFC孪生网络_第7张图片

你可能感兴趣的:(目标跟踪)