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. Spring 在xml文件中配置Bean

    Spring容器是一个大工厂,负责创建.管理所有的Bean. Spring容器支持2种格式的配置文件:xml文件.properties文件,最常用的是xml文件. Bean在xml文件中的配置 < ...

  2. mysql DML select查询

    windows上的操作 1.从官网下载mysql 下载navicat,用来连接mysql的 2.打开运行启动mysql 3.在navicat上的连接打开新建连接 然后输入链接名,连接名就是用户名,自己 ...

  3. 安装nginx + nginx-gridfs + mongodb

    1.安装依赖包 yum -y install pcre-devel openssl-devel zlib-devel git gcc gcc-c++ git clone https://github. ...

  4. 二十六、聊聊mysql如何实现分布式锁

    分布式锁的功能 分布式锁使用者位于不同的机器中,锁获取成功之后,才可以对共享资源进行操作 锁具有重入的功能:即一个使用者可以多次获取某个锁 获取锁有超时的功能:即在指定的时间内去尝试获取锁,超过了超时 ...

  5. pinpoint的只是总结

    1,对于拓扑图不显示的原因,可能是hbase版本和pp版本不匹配的原因2,calltree中出现 API-METADATA-NOT-FOUND时是因为HBASE中的元数据被清除了,需要重启应用才可以. ...

  6. 关于struct和typedef struct

    以 struct TelPhone{ ]; ]; }; 为例 这里先定义了一个 TelPhone的结构体. 加入需要为TelPhone定义一个别名: 其语法为 typedef TelPhone TP: ...

  7. Python +appium logger

    封装日志模块 import logging def get_log(): # 配置日志参数 logger = logging.getLogger() logger.setLevel(logging.I ...

  8. 如何使用git,进行项目的管理

    1.首先,现在git上个创建一个项目, 2.然后在本地创建一个springboot工程 3.使用git命令   git init 将这个springboot项目交给git进行管理 4.创建一个dev分 ...

  9. Convert 输入字符串的格式不正确

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

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

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