paper: Distractor-aware Siamese Networks for Visual Object Tracking1
Motivation
1.尽管之前的Siamese系列跟踪网络取得了优秀的性能,但是他们都有3个主要的问题。
(1)基于Siamese跟踪器的特征仅仅能够从non-semantic 背景中区分出前景。并且他们把semantic的背景信息当作是干扰物(Distractor)。(non-semantic 背景是指该背景中没有任何杂物的目标信息,可以理解为纯背景信息)
(2)大多数Siamese跟踪器都不能更新模型,(离线跟踪而非在线跟踪),从而在目标显著变化的场景下跟踪容易漂移。
(3)Siamese只使用了一种局部更新的方法,当目标存在完全遮挡或者out-of-view时,就没法处理了。
2. 作者观察到训练集不平衡的分布导致了学习的特征具有较弱的判别能力。并且作者发现non-semantic背景和semantic背景在训练数据上的不平衡是特征学习的主要障碍。从而作者推断:网络的好坏与训练数据的分布有关。
3. 作者发现:在图像序列中存在相似外观的对象(干扰物),这使得跟踪任务更加艰巨。为了解决该问题,采用surrounding contextual and temporal information 有助于最大化判别能力。
4. 作者发现大部分跟踪器只适用于目标一直都出现的短期跟踪,当目标存在完全遮挡或者out-of-view时,这些常规跟踪器无法应付。为此,作者利用DaSiamRPN生成的更为鲁棒的特征图,采用了简单而高效的局部-全部的搜索策略。
Contribution
1.作者仔细分析了常规的Siamese 跟踪器,发现训练数据中non-semantic背景和semantic干扰物在训练数据中的不平衡是阻碍学习的主要因素。
2.作者提出了DaSiamRPN网络框架去学习干扰物感知特征(distractor-aware features),通过离线训练的方式。在线跟踪过程中显著地抑制了干扰因素。
3. 作者在DaSiamRPN中通过引入简单高效的局部-全局的搜索策略,用在长期跟踪过程中。
Method
目的:提升学习特征的泛化能力,以及消除训练数据分布的不均衡性。
1.提升多样性的正匹配,这可以提升特征的泛化性。
之前Siamese系列都是在VID或者Youtube-BB视频数据上训练的,然而这些视频包含的类别种类很少(20 for VID, 30 for Youtube-BB)。从而为了提升正样本pair的数据,作者在大规模的检测数据集ImageNet和COCO上扩充了正样本的种类。这些静态的图片会转换为image pairs送入Siamese架构中训练。最终,多样性的正样本pairs可以提升跟踪器的判别了和回归准确度。
2.增加语义信息的负样本pair,提升判别力。
作者认为SiamFC和SiamRPN的判别性较弱主要存在训练数据分布不均衡的2个层面。
第一个不均衡是:较少的负样本pair(semantic negative pairs)。
第二个不均衡是: 内部类别干扰物不均衡,这些干扰物在跟踪过程过程中是很难的样本。
从而作者添加了更多的 I. semantic负样本pairs和II. 类内干扰物。其中I. 是在不同类别的pairs(下图c),II.是相同类别的pairs(下图c)。
3.自定义数据增强
包括基本的尺度变化、光照变化等,还添加了运动模糊(由于运动pattern可以通过网络中的浅层轻松建模)。
Training process
离线训练
数据来源:来自ImageNet,COCO检测数据集的正样本pairs, 不同类的semantic负样本pairs和同类的semantic干扰物pairs。
以及上面样本做了数据增强产生的数据。
训练架构,和SiamRPN一样。
Tracking process
1.设模板帧 F 1 F_1 F1,当前帧 F k F_k Fk, φ ( ∙ ) c l s \varphi(\bullet)_{cls} φ(∙)cls代表SiamRPN的分类特征提取, φ ( ∙ ) r e g \varphi(\bullet)_{reg} φ(∙)reg代表SiamRPN的回归特征提取。 f ( z , d i ) = φ ( z ) c l s ⋆ φ ( d i ) c l s + b f(z,d_i)=\varphi(z)_{cls} \star \varphi(d_i)_{cls} + b f(z,di)=φ(z)cls⋆φ(di)cls+b代表相似性函数,即得到分类的置信图。
2.使用NMS(非极大值抑制)选择每一帧中可能的干扰物(distractors)
d
i
d_i
di, 从而可以得到distractor集合:
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 \neq z_t \}
D:={∀di∈D,f(z,di)>h∩di=zt},其中h是预定义的阈值,
z
t
z_t
zt是在第t帧中选出的目标。
例如:当前帧中得到了
17
∗
17
∗
5
17*17*5
17∗17∗5的proposals,接着这些proposals中具有最大值的proposal会作为目标
z
t
z_t
zt,而剩下的proposal超过一定阈值的会当作distractors。
3.接着,作者引入了一种新颖的可感知干扰物的目标函数,以重新排序与模板最相似的top-k前个proposals。其表达式如下:
其中,
α
^
\hat \alpha
α^代表 distractor learning的学习步长,
α
i
\alpha_i
αi用来控制每一个 distractor
d
i
d_i
di的影响。
这种关注干扰的跟踪器可以将现有的相似性度量(常规)调整为新域(特定)的相似性度量。
可以将权重因子
α
i
\alpha_i
αi视为具有稀疏正则化的对偶变量,并且可以将样本和干扰项视为相关滤波器中的正样本和负样本。 即为在线跟踪过程。
4.long-term 跟踪
如上图,SiamRPN和SiamFC在置信度上往往是不可靠的,由于其判别性弱,当目标缺失时其往往会失效。
而在DaSiamRPN的置信度上(红线)可以看出,DaSiamRPN的置信度是较为可靠的,可以根据置信度判断跟踪是否失败。(例如将置信度和阈值比较,超过阈值则成功,否则失败)
当失败的时候,搜索区域会逐步增大去寻找目标,(即每一帧都逐步增大一点,且每一帧只采用一个增大的尺度,直到成功找到了目标,这时还原回255大小)寻找目标的方法采用了bbox回归(即SiamRPN的回归方法)。
Experiment
帧率110FPS
Conclusion
作者主要从数据集扩充的较大增强跟踪器的判别性。
数据集扩充主要来源于检测的标注样本,增强正样本pair, 相同类的负样本pair,不同类的负样本pair,而后使用了数据增强(加上了运动模糊)进行训练。
跟踪的时候采用增量式的更新方法利用了Distractor的信息,而后在long-term上采用局部-全局的更新方法提升了性能。
问题:
Siamese系列上:分类的置信图真的有这么可靠吗?不可靠时怎么解决?
https://arxiv.org/abs/1808.06048 ↩︎