目标跟踪专栏首页推荐深度学习·神经网络·计算机视觉

论文笔记-Online Multi-Target Trackin

2017-04-29  本文已影响1519人  sunshine芝火

题目:Online Multi-Target Tracking Using Recurrent Neural Networks

来源:AAAI 2017

代码(Lua+Torch 7):https://bitbucket.org/amilan/rnntracking

不同于以往在目标跟踪领域中使用的卷积神经网络CNN,这篇文章用到的是深度学习中的RNN,用RNN做在线多目标的跟踪。就如作者所说,this is the first approach that employs recurrent neural networks to address online multi-target tracking。可以称得上是“古今第一法”。

1、Abstract

Tracking multiple objects in real-world scenes involves many challenges,including:

a) an a-priori unknown and time-varying number of targets

(一个事先未知且随时间变化的目标数量)也就是说目标的数量基本在时刻动态变化着。

b) a continuous state estimation of all present targets

(对当前所有目标的连续状态估计)

c) a discrete combinatorial problem of data association

(数据关联的离散组合问题)

以前的大多数的方法是涉及繁琐的调参的复杂模型,方法不太好用,所以作者提出了一种新的方法。这是一种end-to-end的学习方法,在原则上解决了上述所有问题。

2、Introduction

The task itself constitutes locating all targets of interest in a video sequence and maintaining their identity over time.(也就是说把所感兴趣的目标跟住了)

在这过程中会出现一些多目标跟踪中常见的问题,这些问题主要是针对视频中存在的具有不同光照,不同水平的遮挡情况,不同的视点的大量的data present进行建模。Tracking-by-detection这种策略是目前解决这些问题最为成功的了。

The task is then to associate each measurement to a corresponding target to address the problem of data association.由于干扰和目标数量未知,在要舍弃的测量值的选择上可能出错。

deep learning在multi-target方面有很大的缺口,做的不多。原因如下:

1、处理大量parameters时,需要大量training data

2、数据和所需的解决方案复杂多变

通过本文,我们迈出了重要的一步,提出在现实的情况下端到端的学习模型用于在线跟踪多个目标。主要的贡献点如下:

1、

受贝叶斯滤波思想的启发,我们提出了一种RNN网络,能够执行多目标的跟踪任务,这些任务包括预测(prediction),数据关联(data association),状态更新(state update)以及用上图结构进行目标的启动和终结(initiation and termination of targets)。

用RNN进行多目标跟踪方法的优点:model-free,无需学习一些先验知识(target dynamics 目标动力学、clutter distributions 杂波分布)。因此,它可以捕获线性(卡尔曼滤波器),非线性(比较粒子滤波器)和高阶依赖性。

2、可以从数据中完全学到这样的一个模型:该模型是为包含目标的birth and death 的数据关联的组合问题而诞生的。

利用RNNs可以用来预测具有固定大小的输入和输出向量的序列,也可以推测具有不确定基数的无序集合。

3、提出一种从生成模型(generative model)中采样以产生任意数量的training data的方法。
4、在模拟和实际数据上采用定性和定量的方式,都可以得到可喜的结果。

3、Related Work

Multi-object tracking.

早期的工作有MHT、JPDA。两者都是在雷达领域和声纳跟踪领域开发出来的,但对于计算机视觉应用来说,太慢了。随着计算能力的提高,这些方法有点儿回温了。

最近,大量的工作集中在可以简化的模型上以解决(接近)全局最优问题。

Deep learning.

CNNs在众多领域表现出了state-of-the-art的结果,但是输出格式受限。与之相反,RNN在输入和输出间做一个loop(循环),模拟记忆的效果,允许把输入序列映射到任意的输出序列,只要序列对齐,并且预先知道输入和输出的维度。

RNN在自然语言处理领域用的比较多,但这样的策略并不直接用于多目标跟踪的问题。原因如下:

1、状态空间是多维的,所有状态的空间应当被考虑进来。

2、状态由连续变量和离散变量构成。连续变量代表目标的实际位置(以及可能的其他属性,如速度),离散变量用来解决数据关联的问题。此外,还有一些指标变量啦,如遮挡水平。

3、所需输出(目标)数量随时间而变化。

在本文中,我们介绍一个可以解决所有问题的方法,并展示如何使用RNN进行多目标跟踪系统的端到端的学习。

4、Background

Recurrent Neural Networks

RNN的核心是大小为n的隐藏状态h。

RNN在运动预测和状态更新的任务中表现很好,但是却不能很好的控制数据关联的结合任务,所以采用LSTM。LSTM也用充当记忆的状态c的集成表示。用机制来控制先前有多少记忆(状态)应当被忘记,或者被新的输入所代替。如下图所示。

Bayesian Filtering


单词释义:

assumption(假设)

recursively(递归地)

likelihood:可能性


解决Eq.(2)有2个主要方法“:Kalman filter (卡尔曼滤波器)and particle filter(粒子滤波器)。The former performs exact state estimation under linear and Gaussian assumptions for the state and measurements models, while the latter approximates arbitrary distributions using sequential importance sampling.

在处理多目标的时候,会遇到2个额外的挑战。

1) Before the state update can be performed, it is crucial to determine which measurements are associated with which targets.

2) To allow for (考虑到,顾及)a time-varying number of targets, it is necessary to provide a mechanism to spawn(产生) new targets that enter the scene, and remove existing ones that disappear indefinitely.

为了解决这些挑战,在线跟踪的方法关于births and deaths of tracks会考虑连续的测量误差的数量。

5、Our Approach

Preliminaries and Notation

本部分作为符号的设定部分。符号说明如下:

Multi-Target Tracking with RNNs

我们把问题分解为2个方面。

1、state prediction and update as well as track management

2、data association

接下来详细介绍这2大方面。首先,让我们先来回顾一下这个图。

方面一

Target Motion

对于loss而言

针对不同的应用情景,有不同的性能方面的评价指标,应当构建不同的loss function。本文中所用的loss function:

The last two terms of the loss in Eq. (3) guide the learning to predict the existence of each target at any given time. This is necessary to allow for target initiation and termination.

Initiation and Termination

在实际中,所感兴趣的区域中目标经常是“若隐若现”,所以我们应当有一种方法判断目标究竟是否存在。

对于loss而言

考虑目标的initiation and termination,we employ the widely used binary cross entropy (BCE) loss that approximates the probability of the existence for each target。

单独使用BCE loss,RNN很难在measurement丢失的时候做track termination。所以,

效果如下图。


方面二

Data Association with LSTMs

可以说,数据关联是在跟踪多目标时最具有挑战性的部分。

数据关联(data association)是指的这样的一类任务,在这类任务中要为每个目标的corresponding measurement进行独一无二的classify。

对于data association,有一些方法。如 Greedy solutions(不适合拥挤环境)、JPDA,存在NP-hard。

所以作者提出来能够能够很好实现data association 的an LSTM-based architecture。这点让人很意外。

看Figure1 and 2(右边),展现了使用LSTM的思想。

对于loss而言

对于misassignment cost(错误分配的成本),采用通用的负对数似然损失来做衡量。

6、Experiments


单词释义:

simulated 模拟的)

synthetic(合成的)

indicator(指标)

coordinate(坐标)

Hungarian(匈牙利)


首先作者在模拟的数据下进行实验,结果如下图所示。

然后作者利用真实的数据测试方法,using the MOTChallenge 2015 benchmark。为了方便对比不同跟踪器的结果如何,作者展示了一些评价指标,Arrows next to each metric indicate weather higher (↑) or lower (↓) values are better.

指标:false positive (FP)、false negative (FN) targets、identity swaps (IDs,身份互换)、track fragmentations (FM)、MOTA(accuracy)、MOTP(precision)。

Baseline comparison.

有3条baseline:Kalman-HA、Kalman-HA2、JPDA(一种全概率数据联合方法)。每条基线有各自的方法。We first compare the proposed approach to three baselines. The results on the training set are reported in Tab. 1

我们的方法要学习motion model and Hungarian data association,还要分别训练RNNs和LSTMs。从这里也可以看到这两个网络在处理多目标跟踪问题中的作用。

Benchmark results.

1、为保证结果的公正,采用已经提供的detections。

2、采用offline的tracking会有一定的时间上的延迟,这点与我们的方法相反。

3、目前有很多方法为改进data association采用目标外观或者类似光流的图像特征。我们的方法不用任何可视化的特征,而仅仅依靠由detector提供的geometric locations(几何位置)。这样的特征(features)往往在行人跟踪时是有用的,而在处理其他的如cell 或者animal 跟踪时几乎不咋用,在这种情况下,我们就不考虑这种features了。


我们的方法在行人在线跟踪上,虽然达不到超级accuracy,但速度上快了2个数量级。

7、Discussion and Future Work

通过设置神经网络,我们提出了一种解决数据关联(data association)和轨迹估计(trajectory estimation)的方法。基于RNN的方法可以用于在现实环境中学习复杂的motion models。此外,LSTM网络能够学习一对一的任务,对这样一个架构而言,这是一个不平凡的任务(important task)。

启发:

对于在多目标跟踪中所要完成的每个任务都应该根据具体指标设定相应的用于评估的loss function。在本文中遇到了3个loss。分别用于评估:

1、Target Motion 中state prediction and update

2、Initiation and Termination

3、Data Association with LSTMs

上一篇下一篇

猜你喜欢

热点阅读