基于孪生卷积神经网络的目标跟踪方法介绍

less than 1 minute read

Published:

前言

Fully-Convolutional Siamese Networks for Object Tracking(Siamese-fc)这篇文章发表在ECCV 2016年的Workshop上, 但是文章在目标跟踪领域却产生了不小的影响。 Siamese-fc在当前大多数基于CNN的目标跟踪方法普遍较慢的情况下,实现了超实时的帧率,在处理3种尺度变换的情况下可以达到86 FPS。 跟踪的效果虽然比不上其它的state-of-the-art的方法,但也取得了较有潜力的结果,在OTB-2013上的AUC达到0.612。

动机与贡献

文章主要的动机来源于两点:(1)传统的跟踪方法通常只利用跟踪序列本身作为训练模型的数据来源(通常是第一帧),数据量有限导致模型的表达能力有限。(2)当前的基于CNN的一些跟踪方法普遍采用在线微调的方式更新模型,以适应不同的跟踪目标。但是在线微调的方式非常耗时,直接导致跟踪方法难以实时。

作者提出利用ImageNet中用于检测任务的视频序列 ILSVRC 2015(4417个)离线训练一个相似性验证的Siamese网络,然后在跟踪过程直接利用该网络验证下一帧的所有候选中哪一个与我们要跟踪的目标最相似,最相似的一个候选作为跟踪的结果。此过程中,网络并无更新,模板仅为第一针要跟踪的目标。利用大量的与跟踪任务无关的视频序列训练模型解决了数据量不足的问题,又利用跟踪过程模型不更新克服了深度学习跟踪方法速度慢的问题。

文章的主要贡献在于提出的全卷积相似性度量的Siamese网络,并用于解决跟踪问题,取得了较有潜力的结果。如下图,z是要跟踪的目标模板,x是下一帧的搜索区域。经过Siamese网络后我们得到两个特征图,分别用于表示x与z。 最后我们只需对这两个特征图做一个相关操作,则可以得到一个响应图。响应图上的每一个点则代表了目标与搜索区域的候选的相似程度,取响应值最大的即跟踪的结果。作者利用的全卷积的网络结构,提供了一个高效的相关方式,避免了在全连接层做相关的低效性。

孪生网络的训练过程

如何训练这样一个全卷积的相似性度量网络是本文的一个关键。同一个目标在不同帧中它的表观会因为形变等因素发生变化,Siamese网络需要学习这种变化关系。作者利用大量的视频序列制作出上百万的样本对来学习这种变化关系。具体的样本对制作方式为: 首先,把原始图像进行一定比例的缩放,然后以目标为中心剪裁一个127*127的目标区域,超出边界的用图像均值填充,作为一个目标模板。再以目标为中心裁剪一个255*255的区域作为搜索区域,同样超出边界的以图像均值填充。这样目标模板和搜索区域就构成了一个样本对。训练时在搜索区域中心半径R内的目标框被认为是与目标模板相同的目标,与目标模板组成正样本对,如下图绿色圆圈内。样本对做好后就是如何训练网络的问题,如下图所示,作者采用 logistic loss 作为目标函数采用批量梯度下降的方式进行训练。训练过程中由于输出的响应图(17*17)相对搜索区域缩小了很多,因此给定的标签是从原始搜索区域给定的标签范围映射到响应图上的。

相关的工作

同样采用Siamese网络结构的跟踪算法还有CVPR 2016的Siamese Instance Search for Tracking(SINT),ECCV 2016年的Learning to Track at 100 FPS with Deep Regression Networks (GOTURN)和最新发表在CVPR 2017年的End-to-end representation learning for Correlation Filter based tracking (CFNet)。

SINT的主要思想与Siamese-fc相同,离线训练一个相似性匹配函数,在跟踪阶段直接利用这个函数找一个与模板最相似的候选作为跟踪结果。其主要不同在于SINT利用了多层卷积特征,提高了跟踪的准确性,在OTB 2103上的AUC可达0.655。但是SINT在全连接层上进行相似性的比较,因此相当耗时,平均2帧每秒。

GOTURN是第一个把跟踪问题当做回归问题来解决的文章,其主要思想是训练一个Siamese结构的网络直接预测要跟踪的目标位置。由于跟踪过程只需要一次前向传播就可以得到要跟踪的目标的位置,并且不用在线更新,因此GOTURN的速度非常快,能达到100FPS。但是准确率上面差强人意,在OTB2013上的AUC才到0.44,有巨大的改进空间。

CFNet是Siamese-fc作者们基于Siamese网络结构继续发力的成果,网络结构简洁,主要是在之前对称的网络结构中的一个分支添加了一个可微的CF层,构成了一个不对称的Siamese结构。作者把相关滤波与卷积神经网络进行了深度的融合,实现端到端的训练,可对相关滤波器进行更新学习。虽然跟踪的效果较原来的Siamese-fc没有多少的提升,但是CFNet是一个轻量级的网络,几千个参数的网络跟踪效果在OTB 2013上的AUC可达0.6左右,速度仍然是超实时的。

存在的问题

Siamese-fc提供了一个高速的基于深度学习的目标跟踪框架,启发性很强。单就该框架而言,也存在很多问题,可以改进。如:

  • 仅仅利用最后一层卷积层的特征表示能力有限。可利用多层卷积特征提高跟踪准确率,如SINT。
  • 模型不更新,准确率受到很大的限制。如果更新模型,全卷积模型如何更新呢?
  • 搜索区域255受到比较大的限制,能否全图搜索。
  • 17*17的响应图比较粗糙,不利于定位,仅仅采用线性插值的方式进行上采样结果提高并不多。

预计接下来两年基于Siamese网络结构的深度学习跟踪算法将会是一个比较热门的研究方向,相关的改进将很快出现。