One More Check: Making “Fake Background” Be Tracked Again
CSTracker原团队的论文,设计了re-check子网络,可以添加在JDE范式的跟踪器之中,涨点明显。
论文:http://arxiv.org/abs/2104.09441
代码:https://github.com/JudasDie/SOTS
Abstract
近来,ons-shot的方法在MOT中取得了开创新的结果。one-shot方法即是JDT(JDE)范式的多目标跟踪方法,在同一网络内,提取到用于检测和ReID任务的特征。但这些方法大多有一个相同的问题,仅仅依靠单帧输入来进行当前帧bbox的预测,而当遇到遮挡、模糊之类的模糊时,有用的视觉信息缺失,跟踪器的性能便会下降。这也是最近很多论文想要的应对的问题。如果一个目标,其在当前帧被误分为背景类别,那么便不会被连接到本属于的轨迹中,造成轨迹的中断或者终止。于是,作者在这篇文章中提出了一个re-check网络来存储这些没有检测到的目标,作者称之为“fake background”。re-check通过修进后的互相关性层(cross-correlation layer)来捕获先前轨迹和当前帧的候选框之间的关系,以此将先前的轨迹传播到当前帧来。
Introduction
现有的MOT方法大多分为two-step和one-shot两种。two-step方法,也就是TBD(tracking-by-detection)范式,将MOT分解成目标检测和数据关联两个独立的子任务。虽然效果很好,但对每个bbox进行独立的外貌embedding的提取所带来的的计算量过于庞大。而one-shot方法则将两个任务的特征提取融合到了一个网络之中。通过共享特征和进行多任务学习,它们能够以准实时速度运行。作者发现,大多数已有的one-shot跟踪器都是以一个强大的完备的检测器为基础的,换句话说,在ReID任务看来,会假定所以的目标都被检测器正确检测到。然而,真实场景中有很多困难,使得这个假设是不太可能的,如图。
红色框圈出的目标,在一些帧中,因为遮挡或者其他原因,被分为前景的概率较小,所以并没有被检测器检测到,所以会造成轨迹的中断。而检测器检测不到这些目标,因为其仅仅采用了当前帧那一帧的信息,这样是远远不够的。作者通过时序信息,对检测器错误分类的目标其周围的环境信息进行检查,来恢复那些没有找到的目标。和之前的某些方法直接采用前一阵的特征来丰富当前帧的特征的操作不同,re-check网络其实是将前一阵的目标转移到当前帧来,弥补被误分类的目标,类似于一个预测模型。re-check通过前一帧目标的位置,检查其在当前帧位置附近的环境信息,来生成一个候选框。如果候选框并不在当前帧的检测结果中,那么便可以认为它是被当前帧的检测器误分类的目标,便可以将其加入到最终的结果中。
Methodology
上图是方法的整体结构,在JDE范式的跟踪器之后添加了一个模块,灰框中可以改用其他JDE范式的算法,作者在文中采用的是CSTrack。
Overview
输入当前帧 x x x,通过特征提取器(backbone和neck)得到特征图 F t \boldsymbol{F}_{t} Ft:
F t = Ψ ( x ) \boldsymbol{F}_{t}=\Psi(\boldsymbol{x}) Ft=Ψ(x)之后, F t \boldsymbol{F}_{t} Ft再通过网络的head得到检测结果和外貌embedding: [ R t d e , F t i d ] = Φ ( F t ) \left[\boldsymbol{R}_{t}^{d e}, \boldsymbol{F}_{t}^{i d}\right]=\Phi\left(\boldsymbol{F}_{t}\right) [Rtde,Ftid]=Φ(Ft) R t d e \boldsymbol{R}_{t}^{d e} Rtde是检测结果,其中包括前景概率 P t d e ∈ R H × W × 1 \boldsymbol{P}_{t}^{d e} \in \mathbb{R}^{H \times W \times 1} Ptde∈RH×W×1和bbox结果 B t d e ∈ R H × W × 4 \boldsymbol{B}_{t}^{d e} \in \mathbb{R}^{H \times W \times 4} Btde∈RH×W×4。 F t i d ∈ R H × W × C \boldsymbol{F}_{t}^{i d} \in \mathbb{R}^{H \times W \times C} Ftid∈RH×W×C(C=512)为ID embedding。检测结果 R t d e \boldsymbol{R}_{t}^{d e} Rtde通过greedy-NMS得到当前帧检测器最终的结果 D base \boldsymbol{D}_{\text {base }} Dbase 。 D base \boldsymbol{D}_{\text {base }} Dbase 中的每一个检测结果,对应着 F t i d \boldsymbol{F}_{t}^{i d} Ftid中的一个 1 × 1 × C 1 \times 1 \times C 1×1×C的embedding。假设 E t i d \boldsymbol{E}_{t}^{i d} Etid为 D base \boldsymbol{D}_{\text {base }} Dbase 中检测结果的embedding的集合,在先前的one-shot方法中, D base \boldsymbol{D}_{\text {base }} Dbase 和 E t i d \boldsymbol{E}_{t}^{i d} Etid会用来进行数据关联,通过匈牙利算法,和之前的轨迹进行连接。
CSTrack通过加入互注意力机制来缓解检测任务和ReID任务之间的竞争,以极小的代价提升了JDE,所以作者采用CSTrack作为baseline。
SiamMOT: 作者将提出的方法命名为SiamMOT,设计了一个re-check网络来修复被检测器误分为背景的目标。
如上图所示,上一帧的embedding E t − 1 i d \boldsymbol{E}_{t-1}^{i d}