CSTrack: Rethinking the competition between detection and ReID in Multi-Object Tracking
论文链接:https://arxiv.org/abs/2010.12138
Github链接:https://github.com/JudasDie/SOTS
这是最近开源的一篇MOT的工作,第一版本的代码已经开源(70.7 MOTA in MOT16,70.6 MOTA in MOT17)。
??新版本的代码也将会在之后开源(75.6 MOTA in MOT16,74.9 MOTA in MOT17)
摘要
由于平衡精度和速度,同时学习检测和ReID Embedding的一体化模型获得越来越受到关注在MOT任务中。然而,在 one-shot 方法中,ReID任务和检测任务之间的差异性通常会被不知不觉忽略掉,这会造成其性能次于两阶段方法。 在这篇论文中,我们剖析上述两项任务的推理过程。 我们的分析表明他们的竞争必然伤害了任务依赖表示的学习,这进一步阻碍了跟踪性能。 为了弥补这个缺点,我们提出了一种新的互相关网络(CCN),它可以有效地促使独立的分支学习与任务相关的特征表征。 此外,我们还引入了一个尺度感知注意力网络,它学习具有判别性的ID Embedding来提高ReID的能力。我们将上述模块集合到一个统一的MOT框架称为CSTrack。
文中主要分析的两个问题
1)检测和ReID任务之间的过度竞争:
在一体化模型中,表征一个目标的执行都,物体尺度和ID信息都来自一个共享的Embedding。这样虽然高效,但是任务之间的差异性往往会被忽略掉。任务间对特征表征的竞争会造成混淆学习,这意味着在追求一个任务的高性能的时候,另一个任务的性能会停滞甚至倒退。具体来说,检测需要来自不同的目标的Embedding具有相同的语义信息,例如行人这一类。而ReID需要来自不同的目标的Embedding具有两两之间的差异性语义,即使他们属于同一个大类,这和检测的最终目标是相互矛盾的。
2)MOT场景中目标的尺度变化大:
在传统的ReID任务中,目标在做检索前都会被设置为固定的大小,如256x128。然而在MOT任务中,整图输入使得目标的尺寸会有很大的差异性,其ReID 网络需要有尺度感知的能力。但是近期的ReID-based one-shot 模型都只是在单一采样率上去考虑ReID Embedding 的获取, 失去了表示不同尺度的物体的能力。
方法改进
模型基于JDE的框架做出了两个改进。
在JDE中,检测和ID Embedding的学习都来自于同一个特征层来自于Detector(Yolov3),这实际上就存在了上述描述的竞争关系。通过一个互相关网络,我们学习了特征中针对不同任务的共性和差异性表征,使得特征更加适合于两个任务分支。对于ReID分支来说,JDE获取ID Embedding 通过一个1x1的卷积层在不同的特征尺度上,这样虽然简单有效,但是仅仅考虑单个尺度并不适合目标尺度变化大的MOT场景中学习具有判别性的ID Embedding。 我们设计一个尺度感知注意力网络(SAAN)从不同的分辨率融合特征。 同时,空间和通道注意模块应用在其中,以抑制噪声背景来获得更具有综合信息的ID Embedding。
1、互相关网络(Cross-correlation Network,CCN)
我们提出了一个互相关网络来学习用于检测和ReID任务的共性和独立性特征表征。针对于独立性信息学习,网络应用自注意力机制学习不同特征通道之间的相互关系并重构来增强任务表征。针对于共性信息学习,任务间的共同信息会被学习通过一个互相关机制。
形式上,我们假设检测器最后输出的特征为F∈RC×H×W\mathbf{F} \in R^{C \times H \times W}F∈RC×H×W,通过平局池化操作(Avgpooling)获得尺度更小的特征F′∈RC×H′×W′\mathbf{F^{\prime}} \in R^{C \times H^{\prime} \times W^{\prime}}F′∈RC×H′×W′。之后将其输入卷积层获得针对于不同任务的特征映射T1\mathbf{T_{1}}T1?和T2\mathbf{T_{2}}T2?。然后我们将它们reshape成的形式{M1,M2}∈RC×N′\left\{\mathbf{M_{1}}, \mathbf{M_{2}}\right\} \in R^{C \times N^{\prime}}{
M1?,M2?}∈RC×N′,其中N′=H′×W′N^{\prime}=H^{\prime} \times W^{\prime}N′=H′×W′。接着我们将不同的任务单独与它自身的转置相乘,并应用行向softmax计算每个任务独立的通道注意力图{WT1,WT2}∈RC×C\left\{\mathbf{W_{\mathrm{T}_{1}}, W_{\mathrm{T}_{2}}}\right\} \in R^{\mathrm{C \times C}}{
WT1??,WT2??}∈RC×C:
其中wTkijw_{T_k}^{i j}wTk?ij?意味着任务通道注意力图中第i通道和第j通道之间的关系。
同样,我们在M1\mathbf{M_{1}}M1?和M2\mathbf{M_{2}}M2?的转置之间执行矩阵乘法,以学习不同任务之间的共性,然后遵循Softmax层生成互相关权重映射{WS1,WS2}∈RC×C\left\{\mathbf{W_{\mathrm{S}_{1}}}, \mathbf{W_{\mathrm{S}_{2}}}\right\} \in R^{\mathrm{C \times C}}{
WS1??,WS2??}∈RC×C:
其中wSijw_{S}^{i j}wSij?代表任务1/2的第i个通道对任务2/1的第j个通道的影响。通过可训练参数λ,最终融合自相关和互相关权重,得到{W1,W2}∈RC×C\left\{\mathbf{W_1}, \mathbf{W_2}\right\} \in R^{C \times C}{
W1?,W2?}∈RC×C:
我们将原始特征F映射重新排列为的形状RC×NR^{C \times N}RC×N,其中N=H×W。然后,我们在重塑特征和学习的权重映射之间执行矩阵乘法,以获得每个任务的增强表示,并将增强表示与原始F通过残差计算进行融合,防止信息丢失。
2、尺度感知注意力网络(Scale-aware Attention Network,SAAN)
我们构建了一个尺度感知的注意力网络,从不同的分辨率聚合特征来获得对不同尺度目标的鲁棒性ID信息表示。首先,我们把1/16和1/32尺度(与输入图像的大小相比)的特征先被采样到1/8,然后使用3×3的卷积层对重塑的特征映射进行编码。第二步,为了增强目标相关特征,同时抑制背景噪声,我们引入空间注意力机制来处理特征,见上图(b)。该操作是对每一个尺度学习一个空间注意力的mask,对每一个尺度的特征图在空间上做权重调制,使得每一个目标在不同尺度下获得的关注不同,以缓解MOT中目标尺寸变化大和目标重叠问题。第三步,将不同尺度的特征在通道方向连接在一起,通过通道注意力机制学习对每一个特征语义通道的注意力权重,实现对通道关注度的调节,见上图(c)。最后将点乘上注意力权重的特征图通过卷积操作获得的特征输出E∈R512×W×H\mathbf{E} \in R^{512 \times W \times H}E∈R512×W×H,目标的ID信息特征Exy∈R512×1×1\mathbf{E_{x y}} \in R^{512 \times 1 \times 1}Exy?∈R512×1×1表示的是(x,y)处目标的锚点所提取的特征图。
实验
具体的比较实验和消融实验显见论文。
在实验中CSTrack把JDE中原来的检测结构从yolov3换成了yolov5l,一个原因是yolov5的检测性能和推理速度优于yolov3(显见Ablation Studies),还有一个方法就是原来JDE的实现对设备有一定要求,需要8张GPU来做训练,而替换成yolov5只需要在1张GPU上进行训练就可以获得相似或者略优的效果,这也使得CSTrack对没有很好设备要入坑MOT的同学提供了一个strong baseline。
下面对比下JDE、FairMOT和CSTrack的一个训练情况。
Method | GPUS | Train time |
---|---|---|
JDE | 8(TiTan xp) | -(跑不起来) |
FairMOT | 2(RXT2080Ti) | 30h |
CSTrack | 1(RXT2080Ti) | 30h |
实验中比较有意思的地方是做了一个可视化,为了消除不同检测器对模型的影响,文中用最理想的检测结果(GT),有利于直观了解CSTrack在ReID匹配能力上的提升。
(a)表示的是GT的检测;(b)表示当前帧检测到的目标的ID Embedding可视化;(c)表示当前帧检测到的目标的ID Embedding两两间的相互关系,其中红色越深表示其关联性越高,理想情况下我们只希望对角线(与它自己)是深红色的,其他地方是深蓝色的;(d)表示目标序列模板的ID Embedding可视化;(e)表示目标序列模板的ID Embedding两两间的相互关系,同(c);(f)表示当前帧检测到的目标的ID Embedding与目标序列模板的ID Embedding之间的匹配关系。
可见CSTrack所获得的ID Embedding无论是目标相互之间的区分性或是匹配性能都优于JDE,同时在密集场景仍然有很高的区分度。在Table 3中可见,在相同的检测情况下,IDF1相比于JDE提高了9个点,同时相比于两阶段的DeepSORT来说,或可以获得略优的性能。