【MOT】GHOST: Simple Cues Lead to a Strong Multi-Object Tracker

GHOST: Simple Cues Lead to a Strong Multi-Object Tracker

论文地址:https://arxiv.org/abs/2206.04656
代码:https://github.com/dvl-tum/GHOST
论文接收:CVPR2023

1、动机

reID模型在MOT表现不佳的原因:

  • (i)reID 模型需要考虑在不同时间范围内预期的不同挑战,即,虽然在附近的帧中,对象的外观变化最小,但在较长的时间间隔中更多预计会发生严重变化,例如,由(部分)遮挡【在不同时间的外观特征不一致,特别是遮挡导致外观特征明显变化】
  • (ii)reID性能在 MOT 序列中往往不一致,因为它们的图像统计数据不同【在不同数据集上训练得到的reID不通用(不够鲁棒)】

2、方法

提出一种将reID与简单的线性运动模型加权的MOT方法: GHOSTGood Old Hungarian Simple Tracker
具体贡献:

  • 提供了关键的设计选择(见下文外观模型部分),可以显着提高用于 MOT 任务的 reID 模型的性能。
  • 分析了在哪些潜在情况下外观是不够的,以及何时可以通过运动来支持。
  • 在四个数据集实现SOTA

track管理方法

o_i=(f_i, p_i)表示某时刻的某track,其中f_i表示embedding,p_i表示box位置。
轨迹库T最多保存50帧轨迹

外观模型

model:ResNet50+FC(+BN+classify head)
train:Market-1501数据集
设计选择(design choice):

(i)以不同的方式处理活动和非活动轨迹;在这里插入图片描述

图2是距离分布直方图,图2(a)展示了活动轨迹和非活动轨迹在外观距离上的差异,表明活动轨迹的外观特征总体差异较小,连续帧间几乎没有变化;但不活动轨迹(遮挡)在连续帧间易出现外观特征变化较大的情况并且导致错误匹配(浅蓝色区域)

  • 外观距离代价函数【余弦距离d(·)】:
    第t帧活动轨迹j与检测框i关联时外观距离为
    d_i,j = d(f_i, f_jt-1)
    非活动轨迹k与检测框i关联时外观距离为前Nk帧得embedding与检测i的embedding的距离的平均值,即

【本人总结】外观距离可以用多种方式来计算:
(1)one embedding:采用上一帧的embedding来计算(最简单的形式)
(2)embedding bank:每个track保存一个embedding库,计算库中embedding与检测框embedding的最小值作为关联距离【deepsort】
(3)EMA embedding:采用EMA(指数移动平均)不断更新embedding,匹配时用EMA平均的embedding来计算距离【JDE、FairMOT】
(4)EMA bank:既采用EMA计算平均embedding,又保存在库中,计算时取最小的【GIAOTracker】
(5)MA embedding:用MA(移动平均)不断更新embedding【Tracktor】
(6)MA distacnce:每一帧embedding计算的距离的MA【本文】
(7)Mode embedding:保存一个embedding库,取每个维度上的众数作为计算用的embedding【本文附录】
(8)Median embedding:保存一个embedding库,取每个维度上的中位数作为计算用的embedding【本文附录】

(ii)增加动态域自适应(On-the-fly Domain Adaptation)

应该是属于person re-identification领域的概念。
在这里插入图片描述
作者在引言部分提到不同数据集的数据分布不一致导致re-ID模型不够鲁棒,因此采用BN的方法来学习数据分布

运动模型

平均线性运动(取Nk帧位置计算平均速度)
在这里插入图片描述

运动权重设置为0.5(作者在附录中说不同数据集、不同情况下权重不一样,具体情况具体分析)

关联方式

在匹配时采用一次匈牙利匹配,对活动轨迹和非活动轨迹设置不同的阈值,如图2(b)所示

3、实验:

在这里插入图片描述
作者发现:

  • 动态场景下(相机运动):在长期和短期关联方面,外观表现优于运动,因为相机运动导致运动难以估计
  • 静态场景下(固定相机):在长期关联方面运动表现优于外观,在遮挡情况下外观表现极差

附录中提到:外观经常被用来处理运动无法解决的长期关联,而运动通常用于短期。

其他实验详见原文,作者做了巨多实验。

个人总结:

验证了活跃track和非活跃track外观特征的差异,因此采用不同方式计算。
创新点在于提出一种新的外观距离计算方式,并且进行实验验证;动态域自适应我不了解,不好评价,应该是从其他领域借鉴过来的,反映到MOT上就是不同数据集分布不一致,re-ID模型不够鲁棒;其他就没什么了,实验工作量挺大。

附录

  • A、BDD100K实验
  • B、对正文部分实验的分析,主要是对遮挡程度、遮挡时间
  • C、对动态域自适应的深入分析
  • D、对外观距离做了个小总结及实验【写的不错】
  • E、运动权重分析,面向数据集分析
  • F、对平均速度计算用的帧数做分析,面向数据集分析
  • G、track寿命分析(max_age)
  • H、自适应阈值分析及算法
  • I、距离分布计算,应该是实验设置细节
  • J、相似MOT方法比较(主要是将track进行分类的),提到ByteTrack、DeepSORT、HCC等
  • K、作者认为ByteTrack在不同数据集上调参,甚至更改基线模型(引入额外的re-ID模型),对其普遍性表示质疑。【看戏】
  • L、对每个模块的耗时进行计算,在Quadra P6000 GPU上速度10FPS
  • M、效果可视化

猜你喜欢

转载自blog.csdn.net/LoveJSH/article/details/128831811