improved particle filters for multi-target tracking

10
Improved particle filters for multi-target tracking Vasileios Maroulas a , Panos Stinis b,a Department of Mathematics, University of Tennessee, Knoxville, TN 37996, United States b Department of Mathematics, University of Minnesota, Minneapolis, MN 55455, United States article info Article history: Received 22 May 2011 Received in revised form 21 September 2011 Accepted 27 September 2011 Available online 8 October 2011 Keywords: Particle filter Multi-target tracking Monte Carlo Homotopy methods abstract We present a novel approach for improving particle filters for multi-target tracking. The suggested approach is based on drift homotopy for stochastic differential equations. Drift homotopy is used to design a Markov Chain Monte Carlo step which is appended to the particle filter and aims to bring the particle filter samples closer to the observations while at the same time respecting the target dynamics. We have used the proposed approach on the problem of multi-target tracking with a nonlinear observation model. The numerical results show that the suggested approach can improve significantly the performance of a particle filter. Ó 2011 Elsevier Inc. All rights reserved. 1. Introduction Multi-target tracking is a central and difficult problem arising in different contexts ranging from military applications to biology (see e.g. [1,2]). The tracking problem consists of computing the best estimate of the targets’ trajectories based on noisy measurements (observations). Several strategies have been developed for addressing the multi-target tracking problem, see e.g. [3–6,11,7,1,8–10]. In this paper we focus on particle filter techniques [5,6]. The popularity of the particle filter method has increased due to its flexibility to handle cases where the dynamic and observation models are non-linear and/or non-Gaussian. The particle filter approach is an importance sampling method which approximates the target distribution by a discrete set of weighted sam- ples (particles). The weights of the samples are updated when observations become available in order to incorporate infor- mation from the observations. Despite the particle filter’s flexibility, it is often found in practice that most samples will have a negligible weight with respect to the observation, in other words their corresponding contribution to the target distribution will be negligible. Therefore, one may resample the weights to create more copies of the samples with significant weights [11]. However, even with the resampling step, the particle filter might still need a lot of samples in order to approximate accurately the target distribution. Typically, a few samples dominate the weight distribution, while the rest of the samples are in statistically insignificant regions. Thus, some authors (see e.g. [12,13]) have suggested the use of an extra step, after the resampling step, which can help move more samples in statistically significant regions (see also [14,15] for a different approach to particle filtering). The extra step for the particle filter is a problem of conditional path sampling for stochastic differential equations (SDEs) or stochastic maps (if the dynamic equations are in discrete time). In [16], a new approach to conditional path sampling (called drift relaxation or drift homotopy) was presented. In that paper, it was also shown how the algorithm can be used 0021-9991/$ - see front matter Ó 2011 Elsevier Inc. All rights reserved. doi:10.1016/j.jcp.2011.09.023 Corresponding author. E-mail addresses: [email protected] (V. Maroulas), [email protected] (P. Stinis). Journal of Computational Physics 231 (2012) 602–611 Contents lists available at SciVerse ScienceDirect Journal of Computational Physics journal homepage: www.elsevier.com/locate/jcp

Upload: vasileios-maroulas

Post on 07-Sep-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Improved particle filters for multi-target tracking

Journal of Computational Physics 231 (2012) 602–611

Contents lists available at SciVerse ScienceDirect

Journal of Computational Physics

journal homepage: www.elsevier .com/locate / jcp

Improved particle filters for multi-target tracking

Vasileios Maroulas a, Panos Stinis b,⇑a Department of Mathematics, University of Tennessee, Knoxville, TN 37996, United Statesb Department of Mathematics, University of Minnesota, Minneapolis, MN 55455, United States

a r t i c l e i n f o a b s t r a c t

Article history:Received 22 May 2011Received in revised form 21 September 2011Accepted 27 September 2011Available online 8 October 2011

Keywords:Particle filterMulti-target trackingMonte CarloHomotopy methods

0021-9991/$ - see front matter � 2011 Elsevier Incdoi:10.1016/j.jcp.2011.09.023

⇑ Corresponding author.E-mail addresses: [email protected] (V. M

We present a novel approach for improving particle filters for multi-target tracking. Thesuggested approach is based on drift homotopy for stochastic differential equations. Drifthomotopy is used to design a Markov Chain Monte Carlo step which is appended to theparticle filter and aims to bring the particle filter samples closer to the observations whileat the same time respecting the target dynamics. We have used the proposed approach onthe problem of multi-target tracking with a nonlinear observation model. The numericalresults show that the suggested approach can improve significantly the performance of aparticle filter.

� 2011 Elsevier Inc. All rights reserved.

1. Introduction

Multi-target tracking is a central and difficult problem arising in different contexts ranging from military applications tobiology (see e.g. [1,2]). The tracking problem consists of computing the best estimate of the targets’ trajectories based onnoisy measurements (observations).

Several strategies have been developed for addressing the multi-target tracking problem, see e.g. [3–6,11,7,1,8–10]. Inthis paper we focus on particle filter techniques [5,6]. The popularity of the particle filter method has increased due to itsflexibility to handle cases where the dynamic and observation models are non-linear and/or non-Gaussian. The particle filterapproach is an importance sampling method which approximates the target distribution by a discrete set of weighted sam-ples (particles). The weights of the samples are updated when observations become available in order to incorporate infor-mation from the observations.

Despite the particle filter’s flexibility, it is often found in practice that most samples will have a negligible weight withrespect to the observation, in other words their corresponding contribution to the target distribution will be negligible.Therefore, one may resample the weights to create more copies of the samples with significant weights [11]. However, evenwith the resampling step, the particle filter might still need a lot of samples in order to approximate accurately the targetdistribution. Typically, a few samples dominate the weight distribution, while the rest of the samples are in statisticallyinsignificant regions. Thus, some authors (see e.g. [12,13]) have suggested the use of an extra step, after the resampling step,which can help move more samples in statistically significant regions (see also [14,15] for a different approach to particlefiltering).

The extra step for the particle filter is a problem of conditional path sampling for stochastic differential equations (SDEs)or stochastic maps (if the dynamic equations are in discrete time). In [16], a new approach to conditional path sampling(called drift relaxation or drift homotopy) was presented. In that paper, it was also shown how the algorithm can be used

. All rights reserved.

aroulas), [email protected] (P. Stinis).

Page 2: Improved particle filters for multi-target tracking

V. Maroulas, P. Stinis / Journal of Computational Physics 231 (2012) 602–611 603

to perform the extra step of a particle filter. In the current work, we have applied the conditional path sampling algorithmfrom [16] to perform the extra step of a particle filter for the problem of multi-target tracking.

The suggested approach is based on drift homotopy for the SDE system which describes the dynamics of the targets. Thedynamics of an SDE are governed by a deterministic term, called the drift, and a stochastic term, called the noise. Whileunconditional path sampling is straightforward for SDEs, albeit expensive for high dimensional systems, conditional pathsampling can be difficult even for low dimensional systems. On the other hand, it can be easier to find conditional pathsfor an SDE with a modified drift which is usually simpler than the drift of the original equation. Of course, these simplifiedpaths may have a very low probability of being paths of the original SDE. Drift homotopy proceeds by considering a sequenceof SDEs with drifts which interpolate between the original and modified drifts. Then one samples (through MCMC sampling)paths from each SDE in the sequence using the best sample from the previous SDE in the sequence as the initial condition forthe MCMC sampling. This allows one to gradually morph a path of the modified SDE (which maybe easier to satisfy the con-ditions) to a conditional path of the original SDE.

The numerical results we are presenting in this work are for tracking of multiple targets moving according to the near-constant velocity model [3]. This model, which is the standard test case for multiple target tracking, has been also used forthe problem of tracking multiple biological targets (see e.g. [17,18]). The tracking of multiple biological targets e.g. trackingof intracellular structures, is a rather active area of research in biophysics and is in particular need for good tracking algo-rithms (see e.g. [2,19]). The main difficulties associated with tracking intracellular structures are due to the level of noise inthe observations and the frequent crossing of paths of the targets. Even though in the current work we only present resultsfor synthetic data, we have also obtained encouraging results for data coming from real biological targets. Those results willbe presented in a future publication.

The paper is organized as follows. Section 2 provides a brief presentation of particle filters for multiple targets (more de-tails can be found in [11,5,20,6]), which highlights the versatility and drawbacks of this popular filtering method. Section 3demonstrates how one can use an extra step to improve the performance of particle filters for multiple targets. In particular,we discuss how drift homotopy can be used to effect the extra step. Section 4 presents numerical results for multi-targettracking for the near-constant velocity model with a nonlinear observation model. Finally, Section 5 contains a discussionof the results as well as directions for future work.

2. Generic particle filter for multiple targets

Particle filters are a special case of sequential importance sampling methods. Suppose that we are given an SDE systemand that we also have access to noisy observations ZT1 ; . . . ; ZTK of the state of the system at specified instants T1, . . . ,TK. Theobservations are functions of the state of the system, say given by ZTk

¼ GðXTk; nkÞ, where nk, k = 1, . . . ,K are mutually inde-

pendent random variables. For simplicity, let us assume that the distribution of the observations admits a densitygðXTk

; ZTkÞ, i.e., pðZTk

jXTkÞ / gðXTk

; ZTkÞ.

The filtering problem consists of computing estimates of the conditional expectation E f ðXTkÞjfZTj

gkj¼1

h i, i.e., the condi-

tional expectation of the state of the system given the (noisy) observations. Equivalently, we are looking to compute the con-

ditional density of the state of the system given the observations p XTkjfZTjgk

j¼1

� �. There are several ways to compute this

conditional density and the associated conditional expectation but for practical applications they are rather expensive.Particle filters fall in the category of importance sampling methods. Because computing averages with respect to the con-

ditional density involves the sampling of the conditional density which can be difficult, importance sampling methods pro-ceed by sampling a reference density q XTk

jfZTjgk

j¼1

� �which can be easily sampled and then compute the weighted sample

mean

E f ðXTkÞjfZTj

gkj¼1

h i� 1

N

XN

n¼1

f XnTk

� �p XnTkjfZTjgk

j¼1

� �q Xn

TkjfZTjgk

j¼1

� �

or the related estimate

E f XTk

� �jfZTjgk

j¼1

h i�

PNn¼1f Xn

Tk

� � p XnTkjfZTj

gkj¼1

� �q Xn

TkjfZTj

gkj¼1

� �PN

n¼1

p XnTkjfZTj

gkj¼1

� �q Xn

TkjfZTj

gkj¼1

� �; ð1Þ

where N has been replaced by the approximation

N �XN

n¼1

p XnTkjfZTjgk

j¼1

� �q Xn

TkjfZTjgk

j¼1

� � :

Page 3: Improved particle filters for multi-target tracking

604 V. Maroulas, P. Stinis / Journal of Computational Physics 231 (2012) 602–611

Particle filtering is a recursive implementation of the importance sampling approach. It is based on the recursion

p XTkjfZTjgk

j¼1

� �/ gðXTk

; ZTkÞp XTk

jfZTjgk�1

j¼1

� �; ð2Þ

where

p XTkjfZTjgk�1

j¼1

� �¼Z

pðXTkjXTk�1

Þp XTk�1jfZTjgk�1

j¼1

� �dXTk�1

: ð3Þ

If we set

q XTkjfZTjgk

j¼1

� �¼ p XTk

jfZTjgk�1

j¼1

� �;

then from (2) we get

p XTkjfZTjgk

j¼1

� �q XTk

jfZTjgk

j¼1

� � / gðXTk; ZTkÞ:

The approximation in expression (1) becomes

E f ðXTiÞjfZTj

gkj¼1

h i�PN

n¼1f ðXnTkÞgðXn

Tk; ZTkÞPN

n¼1gðXnTk; ZTkÞ

ð4Þ

From (4) we see that if we can construct samples from the predictive distribution p XTkjfZTjgk�1

j¼1

� �then we can define the

(normalized) weights WnTk¼

gðXnTk;ZTkÞPN

n¼1gðXn

Tk;ZTkÞ, use them to weigh the samples and the weighted samples will be distributed

according to the posterior distribution p XTkjfZTjgk

j¼1

� �.

In many applications, most samples will have a negligible weight with respect to the observation, so carrying them alongdoes not contribute significantly to the conditional expectation estimate (this is the problem of degeneracy [20]). To createlarger diversity one can resample the weights to create more copies of the samples with significant weights.

Suppose that we have k = 1, . . . ,K targets. Also, for notational simplicity, assume that the kth target comes from the kthobservation. Even when this is not the case, we can relabel the observations to satisfy this assumption. The targets are as-sumed to evolve independently so that the observation weight of a sample of the vector of targets is the product of the indi-vidual observation weights of the targets [6]. The same is true for the transition density of the vector of targets betweenobservations. We denote the vector of targets at observation Tk by

XTk¼ ðX1;Tk

; . . . ;XK;TkÞ

and the observation vector at Tk by

ZTk¼ ðZ1;Tk

; . . . ; ZK;TkÞ:

Also, we can have different observation weight densities gk, k = 1, . . . ,K for different targets. However, in the numericalexamples we have chosen the same observation weight density for all targets.

In order to track multiple targets in the particle filter setting, we need to associate each target to an observation. The dif-ficulty of the target-observation association problem is twofold: (i) there is combinatorial explosion of the number of pos-sible target-observation arrangements and (ii) targets may come very close or even cross paths requiring the target-observation association problem to be solved at every step. Many algorithms have been developed to tackle the problemof target-observation association (see e.g. [21] and references therein). However, a target-observation association algorithmrelies heavily on the accuracy of the underlying filtering algorithm. If the filtering algorithm performs poorly at one step thenthe targets’ samples generated at the next step can be far off from their true trajectories. Especially if the true targets areclose, this can lead to erroneous associations between targets and observations at the next step. This phenomenon is exhib-ited clearly by the generic particle filter (see Fig. 1 in Section 4). The currently proposed approach, by improving significantlythe accuracy of the filtering step, alleviates this possibility even for hard problems like the one presented in Section 4. Asalready mentioned in the introduction, we are interested in applying the algorithm to problems of tracking of biological tar-gets (e.g. intracellular movements). In this particular setting, the crossing of paths of different targets is frequent and theperformance of the generic particle filter (unless it is used with a prohibitively large number of particles) is bound to dete-riorate rapidly.

We have chosen to use the Hungarian algorithm which is a polynomial time algorithm [21]. Other more sophisticatedchoices can be used but the Hungarian algorithm performed very well in our numerical experiments. Following [6], the par-ticle filter for the case of multiple targets is given by.

Page 4: Improved particle filters for multi-target tracking

-1500 -1000 -500 0 500

X coordinate

-1000

-500

0

500

1000

1500

Y c

oord

inat

e

Fig. 1. Generic particle filter with 5000 samples. The solid grey lines denote the true target tracks, the black lines with crosses denote the observations andthe colored lines the conditional expectation estimates from the generic particle filter. (For interpretation of the references to colour in this figure legend,the reader is referred to the web version of this article.)

V. Maroulas, P. Stinis / Journal of Computational Physics 231 (2012) 602–611 605

Particle filter for multiple targets

(1) Begin with N unweighted samples XnTk�1

from

p XTk�1jfZTjgk�1

j¼1

� �¼YKk¼1

p Xk;Tk�1jfZk;Tj

gk�1j¼1

� �:

(2) Prediction: Generate N samples X0nTkfrom

pðXTkjXTk�1

Þ ¼YKk¼1

pðXk;TkjXk;Tk�1

Þ:

(3) Target-Observation Association(4) Update: Evaluate the weights

WnTk¼

QKk¼1gkðX

0nk;Tk; Zk;Tk

ÞPNn¼1

QKk¼1gkðX

0nk;Tk; Zk;Tk

Þ:

(5) Resampling: Generate N independent uniform random variables fhngNn¼1 in (0,1). For n = 1, . . . ,N let Xn

Tk¼ X0jTk

where

Xj�1

l¼1

WlTk6 hj <

Xj

l¼1

WlTk

where j can range from 1 to N.(6) Set k = k + 1 and proceed to Step 1.

The particle filter algorithm is easy to implement and adapt for different problems since the only part of the algorithmthat depends on the specific dynamics of the problem is the prediction step. This has led to the particle filter algorithm’sincreased popularity [5]. However, even with the resampling step, the particle filter can still need a lot of samples in order

to describe accurately the conditional density p XTkjfZTjgk

j¼1

� �. Snyder et al. [22] have shown how the particle filter can fail in

simple high dimensional problems because one sample dominates the weight distribution. The rest of the samples are not instatistically significant regions. In the next subsection we present how drift homotopy can be used to push samples closer tostatistically significant regions.

3. Particle filter with MCMC step for multiple targets

Several authors (see e.g. [12,13]) have suggested the use of a MCMC step after the resampling step (Step 5) in order tomove samples away from statistically insignificant regions. There are many possible ways to append an MCMC step after

Page 5: Improved particle filters for multi-target tracking

606 V. Maroulas, P. Stinis / Journal of Computational Physics 231 (2012) 602–611

the resampling step in order to achieve that objective. The important point is that the MCMC step must preserve the con-

ditional density p XTkjfZTjgk

j¼1

� �.

We begin by noting that one can use the resampling step (Step 5) in the particle filter algorithm to create more copies notonly of the good samples according to the observation, but also of the values (initial conditions) of the samples at the pre-vious observation. These values are the ones who have evolved into good samples for the current observation (see more de-tails in [13]). The motivation behind producing more copies of the pairs of initial and final conditions is to use the good initialconditions as starting points to produce statistically more significant samples according to the current observation. This pro-cess can be accomplished in two steps. First, Step 5 of the particle filter algorithm is replaced by.

Resampling: Generate N independent uniform random variables fhngNn¼1 in (0,1). For n = 1, . . . ,N let

ðXnTk�1

;XnTkÞ ¼ ðX0jTk�1

;X 0jTkÞ where

Xj�1

l¼1

WlTk6 hj <

Xj

l¼1

WlTk

Also, through Bayes’ rule [13] one can show that the posterior density p XTkjfZTjgk

j¼1

� �is preserved if one samples from the density

gðXTk; ZTkÞpðXTk

jXTk�1Þ

where XTk�1are given by the modified resampling step. This is a problem of conditional sampling for (continuous-time or

discrete) stochastic systems. The important issue is to perform the necessary sampling efficiently [14,15,13].We propose to do that here using drift homotopy [16]. In particular, suppose that we are given a system of stochastic

differential equations (SDEs)

dXt ¼ aðXtÞdt þ rðXtÞdBt; ð5Þ

Also consider an SDE system with modified drift

dYt ¼ bðYtÞdt þ rðYtÞdBt ; ð6Þ

where b(Yt) is suitably chosen to facilitate the conditional sampling problem.

Consider a collection of L + 1 modified SDE systems

dYlt ¼ ð1� �lÞbðYl

tÞdt þ �laðYltÞdt þ rðYl

tÞdBt ;

where �l 2 [0,1], l = 0, . . . ,L, with �l < �l+1, �0 = 0 and �L = 1. Instead of sampling directly from the density gðXTk; ZTkÞpðXTk

jXTk�1Þ,

one can sample from the density gðY0Tk; ZTkÞpðY0

TkjXTk�1

Þ and gradually morph the sample into a sample ofgðXTk

; ZTkÞpðXTk

jXTk�1Þ.

Drift homotopy algorithm:

� (l = 0) Begin with a sample from the modified SDE (6).� Sample through MCMC the density gðY0

Tk; ZTkÞpðY0

TkjXTk�1

Þ.� For l = 1, . . . ,L take the last sample from the (l � 1)st SDE and use it as in initial condition for MCMC sampling of the

density

gðYlTk; ZTkÞpðYl

TkjXTk�1

Þ

at the lth level.� Keep the last sample at the Lth level.

We repeat here that the levels from 0 to L � 1 are auxiliary and only serve the purpose of providing the sampler at level Lwith a better initial condition. The final sampling is performed at the Lth level which corresponds to the original SDE(5).

The drift homotopy algorithm is similar to Simulated Annealing (SA) used in equilibrium statistical mechanics [20]. How-ever, instead of modifying a temperature as in SA, here we modify the drift of the system. Also, the idea behind drift relax-ation resembles the main idea behind homotopy methods used in deterministic optimization problems (see e.g. [23]).

Note that there are two ways to utilize the drift relaxation idea. The first one is by sampling the densities for the differentlevels sequentially as in the algorithm presented above. The second is to consider the L + 1 systems in parallel, sample simul-taneously the conditional densities

hðYlT0ÞYI

i¼1

plðYlTijYl

Ti�1ÞgðYl

TIÞ for l ¼ 0; . . . ; L;

and occasionally swap paths between levels (the swapping of paths between levels should be performed in a manner thatpreserves detailed balance [20]). This approach is in the spirit of parallel tempering used in Monte Carlo sampling [20]. In thecurrent work we have applied the drift relaxation idea only in the form presented in the algorithm above.

We should also comment on the choice of the modified drift. For stochastic gradient flows with transitions between mul-tiple metastable states, one can choose the modified drift as a mollified version of the original drift [16]. This amounts tomaking the potential wells shallower and thus facilitates the transitions between metastable states. For general problems,

Page 6: Improved particle filters for multi-target tracking

V. Maroulas, P. Stinis / Journal of Computational Physics 231 (2012) 602–611 607

one can choose to use for the modified drift a mean-field drift. In the numerical experiments presented here we have used amean-field drift as the modified drift.

The particle filter with MCMC step for the case of multiple targets is.Particle filter with MCMC step for multiple targets

(1) Begin with N unweighted samples XnTk�1

from

p XTk�1jfZTjgk�1

j¼1

� �¼YKk¼1

p Xk;Tk�1jfZk;Tj

gk�1j¼1

� �:

(2) Prediction: Generate N samples X0nTkfrom

pðXTkjXTk�1

Þ ¼YKk¼1

p Xk;TkjXk;Tk�1

� �:

(3) Target-Observation Association(4) Update: Evaluate the weights

WnTk¼

QKk¼1gkðX

0nk;Tk; Zk;Tk

ÞPNn¼1

QKk¼1gkðX0nk;Tk

; Zk;TkÞ:

(5) Resampling: Generate N independent uniform random variables fhngNn¼1 in (0,1). For n = 1, . . . ,N let

ðXnTk�1

;XnTkÞ ¼ ðX0jTk�1

;X 0jTkÞ where

Xj�1

l¼1

WlTk6 hj <

Xj

l¼1

WlTk

where j can range from 1 to N.(6) MCMC step: For n = 1, . . . ,N and k = 1, . . . ,K choose a modified drift (possibly different for each n and each k). Construct

through drift homotopy a Markov chain for YnTk

with initial value XnTk

and stationary distribution

YKk¼1

gkðYnk ; Zk;Tk

ÞpkðYnk jX

nk;Tk�1Þ:

(7) Set XnTk¼ Yn

Tk.

(8) Set k = k + 1 and proceed to Step 1.

4. Numerical results

4.1. Dynamic model

We present numerical results for multi-target tracking using the particle filter with an MCMC step performed by drifthomotopy. We have synthesized tracks of targets moving on the xy plane using a 2D near constant velocity model [3]. Ateach time t we have a total of Kt targets and the evolution of the kth target (k = 1, . . . ,Kt) is given by

xk;t ¼ Axk;t�1 þ Bvk;t ¼ ½xk;t ; _xk;t; yk;t; _yk;t ��; ð7Þ

where ðxk;t ; _xk;tÞ and ðyk;t ; _yk;tÞ are the xy position and velocity of the kth target at time t. Also, ⁄ denotes the transpose. Thematrices A and B are given by

A ¼

1 T 0 00 1 0 00 0 1 T

0 0 0 1

26664

37775 and B ¼

T2=2 0T 00 T2=20 T

26664

37775; ð8Þ

where T is the time between observations. For the experiments we have set T = 1, i.e., noisy observations of the model areobtained at every step of the model(7). The model noise vk,t is a collection of independent Gaussian random variables withcovariance matrix Rv defined as

Rv ¼ diagðr2x ;r

2yÞ: ð9Þ

In the experiments we have r2x ¼ r2

y ¼ 1. Due to the different possible combinations of targets to observations we use a dif-ferent index m to denote the obsevations. Since we do not assume any clutter we have m = 1, . . . ,Kt. As is usual in the liter-ature, the nonlinear observation model consists of the bearing h and range r of a target. If the mth observation Zm,

t = [Zh,m,t,Zr,m,t]T at time t comes from the kth target we have

Page 7: Improved particle filters for multi-target tracking

608 V. Maroulas, P. Stinis / Journal of Computational Physics 231 (2012) 602–611

Zm;t ¼arctan yk;t

xk;t

� �ðx2

k;t þ y2k;tÞ

1=2

24

35þwm;t: ð10Þ

The observation noise wm,t is white and Gaussian with covariance matrix

Rw ¼ diagðr2h ;r

2r Þ ð11Þ

For the numerical experiments we chose r2h ¼ 10�4 and r2

r ¼ 1. These values are comparable to the values appearing in theliterature (see e.g. [6,24,10]).

The synthesized target tracks were created by evolving a number of targets according to(7) and recording the state of each tar-get at each step. The observations were created in bearing and range space h, r by using(10). The number of targets at each obser-vation instant is: K0 = K1 =� � �= K100 = 10. The number of targets is large enough to make the tracking problem rather formidable.

4.2. Drift homotopy

The dynamics of the targets for the modified drift system at the lth level are given by

zlk;t ¼ Azl

k;t�1 þ cl þ Bvk;t;

where z1,k,t, z3,k,t and z2,k,t, z4,k,t are the xy positions and velocities respectively for the kth target at time t.The matrix cl is given by

cl ¼ ð1� �lÞ lxT2

2;lxT;ly

T2

2;lyT

" #�

where �l 2 [0,1], l = 0, . . . ,L, with �l < �l+1, �0 = 0 and �L = 1. In the numerical experiments we chose L = 10 i.e. 10 levels for thedrift homotopy. Also, we have chosen ln

x and lny for the nth sample as

lnx;k ¼

1N

PNn0¼1 zn0

1;k;k�1 þ zn02;k;k�1T

� �� zn

1;k;k�1

T2=2�

2zn2;k;k�1

T

and

lny;k ¼

1N

PNn0¼1 zn0

3;k;k�1 þ zn04;k;k�1T

� �� zn

3;k;k�1

T2=2�

2zn4;k;k�1

T:

This choice of modified drift corresponds to a mean drift while at the same time offsetting the individual sample’s properties.More sophisticated drift choices will be explored in future work.

For the nth sample, the density to be sampled at the lth level is

YKtk

k¼1

gxðzl;nk;k; Zh;k;kÞgyðzl;n

k;k; Zr;k;kÞpðzl;nk;kjz

l;nk;k�1Þ

/YKtk

k¼1

exp �Zh;k;k � arctan

zl;n3;k;k

zl;n1;k;k

� �� �2

2r2h

þZr;k;k � ðzl;n

1;k;k

2þ zl;n

3;k;k

2Þ1=2

� �2

2r2r

þðvn

x;k;kÞ2

2r2xþðvn

y;k;kÞ2

2r2y

8>>><>>>:

9>>>=>>>;

0BBB@

1CCCA; ð12Þ

where

zl;n1;k;k ¼ zl;n

1;k;k�1 þ zl;n2;k;k�1T þ ð1� �lÞln

x;kT2

2þ T2

2vn

x;k;k

and

zl;n3;k;k ¼ zl;n

3;k;k�1 þ zl;n4;k;k�1T þ ð1� �lÞln

y;kT2

2þ T2

2vn

y;k;k:

We use the density(12) to sample values of the model noise vnx;k;k and vn

y;k;k that bring the targets closer to the observationswhile respecting the dynamics of the targets. We chose to use Hybrid Monte Carlo (HMC) to perform the sampling (any otherMCMC method can be used) [20]. For the sampling at each level of the drift homotopy process we used 20 Metropolis accept/reject steps and 1 HMC step of size ds = 10�1.

4.3. Tracking results

Figs. 1 and 2 show the evolution in xy space of the true targets, the observations as well as the estimates of the generic andMCMC particle filter respectively. It is obvious from the figures that the MCMC particle filter follows accurately the targets

Page 8: Improved particle filters for multi-target tracking

V. Maroulas, P. Stinis / Journal of Computational Physics 231 (2012) 602–611 609

and there is no ambiguity in the identification of the target tracks. On the other hand, the accuracy of the generic particlefilter’s estimate deteriorates fast. This rapid loss of accuracy is a manifestation of the ‘‘curse of dimensionality’’ [25]. Thenumber of samples needed to track a collection of independent targets increases exponentially in the number of the targets.

The tracking problem using a nonlinear observation model is difficult. The reason is that for the nonlinear observationmodel, the observation errors, though constant in bearing and range space, become position dependent in xy space. In par-ticular, when x and/or y are large, the observation errors can become rather large. This is easy to see by Taylor expanding thenonlinear transformation from bearing and range space to xy space around the true target values. Suppose that the true tar-get bearing and range are h0, r0 and its xy space position is x0 = r0cosh0, y0 = r0sinh0. Also, assume that the observation error inbearing and range space is, respectively, dh and dr. The xy position of a target that is perturbed by dh and dr in bearing andrange space is (to first order)

Fig. 2.coloredreader

x ¼ x0 � y0dh� dr cos h0

y ¼ y0 þ x0dh� dr sin h0:

Thus, the perturbation in xy space can be significant even if dh and dr are small. In our example we have rh = 10�2. So, whenthe true target x and y values become of the order of 103 as happens for some of the targets, the observation value in bearingand range space can be quite misleading as far as the xy space position of the target is concerned. As a result, even if one doesa good job in following the observation in bearing and range space, the conditional expectation estimate of the xy space po-sition can be inaccurate. In the multi-target tracking context, this problem is more serious because it can lead to erroneoustarget-observation association.

For the current choice of parameters for the drift homotopy algorithm and the hybrid Monte Carlo sampling, computingeach sample of the MCMC particle filter costs about the same as 250 samples of the generic particle filter. We have used 20samples for the MCMC particle filter and 5000 samples for the generic particle filter. The running time for the numericalexperiments (on a single processor desktop computer) was about 0.4 s per observation step.

The performance of the MCMC particle filter is compared to the performance of the generic particle filter in Fig. 3 by mon-itoring the evolution in time of the RMS error per target.

The RMS error per target (RMSE) is defined with reference to the true target tracks by the formula

RMSEðtÞ ¼

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi1Kt

XKt

k¼1

xk;t � E½xk;t jZ1; . . . ; Zt � 2

vuut ð13Þ

where k�k is the norm of the position and velocity vector. Note that the state vector norm involves both positions and veloc-ities even though the observations use information only from the positions of a target. xk,t is the true state vector for target k.E[xk,tjZ1, . . . ,Zt] is the conditional expectation estimate calculated with the MCMC or generic particle filter depending onwhose filter’s performance we want to calculate.

-600 -400 -200 0 200

-500

0

500

1000

1500

Y c

oord

inat

e

X coordinate

MCMC particle filter with 20 samples. The solid grey lines denote the true target tracks, the black lines with crosses denote the observations and thelines the conditional expectation estimates from the MCMC particle filter. (For interpretation of the references to colour in this figure legend, the

is referred to the web version of this article.)

Page 9: Improved particle filters for multi-target tracking

20 40 60 80 100

Time steps

0

200

400

600

800

1000

1200

RM

S E

rror

per

targ

et

MCMC particle filter with 20 samplesGeneric particle filter with 5000 samples

Fig. 3. Comparison of RMS error per target for the MCMC particle filter and the generic particle filter.

20 40 60 80 100

Time steps

0

10

20

30

40

RM

S E

rror

per

targ

et

MCMC particle filter with drift homotopyMCMC particle filter without drift homotopy

Fig. 4. Comparison of RMS error per target for the MCMC particle filter with drift homotopy (L = 10) and the MCMC particle filter without drift homotopy(L = 0).

610 V. Maroulas, P. Stinis / Journal of Computational Physics 231 (2012) 602–611

As can be seen from Fig. 3, the generic particle filter’s accuracy deteriorates rather quickly. In particular, after about 20steps the generic particle filter has lost its ability to track any of the 10 targets. We note that numerical experiments forthe generic particle filter with up to 40000 samples did not show any significant improvement in the tracking performance.

The MCMC particle filter can be applied with L = 0 levels i.e., sampling directly from the original density without drifthomotopy. We compare in Fig. 4 the behavior of the MCMC particle filter without drift homotopy to the case of with drifthomotopy and L = 10 as in the previous figures. To have the same computational complexity, the MCMC particle withoutdrift homotopy uses 220 Metropolis accept/reject steps for the hybrid Monte Carlo algorithm.

We see from Fig. 4 that there is an advantage in using drift homotopy since the corresponding RMS error grows moreslowly. Numerical experiments with different choices in the number of drift homotopy levels and/or number of Metropolisaccept/reject steps in HMC support the trend shown in Fig. 4.

5. Discussion

We have presented an algorithm for multi-target tracking which is based on drift homotopy for stochastic differentialequations. The algorithm builds on the existing particle filter methodology for multi-target tracking by appending an MCMC

Page 10: Improved particle filters for multi-target tracking

V. Maroulas, P. Stinis / Journal of Computational Physics 231 (2012) 602–611 611

step after the particle filter resampling step. The purpose of the addition of the MCMC step is to bring the samples closer tothe observation while at the same time respecting the target dynamics. Even though the addition of an MCMC step for a par-ticle filter has been proposed and used before [12], to the best of our knowledge, the use of drift homotopy to effect theMCMC step is novel (see also [16]).

We have tested the performance of the algorithm on the problem of tracking multiple targets evolving under the nearconstant velocity model [3]. The proposed MCMC particle filter exhibited a significantly better performance than the genericparticle filter. Since the MCMC particle filter requires more computations than the generic particle filter its computationalcost per sample is higher. However, the results of the MCMC particle filter with far fewer samples than the generic particlefilter are far superior. For the numerical experiments presented in the current work, the MCMC particle filter was able totrack 10 targets long after the generic particle filter had lost its ability to track any of the targets.

We plan to perform a detailed study of the proposed algorithm in more realistic cases involving clutter, spawning andmerging of targets. Also, we want to study the behavior of the algorithm for cases with random birth and death events aswell as for larger number of targets. Finally, we have obtained very encouraging results from applying the algorithm on mul-ti-target data from biological experiments. These results will be reported in a future publication.

References

[1] R.P. Mahler, Statistical Multisource-Multitarget Information Fusion, Artech House Publishers, MA, 2007.[2] A. Nebenführ et al, Stop-and-go movements of plant Golgi stacks are mediated by the actomyosin system, Plant Phys. 121 (1999) 1127–1141.[3] Y. Bar-Shalom, T.E. Fortmann, Tracking and Data Association, Academic Press, 1988.[4] T.E. Fortmann, Y. Bar-Shalom, M. Scheffe, Sonar tracking of multiple targets using joint probabilistic data association, IEEE J. Ocea. Eng. 8 (1983) 173–

184.[5] A. Doucet, de N. Freitas, N. Gordon (Eds.), Sequential Monte Carlo Methods in Practice, Springer, NY, 2001.[6] W. Ng, J.F. Li, S.J. Godsill, J. Vermaak, A hybrid approach for online joint detection and tracking for multiple targets, Proc. IEEE Aerospace Conference

(2005) 2126-2141.[7] J.S. Liu, R. Chen, Sequential Monte Carlo methods for dynamic systems, J. Amer. Stat. Ass. 93 (443) (1993) 1032–1044.[8] R.P.S. Mahler, Multitarget Bayes filtering via first-order multitarget moments, IEEE Trans. Aero. Elect. Sys. 39 (4) (2003) 1152–1178.[9] R.P.S. Mahler, V. Maroulas, Tracking Spawning Objects, submitted for publication.

[10] B-N. Vo, S. Singh, A. Doucet, Sequential Monte Carlo methods for multi-target filtering with random finite sets, IEEE Trans. Aero. Elect. Sys. 41 (4)(2005) 1224–1245.

[11] N.J. Gordon, D.J. Salmond, A.F.M. Smith, Novel approach to nonlinear/non-Gaussian Bayesian state estimation, Proc. Inst. Elect. Eng. F 140 (2) (1993)107–113.

[12] W. Gilks, C. Berzuini, Following a moving target. Monte Carlo inference for dynamic Bayesian models, J. Royal Stat. Soc. B 63 (1) (1999) 2124–2137.[13] J. Weare, Particle filtering with path sampling and an application to a bimodal ocean current model, J. Comput. Phys. 228 (2009) 4312–4331.[14] A.J. Chorin, X. Tu, Implicit sampling for particle filters, Proc. Natl. Acad. Sci. USA 106 (2009) 17249–17254.[15] A.J. Chorin, M. Morzfeld, X. Tu, Implicit filters for data assimilation, Comm. Appl. Math. Comput. Sci. 5 (2010) 221–240.[16] P. Stinis, Conditional path sampling for stochastic differential equations by drift relaxation, Comm. Appl. Math. Comput. Sci. (2011) in print.[17] I. Smal, W. Niessen, and E. Meijering, Particle filtering for multiple object tracking in molecular cell biology, IEEE Workshop Non. Stat. Sign. Proc. (2006)

pp. 129–132.[18] X. Quan, and M.C. Leake, A novel multiple particle tracking algorithm for noisy in vivo data by minimal path optimization within the spatio-temporal

volume, IEEE Intl. Symp. Biomed. Imag.: From Nano to Macro (2009) 1158–1161.[19] I.F. Sbalzarini, P. Koumoutsakos, Feature point tracking and trajectory analysis for video imaging in cell biology, J. Struct. Bio. 151 (2005) 182–195.[20] J.S. Liu, Monte Carlo Strategies in Scientific Computing, Springer, NY, 2001.[21] R.E. Burkard, M. Dell’Amico, S. Martello, Assignment Problems, SIAM, Philadelphia, 2009.[22] C. Snyder, T. Bengtsson, P. Bickel, J. Anderson, Obstacles to high-dimensional particle filtering, Mon. Wea. Rev. 136 (2008) 4629–4640.[23] C. Hillermeier, Nonlinear Multiobjective Optimization: A Generalized Homotopy Approach, Birkhuser Basel, 2000.[24] J. Vermaak, S. Godsill, P. Perez, Monte Carlo filtering for multi-target tracking and data association, IEEE Trans. Aero. Elect. Sys. 41 (1) (2005) 309–332.[25] J.F. Traub, A.G. Werschulz, Complexity and Information (Lezioni Lincee), Cambridge University Press, 1999.