Simple Online and realTime tracking with a deep association metric

  • 〇、摘要
  • 一、引言
  • 二、 按深度关联指标排序
    • 2.1、轨迹处理和状态估计
    • 2.2、匹配问题
    • 2.3、级联匹配
    • 2.4、表观特征
  • 三、实验
  • 四、总结

首先,带着几个疑惑来读这篇文章、

状态估计

〇、摘要

简单的在线和实时跟踪(SORT)是一种实用的方法,主要集中于研究简单、有效的算法来进行多对象跟踪。 在本文中,我们集成了外观信息以提高SORT的性能。 基于此改进,我们能够通过更长的遮挡来跟踪对象,从而有效地减少了Id-Switch的次数。本着原始框架的精神,我们将许多计算复杂性置于离线预训练阶段,在此阶段中,我们在大规模人群重识别数据集上学习深度关联度量。 在线推理期间,我们使用视觉外观空间中的最近邻查询来建立测量与轨道的关联。 实验结果表明,我们的改进将Id-Switch的数量减少了45%,在高帧率下总体性能很不错。

一、引言

由于目标检测的最新进展,逐检测跟踪已成为多目标跟踪的主要范例。在这种范例中,通常在一次处理整个视频批次的全局优化问题中找到对象轨迹。例如,流量网络公式[1、2、3]和概率图形模型[4、5、6、7]已成为这种类型的流行框架。但是,由于进行了批处理,因此这些方法不适用于必须在每个时间步均提供目标标识的在线方案。更传统的方法是多重假设跟踪(MHT)和联合概率数据关联过滤器(JPDAF)。这些方法逐帧执行数据关联。在JPDAF中,通过根据各个度量的关联可能性对各个度量进行加权来生成单一状态假设。在MHT中,会跟踪所有可能的假设,但是必须将修剪方案应用于计算的可处理性。两种方法最近都在通过检测进行跟踪的场景中被重新研究[10,11],并显示出令人鼓舞的结果。但是,这些方法的性能带来了更高的计算和实现复杂性。
简单的在线和实时跟踪(SORT)是一种更为简单的框架,该框架使用匈牙利算法和可测量边界框重叠的关联度量,在图像空间中执行卡尔曼滤波和逐帧数据关联。这种简单的方法可以在高帧速率下获得良好的性能。 在MOT挑战数据集[13]上,具有最先进的人员检测器[14]的SORT在标准检测上的平均排名高于MHT。这不仅强调了目标检测性能对整体跟踪结果的影响,而且以从业者的角度来看也是重要的见解。

在跟踪精度和准确性方面获得总体良好性能的同时,SORT带来了了相对大量的Id-switch。这是因为所采用的关联度量仅在状态估计不确定性较低时才是准确的。因此,SORT在跟踪遮挡方面存在缺陷,因为遮挡通常会出现在前视摄像头场景中。 文中通过将结合度量替换为结合了运动和外观信息的更全面的度量来解决此问题。

文章应用了经过训练的卷积神经网络(CNN),该网络在大规模行人重识别数据集上训练过。通过集成该模块,文章提高了针对遗漏和遮挡等问题的鲁棒性,同时使系统易于实施、高效且适用于在线推理。

代码已经开源。

二、 按深度关联指标排序

文章采用具有递归卡尔曼滤波和逐帧数据关联的常规单一假设跟踪方法。 在以下部分中,文章将更详细地描述此系统的核心组件。

2.1、轨迹处理和状态估计

轨迹处理和卡尔曼滤波框架与文献12中所使用的公式相同。我们假设一个非常普通的跟踪场景,其中相机未校准,并且我们没有可用的自我运动信息。尽管这些情况对滤波框架构成了挑战,但它是最近的多目标跟踪基准比赛中考虑的最常见设置。因此,文中的检测场景使用八维状态空间(u,v,γ,h,x,y,γ,h)(u,v,\gamma,h,x,y,\gamma,h)(u,v,γ,h,x,y,γ,h),论文使用具有等速运动和线性观测模型的标准卡尔曼滤波器,将以上 8 维状态作为物体状态的直接观测模型。

每一个轨迹,都计算当前帧距上次匹配成功帧的差值,代码中对应 time_since_update 变量。该变量在卡尔曼滤波器 predict 的时候递增,在轨迹和 detection 关联的时候重置为 0。超过最大年龄AmaxA_maxAm​ax的轨迹被认为离开图片区域,将从轨迹集合中删除,被设置为删除状态。代码中最大年龄默认值为 70,是级联匹配中的循环次数。

如果 detection 没有和现有 track 匹配上的,那么将对这个 detection 进行初始化,转变为新的 Track。新的 Track 初始化的时候的状态是未确定态,只有满足连续三帧都成功匹配,才能将未确定态转化为确定态。
如果处于未确定态的 Track 没有在 n_init 帧中匹配上 detection,将变为删除态,从轨迹集合中删除。

用一张pprp的图片总结这部分。

2.2、匹配问题

解决预测的卡尔曼状态与新到达的测量值之间的关联的常规方法是建立可以使用匈牙利算法解决的匹配问题。 在这个问题表述中,我们通过结合两个适当的指标来整合运动和外观信息。
马氏距离通过测量检测距离平均轨道位置有多少标准偏差来考虑状态估计的不确定性。此外,使用此度量,可以通过以从逆χ2分布计算出的95%置信区间对马氏距离进行阈值化来排除不太可能的关联。

2.3、级联匹配

文章没有致力于解决全局分配问题中的测量与跟踪关联,而是引入了一个级联来解决一系列子问题。为了激发这种方法,请考虑以下情况:当物体被长时间遮挡时,后续的卡尔曼滤波器预测会增加与物体位置相关的不确定性。 因此,概率质量在状态空间中扩散,观察似然性变得不那么尖锐。直观地,关联度量应通过增加测量到轨道的距离来考虑概率质量的这种扩展。 与直觉相反,当两个轨迹竞争同一检测时,马氏距离有利于更大的不确定性,因为它有效地减小了任何检测的标准偏差与投影轨迹均值之间的距离。这是不希望的行为,因为它可能导致磁道碎片增加和磁道不稳定。 因此,我们引入了一个匹配级联,该级联将优先出现在较常见的对象上,以对关联可能性中的概率散布概念进行编码。

在最后的匹配阶段,我们按照原始SORT算法[12]的建议对年龄n = 1的一组未经确认和不匹配的轨道进行交集相交。这有助于解决例如由于静态场景几何结构的部分遮挡而引起的突然的外观变化,并有助于提高针对错误初始化的鲁棒性。

2.4、表观特征

通过使用简单的最近邻查询而不进行额外的度量学习,我们方法的成功应用要求在实际的在线跟踪应用之前,将具有良好区分性的功能嵌入脱机训练。 为此,我们采用了经过大规模人员重新识别数据集[21]训练的CNN,该数据集包含1,261位行人的1,100,000多张图像,使其非常适合在人员跟踪环境中进行深度度量学习。

表1显示了我们网络的CNN架构。总而言之,我们采用了一个宽残差网络[22],该网络具有两个卷积层和六个残差块。 维度128的全局特征图是在致密层10中计算的。最后一批和’2归一化项目将特征投影到单位超球面上,以与我们的余弦外观度量兼容。 该网络总共具有2,800,864个参数,并且在Nvidia GeForce GTX 1050移动GPU上,向前32个边界框的传递大约需要30毫秒。 因此,只要有可用的现代GPU,此网络非常适合在线跟踪。尽管我们的培训过程的详细信息不在本文讨论范围之内,但我们在GitHub存储库1中提供了一个预训练的模型以及一个可用于生成功能的脚本。

三、实验

待补充。

四、总结

待补充。

【精品】Deepsort文章深度解析相关推荐

  1. 深度解析杀毒软件内核(经典5章合集)

    连载文章 深度解析杀毒软件内核 今天是我们这期课程的第一课,这期课程将会采用svm引擎作为讲解的杀毒引擎,svm引擎是世界上仅有的开源杀毒引擎,它的开发者们都是公益的志愿者,必然欢迎大家研究学习,因此 ...

  2. 部分仍在编辑文章 - Python基础专题 - 深度解析python中的赋值与拷贝

    深度解析python中的赋值与拷贝 jcLee95 的 CSDN 博客:https://blog.csdn.net/qq_28550263?spm=1011.2124.3001.5343 邮箱 :29 ...

  3. 单文件浏览器_图文并茂深度解析浏览器渲染原理,包看懂超值得收藏

    在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏览器到底发生了什么?这个问题看起来是老生常谈,但是这个问题回答的好坏,确实可以很好的反映出面试者知识的广 ...

  4. 多目标跟踪算法FairMOT深度解析

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨周威@知乎 来源丨https://zhuanlan.zhihu.com/p/259356109 ...

  5. 深度解析 H.265 视频解决方案

    深度解析 H.265 视频解决方案 参考文章: (1)深度解析 H.265 视频解决方案 (2)https://www.cnblogs.com/upyun/p/6963611.html 备忘一下.

  6. Kafka深度解析(如何在producer中指定partition)(转)

    原文链接:Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能 ...

  7. 预训练模型:BERT深度解析《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》

    目录 1. 背景 2. 什么是 Bert 及原理? 3. 论文内容<BERT: Pre-training of Deep Bidirectional Transformers for Langu ...

  8. 语言中拟合函数 计算aic_Go语言函数深度解析(中)

    上回函数深度解析给大家聊了一些函数的基本知识,不知道还有没有人记得,不记得赶紧回去复习! 他们是 go语言中函数的基本原理 单/多个同/不同类型参数 单/多个同/不同类型返回值 值传递,引用传递 函数 ...

  9. 深度解析数据分析、大数据工程师和数据科学家的区别

    数据越来越多的影响并塑造着那些我们每天都要交互的系统.不管是你使用Siri,google搜索,还是浏览facebook的好友动态,你都在消费者数据分析的结果.我们赋予了数据如此大的转变的能力,也难怪近 ...

最新文章

  1. jsp与java的关系_jsp教程中:jsp与servlet的区别和关系
  2. ftok file php,Linux和PHP中的ftok函数返回值不一致问题跟踪
  3. futurejava前台_web前端页面与后端Java的数据交互
  4. 什么是 SAP Spartacus UI 的 direction 服务
  5. WebView 和JS 之间交互
  6. 基于Kubernetes的持续部署方案
  7. 【JEECG Dubbo专题】Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(二)
  8. Tokyo Tyrant (ttserver)的master-slave复制协议分析
  9. even though和even if的区别
  10. word拼写检查自定义词典下载_取消或开启Word拼写检查和语法(去掉红波浪线)...
  11. Spring之占位符配置器
  12. debug工具_Hackintool for【黑】mac V3.4.4中文版 黑苹果必装工具箱
  13. VC14(VC2015)安装失败,0x80240017 - 未指定的错误,解决办法
  14. 中国护照可以免签的10个旅游天堂国家(地区)
  15. jzoj 3457. 【NOIP2013模拟联考3】沙耶的玩偶(doll) (Standard IO)
  16. Mac 查找软件安装位置
  17. Web前端105天-day13-BOOT
  18. Unity中镜像图片显示
  19. 磁盘IO遇到瓶颈时内存Cache的策略
  20. 人民币金额(数字)大写转换及金币单位切换

热门文章

  1. axios框架里面如何使用get,post,通用ajax方法请求。
  2. python参数的解包(拆包)(一分钟读懂)
  3. python查找第二次输入字符串在第一次字符串中出现的次数
  4. sap把系统内部直接写入到自建表_特斯拉放弃SAP后,仅四个月就开发了套ERP
  5. 计算机网络 第六章 应用层
  6. 【机器学习-西瓜书】七、贝叶斯分类器
  7. pycharm直接显示所有show value的值(直接打开所有的值)
  8. 模版 ----- 整数二分
  9. 【爱有失落时】风与渊
  10. extjs JsonStore加载数据,Combobox只显示最后一项值问题