0. 前言
- 相关资料:
- 论文基本信息
- 领域:多目标跟踪
- 作者单位:清华&澳大利亚国立大学
- 发表时间:ECCV 2020
- 一句话总结:提出One-shot MOT网络JDE,即检测与跟踪同时实现,加速网络推理速度。
1. 要解决什么问题
- 多目标跟踪的普通解决方案是检测+Re-ID。
- 检测与Re-ID是两个独立的模型,这样性能较好,但inference time较长。
- 这种方法在这篇论文中统一称为 Separate Detection and Embedding(SDE)。
- 这篇论文应该是比较早的 One-shot MOT 的论文,即detection与embeddings在同一个网络中实现。
2. 用了什么方法
- 主要就是用了 one-shot 的结构,提出的结构名为JDE(Jointly learns the Detedctor and Embedding model)
- 下面这张图就介绍了三种不同的MOT实现方案:
- SDE:Detection与Embedding分为两个独立的模型,性能高、实时性差。
- Two-stage:检测通过two-stage detection实现,感觉类似于 SDE,只不过检测模型通过RPN实现,实时性也不好(10fps左右)。
- JDE:Detection与Embedding通过同一个网络实现,Detection用的是one-stage的方法。
- 对问题进行建模
- 训练数据一般分为三个部分:图像,每张图像对应的bbox,以及每个bbox对应的label(identity labels,可以理解为人物编号吧)
- 对于每张图片,模型的输出是bbox以及每个bbox的features。
- 训练目标是:
- 令模型输出的bbox与GT尽可能相同(检测问题)。
- 定义一个 d ( ) d() d()函数,用于定义不同features之间的“距离”,是的相同label物体之间的“距离”都小于不同label物体之间的“距离”(metrics learning)。其中 d ( ) d() d()可以使用欧几里德距离。
- JDE 网络结构如下图所示
- backbone使用了FPN结构。
- 类似于SSD/Yolo,若干特征图都连接了一个prediction head,实现了检测以及获取embedding。
- online association
- 作用:将当前bbox的特征与历史bbox特征进行关联。
- 主要方法:计算关联矩阵,然后通过匈牙利算法匹配,另外通过卡尔曼滤波过滤位置差距较大的匹配。
3. 效果如何
- 与当时的一些SOTA进行对比,在准确率差距不大的情况下,FPS大大提升
- 与一些SDE方法进行对比(FPS是在TitanXP上测的)
- SDE方法在人比较多的情况下,FPS下降比较多。
4. 还存在什么问题
- 对于我来说:
- 这个有开源,所以会仔细研究下源码。
- 对于匈牙利算法+卡尔曼滤波目前不是特别懂,还需要仔细看看。
- 在看大佬的问题时看到过这类one-shot算法存在的问题,将detection与re-id放到一起存在一个缺陷,detection需要的是category的特征(即类别特征),而re-id需要的是identity的特征(即个体特征),这是一个本质问题。
- 在FairMOT中也提到了一些问题,使用anchor-based detection不适合用于Re-ID,Re-ID需要不同分辨率的特征进行融合,Re-ID特征维度不能太高。