论文浏览(10) Towards Real-Time Multi-Object Tracking


0. 前言

  • 相关资料:
  • 论文基本信息
    • 领域:多目标跟踪
    • 作者单位:清华&澳大利亚国立大学
    • 发表时间:2019.9

1. 要解决什么问题

  • 多目标跟踪的普通解决方案是检测+Re-ID。
    • 检测与Re-ID是两个独立的模型,这样性能较好,但inference time较长。
    • 这种方法在这篇论文中统一称为 Separate Detection and Embedding(SDE),在前一篇论文(AlphAction)中被称为 two-step method。
  • 这篇论文应该是比较早的 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的方法。
    • image_1ebq679atqb71vni6r91gq11uf59.png-239.8kB
  • 对问题进行建模
    • 训练数据一般分为三个部分:图像,每张图像对应的bbox,以及每个bbox对应的label(identity labels,可以理解为人物编号吧)
    • 对于每张图片,模型的输出是bbox以及每个bbox的features。
    • 训练目标是:
      • 令模型输出的bbox与GT尽可能相同(检测问题)。
      • 定义一个d()d()函数,用于定义不同features之间的“距离”,是的相同label物体之间的“距离”都小于不同label物体之间的“距离”(metrics learning)。其中d()d()可以使用欧几里德距离。
  • JDE 网络结构如下图所示
    • backbone使用了FPN结构。
    • 类似于SSD/Yolo,若干特征图都连接了一个prediction head,实现了检测以及获取embedding。
    • image_1ebq8i3h31pe6g5gammh1e1qscm.png-135.6kB
  • online association
    • 作用:将当前bbox的特征与历史bbox特征进行关联。
    • 主要方法:计算关联矩阵,然后通过匈牙利算法匹配,另外通过卡尔曼滤波过滤位置差距较大的匹配。

3. 效果如何

  • 与当时的一些SOTA进行对比,在准确率差距不大的情况下,FPS大大提升
    • image_1ebq9qs3r13t71knqsau1qmsu1613.png-121.9kB
  • 与一些SDE方法进行对比(FPS是在TitanXP上测的)
    • SDE方法在人比较多的情况下,FPS下降比较多。
    • image_1ebq9sluklqb434unr1h691r501g.png-130.5kB

4. 还存在什么问题

  • 对于我来说:

    • 这个有开源,所以会仔细研究下源码。
    • 对于匈牙利算法+卡尔曼滤波目前不是特别懂,还需要仔细看看。
  • 在看大佬的问题时看到过这类one-shot算法存在的问题,将detection与re-id放到一起存在一个缺陷,detection需要的是category的特征(即类别特征),而re-id需要的是identity的特征(即个体特征),这是一个本质问题。

  • 在FairMOT中也提到了一些问题,使用anchor-based detection不适合用于Re-ID,Re-ID需要不同分辨率的特征进行融合,Re-ID特征维度不能太高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章