网上已有很多关于MOT的文章,此系列仅为个人阅读随笔,便于初学者的共同成长。若希望详细了解,建议阅读原文。

本文是tracking by detection 方法进行多目标跟踪的文章,在SORT的基础上进行了改进(SORT见前一篇随笔)。

论文地址:https://arxiv.org/pdf/1703.07402.pdf

代码地址:https://github.com/nwojke/deep_sort

文章概述

本方法最大的特点是加入了appearance信息来提高之前SORT的性能,用cosine 距离来度量 tracks 和 detection 的相似度以减少 SORT算法中ID switch的次数(减少了45%),并使用Kalman预测和实际detection间的平方马氏距离来过滤可能性小的匹配。

文章观点

  • SORT算法ID switch次数高是因为采用的关联矩阵只在状态预测不确定性较小的时候准确;(既状态估计模型存在缺陷)
  • SORT在通过遮挡进行跟踪时存在缺陷,因为它们通常出现在正视的相机场景中;
  • 本文将关联度量替换为结合运动和外观信息的度量。

文章方法

采用递归卡尔曼滤波和逐帧数据关联的传统单一假设跟踪方法。

1. 状态估计

  • 我们的追踪场景的定义是基于8维状态空间,由于并非本文核心思想,详细含义见原文在此不再赘述;
  • 本文使用具有等速运动和线性观测模型的标准卡尔曼滤波器,将bounding box坐标作为物体状态的直接观测模型;
  • 对于每个track,计算该帧距上次匹配成功的帧数,该计数器在卡尔曼滤波器预测期间递增,并且当轨道已经与测量相关联时重置为0;
  • 如果计数器得出的数目大于阈值则判断为离开场景,将其ID删除。如果现有的追踪不能匹配就开启一个新的track ID;
  • 本文引入一个试验track的概念,既新的track出现的前三帧被看作为试验阶段,在这一阶段每一帧都要匹配成功,否则就算匹配失败,会被删除。

2. 指派问题

  • 使用平方马氏距离来度量预测track的Kalman状态(BBOX的几何位置)和新到来detection之间的距离;

  • 使用cosine距离来度量各个track的appearance feature(128维)和detection feature之间的距离,来跟准确地预测ID;

  • 引入两个二值函数来限制assignment矩阵,分别比较平方马氏距离以及cosine距离和阈值的大小来进行判断,将两个函数结合起来对矩阵进行限制;

  • 使用combined距离来作为cost matrix进行度量各个track和detection之间的距离,这里文中只使用cosine距离进行度量(即将lambda设置为0),使用马氏距离排除不可能的情况,既基于由卡尔曼滤波器推断的可能的物体位置忽略不可行的分配。

3. 级联匹配

  • 物体被遮挡一段时间后,卡尔曼滤波预测的不确定性大大增加并且状态空间上可观察性变得很低,并且马氏距离更倾向于不确定性更大的track,这是由于减少了detection的标准差距预计的轨迹的距离。因此这里引入级联匹配,优先匹配detection与最近出现的track;
  • Matching Cascade算法见下,在最后结束算法时使用SORT中的IOU距离来解决局部遮挡的问题,通过计算unmatched tracks(只有前一帧是unmatched的) 和 unmatched detection的IOU distance,详细见最后的代码流程图。

4.  Appearance 描述 

通过在大规模re-id数据集上pre-trained深度网络来提取128维的appearance特征,用L2正则化将特征投影到单位超球面上来与余弦距离进行匹配,网络结构见下(需要注意的是此处的detection用的是POI中的detection坐标,文中的CNN网络用于提取bbox中的特征)。

文章结果

  • 相对于SORT,本文主要解决的是ID Switch过大的问题,从结果中可以看出ID Switch比之前下降了45%,并达到了state-of-the-art;
  • MOTA,MOTP,MT,ML,FN指标相对于之前都有提升,并且速度下降不大,很实用;
  • FM的上升主要是因为联合的matrix中过于强调appearance,导致在有遮挡或者丢失时detection的错误导致;
  • FP的升高很多,文章中提出这主要是由于静态场景中detection的错误以及过长的允许丢失的track age所导致的(相对于SORT只用相邻帧进行匹配来说,Deep SORT允许高达30帧的丢失,而Kalman的等速运动模型没有改变,这主要造成了FP的升高)。

 代码流程图

多目标跟踪(MOT)论文随笔-SIMPLE ONLINE AND REALTIME TRACKING WITH A DEEP ASSOCIATION METRIC (Deep SORT)的更多相关文章

  1. 多目标跟踪(MOT)论文随笔-SIMPLE ONLINE AND REALTIME TRACKING (SORT)

    网上已有很多关于MOT的文章,此系列仅为个人阅读随笔,便于初学者的共同成长.若希望详细了解,建议阅读原文. 本文是使用 tracking by detection 方法进行多目标跟踪的文章,是后续de ...

  2. 多目标跟踪(MOT)论文随笔-POI: Multiple Object Tracking with High Performance Detection and Appearance Feature

    网上已有很多关于MOT的文章,此系列仅为个人阅读随笔,便于初学者的共同成长.若希望详细了解,建议阅读原文. 本文是tracking by detection 方法进行多目标跟踪的文章,最大的特点是使用 ...

  3. 多目标跟踪MOT综述

    https://blog.csdn.net/u012435142/article/details/85255005 多目标跟踪MOT 1评价指标 https://www.cnblogs.com/YiX ...

  4. 多目标跟踪(MOT)评测标准

    MOT16是多目标跟踪领域非常有名的评测数据集,Ref 1详细阐述了这个数据集的组成以及评测标准(及其评测代码),Ref 2详细地解释了许多标准的由来和考虑,本部分主要介绍MOT任务中常用的评测标准. ...

  5. [论文理解] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

    Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 简介 Faster R-CNN是很经典的t ...

  6. 论文翻译:2021_A New Real-Time Noise Suppression Algorithm for Far-Field Speech Communication Based on Recurrent Neural Network

    论文地址:一种新的基于循环神经网络的远场语音通信实时噪声抑制算法 引用格式:Chen B, Zhou Y, Ma Y, et al. A New Real-Time Noise Suppression ...

  7. 论文笔记:AdaScale: Towards real-time video object detection using adaptive scalingAdaScale

    AdaScale: Towards real-time video object detection using adaptive scaling 2019-02-18 16:14:17 Paper: ...

  8. 多目标跟踪MOT评价指标

    目录 1. MOT评价指标 2. 实现思路 3. 计算指标 1. MOT评价指标 MOT:multiple object tracking 评价出发点: 所有出现的目标都要及时能够找到: 目标位置要尽 ...

  9. PMVS论文随笔(1)

    博客园排版系统真的比较挫,可以访问我的github.io阅读 关于Unit的概念 在pmvs的源代码中,有一个函数是getUnit ,其函数如下(在PMVS2的windows版本代码,optim.cc ...

随机推荐

  1. TypeError: Error #1034: 强制转换类型失败:无法将 flash.events::MouseEvent@73b7cc1 转换为 mx.events.ItemClickEvent。

    1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 flash.events::MouseEvent@73b7cc1 转换为 mx.events.ItemClick ...

  2. Python与Memcached交互

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  3. ASP.NET WebForm 通过 PagedDataSource 实现 Repeater 的分页

    1.效果图&代码说明   1.效果图     2.代码说明 1.翻页按钮         前台两个LinkButton(上一页.下一页),设置不同的CommandName.CommandArg ...

  4. Docker 基础技术之 Linux namespace 详解

    Docker 是"新瓶装旧酒"的产物,依赖于 Linux 内核技术 chroot .namespace 和 cgroup.本篇先来看 namespace 技术. Docker 和虚 ...

  5. tree、find、tail命令重要实战

    tree -L 1 -d ln -s ext msn  创建软连接 ls -lF| sed -n‘/^d/p’ ls -lF|awk ‘/^d’ ls -lrt  按时间倒着排 vi /etc/pro ...

  6. Delphi关于TAdvStringGrid控件颜色的设置

    FixedFont-Color 标题行和列字体的颜色 Font-color 单元格字体的颜色Visual-color 整个表格的背景色填充

  7. 使用NPOI导出Excel引发异常(IsReadOnly = “book.IsReadOnly”引发了类型“System.NotImplementedException”的异常)

    前言: 本人调式npoi导入.导出试用成功后,引入到项目中,导入完美运行,但是导出怎么样都看不到现在的页面,而且浏览器和后台都没有报任务错误,让人好事纳闷,后来去调式,发现在除了一个IsReadOnl ...

  8. session、cookie与“记住我的登录状态”的功能的实现

    Cookie的机制 Cookie是浏览器(User Agent)访问一些网站后,这些网站存放在客户端的一组数据,用于使网站等跟踪用户,实现用户自定义功能. Cookie的Domain和Path属性标识 ...

  9. Cracking Wifi Wpa-Wpa2 in 5 second——Dumpper V.80.8 +JumpStart+WinPcap

    标题虽然说是5秒之内破解wpa-wpa2的wifi密码,不过其实这个是针对外国的那种路由器,我们大天朝的路由器越来越强悍了.有的路由器防pin,甚至于一些路由器没有pin,wps之类的.不过还是有一些 ...

  10. 关于字符latin capital letter sharp s "ß"( U+1E9E)显示的问题

    今天测试产品时,遇到德语字符ß在网页上显示为”SS",查了一些相关资料发现这个字符一般用“ss"或"SS"取代. 需要注意,此字符与它的小写形式不同,小写字符l ...