小总结

  1. 作者介绍了传统的SDE方法及其工作范式。然后介绍了目前tow-stage的方法,表示two-stage的方法并没有实现模型参数的真正共享。所以作者提出了了一种联合模型JDE,在one-stage解决detection和embedding的学习问题。整个网络结构和YOLO v3非常类似。
  2. 怎么实现embedding?借鉴分类问题,把每个track ID作为一个类别,用全连接层进行转化。
  3. 需要注意的是:JDE只是一个检测网络,一次性提取出了embedding和detection的信息,但是还需要使用卡尔曼滤波和匈牙利算法进行两帧之间的目标匹配。

摘要与结论

现代多目标跟踪(MOT)系统通常遵循tracking by detection的模式。一般包含detection model和数据级联模型。单独执行这两个模型可能会导致效率问题,因为运行时间只是这两个步骤的总和,而没有研究它们之间可以共享的潜在结构。现有对实时MOT的研究主要集中在关联步骤上,本质上是实时关联方法,而不是实时MOT系统。本文提出了一种允许在共享模型中学习目标检测和外观嵌入的MOT系统。具体地说,我们将外观嵌入模型引入到一个singel-shot检测器中,使得该模型可以同时输出检测和相应的嵌入。在此基础上,提出了一种与关joint model相结合的简单快速的关联方法。与以往的MOT系统相比,这两个组件的计算量都大大降低,为后续的实时MOT算法设计提供了一个简洁而快速的基准。据我们所知,这项工作报告了第一个(接近)实时MOT系统,根据输入分辨率的不同,运行速度为22到40FPS。同时,它的跟踪精度可与包含分离检测和嵌入(SDE)学习的最先进的跟踪器相媲美。

作者在论文中介绍了JDE,这是一个允许在共享模型中学习目标检测和外观特征的MOT系统。作者的涉及设计极大地缩短了MOT系统的运行时间,使得运行数据(接近)实时速度成为可能。同时,系统的跟踪精度可以与最先进的在线MOT方法相媲美。

1. 简介


多目标跟踪(MOT)旨在预测视频序列中多个目标的运动轨迹,从自动驾驶到智能视频分析都具有重要的应用意义。
解决这一问题的主要策略,即通过检测跟踪[24,40,6]范例,将MOT分解为两个步骤:1)检测步骤,在该步骤中定位单个视频帧中的目标;2)关联步骤,在该步骤中,检测到的目标被分配并连接到现有的轨迹。这就要求至少有两个高计算量的组建:检测器和re-ID模型。为方便起见,我们将这些方法称为**分离检测和嵌入(SDE)**方法。因此,总体推理时间大致是这两个部分的总和,并将随着目标数量的增加而增加。SDE方法的特点给构建实时MOT系统带来了严峻的挑战,然而实时性这是实践中的基本要求。

为了节省计算量,一个可行的想法是将检测器和嵌入模型集成到一个网络中。因此,这两个任务可以共享相同的低层特征集,并且避免了重新计算。联合检测器和嵌入学习的一种选择是采用Faster R-CNN框架[28],这是一种两级检测器。具体地说,第一阶段,区域提议网络(RPN),与较快的R-CNN保持不变,并输出检测边界框;第二阶段,Fast R-CNN[11],可以通过用元学习监督代替分类监督来转换为嵌入模型[39,36]。尽管这种方法节省了一些计算量,但由于它的两级设计,速度仍然受到限制,通常运行速度低于10帧/秒(FPS),远不能达到实时。此外,与SDE方法一样,第二阶段的运行时间也随着目标数的增加而增加。

本文致力于提高MOT系统的效率。我们介绍了一种Jointly learns the Detector and Embedding model (JDE),可以再单个深度网络中联合学习探测器和嵌入模型。换言之,所提出的JDE使用单个网络来同时输出检测结果和对应于被检测方框的外观嵌入。相比之下,SDE方法和两阶段法的特点分别是重采样像素(包围盒)和特征图。所有的边界框和特征地图被送入单独的Re-ID模型用于外观特征提取。图1简要说明了SDE方法、两阶段方法和建议的JDE之间的区别。我们的方法是接近实时的,而精度几乎与SDE方法相当。例如,我们在MOT-16测试集上获得了20.2FPS的运行时间,MOTA=64.4%。

为了构建高效、准确的联合学习框架,我们从训练数据、网络结构、学习目标、优化策略、验证度量等基本方面进行了深入细致的研究和设计。首先,我们收集了六个公开可用的行人检测和人员搜索方面的数据集,形成一个统一的大规模多标签数据集。在这个统一的数据集中,所有的行人边界框都被标注了,部分行人身份也被标注了。其次,我们选择特征金字塔网络(FPN)[21]作为我们的基础结构,并讨论了网络在哪种类型的损失函数下学习最好的嵌入。然后,我们将训练过程建模为具有锚分类、盒回归和嵌入学习的多任务学习问题。为了平衡每个任务的重要性,我们使用任务相关的不确定性[16]来动态权衡异质性损失。为了进一步提高效率,提出了一种简单快速的关联算法。最后,我们采用以下评估指标。用平均精度(Average Precision,AP)来评价探测器的性能。采用一定虚警率(FAR)下的真实接受率(TAR)作为评估嵌入质量的指标。整体MOT准确性通过清晰的度量[2]进行评估,特别是MOTA评分。本文还为联合检测和嵌入学习提供了新的设置和基线,我们相信这将有助于实时MOT的研究。
文章贡献如下:

  • 介绍了JDE,一种用于联合检测和嵌入学习的single-shot框架。它是接近实时运行的,并且与单独检测+嵌入(SDE)最先进的方法相比具有相当的精确度。
  • 我们从训练数据、网络结构、学习目标和优化策略等多个方面对如何构建这样一个联合学习框架进行了深入的分析和实验。
  • 用相同的训练数据进行的实验表明,JDE在强SDE模型组合中表现良好,并且达到了最快的速度。
  • 在MOT-16上的实验表明,考虑到训练数据量、精度和速度,我们的方法优于目前最先进的MOT系统。

3 JDE

3.1 问题设定

3.2 框架概览


我们采用了特征金字塔网络(FPN)的体系结构[21]。FPN从多个尺度进行预测,从而提高了目标尺度变化较大的行人检测的性能。图2简要显示了JDE中使用的神经体系结构。输入的视频帧首先经过主干网的前向通道,以获得三个尺度的特征图,即分别具有132、116和18下采样率的尺度。然后,对尺寸最小的特征地图(也是语义最强的特征)进行上采样,并通过跳跃连接从次小尺度开始与特征地图进行融合,对其他尺度也是如此。最后,将预测头添加到三种尺度下的融合特征图上。预测头由多个堆叠的卷积层组成,并输出大小为(6A+D)×H×W的密集预测图,其中A是分配给该尺度的锚定模板的数量,D是嵌入的维度。密集预测图分为三个部分(任务):box 预测,box回归,密度嵌入图。

3.3 检测学习

一般来说,检测分支类似于标准RPN[28],但有两处修改。首先,作者重新定义了锚的数量、尺度、纵横比。其次,作者注意到为用于前景/背景分配的双阈值选择适当的值是很重要的。IOU>0.5作为前景,IOU小于0.4作为背景。检测学习目标的两个损失函数为前景/背景分类损失和包围盒回归损失。

3.4 嵌入特征学习

第二个目标是度量学习问题,即学习一个嵌入空间,其中相同身份的实例彼此接近,而不同身份的实例相距较远。要实现这一目标,一个有效的解决方案是使用三重损失[29](triplet loss)。三重态损耗也在以前的MOT作品中使用过[36]。但是这种方法有许多问题,其中一只就是样本空间太大。在这项工作中,我们通过观察一个小批次并挖掘这个小批次中所有的负样本和最硬的正样本来解决这个问题(mini-batch)。第二个挑战是,三重损失的训练不稳定,收敛可能很慢。为了稳定训练过程和加速收敛,作者在[31]中提出了在三元组损失的平滑上界上进行优化。作者实际得到的Loss类似于类似于交叉熵损失的公式。

具体应用中,如果锚盒被标记为前景,则从密集嵌入映射中提取对应的嵌入向量。提取的分层被馈送到共享的全连通层以输出类逻辑,然后对类逻辑计算交叉熵损失。在这种方式中,多个尺度的嵌入共享相同的空间,并且跨尺度关联是可行的。在计算嵌入损失时,忽略具有标签−1的嵌入,即具有框注释但没有标识注释的前景。

3.5 自动损失平衡(LosstotalLoss_{total}Losstotal

JDE中每个预测头的学习目标可以建模为多任务学习问题。联合目标可以写成每个刻度和每个组件损失的加权线性总和。

3.6 在线关联

JDE只是一个检测网络,一次性提取出了embedding和detection的信息,但是还需要使用卡尔曼滤波和匈牙利算法进行两帧之间的目标匹配

【目标跟踪 MOT】JDE - Towards Real-Time Multi-Object Tracking相关推荐

  1. 目标跟踪经典算法汇总(持续更新...)

    如题,虽然这个问题是经典目标跟踪算法,但事实上,可能我们并不需要那些曾经辉煌但已被拍在沙滩上的tracker(目标跟踪算法),而是那些即将成为经典的,或者就目前来说最好用.速度和性能都看的过去trac ...

  2. 一文看尽7篇目标跟踪最新论文(ABCTracker/MAST/L1DPF-M等)

    前言 恰逢 2020年,本文再次更新近期值得关注的最新目标跟踪论文.这次分享的paper将同步推送到 github上,欢迎大家 star/fork(点击阅读原文,也可直接访问): https://gi ...

  3. CVPR 2020 论文大盘点—目标跟踪篇

    本文盘点CVPR 2020 所有目标跟踪(object tracking)相关论文,总计33篇,因为跟踪相关的技术很多,这里单指具体目标的跟踪,不涉及点的跟踪(如人体关键点跟踪,会另有总结). 最大的 ...

  4. CVPR 2019 论文大盘点-目标跟踪篇

    点击我爱计算机视觉标星,更快获取CVML新技术 跟踪在计算机视觉里有很广泛的内涵,本文所指的跟踪为通用目标跟踪,不包括比如人脸特征点跟踪.视线跟踪等特定领域. 本文总结了 19 篇相关论文,列出了代码 ...

  5. 计算机视觉:目标跟踪论文推荐

    声明: 1.论文覆盖时间段:2019年12月31日-2020年02月19日 2.在此推荐大家关注 计算机视觉论文速递 知乎专栏,可以快速了解到最新优质的CV论文 [1]旷视Detection组开源:视 ...

  6. 超全!目标跟踪中的评价指标有哪些?

    作者 | 范厘针  编辑 | 汽车人 原文链接:https://zhuanlan.zhihu.com/p/602323326 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷 ...

  7. 目标跟踪领域研究(二)跟踪算法

    视觉目标跟踪(Visual Object Tracking)是计算机视觉领域的一个重要问题.尽管近年来受到了广泛研究,目标跟踪问题由于本身的高难度.高质量数据的稀少,研究热度比目标检测.语义分割等基本 ...

  8. ECCV 2020 论文大盘点-目标跟踪篇

    本文盘点ECCV 2020 所有与跟踪相关的研究,单指目标的跟踪,不涉及人体姿态等点的跟踪,总计19篇文章,其中12篇开源或者将开源. 其中多目标跟踪.单目标跟踪.对抗学习+目标跟踪研究工作较多.其中 ...

  9. 目标跟踪领域研究(一)Benchmark

    写这篇文章的主要目的是为了记录一下自己初入目标跟踪领域,对目标跟踪的一些理解,并备份一下自己的遇到的,学习过的一些大牛的算法,捋一捋自己思路,以便日后需要可以比较方便的复习. 文章部分图片来源于网上, ...

  10. 安卓目标检测,目标跟踪,人流量计数

    先看效果, 推理时间不到30ms. 大多数目标检测,目标追踪网络模型部署在终端,用的Python,CUDA环境,只能参考流程,案例Python环境下实现的人流量计数,代码跑跑,效果如下 根据这个案例, ...

最新文章

  1. Spring应用注解配置实现IOC
  2. (补充)常用端口大全
  3. python @的用法
  4. 乐视TV做电视 “自杀”还是“猎杀”
  5. 抢先报名丨2021云上架构与运维峰会将于11月6日在北京举办,五大精彩看点不容错过
  6. the Open Source Community
  7. oh-my-zsh中如何去掉命令提示符前缀
  8. 操作系统 —— 文件管理
  9. react全家桶实现招聘app-项目准备(一)
  10. iconv 解决乱码问题
  11. 第二次作业——小学生四则运算
  12. 京东Q2营收同比增加26.2%,股价上涨超3%
  13. Docker 基础技术之 Linux namespace 详解
  14. 输入上标的html标签是,HTML上标sup与下标注sub标签元素
  15. Python命令行模式下调试程序
  16. SQL 常见面试题解析
  17. Spring事务和事务传播机制
  18. Win10网卡驱动异常代码56的问题
  19. 如何在Google地图上找到经度和纬度
  20. Linux - Shell基本命令

热门文章

  1. 用图片签名时,如何解决签名的图片会盖住内容的问题
  2. android透明主题引起的快速点击activity触发退到桌面
  3. [原创]中国大陆民谣盘点4 小柯《小柯》
  4. 不要说话 -- 陈奕迅/小柯
  5. 最新注册谷歌账号详细步骤,解决“此电话号码无法验证”问题
  6. cocos2d-x太空大战小游戏
  7. android自动调节亮度是怎么实现的,Android亮度调节的几种实现方法
  8. 机器学习(六)统计学习理论
  9. linux硬盘的两个分区合并_linux新加硬盘合并
  10. 关于LNK2000 _main 已经在 某某某.obj 中定义的问题