Real-time Multiple People Tracking with Deeply Learned Candidate Selection and Person Re-identification
Real-time Multiple People Tracking with Deeply Learned Candidate Selection and Person Re-identification
2019-06-21 15:45:11
Paper: https://arxiv.org/abs/1809.04427
Code: https://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的更多相关文章
- Motion-Based Multiple Object Tracking
kalman filter tracking... %% Motion-Based Multiple Object Tracking % This example shows how to perfo ...
- Multiple Object Tracking using K-Shortest Paths Optimization简要
参考文献:Multiple Object Tracking using K-Shortest Paths Optimization 核心步骤: 两步:一.detection 二.link detect ...
- 多目标跟踪(MOT)论文随笔-POI: Multiple Object Tracking with High Performance Detection and Appearance Feature
网上已有很多关于MOT的文章,此系列仅为个人阅读随笔,便于初学者的共同成长.若希望详细了解,建议阅读原文. 本文是tracking by detection 方法进行多目标跟踪的文章,最大的特点是使用 ...
- MATLAB 例子研究 Motion-Based Multiple Object Tracking
这个例子是用来识别视频中多个物体运动的.我要研究的是:搞清楚识别的步骤和相应的算法,识别出物体运动的轨迹. 详细参见官方帮助文档,总结如下: 移动物体的识别算法:a background subtra ...
- 论文笔记-Deep Affinity Network for Multiple Object Tracking
作者: ShijieSun, Naveed Akhtar, HuanShengSong, Ajmal Mian, Mubarak Shah 来源: arXiv:1810.11780v1 项目:http ...
- (转)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 ...
- Robust Tracking via Weakly Supervised Ranking SVM
参考文献:Yancheng Bai and Ming Tang. Robust Tracking via Weakly Supervised Ranking SVM Abstract 通常的算法:ut ...
- matlab示例程序--Motion-Based Multiple Object Tracking--卡尔曼多目标跟踪程序--解读
静止背景下的卡尔曼多目标跟踪 最近学习了一下多目标跟踪,看了看MathWorks的关于Motion-Based Multiple Object Tracking的Documention. 官网链接:h ...
- ### About Multi-Object Tracking
点击查看Evernote原文. #@author: gr #@date: 2014-10-17 #@email: forgerui@gmail.com Multi_Object Tracking Fr ...
随机推荐
- Java JAR包
JAR文件全称 Java Archive File,意为Java档案文件.JAR文件是一种压缩文件,也被成为JAR包. 运行程序时,JVM会自动在内存中解压要用的JAR包. 使用JAR包的优点:1.安 ...
- 在Controller中添加事务管理
文章参考了此博客: https://blog.csdn.net/qq_40594137/article/details/82772545 写这篇文章之前先说明一下: 1. Controller中添加事 ...
- 无法将“ng”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 通用解决方案
1.找到你安装的路径 以@angular/cli 为例 (找到 ng.cmd 这个指令的具体位置) 2. 右键 这台电脑 添加路径到 系统变量的 Path中, 如下图 3.关闭所有的 cmd,并重新打 ...
- Linux命令——chgrp、chown、chmod
简介 这三个命令都用于更改文件permission(权限).即下图红框位置 除此之外还有个“连结”,那个指的是硬链接,不是软连接.FS使用inode区分不同文件,而目录树使用文件名区分不同文件,因此可 ...
- Windows下安装Scipy和Numpy失败的解决方案
使用 pip 安装 Scipy 库时,经常会遇到安装失败的问题 pip install numpy pip install scipy 后来网上搜寻了一番才得以解决.scipy 库需要依赖 numpy ...
- Python的logging模块详解
Python的logging模块详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志级别 日志级别指的是产生的日志的事件的严重程度. 设置一个级别后,严重程度 ...
- oracle 字符串分隔去重函数
create or replaceFUNCTION "SF_SPLIT_ACCOUNT_ID_LIST" ( account_id_list IN VARCHAR2)RETURN ...
- JMeter压测时报“内存不足”故障的9个简单解决方案
Test failed! java.lang.OutOfMemoryError: Java heap space 测试失败了!java.lang.OutOfMemoryError:Java堆空间 在不 ...
- Visual Studio Code 写Python代码
之前用nodepad++,sublime text3,ultraedit,最近上手微软的vsc感觉上手还行,如果没有pycharm照样可以使用它 https://code.visualstudio.c ...
- Centos7-新增硬盘挂载
查看现有硬盘情况 df -h fdisk -l 查看新硬盘 ls /dev/sdb 具体操作 fdisk /dev/sdb m n #添加一个新的分区 p #创建主分区 w #保存并退出 partpr ...