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

本文是tracking by detection 方法进行多目标跟踪的文章,最大的特点是使用了state-of-the-art的detection和feature来代替以往的方法,使用简单的匹配方法就能达到最好的水平。

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

Detection 以及  Appearance特征地址(Google Drive 需FQ):https://drive.google.com/open?id=0B5ACiy41McAHMjczS2p0dFg3emM

文章方法:

  1. Detection部分

文章针对MOT16所使用的MOTA指标中的FP与FN,使用Faster R-CNN + Skip pooling + multi-region 的方法来结合多尺度特征,从而降低FP与FN。

  1. Appearance 特征部分
  • 使用类似于GoogLeNet的网络来提取128维的特征,并使用cosine距离来度量表观特征(与之前SORT文章所使用的方法类似);
  • 结合Softmax和Triplet loss来训练网络。其中Softmax loss用于保证appearance特征有良好的判别性,Triplet loss用来保证同一ID内的cosine距离足够小。(这里与SORT不同的是使用了Triplet loss来减小类内的cosine距离,相当于在training过程中使得特征更加针对于MOT的任务)。
  1. Online Tracker

使用Kalman滤波来预测track,使用 Kuhn-Munkres 算法来进行结合track和detection (与SORT类似,不同的是SORT使用了Hungarian算法来匹配),具体步骤见下:

  • 构造相似度矩阵

计算track和detection间的关联度矩阵At−1 = Affinity(Tt−1,Dt)。计算时结合运动(affmot),形状(affshp),和外观(affapp)的关联度作为最后的关联度矩阵,具体计算如下:

  • 匹配track和detection

使用 Kuhn-Munkres 算法来匹配track和detection。由于KM算法是全局优化算法,在一些detection遗失时会出错。因此我们使用两步匹配的策略,首先根据阈值Tt=0.5将track分为高质量的track和低质量的track(大于阈值为高质量,小于为低质量);然后首先匹配高质量的track和detection,再匹配前一步剩下的和低质量的track。Track的质量计算如下,其中couples(trackleti)包含了过往的所有匹配成功的track与detection的关联度:

  • 具体流程

具体流程见下表,其中w1=0.5,  w2=1.5, w3=1.2, τt=0.5, τa=0.4, τm=100。

4. Offline Tracker

Offline Tracker 是基于H2T的改进版本,主要使用了K-Dense Neighbors搜索算法,具体步骤见下:

  • 使用了和Online Tracker相同的特征构建关联度矩阵。
  • 文章提出两个阈值来解决motion和平滑关联性对于过大target不稳定的问题。
  • 在构建关联度矩阵时放弃了高阶信息,来减少矩阵维度并提高DN搜索的效率。
  • 具体步骤见下,由于主要着眼于Online Track,这里就不再详细展开,感兴趣的读者可以参考原文及其给出的参考文献。

文章结果

文章结果见下表,文章结果还是很不错的,在当时也达到了SOTA。不过相比于之前文章分析的SORT(60Hz)以及Deep SORT(40Hz),此方法(10Hz)在实时性方面还是有比较大的差距。个人认为主要是由于检测部分以及用于提取appearance特征的GoogLeNet计算量较大所导致的,这个网络结构换为轻量级的网络即可,在此就不再赘述。

多目标跟踪(MOT)论文随笔-POI: Multiple Object Tracking with High Performance Detection and Appearance Feature的更多相关文章

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

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

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

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

  3. Motion-Based Multiple Object Tracking

    kalman filter tracking... %% Motion-Based Multiple Object Tracking % This example shows how to perfo ...

  4. Multiple Object Tracking using K-Shortest Paths Optimization简要

    参考文献:Multiple Object Tracking using K-Shortest Paths Optimization 核心步骤: 两步:一.detection 二.link detect ...

  5. 论文笔记:Visual Object Tracking based on Adaptive Siamese and Motion Estimation Network

    Visual Object Tracking based on Adaptive Siamese and Motion Estimation 本文提出一种利用上一帧目标位置坐标,在本帧中找出目标可能出 ...

  6. 论文笔记-Deep Affinity Network for Multiple Object Tracking

    作者: ShijieSun, Naveed Akhtar, HuanShengSong, Ajmal Mian, Mubarak Shah 来源: arXiv:1810.11780v1 项目:http ...

  7. MATLAB 例子研究 Motion-Based Multiple Object Tracking

    这个例子是用来识别视频中多个物体运动的.我要研究的是:搞清楚识别的步骤和相应的算法,识别出物体运动的轨迹. 详细参见官方帮助文档,总结如下: 移动物体的识别算法:a background subtra ...

  8. matlab示例程序--Motion-Based Multiple Object Tracking--卡尔曼多目标跟踪程序--解读

    静止背景下的卡尔曼多目标跟踪 最近学习了一下多目标跟踪,看了看MathWorks的关于Motion-Based Multiple Object Tracking的Documention. 官网链接:h ...

  9. [Object Tracking] Overview of Object Tracking

    From: 目标跟踪方法的发展概述 From: 目标跟踪领域进展报告 通用目标的跟踪 经典目标跟踪方法 2010 年以前,目标跟踪领域大部分采用一些经典的跟踪方法,比如 Meanshift.Parti ...

随机推荐

  1. HTML中设置背景图的两种方式

    HTML中设置背景图的两种方式 1.background    background:url(images/search.png) no-repeat top; 2.background-image ...

  2. vue轮播组件及去掉路由#

    最近公司要我去实现vue知识的系统讲解,总结一番,大致需要7节课,今天大致说一下我们使用vue需要学会的基本技能.vue是一个渐进性视图渲染框架,使用vue核心是数据出发,数据一般是我们前台从后台获取 ...

  3. CSS布局方案

    居中布局 水平居中 1)使用inline-block+text-align 原理:先将子框由块级元素改变为行内块元素,再通过设置行内块元素居中以达到水平居中. 用法:对子框设置display:inli ...

  4. LightOJ1336 Sigma Function

    题意 求和运算是一种有趣的操作,它来源于古希腊字母σ,现在我们来求一个数字的所有因子之和.例如σ(24)=1+2+3+4+6+8+12+24=60.对于小的数字求和是非常的简单,但是对于大数字求和就比 ...

  5. SQL添加表字段

    通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smalli ...

  6. Starting a Gradle Daemon, 5 busy and 1 incompatible and 1 stopped Daemons could not be reused, use --status for details FAILURE: Build failed with an exception. * What went wrong: Could not dispatch

    执行gradle build出的问题,查看hs_err_pid11064.log日志文件发现,是电脑的RAM不足导致

  7. Ext概述

    Ext是一个具有丰富组件的javascript集合类库,除了自身提供的一套选择器.效果.ajax等功能,还提供了大量的javascript创建页面元素的类.方法.这个意味着:只要客户端支持javasc ...

  8. 正则表达式入门+实战(c#实现)

    如果有人和你说,如果不将字符串转换为数字,你要如何判断字符串是否由全数字组成?把字符串拆成char数组,然后放入一个循环,来判断每个char是否为数字?那你要如何判断手机号是否合法?IP是否合法呢?把 ...

  9. Cesium home键定位的位置

    Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(80, 22, 130, 50);//home定位到中国范围

  10. python web开发-flask读取txt文件内容

    某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于 ...