全名:Fully-Convolutional Siamese Networks for Object Tracking
论文摘自ECCV Workshop 2016,由Luca Bertinetto、Jack Valmadre、Jo ̃ao F. Henriques、Andrea Vedaldi与Philip H. S. Torr撰写,它是Jo ̃ao F. Henriques继KCF之后又一大作。
代码地址:Siamese-fc
摘要
传统算法使用视频本身作为唯一的训练数据,限制了模型丰富性。作者利用深度卷积网络,为了避免影响速度,在线进行随机梯度下降以适应网络权重。
提出思路:使用ILSVRC15数据集,训练一个端到端的全卷积Siamese网络,用于目标检测。
特点:(1)超实时的帧速率运行;(2)极其简单;(3)在多个基准测试中实现了最佳的性能。
1 前言
传统算法可以跟踪任意对象,故不可能有收集好的数据和训练好的检测器。比如:TLD [2],Struck [3]和KCF [4]等方法。目前计算机视觉中的其他问题越来越普遍地采用从大型监督数据集训练的深度卷积网络(conv-nets),但监督数据稀缺和实时操作约束阻碍了深度学习在该方法(每个视频训练一个检测模型)中的应用。最近的一些工作使用预训练的深度卷积来克服上述限制:
法一:使用网络的内部表示作为特征应用于“浅层”方法(例如相关滤波器),但并未充分利用端到端训练方法;
法二:用SGD(随机梯度下降)来微调网络的多个层,虽然实现结果很好却不实时。
作者提出,在初始离线训练阶段训练深度卷积网络以解决更一般的相似性学习问题,然后在跟踪期间简单地在线评估该网络。使得在速度远远超过帧速要求的现代跟踪基准测试中表现很好。本文的主要贡献是
(1)我们训练一个孪生(Siamese)网络,在更大的候选图像中定位目标
(2)创建了一种新的Siamese结构,它对候选图像进行全卷积:使用计算其两个输入互相关的双线性层实现密集而有效的滑窗评估。
2 训练
设学习函数f(z,x),即将示例图像z与相同大小的候选图像x进行比较,相同则返回高分。
测试所有可能位置,并选择与目标之前外观具有最大程度相似的候选块x。使用目标的第一帧Bounding-box作为变量z,从而学习训练函数f。
更进一步,将深度卷积网络作为函数f。Siamese网络对输入x、z用变换φ,定义:f(z,x)= g(φ(z),φ(x))用函数g组合输入表示。
深度Siamese卷积网络先前已应用于面部验证[18,20,14],关键点描述学习[19,21]和一次性字符识别[22]等任务。
2.1 全卷积Siamese架构
作者提出一种对于候选图像x的全卷积Siamese架构。当一个函数为转换函数,那么它就是全卷积的。引入Lτ来表示平移算子(Lτ x)[u] = x [u-τ],对于任意平移τ与整数步长k,如果满足
(当x是有限信号时,输出范围也是有限区间)那么信号映射函数h是全卷积的。
全卷积网络与候选图像大小无关,它将计算所有转换子窗口x与z的相似性。作者使用卷积嵌入函数φ和互相关层组合所得到
其中b1表示在每个位置的取值(b∈R)。
(1)此网络的输出f(z,x)是在有限网格D⊂上定义的分数图,网络满足:f(z,x)= f(x,z)
(2)嵌入函数的输出φ是空域上的特征映射(不是普通矢量)
在跟踪期间,我们使用以目标的先前位置的中心作为候选图像x的中心,其中最大分数的位置=分数图中心网络块大小。使用互相关组合特征图并在较大的候选图像上评估该训练网络,在数学上等同于使用内积组合特征图并且独立地评估每个转换子窗上的训练网络。互相关层提供了一种非常简单的方法,可以在现有的conv-net库的框架内有效地实现此操作,它在训练和测试期间非常有用。
2.2 训练
(1)对于损失计算:采用判别性方法,在正负样本对上训练网络,采用log损失
其中v是单个样本候选对的实际分数,y∈{+1,-1}是对应的GT值。
训练期间,使用包含示例图对和更大候选图对来实现网络全卷积。这将生成分数图v:D→R,生成对每个图像对的映射。
将得分图的损失定义为所有损失的均值
要求分数图中每个位置u∈D的GT值y[u]∈{+1,-1}。通过将随机梯度下降(SGD)来获得卷积网络的参数θ
如图2所示,通过提取两个帧(最多相隔T帧)中以目标为中心的示例图x(第n帧)和候选图z(第n+T帧)
在训练期间忽略目标类别。在不破坏图像的长宽比的情况下对每个图像内的目标比例进行归一化。
(2)对于正负样本的划分:分数图的元素在中心的半径R内(考虑到网络的步幅k),即:
将正负样本损失值加权用来消除类不平衡。
2.3 在ImageNet数据集上训练
ImageNet2015对象检测:对30种不同类别的动物和车辆进行分类和定位。 训练集和验证集合包含4417个视频(train-3862与val-555),超过200万个标记的bounding-box。(VOT [12],ALOV [1]和OTB [11]中标记序列的数量总共少于500个视频)
作者认为,ImageNet数据集在跟踪方面影响更广,场景和对象与规范跟踪基准中的不同,不会导致过拟合。
2.4 实际考虑
1、数据集处理
训练阶段
输入图像大小:127×127的第n帧,255×255的第n+T帧。bounding-box大小为(w,h),变动区间为p,比例因子s使得面积不变:
我们使用原始图,p =(w + h)/ 4。为了避免在训练期间调整图像大小,每个帧的原始和候选图都进行了离线提取。用全卷积Siamese网络训练。
数据集
ImageNet Video视频,作者采用先验法来限制提取训练数据的帧数。
2、网络架构
采用嵌入函数φ的体系结构(类似于Krizhevsky等人的网络的卷积阶段)
参数等信息在表1中给出。除了conv5(最后一层)之外,ReLU非线性应用于每个卷积层及全连接层的输出。在每个线性层之后都会进行批量标准化[24]。最后一步的Stride是8。
3、跟踪测试阶段
特点:不更新模型;不保存之前帧的目标外观;没有采用光流法或颜色直方图特征;没有使用Bounding-box回归来改进预测框。
测试阶段:只搜索大约Bounding-box大小的四倍的区域内的对象,并且在分数图中添加余弦窗以惩罚大位移。
通过处理候选图的几个缩放形式来实现跟踪。分数变化会造成惩罚,并且当前规模的更新会受到抑制。
3 目前相关工作
详情请看论文。
4 实验结果
4.1 实施细节
训练阶段
使用MatConvNet [31]通过简单的SGD计算式(5),式中参数初值遵循高斯分布,然后根据改进的Xavier方法[32]进行缩放,总共进行50多次迭代,每次都有50,000个采样对(第2.2节)。使用尺寸为8的小批量估计每次迭代的梯度,当数值达到到范围时,降低学习速率。
跟踪测试阶段
策略:(1)初始帧的目标外观嵌入函数φ(z)只计算一次,并与后续帧的子窗口进行卷积比较。
(2)在线更新(特征表示)样本效果并不大,故不在线更新。
(3)跟踪阶段使用双三次插值从17×17到272×272对得分图进行上采样,定位更准确。
(4)为了处理尺度变化,搜索超过五个尺度()的对象,并通过线性插值更新尺度,阻尼系数为0.35。
代码网址:http://www.robots.ox.ac.uk/~luca/siamese-fc.html。
配置:单个NVIDIA GeForce GTX Titan X,4.0GHz英特尔酷睿i7-4790K
速度:86帧(SiamFC-3s);58帧(SiamFC)
4.3 OTB-13基准
OTB-13 [11]基准考虑了不同阈值下的每帧平均成功率:IoU高于某一阈值,则跟踪成功。(曲线下方的面积大小代表跟踪效果)
算法比较:Staple [33] ,LCT [34],CCT [35],SCT4 [36],DLSSVM NU [37],DSST [38]和KCFDP [39]。
在训练期间将25%的图像对转换为灰度。所有其他超参数(用于训练和跟踪)固定不变。
4.4 VOT基准
数据集:标签vot2015-final。(其中,当IOU=0时,认为跟踪器失败,则自动重新初始化五帧)
VOT-14结果
算法比较:VOT2014最佳10个跟踪器、Staple(CVPR2016)、GOTURN(ECCV2016)
评估指标:准确性(图4中的纵坐标:平均IOU)和鲁棒性(图4中的横坐标:失败帧数/总帧数)。
VOT-15结果
算法:VOT2015最佳40个跟踪器。
评估指标:在VOT2015论文中,将长度为N帧的视频中计算从Nn到Nm帧的平均IOU(对于[Nn,Nm]的取值方式:描述出概率密度函数(简称pdf:使用核函数估计)曲线,从中取出积分面积为0.5的帧区间[Nn,Nm],并且两端的pdf值近似相等)
需要改进的方法:模型更新,边界框回归,微调,内存
4.5 数据集
使用更大的视频数据集可以进一步提高模型性能。
5 总结
(1)引入一种侧重于在离线学习强嵌入的替代方法。
(2)Siamese全卷积深度网络能够更有效地使用可用数据。 既可以在测试时通过执行有效的空间搜索来反映,也可以在训练时反映,其中每个子窗口有效地代表了一个有用的样本,且成本很低。
(3)深度嵌入为在线跟踪器提供了很多功能来源,并在跟踪时很好地运行。