Real-time Multiple People Tracking with Deeply Learned Candidate Selection and Person Re-identification

2019-06-21 15:45:11

Paperhttps://arxiv.org/abs/1809.04427

Codehttps://github.com/longcw/MOTDT

1. Background and Motivation: 

多目标跟踪的核心思想是数据连接(data association),但是受到不可靠检测结果的影响,MOT 的性能也受到了很大程度上的干扰。本文将 detection 和 tracking 的结果都用于数据的匹配,同时还将 person re-ID 任务中学习到的 feature,结合到 MOT。核心贡献主要为:

1). 通过将 detection 和 tracking 的结果组合为候选,以处理在线跟踪中不可靠检测的问题;

2). 采用了多级的数据连接策略,使用了空间信息和 person re-ID 的 feature;

3). 取得了不错的效果。

2. The Proposed Tracker

2.1 Overview 

作者用一个联合的 scoring function 首先衡量所有候选的得分;该 scoring function 是由:判别性训练的物体分类器和 tracklet confidence 构成的。

然后用 NMS(Non-Maximal supression)在预测的得分上进行处理。

在得到候选后,作者联合利用 appearance representation 和 spatial information 来进行数据连接。

2.2 Real-Time Object Classification:

本文采用的 classifier 如图 2 所示。给定视频帧,整张图的 score map 可以通过 encoder-decoder 的全卷积网络得到。Encoder 部分是一个轻量级的卷积模块,Decoder 是用于增大输出 score map 的分辨率进行后续的分类。每一个需要分类的候选,被定义为:a region of interest (RoI) x = (x0, y0, w, h)。为了显示的编码空间信息,作者采用了 position-sensitive RoI pooling layer 并且从 $k^2$ position-sensitive score maps z 上预测分类概率。特别的,我们将 RoI 划分为 $k * k$ 个单元。RoI x 的最终得分为:

其中,$z_i$ 代表第 i 个 score map。

2.3 Tracklet Confidence and Scoring Function

给定新的视频帧,我们用 Kalman filter 来预测目标的新位置。此外,Tracklet confidence 被设计用于衡量带有时序信息的 filter 的精度。

从连续的视频中,通过 candidates 的链接可以产生 tracklet。我们可以将 track 划分为多个 tracklets,因为单个的 track 是可以被打断的和被检索到的。

当 track 从丢失状态被检索回来时,Kalman filter 将会被重新初始化。所以,仅最后 tracklet 的信息被用于衡量 track 的置信度。此处,我们定义 $L_{det}$ 为 tracklet 相关的 detection 结果的个数,$L_{trk}$ 在上一次检测被连接后的 track 预测的个数。所以,tracklet confidence 被定义为:

其中,空心字符 1 代表 1/0 的取值,当输入为真时,取值为 1,否则为 0。

候选 x 的联合 scoring function 为:

此处,$C_{det}$ 代表来自 detection 的候选,$C_{trk}$ 代表来自 tracks 的候选。

2.4 Appearance Representation with ReID Features :

采用现有的 person re-ID 模型,进行特征的学习,详情见 paper:

Liming Zhao, Xi Li, Jingdong Wang, and Yueting Zhuang, “Deeply-learned part-aligned representations for person reidentification,” in ICCV, 2017.

2.5  Hierarchical Data Association :

tracks 被用于处理丢失的检测结果(在拥挤的场景下)。由于受到 intra-category occlusion 的影响,这些预测会受到其他物体的干扰。为了避免将其他不需要的物体和背景结合到外观表达中,作者用不同的 feature 将 tracks 和 不同的 candidates 进行连接。

特别的,作者首先在 detection 结果上进行 data association(设置阈值)。

然后,作者基于 candidates 和 tracks 之间的 IoU 对剩余的 candidates 和 unassociated tracks 进行连接。

算法的整体流程如下所示:

3. Experiments

==

Real-time Multiple People Tracking with Deeply Learned Candidate Selection and Person Re-identification的更多相关文章

  1. Motion-Based Multiple Object Tracking

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

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

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

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

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

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

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

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

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

  6. (转)Multi-Object-Tracking-Paper-List

    Multi-Object-Tracking-Paper-List 2018-08-07 22:18:05 This blog is copied from: https://github.com/Sp ...

  7. Robust Tracking via Weakly Supervised Ranking SVM

    参考文献:Yancheng Bai and Ming Tang. Robust Tracking via Weakly Supervised Ranking SVM Abstract 通常的算法:ut ...

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

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

  9. ### About Multi-Object Tracking

    点击查看Evernote原文. #@author: gr #@date: 2014-10-17 #@email: forgerui@gmail.com Multi_Object Tracking Fr ...

随机推荐

  1. MavenWrapper替代Maven

    1. 说明 jdk8已经安装成功 Maven已经安装成功 参见Maven Wrapper 2. Maven初始化项目 注:初次执行,Maven会下载很多jar,需等待几分钟 mvn archetype ...

  2. OpenStack云计算简介

    1. 云计算的发展 云计算是IT技术不断发展的产物. 要理解云计算,需要对IT系统架构的发展过程有所认识. IT系统架构的发展到目前为止大致可以分为3个阶段: 1> 物理机架构 这一阶段,应用部 ...

  3. PostgreSQL日志分析工具

    PostgreSQL日志分析工具 postgresqllinux PostgreSQL日志审计可以配合 pgbench.jmeter...测试工具制定测试计划测试性能,由于日志审计比较影响性能,在不需 ...

  4. [Reprint] Difference Between Job, Work, And Career

    https://www.espressoenglish.net/difference-between-job-work-and-career/ A lot of English learners co ...

  5. MySQL:主键、外键、索引(一)

    干货: 主键是关系表中记录的唯一标识.主键的选取非常重要:主键不要带有业务含义,而应该使用BIGINT自增或者GUID类型.主键也不应该允许NULL.可以使用多个列作为联合主键,但联合主键并不常用. ...

  6. 第七篇:ORM框架SQLAlchemy

    阅读目录 一 介绍 二 创建表 三 增删改查 四 其他查询相关 五 正查.反查 一 介绍 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进 ...

  7. everything in javascript can act like an object,

  8. samba服务器的搭建和用户权限,文件夹权限设置

    一.简介:samba服务是基于netbios  安装: 通过yum安装 [root@localhost ~]# yum install samba samba-client samba-swat 查看 ...

  9. Java代码写PDF-保全批单

    前言:最近自己要开发一个保全批单模块,由于自己在平时没有怎么接触过批单类型模块,甲方给了自己一套word模板,自己看了一下,个险的模板比较简单,但是团险一看,自己比较蒙圈,询问需求负责人说word中的 ...

  10. python面试题&练习题之嵌套循环

    1.打印如下结果: 1*5=5 2*10=20 3*15=45 ... 10*50=500 for i in range(1,11): print(str(i)+'x'+str((i*5))+'='+ ...