JDE 《Towards Real-Time Multi-Object Tracking》学习笔记

论文链接:https://arxiv.org/pdf/1909.12605.pdf
代码链接:https://github.com/Zhongdao/Towards-Realtime-MOT
翻译链接:https://blog.csdn.net/weixin_42907473/article/details/104407606

  该方法是基于YOLOv3和MOTDT做的。它网络前面都和YOLOv3一样的,主要就是在特征图里多提取了一个嵌入(embedding)向量,采取的是类似于交叉熵的triplet loss。因为是多任务学习,这篇论文还用了一篇18年的论文提出来的自动学习损失权重方案:通过学习一组辅助参数自动地对非均匀损失进行加权。最后的结果是精度上基本达到了SOTA(略低一些),而FPS则比其他的都高了很多。这是目前开源模型里面速度和精度的trade off做的最好的一个模型。
 

1.驱动本文的核心思想:

现有问题
  现在的MOT系统通常使用tracking-by-detection的方式。这种方式有:1)用于目标定位的检测模型,2)用于数据关联(data association)的外观嵌入模型(appearance embedding model)。两个模型分开执行可能会导致效率问题,其运行时间只是简单的将两个结构的运行时间加起来,而没有去探究它们之间可能某些结构可以共享的潜在可能性。现有的实时MOT的方法主要研究association step,所以这些方法事实上只是实时association model而不是实时MOT系统。
解决方案
  在本文中,作者提出了一个将目标检测和外观嵌入共享结构学习的MOT模型。具体而言,作者将外观嵌入模型合并到single-shot detector中,以便该模型可以同时输出检测结果和相应的嵌入。因此,该系统被转化为一个多任务的学习问题:存在多个目标,即,anchor classification,bbox regression,embedding learning,以及各个损失的自动权重。
效果:
  该工作是第一个(近)实时MOT系统,它的运行速度取决于输入图像分辨率,大致在18.8到24.1帧间波动。同时,其跟踪精度可与采用独立检测与嵌入学习的SOTA模型相媲美(64.4%MOTA vs 66.1%MOTA在MOT-16 challenge),代码已开源。
本文的工作贡献
1) 介绍了JDE,这是用于联合检测和嵌入学习的单一框架。作为在线MOT系统,它可以(近)实时运行,并且在准确度上与单独的检测+嵌入(SDE)SOTA结果相当。
2) 从训练数据、网络结构、学习目标和优化策略等多个方面对如何构建这样一个联合学习框架进行了深入的分析和实验。
3) 用相同的训练数据进行的实验表明,提出的JDE性能和一系列优秀的SDE模型组合一样好,并且达到了最快的速度。
4) 在MOT-16上的实验表明,考虑到训练数据量、准确性和速度,我们的方法优于最先进的MOT系统。
 

2.与其他模型的区别
JDE 《Towards Real-Time Multi-Object Tracking》学习笔记_第1张图片

  SDE,即Separate Detection and Embedding model,该类方法将检测和嵌入分开计算,如上图(a)所示,先用Detector模型检测出候选者区域,再用Embedding模型提取ReID特征,这种方式在推理的时间上为两部分模块运行时间之和。
  Two-stage,即先用RPN输出检测区域特征,该特征与Embedding模块共享,提高了运行时间,但仍然达不到实时效果。
  JDE,即Jointly learns the Detector and Embedding model。这也正是本文提出的方法,直接一步到位,同时输出检测结果和ReID特征。
 

3.为构建高效、准确JDE模型,本文的优化方向

为了构建一个高效,准确的联合学习框架,本文有意设计以下几个基础方面:训练数据,网络结构,学习目标,优化策略和验证指标。
 
训练数据:
  首先,作者收集了六个关于行人检测和人员搜索的公开可用数据集,以形成统一的大规模多标签数据集。在这个统一的数据集中,所有行人边界框都被标记,并且一部分行人身份被标记。
网络结构:
  其次,选择特征金字塔网络(FPN)作为基础框架,并讨论哪种损失函数是网络学习最佳的嵌入方法。
学习目标:
  然后,将训练过程建模为具有anchor分类,框回归和嵌入学习的多任务学习问题。为了平衡每个任务的重要性,我们采用了与任务相关的不确定性(Kendall,Gal和Cipolla 2018)来动态加权异构损失。
验证指标:
  最后,采用以下评估指标。平均精度(AP)用于评估检测器的性能。采用一定误报率(FAR)下的正样本通过率(TAR)来评估嵌入的质量。总体MOT准确性由CLEAR指标(Bernardin和Stiefel-hagen 2008)评估,尤其是MOTA指标。
 

3.模型细节
JDE 《Towards Real-Time Multi-Object Tracking》学习笔记_第2张图片 JDE 《Towards Real-Time Multi-Object Tracking》学习笔记_第3张图片

  该模型使用的架构是FPN。FPN使得可以从多尺度预测,从而改善了目标尺度变化很大的行人检测效果。Figure 2 简单的展示了神经网络框架在JDE中的使用。首先,输入视频帧会经过backbone进行正向传递,以获得三个比例的特征图,即分别具有1 / 32、1 / 16和1/8下采样率的比例。然后,将最小尺寸的特征图(语义上的最强特征图)上采样(变得和上一级一样大),与第二小的特征图通过skip connection进行融合,对其他比例的特征图也是同样操作。最后,在所有三个尺度上将预测头加到融合特征图上。预测头由几个堆叠的卷积层组成,并输出大小为(6A + D)×H×W的密集预测图,其中A是分配给该尺度的anchor模板的数量,D是嵌入的维数。密集预测图分为三个部分:
1) the box classification results of size 2A×H ×W;
2) the box regression coefficients of size 4A×H ×W;
3) the dense embedding map of size D×H ×W;
 

4.如何训练?
JDE 《Towards Real-Time Multi-Object Tracking》学习笔记_第4张图片 JDE 《Towards Real-Time Multi-Object Tracking》学习笔记_第5张图片 JDE 《Towards Real-Time Multi-Object Tracking》学习笔记_第6张图片 JDE 《Towards Real-Time Multi-Object Tracking》学习笔记_第7张图片 JDE 《Towards Real-Time Multi-Object Tracking》学习笔记_第8张图片

你可能感兴趣的:(目标跟踪,计算机视觉,神经网络,深度学习,python,算法)