Distractor-aware Siamese Networks for Visual Object Tracking
0. 摘要
近年来,Siamese网络以其均衡的精度和速度在视觉跟踪领域引起了巨大关注。但大多数Siamese跟踪方法所使用的特征只能区分前景和非语义背景。语义背景一直被认为是干扰因素,阻碍了Siamese跟踪器的鲁棒性。本文提出了一种基于干扰感知的Siamese网络,用于精确的长时跟踪。通过分析传统Siamese跟踪器使用的特征,我们发现训练数据分布的不均匀导致学习的特征缺乏判别性。在离线训练阶段,引入一种有效的采样策略来控制分布,使模型专注于语义干扰。在推理过程中,设计了一种新的干扰感知模块进行增量学习,可以有效的将通用内嵌项迁移到当前视频域。此外,通过引入一种简单有效的由局部到全局搜索区域的策略,来扩展提出的长时跟踪方法。大量实验表明,我们的方法大大超过了SOTA方法,在VOT2016数据集和UAV20L数据集上的指标分别提高了9.6%和35.9%。本文提出的跟踪器在短时基准上可以达到160FPS,在长时基准上可以达到110FPS。代码地址 https://github.com/foolwood/DaSiamRPN.
1. Introduction
视觉目标跟踪是视觉分析、自动驾驶、姿态估计等许多计算机视觉领域中的一个基本问题,它是在变化的视频序列中自动定位特定目标的过程。跟踪的一个核心问题是如何在具有遮挡、视线外、变形、背景杂乱等挑战性的场景中准确、高效地检测和定位目标。
三个问题需要解决:
- 大多数Siamese跟踪方法使用的特征只能区分前景和非语义背景。语义背景往往被认为是干扰项,当背景杂乱时性能不能得到保证。
- 大多数Siamese跟踪器不能更新模型。虽然简单固定的模型特性使速度很快,但是失去了在线更新能力。这往往是解决跟踪场景中剧烈变化的关键。
- 目前的Siamese跟踪器采用的是局部搜索策略,不能应对完全遮挡和从视线外的挑战。
本文贡献有三个方面:
- 详细分析了传统Siamese跟踪器使用的特征,发现了训练数据中非语义背景和语义干扰项的不平衡是学习的主要障碍。
- 提出了一种新的干扰感知Siamese Region Proposal网络(DaSiamRPN)框架,用于在离线训练中学习干扰感知特征,并在在线跟踪推理过程中显式抑制干扰。
- 通过引入一种简单而有效的局部到全局搜索区域策略,对DaSiamRPN进行了扩展,使其能够进行长时跟踪,显著提高了跟踪器在视线外和完全遮挡条件下的跟踪性能。在短时和长时视觉跟踪基准的综合实验中,所提出的DaSiamRPN框架获得了SOTA的精度,并且速度远远超出实时。
2. Related Work
2.1 基于Siamese网络的跟踪
Siamese跟踪器遵循按相似性比较的跟踪策略。后面的FPS指标是在GPU上。
- SINT,开创性工作。先训练一个先验的深度Siamese相似性函数,在运行时固定。然后搜索与起始帧中给定的目标最相似的候选。【86 FPS】
- SiamFC,全卷积Siamese。估计两帧之间的区域特征相似度。【83FPS】
- RASNet。利用残差注意力网络学习注意力机制,来改善相似度指标。【100FPS】
- GOTURN。使用深度回归网络预测连续帧之间的运动。
- CFNet。将相关滤波器解释为Siamese跟踪框架中的可微分层,从而实现端到端表示学习。但与SiamFC相比,性能提升有限。
- FlowTrack。利用Siamese架构中的运动信息来提高特征表示和跟踪精度。值得注意的是,CFNet和FlowTrack可以有效地在线更新跟踪模型。
- SiamRPN。通过在Siamese网络的后面加上region proposal网络,将跟踪过程描述为一次(one-shot)局部检测任务。该网络采用大规模图像对进行端到端离线训练。
2.2 跟踪特征
视觉特征在包括视觉跟踪在内的计算机视觉任务中扮演着重要的角色。
- Possegger。提出了一种干扰感知模型来抑制视觉干扰区域,而颜色直方图特征的使用在鲁棒性上要比深度特征差。
- DLT。开创性的深度学习跟踪器,使用多层自动编码器网络。特征是以无监督的方式在部分80M Tiny Image数据集上预训练。
- Wang。在视频仓库上学习两层神经网络,其中对特征学习施加了时间上的缓慢约束。
- DeepTrack。从二进制样本学习两层CNN分类器,不需要预训练过程。
- UCT。将特征学习和追踪过程形式化为一个统一的框架,使学习到的特征与追踪过程紧密耦合。
2.3 长时跟踪
传统的长时跟踪框架可以分为两类:早期的方法将跟踪视为与几何模型相匹配的局部关键点描述符,最近的方法是将短时跟踪器与检测器相结合来执行长时跟踪。
- TLD,开创性工作。它提出了无记忆的流群作为短期跟踪器和基于模板的检测器并行运行。
- Ma。使用KCF跟踪器,加上随机蕨类(ferns)分类器作为检测器用于校正跟踪器。
- MUSTer。是一个长时跟踪框架,使用KCF跟踪器,加上基于SIFT的检测器用于检测遮挡。
- Fan和Ling。将DSST跟踪器与CNN检测器相结合,该检测器可以验证并潜在地校正短时跟踪器的候选。
3. 干扰感知Siamese网络
3.1 传统Siamese网络的特点和缺陷
Siamese跟踪器的核心是度量学习。目标是学习一个嵌入空间,使最大化不同对象之间的类间惯性,并最小化同一对象的类内惯性。Siamese跟踪器的普及和成功的关键在于其平衡的精度和速度。
从图一可以看出,背景中差异比较大的目标也会获得高分,甚至一些无关的对象也会获得高分。在SiamFC中获得的表示通常用于学习判别训练数据中的类别。在SiamFC和SiamRPN中,来自同一视频不同帧的训练数据集对,和每个搜索区域,非语义背景占大多数,语义实体和干扰项所占比例较小。这种不平衡的分布使得训练模型很难学习实例级表示,而倾向于学习前景和背景之间的差异。
在推理过程中,使用最近邻搜索区域内最相似的目标,同时忽略了第一帧中标注的背景信息。如图1e所示,可以有效地利用跟踪序列中的背景信息来提高识别能力。
为了解决这些问题,我们提出在离线训练过程中生成更多的语义对,同时抑制在线跟踪中的干扰因素。
3.2 干扰感知训练
高质量的训练数据是视觉跟踪中端到端表示学习成功的关键。我们引入了一系列的策略来提高学习特征的泛化能力,消除训练数据的不平衡分布。
- 不同类别的正对可以促进泛化能力的提高。最初的SiamFC是在ILSVRC视频检测数据集上进行训练的,该数据集仅包含约4,000个逐帧标注的视频。最近,SiamRPN尝试使用稀疏标记的YouTube-BB视频数据集。它由20多万个视频组成,每30帧标注一次。在这两种方法中,目标训练数据对来自同一视频中的不同帧。然而,这些视频检测数据集只包含很少的类别(VID20个,YouTube-BB30个),这不足以训练高质量和通用的Siamese跟踪特征。此外,SiamRPN中的包围盒回归分支在遇到新的类别时可能会得到较差的预测。由于视频标注费时费力,本文通过引入大规模的ImageNet Detection和Coco Detection数据集,极大地扩展了正对的类别。如图2(A)所示,通过平移、调整大小、灰度等增强技术,可以利用检测数据集中的静态图片生成用于训练的图像对。正对的多样性可以提高跟踪器的判别能力和回归精度。
- 语义负对可以提高辨别能力。我们将SiamFC和SiamRPN中差别较小的表示归因于训练数据分布两方面的不平衡。第一个失衡是较少的语义负对。由于在SiamFC和SiamRPN的训练数据中,背景占据了大部分,所以大多数负样本是非语义的(不是真实对象,只是背景),而且它们很容易分类。也就是说,SiamFC和SiamRPN学习了前景和背景之间的差异,语义对象之间的损失被大量简单的负样本对所淹没。另一个不平衡来自类内干扰项,它们在跟踪过程中通常表现为困难的负样本。本文将语义负样本对加入到训练过程中。所构造的负对由同一类别和不同类别的标记目标组成。来自不同类别的负对可以帮助跟踪器在有挑战性的场景如视线外、遮挡等时,避免发生漂移。而来自相同类别的负对使跟踪器专注于细粒度表示。
- 为视觉跟踪定制有效的数据增强。为了充分发挥Siamese网络的潜力,我们定制了几种数据增强策略进行训练。除了常见的平移、尺度变化和光照变化外,我们观察到网络中的浅层可以很容易地对运动模式进行建模。我们在数据增强中引入了运动模糊。
3.3 干扰感知增量学习
上面小节的训练策略可以显著提高离线训练过程中的辨别力。但是,仍然很难区分具有类似属性的两个对象,如图3A。SiamFC和SiamRPN使用余弦窗口来抑制干扰。当物体运动混乱时,不能保证性能。现有的大多数基于Siamese网络的方法在快速运动或背景杂乱的情况下性能较差。综上所述,潜在的缺陷主要是由于一般的表示域和特定的目标域的不对齐造成的。在这一部分中,我们提出了一种干扰感知模块来有效地将一般表示转移到视频域。
Siamese跟踪器会学习一个相似度函数
f
(
z
,
x
)
f(z,x)
f(z,x),在内嵌空间
φ
\varphi
φ中比较样本图片
z
z
z和候选
x
x
x:
f
(
z
,
x
)
=
φ
(
z
)
⋆
φ
(
x
)
+
b
⋅
1
(
1
)
f(z,x)=\varphi(z)\star\varphi(x)+b\cdot\mathbb{1}\quad(1)
f(z,x)=φ(z)⋆φ(x)+b⋅1(1)
其中
⋆
\star
⋆表示两个特征图之间的互相关性,
b
⋅
1
b\cdot\mathbb{1}
b⋅1表示每个位置的偏置。选择最相似的样本对象作为目标。
DaSiamRPN中采用非最大抑制(Non Maximum Suppression ,NMS)选择每帧潜在干扰
d
i
d_i
di,然后收集一个干扰项集合
D
:
=
{
∀
d
i
∈
D
,
f
(
z
,
d
i
)
>
h
∩
d
i
≠
z
t
}
D:= \{ \forall d_i \in D ,f(z,d_i)>h \cap d_i \ne z_t \}
D:={∀di∈D,f(z,di)>h∩di=zt}
其中,
h
h
h是预定义的阈值,
z
t
z_t
zt是第
t
t
t帧的目标,集合大小为
∣
D
∣
=
n
|D|=n
∣D∣=n。具体的,在每一帧我们首先得到
17
∗
17
∗
5
17*17*5
17∗17∗5的候选块,然后使用NMS去除冗余候选。对于剩下的候选,大于阈值的那些选为干扰。
之后,引入一个新的干扰感知目标函数,对前k相似度候选集
P
P
P重排序。最后选定的目标表示为
q
q
q:
q
=
arg max
p
k
∈
P
f
(
z
,
p
k
)
−
α
^
∑
i
=
1
n
α
i
f
(
d
i
,
p
k
)
∑
i
=
1
n
α
i
(
2
)
q=\argmax_{p_k\in P} f(z,p_k)-\frac{\hat{\alpha} \sum_{i=1}^n \alpha_i f(d_i,p_k)}{\sum_{i=1}^n \alpha_i}\quad(2)
q=pk∈Pargmaxf(z,pk)−∑i=1nαiα^∑i=1nαif(di,pk)(2)
权重因子
α
^
\hat{\alpha}
α^控制干扰学习(distractor learning)的影响。
α
i
\alpha_i
αi控制每个干扰
d
i
d_i
di的影响。值得注意的是,直接计算的复杂度和内存开销会增加n倍 。因为式(1)是线性操作,可以利用这个特性加速:
q
=
arg max
p
k
∈
P
(
φ
(
z
)
−
α
^
∑
i
=
1
n
α
i
φ
(
d
i
)
∑
i
=
1
n
α
i
)
⋆
φ
(
p
k
)
(
3
)
q=\argmax_{p_k\in P}( \varphi(z)-\frac{\hat{\alpha} \sum_{i=1}^n \alpha_i \varphi(d_i)}{\sum_{i=1}^n \alpha_i})\star \varphi(p_k)\quad(3)
q=pk∈Pargmax(φ(z)−∑i=1nαiα^∑i=1nαiφ(di))⋆φ(pk)(3)
这样运行速度就跟SiamRPN相当。这个结合律也启发我们以学习率
β
t
\beta_t
βt渐进地学习目标模板和干扰模板:
q
T
+
1
=
arg max
p
k
∈
P
(
∑
t
=
1
T
β
t
φ
(
z
t
)
∑
t
=
1
T
β
t
−
∑
t
=
1
T
β
t
α
^
∑
i
=
1
n
α
i
φ
(
d
i
,
t
)
∑
t
=
1
T
β
t
∑
i
=
1
n
α
i
)
⋆
φ
(
p
k
)
(
4
)
q_{T+1}=\argmax_{p_k\in P}( \frac{\sum_{t=1}^T \beta_t \varphi(z_t)}{\sum_{t=1}^T \beta_t}-\frac{\sum_{t=1}^T \beta_t\hat{\alpha} \sum_{i=1}^n \alpha_i \varphi(d_{i,t})}{\sum_{t=1}^T \beta_t\sum_{i=1}^n \alpha_i})\star \varphi(p_k)\quad(4)
qT+1=pk∈Pargmax(∑t=1Tβt∑t=1Tβtφ(zt)−∑t=1Tβt∑i=1nαi∑t=1Tβtα^∑i=1nαiφ(di,t))⋆φ(pk)(4)
3.4 DaSiamRPN长时跟踪
在这一部分中,对DaSiamRPN框架进行了扩展,使其适用于长时跟踪。除了短时跟踪中具有挑战性的情况外,严重的失视和完全遮挡给长时跟踪带来了额外的挑战,如图4所示。短时跟踪中的搜索区域(SiamRPN)在目标重新出现时不能覆盖目标,因此无法跟踪后续帧。我们提出了一种简单高效的短时跟踪阶段和失败情况的切换方法,失败时,设计一个迭代的局部到全局搜索策略来重新检测目标。
为了进行切换,需要识别出跟踪失败的开始和结束。由于干扰感知训练和推理能够获得高质量的检测分数,因此可以用它来表示跟踪结果的质量。图4示出了SiamRPN和DaSiamRPN中的检测分数和相应的跟踪结果。SiamRPN即使在视野之外和完全遮挡的情况下,仍可获得较高的检测分值。也就是随便找了个目标,导致发生漂移。在DaSiamRPN中,检测分数成功地指示了跟踪状态。
在失败情况下,通过局部到全局策略逐步扩大搜索区域,搜索步长以一个固定值递增。如图4所示。跟踪器使用包围盒回归检测目标,摒弃耗时的图像金字塔策略。DaSiamRPN在长时跟踪基准上可以达到110FPS。
4. 实验
测试数据集:
- VOT2015/VOT2016/VOT2017,每个60个视频
- UAV20L,20个长视频
- UAV123,123个视频
- OTB2015,100个视频
4.1 实验细节
使用ImageNet预训练的AlexNet-改。前三个卷积层固定,最后两个卷积层微调。训练了50个epoch,学习率在log空间从 1 0 − 2 10^{-2} 10−2递减到 1 0 − 4 10^{-4} 10−4。从VID和Youtube-BB中选取间隔小于100的图像对,做3-2节的裁剪处理。为了能处理灰度视频,25%的样本训练时转换成灰度。平移在12像素点内随机,缩放倍率在0.85到1.15之间随机。
推理阶段,公式2的干扰因子
α
^
\hat{\alpha}
α^设为0.5,
α
i
设
为
1
\alpha_i设为1
αi设为1,
β
t
\beta_t
βt设为:
∑
i
=
0
t
−
1
(
η
1
−
η
)
i
,
η
=
0.01
\sum_{i=0}^{t-1}(\frac{\eta}{1-\eta})^i,\eta=0.01
i=0∑t−1(1−ηη)i,η=0.01
短时阶段搜索区域255,失败case767。进入和离开失败case的阈值0.8和0.95。使用Pytorch实现,测试环境:
- Intel i7, 48G 内存,NVIDIA TITAN X.
4.2 VOT数据集上的SOTA比较
使用VOT2017工具集。当检测到失败(与GT重叠率为0)后,会在5帧之后重新初始化跟踪器。测试指标有:精度(A),鲁棒性(R),平均期望重叠(EAO)。结果见图5,6
图5-a,在VOT2016上,DaSiamRPN比第二名ECO高9.6%,速度上,比C-COT快500倍,比ECO快20倍。
图5-b,在VOT2017上,EAO指标第一;比SOTA实时跟踪器CSDRCF++高53.8%。
4.3 UAV数据集上的SOTA比较
对比指标,OP:阈值0.5的评价覆盖精度,DP:20像素评价距离精度
结果见图六
4.4 OTB数据集上的SOTA比较
4.5 烧烛分析
5. 结论
提出一种干扰感知的Siamese框架,用于精确长时跟踪。在离线训练过程中,提出了一种干扰感知的特征学习方案,可以显著提高网络的判别能力。在推理过程中,设计了一种新颖的干扰感知模块,有效地将一般的嵌入转移到了当前视频域。此外,通过引入一种简单而有效的局部到全局搜索策略来扩展所提出的长时跟踪方法。所提出的跟踪器在短时和长时视觉跟踪基准的综合实验中都达到了最高精度,但整个系统的速度还远远不能达到实时水平。