GiaoTracker
论文标题:GIAOTracker: A comprehensive framework for MCMOT with global information and optimizing strategies in VisDrone 2021
论文地址:https://arxiv.org/pdf/2202.11983.pdf
论文源码:未开源
Introduction
? 近年来,多目标跟踪任务的算法得益于深度模型和视频质量的巨大进展。然而,在无人机视频等具有挑战性的场景中,它们仍然会遇到一些问题,如小物体、摄像机运动和视角变化。本文提出了一种采用全局信息和一些优化策略的多目标跟踪器,名为GIAO跟踪器。它包括在线跟踪、全局链接和后处理三个阶段。给定每一帧的检测,第一阶段利用摄像机运动、物体运动和物体外观等信息生成可靠的轨迹。然后通过利用全局线索将它们关联成轨迹,并通过四种后处理方法进行细化。凭借这三个阶段的有效性,GIAOTracker在VisDroneMOT数据集上取得了最先进的性能,并在VisDrone2021MOT挑战中获得了第二名。
Motivation
? 在本文中,提出了一个全面的全局信息和多类多目标跟踪(MCMOT)框架,名为GIAO跟踪器。为了缓解检测噪声,提出了一种新的特征存储和更新策略EMA Bank,以同时保持不同的特征状态和特征变化的信息。在目标运动建模方面,线性卡尔曼滤波算法是广泛使用,它简单地设置一个统一的测量噪声尺度到所有目标,而不考虑检测质量。为了获得更精确的运动状态,提出了一种噪声尺度自适应卡尔曼算法(NSA卡尔曼),该算法根据目标检测的质量自适应调制噪声尺度。
? 轨迹全局信息在解决裂缝问题中起着重要的作用。我们引入了一个全局链接阶段,将轨迹关联到轨迹中。具体来说,为了减少遮挡和视图变化引起的噪声,我们提出了一种新的轨迹外观特征提取器GIModel(全局信息模型),该方法提取每一帧的全局和部分空间特征,并将其与基于自注意的时间建模块融合,以获得更鲁棒的表示。
? 为了更全面地细化跟踪结果,使用四种后处理方法。为了消除由重复检测引起的冗余轨迹,在两个轨迹之间使用了基于时间-iou的NMS(非最大抑制)。然后,将缺失的检测结果线性地插入到轨迹间隙中。考虑到较长的轨迹往往更准确,我们使用长度相关系数逐帧重新评分轨迹。引入了TrackNMS来融合不同的跟踪结果,从而显著提高了跟踪性能。
Method
Online Tracking
? GIAOTracker的在线跟踪阶段将DeepSORT作为基线。以序列作为输入,使用DetectoRS一帧生成检测框
{
b
t
}
t
?
1
T
\lbrace b^{t} \rbrace_{t-1}^{T}
{bt}t?1T?,然后将它们连接
{
t
l
n
}
n
=
1
N
\lbrace tl_{n}\rbrace_{n=1}^{N}
{tln?}n=1N?中。为了处理相机的移动,我们利用ORB和RANSAC来快速对齐帧间图像。然后从物体外观和物体运动两个方面对基线进行了改进。用OSNet替换DeepSORT中的简单特征提取器,并在VisDrone数据集上进行训练。提出了一种新的特征存储和更新策略EMA Bank,以实现轨迹和检测之间更准确的关联。
EMA Bank
? 有两种主流的特性存储和更新方法。DeepSORT实现了一个特征库来存储以前帧
L
b
L_b
Lb?检测的原始特征,并使用它们来计算具有检测特征的最小余弦距离。对于轨迹
t
l
i
tl_i
tli?,其特征存储是
F
B
i
=
{
f
i
t
}
t
=
1
T
FB_{i}=\lbrace f_{i}^{t} \rbrace_{t=1}^{T}
FBi?={fit?}t=1T?,其中
f
i
t
f_{i}^{t}
fit?是原始检测特征。这种机制维持了一个轨迹的不同特征状态,并对物体外观的突然变化具有鲁棒性。然而,简单地使用原始特征对检测噪声很敏感。相反,JDE/FairMOT使用了一个EMA(指数移动平均)特性更新策略,其中每个轨迹只维护一个特性。对于轨迹
t
i
t
t_{i}^{t}
tit?,它的功能状态ei更新为:
? 其中
f
i
t
f_{i}^{t}
fit?是检测在
t
t
t帧中的外观嵌入,
α
α
α是动量项。这种增量特征更新策略利用了帧间特征变化的信息,可以抑制检测噪声。为了整合上述两种方法的优点,我们探索了一种直观的方法,称为EMA Bank。对于轨迹
t
l
i
tl_{i}
tli?,它的bank是
E
B
i
=
{
e
i
t
}
t
=
1
T
EB_{i}=\lbrace e_{i}^{t}\rbrace_{t=1}^{T}
EBi?={eit?}t=1T?,其中
e
i
t
e_{i}^{t}
eit?由方程(1)计算。所提出的EMA bank同时考虑了多帧信息和帧间变化信息,更适合于复杂的场景。
? 在线跟踪框架中,运动预测是另一个关键模块,其中常用卡尔曼滤波。对于车辆对象,我们采用无迹卡尔曼滤波(UKF)算法,该算法对非线性具有更强的鲁棒性.我们还提出了一种改进的卡尔曼滤波算法NSA卡尔曼滤波器,该算法可以在状态更新过程中自适应地调制噪声尺度。
NSA Kalman
? 在DeepSORT中,采用基于线性运动假设的卡尔曼滤波器对物体的运动进行建模。它包括状态估计步骤和状态更新步骤。在第一步,卡尔曼滤波产生当前状态变量的估计及其不确定性。然后用估计的状态和测量值的加权平均值来更新这些估计值。
? 具体来说,它使用测量噪声协方差
R
?
R_{*}
R??来表示测量(即在当前帧中检测)噪声尺度。较大的噪声尺度意味着在状态更新步骤中测量的权重较小,因为它的不确定度较大。在卡尔曼算法中,噪声尺度是一个常数矩阵。然而,直观上不同的测量方法包含了不同尺度的噪声。因此,我们提出了一个自适应计算噪声协方差的公式,称为NSA噪声协方差
R
^
k
\hat R_{k}
R^k?:
? 其中,
R
k
R_{k}
Rk?为预设的常数测量噪声协方差,
c
k
c_{k}
ck?为状态
k
k
k时的检测置信值。我们的NSA卡尔曼滤波器的整个状态更新显示在算法1中,其中NAS步骤用一个红色的虚线框标记。实验结果表明,虽然我们的NASKalman很简单,但跟踪性能有显著提高。
Rough2Fine.
? 我们采用软投票的方法对在线跟踪器进行分类。众所周知,一些物体类别很难区分,例如,汽车和货车。因此,我们不是独立地跟踪不同的类别,而是遵循COFE中的Coarse-to Fine pipeline,并使用“soft-vote”机制(称为Rough2Fine)进行改进。与在COFE中一样,我们首先实现粗糙类跟踪,然后使用投票机制确定轨迹的精细类。与COFE中的“hard-vote”不同,我们的“soft-vote”机制将多个类分配给一个轨迹,其中投票权重与置信度得分呈正相关。
? 基于上述摄像机校正、物体运动预测和外观特征处理策略,我们将物体检测关联起来,以在线跟踪的方式形成可靠的轨迹。虽然它已经在很大程度上提高了基线,但我们认为,我们的GIAOTraccer-Online并没有利用未来的信息,所以它的性能仍然有限。
Global link
? 基于匈牙利算法将短轨迹链接到长轨迹。为了充分利用全局信息进行轨迹关联,我们将轨迹的外观和时空距离整合到匈牙利算法的单一匹配代价中。
GIModel
? 我们建立了基于ResNet50-TP的GIModel,并通过添加部分级特征和基于自注意的时间建模来进行改进。GIModel以连续N帧作为输入,首先提取帧级特征,并通过时间建模输出特征。添加了由额外的三重态损失监督的特征,所示这使得GIModel能够专注于对象的不同部分的详细特征,并对遮挡更健壮。在推理中,全局特征和部分特征被直接连接起来。
? 在时间建模方面,我们没有简单地通过平均池化融合帧级特征,而是使用Transformer encoder实现帧间信息交互,以聚合多帧特征并抑制一个片段的噪声。给定剪辑j的n帧,通过transforme encoder层获得基于自注意的特征
{
f
^
j
t
}
n
=
1
N
\lbrace \hat f_{j}^{t} \rbrace_{n=1}^{N}
{f^?jt?}n=1N?:
其中,
f
j
t
f_{j}^{t}
fjt?表示原始帧级特征,
T
E
L
(
?
)
TEL(\cdot)
TEL(?)表示transforme encoder层。然后计算裁剪
j
j
j的三维特征
f
^
j
\hat f_{j}
f^?j?通过:
? 轨迹集
t
l
i
tl_{i}
tli?的特征存储是其裁剪特征的集合。总之,部分特征关注于详细的空间信息,而基于自我注意的时间建模更有效地聚合了时间上下文信息。实验结果,GIModel的性能大大优于基线水平。
Association.
? 计算了匈牙利算法使用的匹配代价矩阵与外观代价和时空代价。它们的外观代价是其特征库
F
^
i
\hat F_{i}
F^i?和
F
^
j
\hat F_{j}
F^j?之间的最小余弦距离: ? 此外,时空距离成本
C
s
(
i
,
j
)
C_{s}(i,j)
Cs?(i,j)和
C
t
(
i
,
j
)
C_{t}(i,j)
Ct?(i,j)分别测量了两个轨迹的时间间隔和空间距离。如果成本满足阈值不变, 然后,匹配成本计算如下:
式中,
T
h
a
Th_{a}
Tha?、
T
h
t
Th_t
Tht?、
T
h
s
Th_s
Ths?分别为外观特征成本、时间成本和空间成本的预设阈值,
λ
a
λ_a
λa?、
λ
t
λ_t
λt?、
λ
s
λ_s
λs?为权重系数。余弦距离是测量外观特征的一种有效的度量方法。轨迹的时间间隔和空间距离直接用于避免物体运动速度估计的误差。这样,基于匈牙利算法,我们将轨迹很好地形成长轨迹。
Post-processing
Denoising.(去噪)
? 存在一些重复的检测结果,这将会导致冗余的轨迹。STGT使用基于检测级的空间iou匹配程序来去除不匹配的检测候选对象。相反,我们的去噪算法使用轨迹级的时间iou来实现轨迹之间的SoftNMS。
Interpolation.(插值)
? 在一个轨迹内,缺失的检测也会降低跟踪精度。在TPM中,检测被线性插值到轨迹的间隙中。考虑到更大的间隙会带来更多的噪声,只有小于60个的缺失帧才会被填充。
Rescoring.(重新计算置信度)
? 在评估时,平均分数被用来衡量轨迹的质量。然而,根据我们的观察,较长的轨迹往往更准确。因此,我们使用一个与长度相关的系数来重新评分每一帧的轨迹。对于长度为
l
i
l_i
li?的轨迹
i
i
i,取值计算为:
其中,因子
τ
=
25
τ=25
τ=25。对于帧
j
j
j,其置信度
s
i
j
s^{j}_i
sij?被改写为
s
^
i
j
=
ω
i
?
s
i
j
\hat s_{i}^{j}=ωi·s_{i}^{j}
s^ij?=ωi?sij?。这样,长轨迹的置信度相对增加,而短轨迹的置信度相对降低。
Fusion.(整合)
? 据我们所知,很少有工作关注MOT任务的融合策略。受基于NMS的模型融合在目标检测任务上的成功启发,我们提出了TrackNMS来融合不同的跟踪结果。简而言之,TrackNMS是基于SoftNMS的思想,但有两个主要区别:
- IoU:SoftNMS使用空间IoU的检测来确定抑制的程度。相反,TrackNMS使用轨迹之间的时间-iou。
- Sort:与SoftNMS根据分数对检测进行排序不同,TrackNMS将轨迹帧级分数的总和(而不是“平均值”)作为排序基础,这意味着更长的轨迹往往具有更高的优先级。
Implementation details
? Detection:在可视无人机训练数据集上对基于ResNet50检测器DetectorRS进行了微调,该数据集是在MSCOCO数据集上进行预训练的。为避免过拟合,在训练时,每5帧采样1帧。训练输入量表设置为[1333,800]
? *OSNet.*为了训练和评估OSNet,我们创建了一个基于VisDroneMOT数据集的ReID数据集。帧采样率为5,最小高度/宽度为32。任何具有遮挡比或截断比大于50%的对象都将被删除。画廊与探测的比例设置为7:1。我们使用ImageNet预训练模型,并在我们的数据集上对其进行微调。车辆(即汽车、货车、卡车、公共汽车)的输入比例设置为[128,256],行人设置为[256,128]。
? *GIModel.*与上面提到的ReID数据集类似,我们还为GIModel创建了一个类似于VideoReID的数据集。主要的区别是采样率设置为1,图库与探针的比率设置为3:1。车辆轨迹夹设置为[224,224,4],行人设置为[224,112,4]。同时还使用了ImageNet[18]预试验模型。
Ablation
|