目标跟踪孪生网络中的三元组损失

原文地址

摘要

目标跟踪一直是一些计算机视觉应用中重要且具有挑战性的问题。对于这个挑战,越来越多的研究者使用深度学习获取更有效的特征以提高跟踪效果。本文提出一个创新的三元组损失(triplet loss)能为目标跟踪提取富有表现力的深度特征,我们把它而不是成对损失(pairwise loss)加入孪生网络中训练。通过组合原始样本,我们的方法不需要其它任何输入就能把更多元素用于训练以获取更有效的特征。此外通过结合梯度和反向传播的比较,我们提出一个理论分析方法,证明我们方法的有效性。在实验中,我们把提出的三元组损失用在三个基于孪生网络的实时跟踪系统中。在几个流行的跟踪基准上的结果表明我们的改进能达到和基线跟踪系统相同的帧率,并比它们产生更好的效果,同时与流行跟踪系统在精度上具有可比性。

1.引言

目标跟踪包括单目标跟踪和多目标跟踪,是诸如自动监视、车辆导航问题中待解决的一个重要问题。在单目标跟踪问题中,挑选更有效的特征是提高跟踪精度的重要环节。近些年,这类方法被基于相关滤波器(correlation filter)的跟踪系统(简称CF)广泛使用。例如,Henriques等人使用方向梯度直方图(HOG)特征,而不是灰度特征,获得更健壮的跟踪性能。Danelljan等人试图使用颜色名称处理颜色序列。最近,预训练的深度网络被用于从原始(raw)图像中提取特征以提高精度,如DeepSRDCF、CCOT、MCPF和ECO。除了CF跟踪系统,一些基于深度学习的跟踪系统致力于设计一个端到端的网络获取更有效更合适的特征。MDNet使用一个多域(multi-domain)卷积网络在离线训练期间从多种样本提取共同特征。而在线训练时,用不同序列的帧,逐帧地精炼网络。该系统在OTB-2013上表现突出,并在VOT-2015上赢得主要挑战。然而它的运行速度低于1帧每秒。为了在实践应用中满足实时性,避免在线训练以获取加速效果,最近诸如SiamFC的工作仍然使用离线训练的网络获取有效特征。

虽然SiamFC利用深度网络提取有效特征,但没有充分利用输入样本间的关系。SiamFC把跟踪任务称为嵌入空间(embedding space)的相似性学习。相似性函数由离线训练的孪生网络构建。输入是一个包含物体的原型(exemplar)图像和一个更大的搜索图像。在这个搜索图像上,和原型大小相同的滑动窗口可以被视为实例,也就是候选物体边界框。物体和实例的坐标距离小于阈值时标记为正,否则标记为负。逻辑损失(logistic loss)最大化正样例对(exemplar-positive pairs)的相似性分数,最小化负样例对(exemplar-negative pairs)的相似性分数。该训练方法只利用样本间成对的关系,忽略了三元组(原型、正实例、负实例)潜在的联系。

本文中,我们把一个创新的三元组损失加入孪生网络,充分利用这三个输入获取更有效的特征。我们为每个三元组定义一个匹配概率, 这个匹配概率表示,相对于负实例,把正实例分配给原型的可能性大小。接下来我们的目标是在训练过程中最大化所有三元组间的连接概率。本文提出的三元组损失不仅能利用原型、正实例、负实例间潜在的关系,大多数情况下还为训练提供更多要素。这里我们将给出一个直观的例子。在目标跟踪问题中,由于在第一帧只有一个物体边界框,原型的数量为1。但正负实例的数量通常大于1。我们可以把它们分别设为MN。在SiamFC中,最多有M+N成对元素(pairwise elements)(M个原型-正实例对,N个原型-负实例对)能被训练。但我们的方法可以产生MN个三重元素(triplet-wise elements)(M个原型-正实例对,N个原型-负实例对的结合)。如果M> 2N> 2,则MN> M+N。这说明我们的方法可以为训练获取更多要素以增强表现。另外,我们还可以获得要素的近似数量。这个例子说明我们的损失函数可以更好地利用样本组合以获取更有效的特征。图1对三元组损失的训练框架做了进一步说明。

图1:孪生网络中三元组损失的训练框架。为了比较,我们还给出了原始逻辑损失。给定基准[2]、[28]中相同的特征提取,我们能把三元组损失应用于分数图。与逻辑损失中向量化分数图相反,我们使用正分数(红色)和负分数(蓝色)的结合。红色矩形表示重复M正分数N次得到的一个正分​​​​数矩阵,蓝色矩形表示重复N负分数M次得到的一个负分数矩阵。

事实上我们的损失函数适应于带相同分支的网络(SiamFC中\phi ^{'} = \phi)和不同分支的网络(CFnet中\phi ^{'}\neq \phi)。

此外我们给出了原始逻辑损失和我们提出的三元组损失间的理论分析。首先逻辑损失经过重新整理可以和我们的三元组损失相提并论。然后我们通过比较它们在多种输入上的梯度分析它们的差别。我们发现,当原型-正实例对vp的相似性分数不超过原型-负实例对vn的相似性分数时,三元组损失能提供更大的绝对梯度。这意味着当当网络给出较弱的相似性时(vp\leqslant vn),三元组损失可以为反向传播提供更强的反馈。把负实例标记为物体,跟踪系统会出现跟踪错误。

事实上,我们的三元组损失适合不同结构的孪生网络。在我们的实验中,我们把三元组损失应用到三个基于孪生网络的跟踪系统:SiamFC、CFnet2和SiamImp。在著名的跟踪基准OTB-2013上的实验结果表明我们的损失的各种变种优于原有跟踪系统,而且达到相同速度(每秒55-86帧),超出实时要求。在三个跟踪基准:OTB-2013、OTB-100和VOT-2017中,我们的跟踪系统达到的效果和现有流行系统具有可比性。

2.相关工作

孪生网络跟踪系统:近年来随着深度学习的发展,一些经典网络被引入目标跟踪,如孪生网络。Tao等人训练一个孪生网络在离线阶段学习一个匹配函数。在线跟踪阶段,用学习到的匹配函数在新帧中寻找与第一帧中最初的物体块(initial patch of objec)最相似的块。这个语义实例搜索跟踪系统(SINT)在OTB-2013上表现很好,但速度只有2帧每秒。为了提高速度,Bertinetto等人去掉全连接层减少计算量,只用5个全卷积层为相似函数训练一个端到端的孪生网络(SiamFC)。然后相似函数直接用于在线跟踪,而没有复杂的微调策略。因此,SIamFC具有很高的帧率满足实时性,在GPU加速的情况下接近86帧每秒。另外一个相关的跟踪系统CFnet把相关滤波器看作一个网络层,在孪生网络产生的卷积特征中计算相似性。这使学习到的深度特征和关联滤波器紧紧耦合在一起。实验表明,和包含5个卷积层的SiamFC相比,孪生网络CFnet2中带CF层的2层卷积能达到可比较的效果和速度(75帧每秒)。此外,通过修改SiamFC的一些卷积层结构,CFnet提出一个改进的孪生网络(SiamImp)。在OTB-2013和OTB-100上,SiamImp的跟踪精度优于SiamFC,但速度较低,大概52帧每秒。

为了证明三元组损失的普遍适用性,我们把它应用到三个实时跟踪系统SiamFC、CFnet2和SiamImp,它们有相似的语义框架不同的网络结构。

计算机视觉中的三元组损失:三元组损失已经广泛应用于多种计算机视觉应用,如人脸识别、图像检索和行人重检测。这里我们介绍一些工作供参考。Schroff等人通过结合三元组损失与深度卷积网络,提出一个用于人脸识别和聚类的FaceNet。为了快速收敛,通过在每批中选择最有力(hardest)的样例对(人脸块对face patch pairs),提出了在线三元开采(triplet mining)法。为了更进一步地利用三元组间潜在的联系,Song等人通过把批内成对距离向量提升为成对距离矩阵,把一个结构化损失应用于训练。Hermans等人系统地评估了几种经典三元组损失,为行人重识别提出一个创新性的带软间隔的批量硬损失。他们的方法随机采样一些实例,构建一个小型集合作为一个批次,并选择一些最有力的实例计算损失。和现在大多数用上面基于间隔三元损失的方法不同,我们的方法使用一个基于概率的三元组损失避免手动选择合适间隙。

3.再探用于跟踪的孪生网络

5.逻辑损失与三元组损失的关系

如前文所述,公式6中我们的三元组损失包含MN个元素,而公式3中逻辑损失的元素是M+N个。如果想计算这两个损失,必须保持数量一致。因此,为了比较,我们设法转变公式3。为了保证实例的输入相同,在转变过程中,不引入额外的实例增加元素数量。唯一的改变是增加了样例-实例对的使用频率。我们还添加常量权重使它成为等价转变。对一系列实例\chi,逻辑损失可以用公式表示如下。

这个式子和公式6相同。我们要简化公式6做进一步分析。通过把公式5转变为公式6,我们能得到下面的公式。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值