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. layui加载显示问题

    1.layui.config({ base: '../layuiadmin/' //静态资源所在路径 }).extend({ index: 'lib/index' //主入口模块 }).use(['i ...

  2. Spring Boot 配置多源的 RabbitMQ

    简介 MQ 是开发中很平常的中间件,本文讲述的是怎么在一个Spring Boot项目中配置多源的RabbitMQ,这里不过多的讲解RabbitMQ的相关知识点.如果你也有遇到需要往多个RabbitMQ ...

  3. Gtest:源码解析

    转自:玩转Google开源C++单元测试框架Google Test系列(gtest)之七 - 深入解析gtest 一.前言 “深入解析”对我来说的确有些难度,所以我尽量将我学习到和观察到的gtest内 ...

  4. 【HCIA Gauss】学习汇总-数据库管理(SQL语法 库表 索引操作)-5

    # 简单查询select * from table_reference # 创建表 create table TB(staff_id int primary key , course_name cha ...

  5. Linux基础命令-查看基本硬件信息

    Linux基础命令-查看基本硬件信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看CPU信息 [root@node101.yinzhengjie.org.cn ~]# l ...

  6. C语言基础知识-运算符与表达式

    C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...

  7. linux不同版本jdk,用脚本进行切换

    服务器中已经部署了一个项目,现在又要部署另一个项目在服务器上.以前的项目是jdk7,新的项目是jdk8,所以启动前就要配置对应的jdk环境变量.所以写了一个shell脚本进行执行切换. 先下载两个jd ...

  8. 【转】libgo

    原文:https://blog.csdn.net/libaineu2004/article/details/80554870 ------------------------------------- ...

  9. GITHUB常见命令

    1 常用 $ git remote add origin git@github.com:yeszao/dofiler.git # 配置远程git版本库 $ git pull origin master ...

  10. janusgraph批量导入数据-IBM( janusgraph-utils)的使用

    janusgraph-utils的简介 可与JanusGraph一起使用的实用工具,包括: JanusGraphSchemaImporter:一个groovy脚本,它将图形模式定义(JanusGrap ...