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

本文是使用 tracking by detection 方法进行多目标跟踪的文章,是后续deep sort的基础(Deep SORT见后一篇随笔)。

论文地址:http://arxiv.org/pdf/1602.00763.pdf

代码地址:https://github.com/abewley/sort

文章概述

本方法最大的特点是高效地实现了基于Faster-RCNN的detection并使用Kalman滤波以及 Hungarian算法进行跟踪。提高了speed同时达到了comparable state-of-the-art的accuracy。

文章观点

  • 以Re-id的形式整合复杂性会增加跟踪框架的巨大开销,会限制其在实时程序中的使用;
  • 以往方法使用delay making difficult decisions的方法来处理不确定性较高的匹配,这使得组合复杂度很大,难以进行实时识别;
  • 以往进行两部工作来用相邻图片的几何和外观关联轨迹的方法需要使用batch,难以进行on-line tracking。

文章方法

将tracking对象状态传播到未来的帧中(主要使用卡尔曼滤波以及线性速度的假设),将当前的检测与现有的对象相关联,并管理被跟踪对象的age。

1. 目标检测

使用Faster-RCNN进行detection,文章通过对比来说明detection的质量对后续的tracking至关重要。

2. 估计模型

  • 当检测与目标相关联时,检测到的边界框用于更新目标状态,其中速度分量通过卡尔曼滤波框架最优地求解;
  • 如果target没有跟detection相连,就用线性速度模型对taeget进行预测;(这种预测错误率较高)

3. 数据组合

  • 在将detection分配给现有track时,通过预测其在当前帧中的新位置来估计每个目标
  • 使用每个detection和所有预测的bonding box的IOU距离来计算assignment cost matrix;
  • 小于IOU阈值的assignment 会被拒绝,源码中阈值设置为0.3;
  • 文章指出使用IOU distance 可以解决 tracking 中的短暂遮挡问题,这是由于IOU distance更倾向于检测相似尺寸(个人理解是因为IOU distance的计算使用了detection 和 prediction 的共同区域,而如果相邻帧产生轻微遮挡,共同区域的变化不大,从而保证了短暂遮挡的有效track,当然如果完全遮挡那么assignment肯定会出错),但是如果遮挡时间较长会重新分配track,造成出错。(较长时间的遮挡问题在后续的deep sort论文中使用appearance特征进行缓解)。

 4. Track的建立和删除

  • 如果detection和target的重叠率小于IOU阈值,认为此track应当删除;(个人认为这种完全基于几何预测bonding box 的位置来判断会造成比较大的错误率以及 ID switch,当然后续的deep sort 也对这方面进行了改进。)
  • 如果在Tlost 帧内没有对应的 detection 与 track 匹配,就将此track删除。文中Tlost 设为1,文中指出是因为没有匹配所使用的固定速度模型效果很差并且帧数过多的re-id问题超出了本文讨论的范围。(个人认为主要还是固定速度的预测模型的问题)。

文章结果

文章结果还是挺不错的,MOTA也接近state-of-the-art,速度方面在 i7 2.5GHz的机器上可以达到260Hz的速度,能够满足实时性的要求。但是由于预测模型和IOU distance的限制导致 ID switch相对于其他方法高了许多。

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

  1. 多目标跟踪(MOT)论文随笔-SIMPLE ONLINE AND REALTIME TRACKING WITH A DEEP ASSOCIATION METRIC (Deep SORT)

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

  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. HTML5新增与结构有关的元素

    HTML5新增与结构有关的元素 1.section元素 2.article元素 3.aside元素 4.header元素 5.hgroup元素 6.footer元素 7.nav元素 8.figure元 ...

  2. JS原生代码实现导航高亮

    一 实现原理 根据当前页面滚动条的高度判断当前页面应当与导航栏中哪个导航相关联,并对相应的导航设置高亮样式. 二 代码解析 先简单写一个页面顶端的导航栏:<nav>  <ul> ...

  3. java实现取球类的博弈问题

    1.问题描述: 今盒子中有n个小球,A,B两人轮流从盒子中取球,每个人都可以看到对方的取球数目. 规定如下: 取球只能取1,3,7,8四种情况.如果没有球取了,则输了.规定A先取球,给定初始球的数目, ...

  4. POI 的API大全二

    1.POI结构与常用类 (1)POI介绍 Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. .NET的开发 ...

  5. httpclient的get带参不带参post带参不带参的简单应用

    一,基础的的应用 1.1,get的无参请求 @Test public void doGet() throws Exception { //创建一个httpclient对象 CloseableHttpC ...

  6. 强大而容易学的JavaScript初学者可以看看。

    基本操作: 第一点:存起数组元素: 单维数组,数组名[下标索引]: 多维数组,数组名[外维数组下标][内部数组下标]: 特性:数组的length属性是具有弹性的,可以自由伸缩: 数组下标从0开始(其实 ...

  7. 打造MacOS版“XShell”

    1.背景 XShell作为一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议.作为server端开发,几乎是必备工具了. 很多刚 ...

  8. web安全之SQL注入

    一.sql注入是一种将sql代码添加到输入参数中 传递到sql服务器解析并执行得一种攻击手法 例: $sql = "SELECT * FROM goods WHERE Id = 1" ...

  9. java容器类2:Map及HashMap深入解读

    Java的编程过程中经常会和Map打交道,现在我们来一起了解一下Map的底层实现,其中的思想结构对我们平时接口设计和编程也有一定借鉴作用.(以下接口分析都是以jdk1.8源码为参考依据) 1. Map ...

  10. python中字符串和列表只是汇总

    字符串知识汇总 字符串是描述变量的重要信息,其中的应用也是很多,很重要的一点就是StringBuilder.今天我们会为大家介绍一下常用的StringBuilder 1 strip lstrip rs ...