传统上,通过使用视频本身作为唯一的训练数据,专门在线上学习对象外观模型,可以解决任意对象跟踪的问题。
尽管这些方法取得了成功,但仅在线方法固有地限制了他们可以学习的模型的丰富性。 近来,已经进行了一些尝试来利用深度卷积网络的表达能力。 但是,如果事先不知道要跟踪的对象,则必须在线执行随机梯度下降以适应网络的权重,从而严重损害系统的速度。
在本文中,我们为基本跟踪算法配备了在ILSVRC15数据集上进行端到端训练的新型全卷积孪生网络,用于视频中的目标检测。
我们的跟踪器以超出实时的帧速率运行,尽管极其简单,但可以在多个基准测试中实现最先进的性能。
关键字:对象跟踪,孪生网络,相似性学习,深度学习
我们考虑跟踪视频中任意对象的问题,其中对象仅由第一帧中的矩形标识。
由于可能要求该算法跟踪任意对象,因此不可能已经收集了数据并训练了特定的检测器。
多年来,这种情况下最成功的范例是使用从视频本身中提取的示例以在线方式学习对象外观的模型[1]。 这在很大程度上归功于TLD [2],Struck [3]和KCF [4]等方法的证明能力。 但是,使用仅来自当前视频的数据的明显缺陷是只能学习相对简单的模型。 虽然计算机视觉中的其他问题已经看到越来越广泛地采用从大型监督数据集训练而来的深度卷积网络(conv-net),但监督数据的稀缺性和实时操作的限制阻止了深度学习在这种每视频学习一个检测器的范式中的天真应用。
最近的几项工作旨在使用预先训练的深度转换网络克服这一限制,该网络是为不同但相关的任务而学习的。
这些方法要么使用网络的内部表示作为特征[5,6],要么应用“浅层”方法(例如,相关过滤器),或者执行SGD(随机梯度下降)来微调网络的多层[7,8,9]。 虽然使用浅层方法不能充分利用端到端学习的优势,但是在跟踪过程中应用SGD来实现最新结果的方法仍无法实时运行。
我们提倡一种替代方法,其中在初始离线阶段训练深度卷积网络以解决更一般的相似性学习问题,然后在跟踪期间简单地在线评估此功能。
本文的主要贡献在于证明该方法在现代跟踪基准测试中以远远超过帧速率要求的速度获得了非常有竞争力的性能。 具体来说,我们训练了一个孪生网络以在更大的搜索图像中定位示例图像。 进一步的贡献是相对于搜索图像完全卷积的新颖孪生体系结构:通过计算其两个输入的互相关性的双线性层实现了密集而有效的滑动窗口评估。
我们认为,相似性学习方法已被相对忽略,因为跟踪社区无法访问大量的标签数据集。实际上,直到最近,可用的数据集仅包含数百个带注释的视频。
但是,我们认为,视频中用于对象检测的ILSVRC数据集的出现[10](以下称为ImageNet Video)使训练这种模型成为可能。 此外,培训和测试深度模型以使用来自同一域的视频进行跟踪的公平性是一个有争议的问题,最近VOT委员会已禁止这样做。 我们展示了我们的模型可以从ImageNet视频域推广到ALOV / OTB / VOT [1,11,12]域,从而可以将跟踪基准的视频保留用于测试目的。
使用相似性学习可以解决学习跟踪任意对象的问题。我们建议学习一个函数f(z,x),该函数将示例图像z与相同大小的候选图像x进行比较,如果两个图像描述了相同的对象,则返回高分,否则返回低分。
为了找到对象在新图像中的位置,我们可以穷尽所有可能的位置并选择与对象的过去外观具有最大相似度的候选对象。 在实验中,我们将简单地使用对象的初始外观作为示例。 函数f将从具有标记对象轨迹的视频数据集中学习。
考虑到它们在计算机视觉领域的广泛成功[13,14,15,16],我们将使用深层卷积网络作为函数f。 深度卷积网络的相似性学习通常使用孪生体系结构解决[17,18,19]。 孪生网络将相同的变换an应用于两个输入,然后根据f(z,x)= g(ϕ(z),ϕ(x))使用另一个函数g组合其表示。 当函数g是简单距离或相似性度量时,函数ϕ可被视为嵌入。 深度孪生卷积网络先前已应用于诸如面部验证[18,20,14],关键点描述符学习[19,21]和单发字符识别[22]之类的任务。
图1:完全卷积连体结构。我们的体系结构相对于搜索图像x是完全进化的,输出的是一个标量值的分数映射,其维数取决于搜索图像的大小。这使得在一次评估中可以计算搜索图像中所有已翻译子窗口的相似性函数。在这个例子中,分数图中的红色和蓝色像素包含对应子窗口的相似性。最好的颜色。
个人阅读及理解:
对于这个图的理解,Z为模板图片,也就是第一帧的GT。
x是后面的待跟踪帧中的候选框搜索区域。
ϕ代表的是一种特征映射操作,
6 6 128代表z经过ϕ后得到的特征,是一个128通道6*6大小特征
22 22 128是x经过ϕ后的特征
代表卷积操作,得到一个17^17的score map,代表着search region中各个位置与模板相似度值。
卷积网络将search image作为整体输入,直接计算两个输入图像的feature map的相似度匹配,节省了计算。计算得到相似度最高的位置,并反向计算出目标在原图中的位置。
算法本身是比较搜索区域与目标模板的相似度,最后得到搜索区域的score map。其实从原理上来说,这种方法和相关性滤波的方法很相似。其在搜索区域中逐个的对目标模板进行匹配,将这种逐个平移匹配计算相似度的方法看成是一种卷积,然后在卷积结果中找到相似度值最大的点,作为新的目标的中心。
上图所画的ϕ其实是CNN中的一部分,并且两个ϕ的网络结构是一样的,这是一种典型的孪生神经网络,并且在整个模型中只有conv层和pooling层,因此这也是一种典型的全卷积(fully-convolutional)神经网络。
我们提出了一种相对于候选图像x是完全卷积的孪生体系结构。 我们说一个函数如果与翻译转换后就是完全卷积的。 为了给出更精确的定义,引入Lτ表示平移运算符
如果对于任何平移
,(当x是有限信号时,只需要保持输出的有效区域即可。)将信号映射到信号的函数h具有整数跨度k的全卷积。
全卷积网络的优点是,我们可以向网络提供一个更大的搜索图像作为输入,而不是相同大小的候选图像,它将在一次评估中计算稠密网格上所有翻译子窗口的相似性。为此,我们使用卷积嵌入函数ϕ,并使用互相关层将生成的特征图结合起来
f(z,x)= ϕ(z)∗ ϕ(x)+ b 1
其中b 1表示在每个位置取值b∈R的信号。 该网络的输出不是单个分数,而是在有限网格D⊂Z 2上定义的分数图,如图1所示。请注意,嵌入函数的输出是具有空间支持的特征图,而不是平原
向量。 在立体声匹配的当代工作中已经应用了相同的技术[23]。
在跟踪过程中,我们使用以目标的先前位置为中心的搜索图像。 最高得分相对于得分图中心的位置乘以网络的步幅即可得出目标在帧与帧之间的位移。
通过组装一个小批量的缩放图像,可以在单个前向搜索中搜索多个比例。
数学上,使用互相关来组合特征图并在一次较大的搜索图像上对网络进行一次评估,在数学上等同于使用内部乘积来组合特征图并在每个翻译后的子窗口上独立地评估网络。
但是,互相关层提供了一种非常简单的方法,可以在现有conv-net库的框架内有效地实现此操作。 尽管这在测试期间显然很有用,但也可以在培训期间加以利用。
我们采用判别方法,在正负对上训练网络,并采用logistic损失
其中v是单个单项的实值
示例候选对和y∈{+1,-1}是其真实的标签。 在训练过程中,我们利用了网络的全卷积特性,使用了由示例图像和较大搜索图像组成的对。这将生成一个分数v: D→R的映射,有效地为每对生成许多示例。我们将分数图的损失定义为个体损失的平均值
对于得分图中的每个位置u∈D,都要求有一个真实的标签y[u]∈{+1,−1}。利用随机梯度下降法(SGD)求解卷积神经网络θ的参数
通过抽取以目标为中心的样本和搜索图像,从带注释的视频数据集中获得成对,如图2所示。图像是从视频的两帧中提取出来的,这两帧都包含目标,并且最多间隔T帧。对象的类在训练时被忽略。每个图像内的对象的比例被归一化,而不破坏图像的宽高比。如果得分图的元素位于中心半径R内(考虑到网络的步幅k),则认为它们属于一个正例子。
图2:从同一视频中提取的训练对:示例图像和来自同一视频的相应搜索图像。 当子窗口超出图像范围时,缺失部分将填充平均RGB值。
由于我们的网络是完全卷积的,因此没有风险学习到中心子窗口的偏差。 我们认为考虑以目标为中心的搜索图像是有效的,因为最困难的子窗口以及那些对跟踪器性能影响最大的子窗口可能是与目标相邻的子窗口。
注意,由于网络是对称的f(z,x)= f(x,z),因此在示例中它实际上也是全卷积的。 尽管理论上这允许我们对不同对象使用不同大小的示例图像,但我们假定大小一致,因为这简化了小批量实现。
但是,将来可以放宽此假设。
2015年版本的ImageNet大规模视觉识别挑战[10](ILSVRC)引入了ImageNet视频数据集,作为从视频挑战中进行新对象检测的一部分。
要求参与者分类和定位来自30种不同类别的动物和车辆的物体。 培训和验证集共包含近4500个视频,总共有超过一百万个带注释的帧。 如果与VOT [12],ALOV [1]和OTB [11]中加标签的序列(总共少于500个视频)的数量相比,这个数字尤其令人印象深刻。 我们认为,该数据集不仅应因其庞大的规模而引起跟踪社区的极大关注,而且还因为它所描绘的场景和物体与规范跟踪基准中发现的场景和物体不同。
因此,它可以安全地用于训练用于跟踪的深度模型,而不会过度适合这些基准测试中使用的视频领域。
数据集管理在训练过程中,我们采用127×127的样本图像,并搜索255×255像素的图像。 缩放图像以使边界框加上上下文的附加空白具有固定的区域。 更确切地说,如果紧密边界框的大小为(w,h),上下文边界为p,则选择比例因子s,以使缩放矩形的面积等于常数
我们使用样本图像A = 127^2的面积,并将上下文量设置为平均维度p =(w + h)/ 4的一半。
离线提取每帧的示例图像和搜索图像,以避免在训练过程中调整图像大小。 在这项工作的初步版本中,我们采用了一些启发式方法来限制从中提取训练数据的帧数。 在本文的实验中,我们使用了ImageNet Video的所有4417个视频,它们占了超过200万个带标签的边界框。
网络体系结构我们为嵌入功能adopt采用的体系结构类似于Krizhevsky等人的网络的卷积阶段。 [16]。
表1给出了参数和激活的维数。在前两个卷积层之后采用最大池化。 ReLU非线性遵循除最后一层conv5之外的每个卷积层。
在训练过程中,在每个线性层之后立即插入批量归一化[24]。
最终代表的跨度为八。
该设计的重要方面是在网络内不引入填充。 尽管这是图像分类的常见做法,但它违反了eq的全卷积性质。
跟踪算法由于我们的目的是证明在ImageNet Video上训练时,我们的全卷积孪生网络的有效性及其泛化能力,因此我们使用一种极其简单的算法来执行跟踪。
与更复杂的跟踪器不同,我们不会更新模型或保留过去的记忆,不会合并其他线索,例如光流或颜色直方图,并且不会使用边界框回归来完善预测。 然而,尽管其简单性,但在配备我们的离线学习相似度指标时,跟踪算法仍取得了令人惊讶的良好结果。
表1:卷积嵌入函数的体系结构,类似于Krizhevsky等人的网络的卷积阶段。 [16]。 通道映射属性描述每个卷积层的输出和输入通道数。
在线上,我们确实包含了一些基本的时间约束:我们仅在大约其先前大小的四倍的区域内搜索对象,并将余弦窗口添加到得分图中以惩罚较大的位移。
通过处理搜索图像的多个缩放版本来实现缩放空间跟踪。 比例尺的任何更改都会受到处罚,并且当前比例尺的更新会受到抑制。
最近有几项工作寻求训练递归神经网络(RNN)来解决对象跟踪问题。 Gan等。 [25]训练RNN来预测目标在每一帧中的绝对位置,Kahou等人。 [26]类似地训练RNN以使用可区分的注意力机制进行跟踪。 这些方法尚未在现代基准上证明有竞争力的结果,但是它无疑是未来研究的有希望的途径。
我们指出,通过将孪生网络解释为展开后的RNN,并根据长度为2的序列进行训练和评估,可以在这种方法与我们的方法之间得出有趣的相似之处。
因此,孪生网络可以作为递归模型的强大初始化。
Denil等。
[27]使用粒子滤波器跟踪对象,该粒子滤波器使用学习的距离度量将当前外观与第一帧的外观进行比较。 但是,它们的距离指标与我们的差距很大。
他们无需比较整个对象的图像,而是计算注视点之间的距离(对象边界框内小区域的凹面瞥见)。 为了学习距离度量,他们训练了受限玻尔兹曼机(RBM),然后将隐藏激活之间的欧几里德距离用于两个注视。 尽管RBM是无人监督的,但他们建议对RBM进行训练,以对物体中心图像中的随机注视进行检测。 必须在了解要跟踪的对象的情况下,在联机或脱机阶段执行此操作。 在追踪物体时,他们使用不确定性作为奖励信号,学习了一种随机策略来选择特定于该物体的注视。
除了MNIST数字的合成序列外,该方法仅在面部和人物跟踪问题上得到了定性证明。
虽然为每个新视频从头开始训练一个深层的conv网络是不可行的,但是有几项工作已经研究了在测试时根据预先训练的参数进行微调的可行性。 SO-DLT [7]和MDNet [9]都在离线阶段训练卷积网络以完成类似的检测任务,然后在测试时使用SGD来学习检测器,其中包括从视频本身中提取的示例,就像常规跟踪中一样- 作为检测器学习范例。 由于在许多示例中评估前向和后向传递的计算量,这些方法无法以帧速率运行。 利用卷积网络进行跟踪的另一种方法是使用预训练卷积网络的内部表示作为特征来应用传统的浅层方法。
像DeepSRDCF [6]这样的追踪器,Ma等。 [5]和FCNT
[8]取得了很好的结果,由于conv-net表示的维数较大,它们无法实现帧速率操作。
与我们自己的工作同时,其他一些作者也建议通过学习成对图像的功能,将卷积网络用于对象跟踪。 举行等。 [28]介绍了GOTURN,其中训练了卷积网络以直接从两个图像退回到第一图像中显示的对象的第二图像中的位置。 预测矩形而不是位置具有以下优点:可以在不借助详尽评估的情况下处理比例和纵横比的变化。
然而,他们的方法的缺点是它不具有第二图像平移的固有不变性。 这意味着必须向网络显示所有位置的示例,这是通过大量数据集扩展实现的。 Chen等。 [29]训练了一个网络,该网络将示例和较大的搜索区域映射到响应图。
但是,由于最终层是完全连接的,因此他们的方法也没有第二幅图像平移的不变性。 与Held等类似,这是低效的,因为训练集必须代表所有对象的所有翻译。
对于网络的Y形,他们的方法名为YCNN。 与我们的方法不同,他们无法在训练后动态调整搜索区域的大小。
陶等。 [30]建议训练一个连体网络,以识别与初始对象外观匹配的候选图像位置,将其方法称为SINT(Siamese INstance search Tracker)。
与我们的方法相比,他们没有采用相对于搜索图像完全卷积的架构。 相反,在测试时,他们像Struck [3]一样在半径变化的圆上均匀地对边界框进行采样。
而且,它们结合了光流和边界框回归来改善结果。
为了提高其系统的计算速度,他们采用了兴趣区域(RoI)池来有效检查许多重叠的子窗口。 尽管进行了优化,但每秒2帧的速度仍然无法使整个系统保持实时。
以上所有在视频序列上进行训练的竞争方法(MDNet [9],SINT [30],GOTURN [28])都使用属于同一ALOV / OTB / VOT域 由基准使用。 由于担心过度适合基准中的场景和对象,因此在VOT挑战中禁止这种做法。 因此,我们工作的重要贡献是证明可以训练卷积网络进行有效的对象跟踪,而无需使用与测试集相同分布的视频。
训练。嵌入函数的参数可通过最小化eq来找到。 5使用MatConvNet [31]进行简单的SGD。 参数的初始值遵循高斯分布,并根据改进的Xavier方法[32]进行缩放。 训练进行了超过50个纪元,每个纪元包括50,000个采样对(根据2.2节)。 使用大小为8的迷你批估计每次迭代的梯度,并在从10-2到10-5的每个时期对学习速率进行几何退火。
跟踪。如前所述,在线阶段是故意简化的。一次计算初始对象外观的嵌入ϕ(z),并将其卷积与后续帧的子窗口进行比较。 我们发现通过简单的策略(例如线性插值)在线更新示例样本(的特征表示)不会获得太多性能,因此我们将其固定。
我们发现,使用双三次插值对得分图进行上采样(从17×17到272×272),由于原始图相对较粗糙,因此定位更加准确。
为了处理比例变化,我们还搜索五个比例1.025 {−2,−1,0,1,2}上的对象,并通过系数为0.35的线性插值更新比例以提供阻尼。
为了使我们的实验结果可再现,我们在t http:
//www.robots.ox.ac.uk/~luca/siamese-fc.html上共享培训和跟踪代码,以及用于生成策划数据集的脚本。
在配备单个NVIDIA GeForce GTX Titan X和4.0
GHz英特尔酷睿i7-4790K的机器上,当分别搜索3和5个比例尺时,我们的完整在线跟踪管道以每秒86帧和58帧的速度运行。
我们评估了简单跟踪器的两个变体:SiamFC(Siamese FullyConvolutional)和SiamFC-3,它们在3个标度上进行搜索,而不是5个。
图3:OTB-13 [11]基准测试的OPE(一次通过评估),TRE(时间鲁棒性评估)和SRE(空间鲁棒性评估)的成功图。 CCT,SCT4和KCFDP的结果仅在撰写本文时才可用于OPE。
OTB-13 [11]基准考虑了在不同阈值下的平均每帧成功率:如果跟踪器的估计值与地面真相之间的相交联合(IoU)高于某个阈值,则跟踪器在给定帧中成功。 然后,针对此阈值的不同值,比较跟踪器的成功率曲线下的面积。 除了[11]所报告的跟踪器外,在图3中,我们还与主要计算机视觉会议上展示的最新的七个最新跟踪器进行了比较,这些跟踪器可以帧速率运行:Staple [33] ,LCT [34],CCT [35],SCT4
[36],DLSSVM NU [37],DSST [38]和KCFDP [39]。 考虑到序列的性质,仅针对此基准,我们在训练过程中将25%的对转换为灰度。
所有其他超参数(用于训练和跟踪)均已固定。
对于我们的实验,我们使用视觉对象跟踪(VOT)工具包的最新稳定版本(标签vot2015-final),该工具包对从356个库中选择的序列进行跟踪器评估,从而选择了7种不同的挑战性环境 代表。 许多序列最初是在其他数据集中显示的(例如ALOV [1]和OTB [11])。 在基准内,跟踪器会在故障发生后的五帧内自动重新初始化,这被认为是在估计边界框和地面实况之间的IoU变为零时发生的。
VOT-14结果。 我们将我们的方法SiamFC(和变体SiamFC3)与参加2014年VOT挑战赛的10大最佳追踪器进行了比较[40]。 我们还包括Staple [33]和GOTURN [28],这两个最新的实时跟踪器分别在CVPR 2016和ECCV 2016上展示。跟踪器是根据两种性能指标进行评估的:准确性和鲁棒性。
前者以平均IoU进行计算,而后者以故障总数表示。 这些可以深入了解跟踪器的行为。 图4显示了准确度-鲁棒性图,其中最佳跟踪器更靠近右上角。
图4:VOT-14精度-稳健度图。 最佳跟踪器靠近右上角。
VOT-15 results. 我们还将我们的方法与2015年版的40个最佳参与者进行了比较[12]。 在这种情况下,将使用准确性和故障次数的原始分数来计算预期的平均重叠量度,该平均量度表示发生故障后无需重新初始化的平均IoU。 图5展示了根据预期平均重叠量得出的最终排名,而表2报告了该挑战的15个排名最高的跟踪器的得分和速度。
VOT-16结果。 在撰写本文时,尚无2016年版的结果。
但是,为了便于与我们的方法进行早期比较,我们报告分数。 对于SiamFC和SiamFC-3,我们分别获得了0.3876和0.4051的整体预期重叠(基线和无监督实验之间的平均值)。
请注意,这些结果与VOT-16报告有所不同,因为我们参加挑战赛是这项工作的初步版本。
尽管其简单性,我们的方法还是对最新的实时跟踪器进行了改进(图3和4)。 此外,它在具有挑战性的VOT-15基准测试中胜过大多数最佳方法,同时也是唯一一种实现帧速率的方法(图5和表2)。 这些结果表明,仅在ImageNet
Video上由我们的全卷积Siamese网络学习的相似性度量的表达能力就足以实现非常强大的结果,可与之媲美或优于最新的方法,后者通常是几个数量级。
幅度较慢。 我们相信,通过使用跟踪社区经常采用的方法(例如模型更新,边界框回归,微调,内存)来扩展简约的在线跟踪管道,可以获得更高的性能。
表3说明了用于训练孪生网络的数据集的大小如何极大地影响性能。 当数据集的大小从5%增加到100%时,预期的平均重叠(在VOT-15上进行了测量)从0.168稳定地提高到0.274。 这一发现表明,使用更大的视频数据集可以进一步提高性能。
实际上,即使有200万个受监督的边界框似乎是巨大的,也不应忘记它们仍然属于相对中等数量的视频,至少与通常用于训练conv-net的数据量相比。
图5:VOT-15在预期平均重叠方面的排名。
仅报告了最好的40个结果。
在这项工作中,我们偏离了跟踪中使用的传统在线学习方法,并展示了一种替代方法,该方法侧重于在离线阶段学习强大的嵌入。 与它们在分类设置中的使用不同,我们证明了对于跟踪应用,孪生全卷积深度网络具有更有效地使用可用数据的能力。
这既可以在测试时通过执行有效的空间搜索得到体现,也可以在训练时得到反映,在训练时每个子窗口都可以有效地代表有用的样本,而几乎不会产生任何额外费用。 实验表明,深层嵌入为在线跟踪器提供了自然丰富的功能,并使简单的测试时间策略能够很好地发挥作用。
我们认为,这种方法是对更复杂的在线跟踪方法的补充,并且希望以后的工作可以更彻底地探索这种关系。
表2:我们提出的方法以及VOT-15挑战赛中表现最好的15个追踪器的原始评分,重叠部分和报告的速度。 在可行的情况下,我们将与作者报告的速度进行比较,否则(*)我们以EFO单位报告VOT-15结果[12]中的值,该值大致对应于fps(例如NCC跟踪器的速度为140 fps) 和160
EFO)。
表3:使用ImageNet视频数据集的增加部分对跟踪器性能的影响。
图6:2.4节中描述的简单跟踪器的快照,该快照配备了我们在ImageNet Video上从头开始训练的全卷积孪生网络。 我们的方法不执行任何模型更新,因此仅使用第一帧来计算ϕ(z)。 但是,它在许多挑战性情况下都具有令人惊讶的鲁棒性,例如运动模糊(第2行),外观急剧变化(第1、3和4行),照明差(第6行)和缩放比例变化(第6行)。 另一方面,我们的方法对混乱的场景(第5行)敏感,可以说是因为模型从未更新过,因此互相关性为所有与目标的第一个外观相似的窗口提供了高分。 所有序列均来自VOT-15基准:体操1,汽车1,鱼3,溜冰者1,进行曲,歌手1。
快照是在固定帧(1、50、100和200)上拍摄的,并且跟踪器永远不会重新初始化。