Motivation
Martin 参与的新作,出发点和之前的 KYS 类似,均指出仅外观模型不足以区分目标和干扰物,因此需要对所有潜在目标保持跟踪。不同的是 KYS 是通过一个传播模块隐式地跟踪所有对象,最后作用于外观模型的输出来抑制干扰响应;而本文则是借助 SuperGlue 显式地匹配帧间所有的候选对象,构建跟踪链,有点多目标跟踪的意思,可解释性也更强。
- 主流跟踪方法大多聚焦于建立强大的外观模型,然而仅依靠外观模型对于干扰物的鲁棒性较差;
- 作者提出另一种思路,即对干扰物也保持跟踪。为此构建一个可学习的关联网络(受启发自 SuperGlue),允许在帧与帧之间传播所有候选目标;
- 针对跟踪数据集没有对干扰物标注的问题,提出了一种结合部分标注和自监督的训练策略。
Method
Overview
整体框架如上图,base tracker 使用 SuperDiMP 预测出分数图,选择高得分的几个位置用于生成目标候选。然后对每个候选提取一系列特征,包括分类分数,位置,和 backbone 提取的外观模型,将这些特征编码编码成一个单独的特征向量。将当前帧和前一帧的所有候选送入 candidate embedding network,一起处理得到每个候选对象的丰富嵌入。最后利用这些特征来计算相似矩阵 S,并使用最优匹配策略估计两个连续帧之间的候选分配矩阵 A。
有了这个分配概率矩阵,就可以建立当前帧的所有候选目标与上一帧所有识别出来的目标之间的关联,包括消失和新出现的目标。用这种传播策略来推断当前帧中的真实目标对象。此外,在在线更新目标分类器时,通过计算目标检测置信度来管理存储和控制样本权重。
Problem Formulation
首先将问题公式化,定义候选目标集合,N 为候选个数,和分别表示前一帧和当前帧的候选集合。两帧的候选关联问题就是寻找和之间的分配矩阵。若和关联,那么,否则。
实际操作中,并不是每个候选都能找到相应的匹配,因此引入 dustbin 来处理未匹配的节点。大致的想法就是额外增加一行一列来存放未匹配的节点。比如候选只在集合中出现,则;类似的,若在集合中没有匹配对象,则。
作者设计了一种可学习方法来预测这个分配矩阵 A,首先需要提取候选对象的特征表示,接下来讨论。
Target Candidate Extraction
目标候选对象需要满足两个条件,响应得分是局部最大,且要超过一定阈值。
实现时使用 5×5 max-pooling 找到局部极值,阈值。
接下来为目标候选构建特征编码
包括响应得分,位置,和 backbone 在该位置提取的外观模型。表示 MLP,将 s 和 c 变换到和 f 一样的维度。
Candidate Embedding Network
为了进一步丰富编码特征,特别是便于提取特征的同时又能识别邻近的候选特征,作者引入了候选嵌入网络。这里借鉴了 SuperGlue 中的 self-attention 和 cross-attention 交换不同节点的信息。最后经过一个线性变换,得到每个候选的编码。
Candidate Matching
用特征点积来度量候选和之间的相似性,, h是对应的特征编码。
有了相似性得分矩阵 S,接下来需要构建分配矩阵 A,通过最大化总体得分 可得到 A,这是一个最优传输问题。
在此之前,还需要考虑 dustbin,它是一个虚拟概念,没有对应的特征编码 h,因此不能直接预测相似性得分。只有当一个候选对象与所有其他候选对象的相似度分数足够低时,它才属于 dustbin。上面得到的相似度矩阵 S 仅代表了不考虑 dustbin 的候选对象之间的初始关联预测。本文没有提及如何处理 dustbin 的相似性得分,参照 SuperGlue 是给所有 dustbin 赋予一个相同的可学习参数。
下面就是给这个最优匹配问题设计约束条件:
- 当 和匹配时,需要同时满足和,确保一对一的匹配,即 (i, j) 所在行和列仅有唯一的匹配位置;
- 所有未匹配到其他候选的候选必须匹配到 dustbin,数学表达为和,其中表示候选之间匹配上的数量。
最后通过 Sinkhorn 算法(迭代)解出最优分配矩阵。
这一套流程也是借鉴了 SuperGlue,这里贴出它的示意图。
Learning Candidate Association
上述流程的训练需要知道所有候选之间的匹配关系作为标签,但跟踪数据集只有唯一目标的标注。所以作者提出了部分监督和自监督结合的方式。
部分监督损失:只对有标注的那对目标候选计算 loss,另外为了模拟遮挡和重检测,人为地排除一些候选并将其替换为 dustbin
其中,, .
自监督损失:自监督的一个候选是由另外的候选增广变换而来的,因此它们可以构建一一对应关系,增广策略包括随机平移位置,增减响应得分,以及变换图像对特征进行变换。此外,也像上面部分监督一样模拟了遮挡和重检测。
最后将二者相加得到最终 loss。
Data Mining: 有价值的训练样本是那些出现干扰物导致跟踪失败或者跟踪置信度很低的子序列,这样才能包含更多候选供网络学习。因此先使用 base tracker 跑一遍找到这些困难样本。
Training Details: 先训练 SuperDiMP(这里不训练在线分类的参数,可能是因为想要获取更多失败的样本),跑一遍数据找到难样本。然后冻结 base tracker 的参数只训练后半部分网络。
Object Association
在线跟踪时对所有潜在对象保持跟踪,并构建跟踪链,如图 3 所示。若当前的候选对象都与该对象没有关联,那么该对象就会从场景中消失。若有新的对象出现则新增链并赋予新的对象 id。对于关联上的对象,将得分添加到历史分数中。此外,当候选对应关系不确定,即分配概率小于时,我们删除旧的对象并创建一个新的对象。
这样所有候选对象都与一个已经存在的或新创建的对象相关联,若上一帧检测到的真实目标在当前帧有关联对象,则暂定该关联对象是目标。为了避免该关联对象是干扰,还需将它的历史得分与当前其他候选对象的得分进行比较,如果另一个对象在当前帧中获得的分类分数高于当前选择对象在过去获得的所有分数,我们就选择这个对象作为目标;否则还是保持当前选择对象不变。
若上一帧检测到的真实目标在当前帧没有关联对象,则进行重检测,需满足:1. 分类得分最高;2. 分类得分大于阈值。
整个算法流程如下图:
'.' 表示访问对象的属性
Memory Sample Confidence
base tracker 在线更新的训练样本采用先入先出的策略进行替换,并仅基于存在的寿命时间对样本加权。本文则是将分类得分也考虑进来,计算在线优化损失时综合考虑了寿命时间和分类得分对样本进行加权:
表示样本存在的时间,越早的样本值越小;表示分类得分。此外,训练样本更新时替换的是最小的样本而不是简单替换最早的样本。
Inference details
base tracker 搜索区域取决于当前估计的边界框大小。当目标物体被遮挡或出视野时,跟踪器通常只检测到目标的一小部分,并估计出比之前帧更小的边界框,相应的搜索区域也会变小,这对于跟踪失败后的重捕是不利的。因此,如果在目标丢失前搜索区域大幅缩小,我们将搜索区域重置为以前的大小,以便于重新检测。
此外,如果只有一个高分目标出现在前一帧和当前帧中。我们选择这个候选对象作为目标,省略运行目标候选关联网络来加速跟踪。
Experiments
Ablation Study
memory sample confidence 在 LaSOT 提升比较大,NFS 和 UAV123 没啥影响,说明它在长时跟踪中的作用更大。
比较了提出的部分监督损失,自监督损失和数据挖掘的作用,每一项都有提升。
表 3 分析了学习在线分类器过程中加入分类得分的影响。第一列表示增加了分类得分来考虑替换训练样本,第二列表示在计算在线损失时增加分类得分对样本加权,第三列表示在线学习时忽略了得分较低的低质量样本。
State-of-the-art Comparisona
对 LaSOT 数据集,时本文方法指标明显更高,证明其鲁棒性。