0% found this document useful (0 votes)
25 views37 pages

GNN DA

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views37 pages

GNN DA

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

National [fense

Defence nationale

DATA ASSOCIATION ALGORITHMS


0I FOR MULTIPLE TARGET TRACKING (U)
by
1r CAn. ,A 0ý2"..
ýý',l~ll• 1. irlb1 n.

DTIC
MAR 1~31

DEFENCE RESEARCH ESTABLISHMENT olTAWA


REPORT NO.1 040

July 1990
Canad! Ottawa
-bffgIo *W pea
,fAWRW•,mvv-
NBUTION Newm
SVaat-Ae f.t vý •
* National Dtfense
Defence nalionale

DATA ASSOCIATION ALGORITHMS


FOR MULTIPLE TARGET TRACKING (U)
by
j. Chris McMi!lan
Navigation and IntegratedSystems Section
ElectronicsDivision

and
Sang Seok Lim
University of Ottawa

DEFENCE RESEARCH ESTABLISHMENT OTTAWA


REPORT NO.1040

PCN July 1990


041 U Ottawa
ABSTRACT

Multi-target tracking (MTT) has many applications, and has


therefore been the subject of considerable investigation. One key
aspect of this problem, especially in a dense target environment,
is the "scan-to-scan correlation" or "tracking data association"
problem of assigning measurements to tracks. Various different
approaches have been proposed to solve this problem. In this
report, three algorithms for MTT data association are presented for
comparison. First the nearest-neighbor standard filter (NNSF)
algorithm is presented. Then two of the more promissing extensions
are presented: the multiple hypothesis test method (MHT), and joint
probabilistic data association (JPDA) method. Whenever possible the
same notation is used in presenting all three methods for ease of
comparison. This report is intended to serve as a prelude to a
comparative investigation of these three competing data association
methods.

RESUME

Les techniques de poursuites de cibles multiples ont plusieurs


applications et ont donc fait l'objet de nombreuses recherches.
L'un des aspect important du probl~me est l'association des donn~es
radar avec les pistes. Plusieurs approches ont d6ja 6t6 propos~es
pour resoudre ce probl±me. Ce rapport compare trois algorithmes
d'association des donn~es. La m6thode standard du voisin-imm6diat
(NNSF) est d'abord pr6sent6e. Deux variations prometteuse sont
ensuite analys6es: une m6thode de test 6 hypotheses multiples
(MHT) et une m~thode d'association de donn~es probalistique (JPDA).
Ce rapport pr~sente une analyse pr6liminaire deb trois m6Uiodu, ut
sera suivi d'6tudes plus approfondies.

Aaoeeseon ror

*NTIS GRA&I -
DTIC TAB
Uiuannounoed

Jl19tificatio

D13t~ributioa/
Availability Codos

Avail and/or
Dist Special
EXECUTIVE SUMMARY

In this report three quite different algorithms for multiple


target tracking in a cluttered environment are presented: Nearest
Neighbour Standard Filter (NNSF), Multiple Hypothesis Test (MHT)
and Joint Probabilistic Data Association (JPDA). The basic tracking
equations and data association algorithms are presented, using a
consistent notation, so that the different methods can be directly
compared. The apparent advantages and dissadvantages of each are
briefly explored, and suggestions made for further analysis.

Superficially the tradeoff among the three different


approaches is simply one of accuracy vs. computational efficiency,
with the NNSF method being the least accurate but most efficient,
and the MHT method being the most accurate and least efficient.
However this simplistic view overlooks the fact that the three
methods differ fundamentally in their approach to data association.

The NNSF produces a single unambiguous data association


solution at each point in time, based on the previous association
and the current sensor information. This however may not be the
best choice, especially because it does not make full use of all
prior sensor data. Once an incorrect as5ociation is made, it seems
unlikely that the solution would ever recover.

The MHT approach will maintain several (perhaps many)


different possible data association solutions, and uses the history
of sensor data to eliminate highly unlikely choices, eventually
leaving only one best choice (hopefully). This should yield the
best solution, however it does generally have periods of
uncertainty. Thus if one could not wait for the solution, then it
would be necessary to take special measures.

Thew Jruri approachL does not eAW±Jl±ily ItIOrt C1 UCILC Cibb)t-ICALL±UI


decision. Instead this method applies all ambiguous measurements
to each tracking filter with which it could reasonably be
associated (with an appropriate weighting factor). Thus any given
tracking filter will likely be assigned several "incorrect"
measurements (hopefully with a low weighting) but will almost
certainly also be assigned the "correct" measurement (hopefully
with a high weighting). It is thus hoped that the incorrect
measurements (hopefully random) will have a small cumulative
effect.

Further investigation would be necessary to determine which,


if any, of these data association methods is most appropriate for
a given inulti-target tracking problem.

v
TABLE OF CONTENTS

PAGE

1.0 INTRODUCTION TO MULTIPLE TARGET TRACKING. . . 1


1.1 The Problem ........ ..................
1.2 Background .............. ................. 2
1.3 State Space Description ................... 3
1.4 Basic Tracking Filter Equations .... ...... 4
1.5 Notation and Definitions .... .......... 5

2.0 A NEAREST NEIGHBOUR STANDARD FILTER ALGORITHM 8


2.1 Introduction ............. ............... 8
2.2 NNSF Algorithm ........... ............... 8
2.3 Modified Munkres Assignment Algorithm . . 9

3.0 A MULTIPLE HYPOTHESIS TESTING ALGORITHM . . . . 11


3.1 Introduction ......... .............. 11
3.2 The Tracking Filter Equations .. ....... .. 11
3.3 MHT Algorithm .......... ............... 13

4.0 JOINT PROBABALISTIC DATA ASSOCIATION ......... .. 16


4.1 Introduction .......... ................ 16
4.2 A JPDA Algorithm ....... .............. 16

5.0 CONCLUSIONS ............ .................. 19

REFERENCES ............... .................... 21

APPENDIX A. Hypothesis Tree and Matrix ......... ... 23

APPENDIX B. Hypothesis Probabilities ... ....... 27

APPENDIX C. Hypotheses Reduction ..... ......... 29

APPENDIX D. Clustering ......... .............. 30

vii
1.0 INTRODUCTION TO MULTIPLE TARGET TRACKING

1.1 The Problem

The multiple target tracking problem is encountered *n many


situations, whenever sensor data is available from one or more wide
angle of view sensors (such as radar, electronic support measures
(ESM), infra-red (IR), video, etc.), providing information on the
position (such as range, azimuth, elevation etc.) of "targets"'
(aircraft, vessels, missiles, gLound vehicles etc.). The sensors
may also provide information useful for target identification
purposes (size, velr.city, luminosity, transmitter frequency, etc.).
Although this information may be useful to a target tracking
algorithm, the identification aspects of target tracking are beyond
the scope of this report.

These target tracking sensors typically scan their field


of view at regular intervals. There may be many contacts from such
a scan, from the different objects in the sensors field of view,
as well as some which may be just noise. The sensor measurements
from all contacts within a scan are generally processed together,
since they can safely be assumed to correspond to different objects
(something which cannot be said of returns from different scans or
from different sensors).

The basic tracking problem is to estimate the position and


velocity of the target(s), using the available sensor data (from
a sequence of scans). It is also normally desireable to be able to
predict the targets' location some time in the near future. This
is a problem because the sensor data normally has errors and/or
ambiguities and the targets generally move between scans. The
prediction is further complicated by unknown target manoeuvres. If
there is only a single target, however, then Kalman filtering
techniques provide an "optimal solution. AlLhough the
nonlinearitites of this problem introduce some complications in the
use of Kalman filtering, this problem has been extensively studied
and suitable solutions exist.
The multi-target tracking problem however, is not simply
a tracking pzoblem when there are more than one target. As shafl
be seen below however, the possibility of more than one target
significantly complicates the rituation, because it introduces the
problem of associating measurements with targets. when the distance
between targets is comparable to the measurement error or to the
error in target position prediction (from one scan period to the
next), then this association problem can be very difficult. For
example fighter aircraft flying in tight formation being tracked
by a scanning radar.
1.2 Background

There currently is no satisfactory unified solution method


for the Multi-target tracking problem. The single target tracking
problem, however, has been studied in depth, and optimal estimation
theory (Kalman filter theory etc.), does provide a satisfactory
solution (see for example [11]). With this method, one can form the
statistically optimal estimate of the target state vector (position
and velocity) by recursively processing sensor measurements (radar.
sonar, ESM etc.) taken from the target being tracked.

The multi-target tracking problem can be approached in the


same way, as a number of stochastic estimation problems (one for
each target). Unfortunately there is the added difficulty of
deciding which measurements coLrespond to which targets (and which
measurements don't correspond to any targets). This problem of
associating measurements with targets is known as the "data
association problem". Since this is not a problem of estimating the
value of a random variable, it does not fall neatly into the realm
of optimal estimation. However, it is amenable to stochastic
treatment, and several approaches have been suggested. This report
describes in brief three of the more promising approaches.

All three approaches are based on the intuitive premise


that the probability of a particular meascurement corresponding to
a specific target is a function of the proximity of that
measurement to the expected target location.

The simplest of the approaches described here is the


"Nearest Neighbor" method, which at each time epoch (scan) makes
a complete assignment decision. This complete assignment can be
defined as a specific decision for each measurement:

I- that it came from one of the targets being tracked,


2- that it is noise, or
3- that it is from a new target.
Furthermore this allocation of measurements is made in such a way
that no target is assigned more than one measurement from any given
sensor scan. The nearest neighbor approach makes this complete
assignment decision at each point in time by minimizing a global
distance function which represents the closeness of each
measurement to its assigned target. A problem with this approach
is that if an incorrect assignment is made for a single
measurement, the2n the tracking filter that processes it will make
a poor prediction for the position of it's target for the next time
epoch, likely leading to subsequent incorrect assignments, and thus
the process could easily break down. The tw:o other methods
described here are different approaches to solving this problem.
The nearest neighbour method is described in more detail in chapter

2
2 below.
The second approach to be described is the Multiple
Hypothesis approach. As the name implies, this approach attempts
to solve the problem (of not being able to correctly decide at each
epoch which measurement corresponds to which target) by keeping all
reasonably likely "complete assignments" (as defined above) as
working hypothesis (with which to predict the next epoch's target
positions). The global distance measure ýof proximity of
measurements to predicted targets) can then be used to assign a
"probability" to each hypothesis at each epoch. These probabilities
can then be combined over several epochs, with the expectation that
incorrect hypothesis will lead to highly unlikely cumulative
probabilities (ie. dead ends). In this way these hypothesis can be
dropped and the correct hypothesis should eventually stand out
alone. The problem with this method is that, unless the number of
hypothesis carried forward from one epoch to the next is kept very
low, then the "hypothesis tree" will grow extremely quickly, and
a computationally unmanageable situation will arrise. This method
is described in more detail in chapter 3 below.

The third method is the "Joint Probabilistic Data


Association" or JPDA method, which takes a very different approach:
assigning all measurements in the vicinity of a given target to
that target, but weighting the measuremetiL5 according to thi
proximity. Thus it is highly unlikely that the correct measurement
will be ignored, but on the other hand it is an almost certainty
that incorrect measurements will also have some unwanted influence.
This JPDA method is described further in chapter 4 below.

1.3 State Space Description

For an object being tracked, the discretizer equations of


motion may be modeled by

Xk+1 =ý kxk + GkUk (1)

where xk is an nxl state vector (describing the position and


velocity etc.) of the tracked objects at the kth sample time, tK.
is the transition matrix, and uk is a mxl state excitation vector
to account for both maneuvres and modeling errors and is generally
assumed to be white and Gaussian with zero mean and covariance Qk-
In a track-while-scan system, the kth sample will occur
approximately at time kT, where T is the scan interval of the
sensor.

The observation equation representing valid sensor

3
measurements of the objects being tracked has the form

Hkxk + vk (2 ) SM

where y. is the mxl sensor measurement vector (also referred to as


the sensor "reports") and vk is white Gaussian observation noise
with zero mean and covariance Rk. The observation equation for
extraneous sensor reports resulting frort' thermal false alarms,
clutter, and other targets is assumed to satisfy

Yk = Hkxeklk-1 + Wk (3)

where wk is assumed white and uniformly distributed over some


volume C of the measurement space centered about the predicted
measurement

yekik-1 ' Hkxek lkI (3a)

The number of such extraneous reports in any volume C obeys


a J-cisson distribution with mean BC. where B is the unnormalized
extraneous reports density.

The tracking filter provides a state estimate xekjk and


one-scan-predicted state xek,11', given all measurement data up to
the time k. The basic filter equations are described in the
following section.

1.4 Basic Tracking Filter Equations

The tracking filter state estimate xeklk and covariance


PkIk update equations are calculated (as functions of the
measurements Yk and the previous estimates xeklkI and Pklk-1) as
follows:

xekIk 8 Xe 1k-1 + Kk [yk - Hkxek 1k-i] (4

Kk 0 kk-k~iHkTI HkPklk1,H Tr + Rk - (5

Pkk [ I - KkHkPklk-I (6)

4
This requires knowledge of the measurement noise covariance Rk and
the imeasurement matrix Hk relating the measurements to the state
vector.

These estimates can then be propagated one scan into the


future (prediction) by using the state transition matrix Ok as
follows:

xek 4 l1k 'tkXeklk (7)

Pk+41k = kPklkkT + GkOkGk T (8)

1.5 Notation and Definitions

To f~cilitate comparison, the same notation is used


wherever possible to describe the different approaches to data
association. This notation, and related definitions are collected
here for ease of reference:

k - time or scan index.

NIx,P] = probability density function for a zero mean Normally


distributed (Gaussian) random vector x, with covariance
matrix P

- exp(-0.5 xT P-I x)//{(2n)- IPI) (9)

(where n = dimension of x).

Nc - no. of measurements associated with confirmed tracks.

Nf - number of measurements associated with false targets.

Nn - number of measurements associated with new targets.

Nt number of previously known (at time k-i) targets


(confirmed tracks) within the cluster.

Nm; number of measurements.

PD probability of detection.

Bft density of false targets.

5
Bkt - density of previously known targets that have been
detected.

c - normalization constant given by summation of all the


hypothesis probabilities within the cluster for one scan,

Pr(k) - probability of a hypothesis at time k given probability cf


the prior hypothesis.

rb.-1 L Summation over b from 1 to L.


L
11
b=1 Product over b from 1 to ,,

Lk - total number of hypothesis for track i at time k in the


absence of pruning:
Lk - (l+Nk)Lk-1
for Nk the number of sensor reports falling within the gate
for track i at scan k (pruning may have reduced Lk-1
between scans).
Palklk_1 ' covariance of the estimation error given observations
through scan k-i and given track hypothesis "al".

Kal,.,-l = expected value of the estimation error given observations


through scan k-l and given track hypothesis "al".

Paklk_1 and Kaklk-1 are the Pal and Kal analogues corresponding to
the hypothesis "a".
S-1k = inverse of Sk which is the covariance of the
innovation Yk - yeklk-l given hypothesis "al".

xeklkI -estimated state at scan k given hypothesis up to time k-1.

PkIk = covariance of the estimation error given observations


up to sca,-o I,

Ak = optimal tracking filter correction vector for MHT filter.

AAk= optimal tracking filter gain for JPDA.

De - the expected track length.

#jt - the event that an observation j belongs to a target t.

Zk - the set of measurements up to time k.

PDt = the probability of detection of target t.

Nt(j) = number of targets associated with the observation j


except for false alarms( false targets).

6
Nc(t) - number of observations associatea with the target t

Nc'(t) - number of observations not associated with the ta;get t.

Ncr - (Number of columns of 9)*(Number of rows of 2),


where 9 is validation matrix given by eq.(25).
L.&A NFAEST NEIGHBOR ETANDARD FILTER ALGORITHM

2.1 Introduction

The nearest neighbor approach to data association


determines a unique pairing so that at mo;t one observation from
each sensor scan can be paired with a previously established trac::.
Also, a given observation can be used only once, either to update
an existing track or to start a new track (which may be abandoned
as noise if no subsequent observations match it). This method is
based on likelihood theory, and the goal is to minimize an overall
distance function that considers all observation-to-track pairings
that satisfy a preliminary gating test.

2.2 NNSF Algorithm

In this section, a NNSF algorithm, based on the modified


Munkres optimal assignment method (see reference (2]), is
presented.

Step 1: Set k-l (scan index) and all control parameters.

Step 2: Initialize the sy-item parameters; f, Q, H, R.

Step 2: Simulate target trajectories.

Step 4: Simulate measuiements (or receive the data from radar.)

Step 5: Validate the measurements using gating test: Forct gate


about

yeklý_ -- H * xeklkI

and select the Nk sensor reports to be used in filter


updating. A measurement is valid if

(Yk - yeklk-1IT S-1k (Yk - yekik-1) ý g2 (10)


(this is a ý'g-a" elliptical gate).

Step 6: Form the assignment matrix. The elements of the mattix


are equal to the normalized distance function associated
with the assignment of each of "Nobs" observations to each
of "Ntr" tracks. If the gating relationship is not
satisfied, the observation- to-track pairing can be given
a very large distance to penalize this assignment.

8
Step 7: Solve the Assignment Matrix: Minimize the normalized
distance function using the modified Munkres optimal
assignment algorithm in section 2.3.

Step 8: Correlate the observations to the tracks according to the


solution of optimal assignment matrix.
Step 9: Update and predict the state vectors (tracks) using (4)
to (9).

Step 10: Output the predicted track positions.

Step 11: If k-kf 'end of tracking mission), go to the Step 11.


Otherwise, set k:.k+l and go to Step 4.

2.3 Modified MunKers Assignment Algorithm

The following method is based on the Munkres optimal


assignment algorithm modified by Burgeois and Lassalle (12]. This
method has an advantage (compared to older methods) for
applications since the assignment matrix need not be square. For
the convenience of presentation of the algorithm, the rows and
columns of the matrix may be marked and referred to as covered. The
zeros may be marked by being starred (*) or primed ().

The Optimal Assignment Algorithm:

Step 1: Initially, no lines are covered and 0's are s-arred or


primed.

Step 2: Let v - min.{Nuinber of rows, Number of columns}.

Step 3: If (number of rows) > (number of columns), go to Step 6.

Step 4: For each row in the matrix, subtract the smallest element
of the row from each element in the row.

Step 5: If the (number of columns) > (number of rows), go Co Step


7.
Step 6: For each column in the matrix, subtract the smallest
elLment of the column from each component of the column and
go to Step 7.

Step 7: a) Find a zero, "Z", of the matrix.


b) If there is no starred zero in its row or its column,

9
star the zero (i.e. Z*). Repeat for all zeros of the
matrix. Go to Step 8.

Step 8: a) Cover every column containing a starred zero Z*.


b) If v columns are covered, the locations of the Z* form
the row-column associations (i.e. observation-to-track
pairs). The algorithm is now completed. Otherwise,
continue to the next step.

Step 9: a) Choose an uncovered zero and prime it (i.e. Z').


b) If there is no starred 0 in the row of Z', go to Step
10.
c) If there is a starred zero Z* in the row of Z', cover
this row and uncover the column of Z*.
d) Repeat until all zeros are covered and then go to Step
11.

Step 10: al) Let Zo denote the uncovered Z'. If there is no Z* in


the column of Zo, go to Step (a6).
a2) Let Zl denote the Z* in the column of Zo.
a3) Let Z2 denote the Z' in the row of ZI.
a4) Continue the steps a2 and a3 until a Z2 which has no
Z* in its columns has been found.
a5) Un-star each starred zero of the sequence.
a6 StLar each primed zero of the sequence.
bl) Erase all primes from primed zeros and uncover every
line.
cl) Go to Step 8.

Step 11: a) Find the smallest uncovered element in the matrix and
call it "in. "m" will be positive.
b) Add "m" to each covered row.
c) Subtract "m" from each uncovered column.
d) Go to Step 9 without altering stars, primes, or
uncovered lines.

10
3.0 THE MULTIPLE HYPOTHESIS APPROACH

3.1 Introduction

In the sequol of this section, a track history "a" at scan


k is defined by selecting a Eingle sensor report y from each scan
jik

{y(Ij;j), j=1,2... k I O0 IjSNj)

where Nj is the number of reports at scan j and Ij=O refers to the


hypothesis that none of the sensor reports within the gate
originated from the target. Hence the track history "a" is just the
hypothesis that the entire sequence of measurements within "a" is
correct; i.e. each sensor report y(Ij;j) originated from the target
when Ij 0, while no sensor report was received when 1j-'0, l~j~k.
The track history "a" at scan k is obtained from the track history
"al" at scan k-I by selecting one of l+Nk measurements and
incorporating it into the measurement set specified by "a". In
notational terms, a={al, I). Clearly one history "al" at scan k-i
gives rise to l+Nk histories "a" at scan k. Therefore, the total
number Of hypothcsis, (or histories) L. at scan k is given by
(l+Nk) *LkI

3.2 The Tracking Filter Equations

The equations for target state estimation (the tracking


eqv'Ations) that are appropriate for use with MHT data association,
are listed below. Section 1.5 above provides the notation. Appendix
B explains the important hypothesis probability equation (11). The
other equations come largely from Kalman filtering theory, and are
very similar to the standard tracking equations of section 1.4
above.

Pr(k) = Hypothesis probability at scan k

(1/c) (P D)Nc ( i-PD)Nt-Nc (Bft~)Nf (B kt )Nn

* j=1NCf N[ Yk-HXek Ik-1, S]


* Pr(k-l) (11)

2.1
NakIP1 -Kalklk-I + PalkjklHkT Salkk-IklYk-yeklk-l - HIKalkl]-1 (12)

where
5$ klk-1 a Hk'3klk _lk T
+ Rk
Pa k~k- PalkIlk- - PalkiklA T S-IkjI.HkPalkjk..1 (13)

or

Rkk1'Kalklk-1. if no measurement on the (14)


target was received
Pak~k-1 M Palklk..4 in the gate. (15)

Ak LaL rkKI- (16)

=optimal tracking filter correction vector at scan k

Kaklk KaIjk-I - Ak (17)

Paklk -Pakik-1 (18)

The state and covariance update-~

xeklk =xeklkl3 + Ak (19)

Pkk Ea.].LI[ Pr(k ) Pakik-1 +Kaklk lKalkjk-II1]- AkAk T (20)

one scan prediction:

xe k+llk ' 11kxeklk (21)

Pk+1Ik w4kPklktk T+ GkQkGkT (22)

Kak+llk ' k~aklk (23)

Pak+l1k ' OkPakjk~k


T
+ GkQkGk T (24)

12
3.3 KHT Algorithm

This section outlines the basic algorithm for


implementation of the Multiple Hypothesis Testing method for multi-
target tracking, either in a simulation environment or in real
time. First the algorithm is described verbally, followed by a top
level flowchart.

For notations and definitions, see sectio-. 1.5. In an


actual implementation the simulated quantities are received from
sensors.

STEP 1: Set scan counter k-i and all the control parameters.

STEP 2: Initialize the track and system parameters;

', Q, H, R, Pal,1 0 , Kalll, Pr(O), xell 0 , P1i 1

STEP 3: Simulate target trajectories.

STEP 4 Simulate measurements.

STEP 5: For each history (or hypothesis) "al", 1 < al < Lk-1,
receive unconditional estimation parameters (from STEP 11):

PalkIk-1, KalkIk-1, Pr ( k-l), xeklk-1, PkIk-1

STEP 6: Form gate about


yekikI = H xeklk_1

and select the Nk sensor reports to be used in filter


updating. A measurement is valid if

S_-k {Yk - yekIk-1I g2


{Yk - yekik-I}T

(this is a "g-&" elliptical gate).

STEP 7: (1) Identify new histories (or hypotheses) "a", for

1 < a < (l+Nk)ALk_1*

(2) For each hypothesis, compute Pr(k) using equation (11).


(see Appendix B for details.)

STEP 8: For each remaining history (or hypothesis) "a", and each
track within "a"
Compute Kaklk_1 using equation (12).
Compute PakilkI using equation (13).

13
STEP 9: For each history (or hypothesis) "a",
Calculate Ak using equation (16).
Calculate Kaklk using equation (17).
Calculate Paklk using equation (18).

STEP 10: Compute new optimal updated estimates xeklk using


eq. (19). Compute error covariance Pklk using equation
(20).
STEP 11: Predict. f3r next scan data:
Compute Kak+ 1k using equation (23).
Compute Pak+1lk using equation (24).
Compute xek+11k using equation (21).
Compute Pk.Ilk using equation (22).

STEP 12: GO TO STEP 5 for next scan data and/or output the results.

Figure 1 below provides a top level flow chart of this MHT


process, showing the sequence of events. The important function of
"pruning" the hypothesis tree (to reduce the number of hypothesis
to consider) is described very briefly in appendix C. The
clustering process, also to reduce the number of hypothesis to
consider, is described in appendix D.

14
START

Initialize System Paremeters:


X, P, 0, Q, H, K

Simulate Target Trajectories,


(Collect or Simulate) Measurements

a) Hypothesis Generation,
b) Gating,
c) Hypothesis Matrix
d) Hypothesis Probabilities

Clustering

Update & Prediction


of State and Covariance

•,yes
SFor Simulation:
Print & Plot Results

Figure 1. Multiple Hypothesis Test Flowchart.

35
4,0 JOINT PROBABILISTIC DATA ASSOCIATION

4.1 Yntroduction

In this section, a JPDA algorithm for multiple targets in


Poisson clutter is presented. This all-neighbors approach
incorporates all observations within a validation region about the
predicted track position into the update of that track. Also, a
given observation can be used to update multiple tracks. Track
update is then based on a probabilistically determined weighted sum
of all observations within the validation region. In fact, the
method performs an averaging over observation-to-track data
association hypothesis that have roughly comparable likelihoid.
Further, this is a target-oriented approach, in the sense that a
set of established targets is used to form gates in the measurement
space and to compute posterior probabilities, in contrast to the
measurement-oriented algorithm such as MHT, where each measurement
is considered in turn and hypothesized to have come from some
established track, a new target, or clutter (false alarm).

42 A JPDA Al19 o- t

Step 1: Set k=l (time index) and all the control parameters.

Step 2: Initialize the system parameters; t, Q, H, R.

Step 3: Either simulate the target trajectories and sensor


measurements (including clutter etc.), or in a real
implementation, receive and register (scale, time tag etc.)
the sensor data.

Step 4: Validate the measurements using "g-o ellipsoid" gating


test %-q.(10)). Form the validation matrix 9(#): (examples
can be found in [13]).

= (w(#1t)t
(jt , j=l,2,...,Nm; t=l,2,...,Nt (25)
where
w(#jt) = 1 if meas. j is within the gate of
target t (event "#,t" occurs) (26)
0 otherwise

Step 5: For each t=l,2,...,Nt compute the residual:

Y - yt
y(j,t) - yek (27)

Step 6: Compute covariance of Yt at k:

16
S(jlt) - Hk Pklk-_ 1
kT + Rk. (28)

Step 7: Using Bayes' formula, compute the joint event prob.

PhYP(#) - Pr{#IZk}
(CO/c)(C/c
=
*
* flNt(j)~
j=,N J [ _0".5 *YT J-S- IYjt / vfJ(2n)"m S(j't) I} ]

Rt Nc(t) [PDt)

* 1 Nc' (t) jpt (29)

where S-1 - inverse of S(j,t) at scan k (30)

and where the numbers Nt(j), Nc(t) and Nc'(t) can be


calculated from the validation matrix 2.
Step 8: For each target t=l,2,...,Nt,
compute
t •. Ncr

B(jt) - E c=- [Phyp(ij)*w(j,t;i)! (31)

and for t=0, compute

B(0,t) = I - Ej=1 [B(j,t)] (32)

Step 9: For each t=l,2,..., Nt,


compute Yt = E Nt [B(j,t)*Yj.
Nj= (33)

Step 10: Compute the filter gain AAk:


AAk PkIk-1 HkT S-Ik (34)

S-I k S-1

Step 11: Update the state and covariance:


for each t-1,2,...,Nt,

xeklk - xeklk-l + AAk*Yt (35)

FkI k PkIk-1 - AAI S(j,t) AAkT (36)

Step 12: Predict for the next scan data:

xek+lIk = Ok xeklk (37)

Pk+11k = IkPkIkokT + GkQkGkT (38)

yek+11k ' H%+4 xek.+11k (39)

17
Step 13: If desired, calculate and output the estimated current
target position, velocity etc. (at time k) from the current
state estimate, xeklk, or the predicted target position
etc., (at time k+l) using the predicted state estimate
xek+11k. The associated covariance may also be desired.

Step 14: Set k-k+l and go to the Step 3.

Remark:
In the above algorithm, the joint event probabilities are
comaputed using equation (29) which is derived under the assumption
that the probability mass function (PMF) of the false measurements
is given by the Poisson PMF (see equation (9-42) of [21):

p(m) - expf--XVk}(XVk)' / m! (40)

where X is the spatial density of false measurements(i.e., the


average number per unit volume) and V. is the volume of the
validation region. Thus XV. is the expected number of false
measurements in the gate and m is the number of false measurements.

If the PMF is uniformly distributed, theni the expression


for the probability should be modified accordingly (see equation
(9.46) of [21).

18
5.0 CONCLUSIONS

In this report three quite different algorithms for


multiple target tracking in a clutter environment are presented:
Nearest Neighbour Standard Filter (NNSF), Multiple Hypothesis Test
(MNT) and Joint Probabilistic Data Association (JPDA). For further
development towards implementation of the algorithm, the following
comments and suggestions are offered.

CQmments:

1) The main drawback of the NNSF algorithm is that the tracking


performance or accuracy of the filter may become very poor in a
dense target environment because of possible misassociation
(choosing an incorrect measurement for processing by a target
tracking filter). It's main advantage is that it is easy to
implement and computationally feasible.

2) In the MHT method, the main drawback of the algorithm is that


in a dense target environment the number of hypotheses can increase
exponentially with each scan, leading to computational burden
problems. Hence, for implementation, the development of an
efficient way of pruning the hypotheses tree is necessary.

3) Another disadvantage of the MHT method is that the data


association decision is often deferred, and thus a single best
estimate for the target tracking solution is not always available.
If target execution is desired before the MHT solution is resolved,
this can be a problem. This problem can likely be overcome by
providing a NNSF-type solution at all times (using the most
probable current hypothesis: ie. using all measurements up to the
current time).

4) One advantage of the MHT method is that it provides a systematic


track initiation procedure.

5) Another advantage of the MHT method is that it is most likely


to have the correct association solution as one of it's hypothesis
(hopefully the hypothesis assigned highest probability).

6) The JPDA algorithm is a non-back-scan (or zero-scan) approach,


meaning that all hypotheses are combined after computation of the
probabilities, for each target at each time step. One problem with
this method is that it implies that incorrect measurements are
routinely (and purposely) used by the tracking filters, albeit
hopefully with a lower weighting than the correct measurement. This
method does however have the advantage of being more
computationally efficient than an n-scan algorithm in a heavy

19
clutter environment such as sonar tracking.

7) Another difficulty with the JPDA method is in the implementation


of track initiation. Since the MHT algorithmP provides a systematic
track initiation procedure, an effective way of combining these two
methods may be of interest.

suggestions:

1) Comparisons of the accuracy performance of these different


algorithms for various target dynamic and clutter models.

2) Comparison of the computational burdens of these algorithms for


various target densities and clutter models.

3) Investigation of ways and means of overcoming the shortcommings


of these methods, especially pruning for the MHT method, and
providing real time output from the MHT method.

20
REPERENC
F

(1] Gelb, A.(ed.), "Applied Optimal Estimation", The M.I.T. Press,


Massachusetts Institute of Technology, Cambridge, Massachusetts,
1974.
[2] Bar-Shalom, Y. and fortman, T.E., "Tracking and Data
Association", Academic Press, New York, 1988.

[3] Bar-Shalom, Y.(ed.), "Multitarget-Multisensor Tracking:


Advanced Applications", Artech House, Norwood, MA, 1990.

(4) Blackman, S.S., "Multiple Target Tracking With Radar


Applications", Artech House, Dedham, MA, 1986.

(5) Bar-Shalom, Y. "Tracking Methods in a Multitarget Environment",


IEEE Trans. Automat. Contr., Vol.23, pp.618-626, Aug. 1978.

(6] Settler, R.W., "An Optimal Data Association Problem in


Surveillance theory", IEEE Trans. Military Electron., Vol. MIL-8,
pp.125-139, Apr. 1964.

(7] Morefield, R.A., "Application of 0--i integer programming to


multitarget tracking problems", IEEE Trans. Autom. Contr.,
Vol.. AC-22, pp.302-312, June 1977.

(81 Singer, R.A. and Sea, R.G., "New results in optimiziny


surveillance system tracking and data correlation performance in
dense multitarget environments", IEEE Trans. Autom. Contr., Vol.
AC-18, pp.571-581, Dec. 1973.

[9] Singer, R.A., Sea, R.G. and Housewright, K., "Derivation and
evaluation of improved tracking filters for use in dense
multitarget environment", IEEE Trans. Inform. Theory, Vol. IT-20,
pp.423-432, July 1974.

[i0] Bar-Shalom, Y. and Tse, E., "Tracking in a cluttered


environment with probabilistic data association", Automatica,
Vol.11, pp.451-460, Sept. 1975.

111] Reid, D.B., "An algorithm for tracking multiple targets", IEEE
Trans. Autom. Contr., Vol. AC-24, pp.843-854, Dec.1979.

[12] Athans, M., Whiting, R.H. and Gruber, M., "A suboptimal
estimation algorithm with probabilistic editing for false
measurements with application to target tracking with wake
phenomena", IEEE Trans. Autom. Contr., Vol. AC-22, pp.372-384, June
1977.
[13] Burgeois, F. and Lassalle, J.C., "An extension of the Munkres
algorithm for the assignment problem to rectangular matrices",
21
1971, pp. 8 02-80 6 .
Communications of the ACM, Vol.14, Dec.

[141 Fortmann, T.S.,. Bar-Shalom, Y. and Scheffe, m., "Sonar


tracking of multiple targets using joint pribabilistic data
association", IEEE J. of Ocean Eng., Vol. OE-9, July 1983,
pp. 173-184.

22
APPENDIX A: HYPOTHESIS TREE AND HYPOTHESIS MATRIX

Let Qk be the set of association hypotheses up to time k.


This set is obtained from Q- 1 and the latest set of measurements
Yk as follows. New hypotheses Sk-1 first measurement yl,, then
augmenting the resulting set by associating y 2 k, etc. The possible
association for the i-th measurement yik are
a. It is the continuation of a previous history (or track).
b. It is a new track (or target).
c. It is a false alarm (or clutter).
Each target can be associated with at most one current
measurement, which has to fall in its validation region.

Example:
For the configuration of targets and measurements shown in
Fig.l, the hypothesis tree are formed using the rule mentioned
above. In the hypothesis tree shown in Fig.2, each node represents
the track qualities:
"~ is the false target or false alarm.
"1,2,..." are the confirmed or new targets.

The following figure 2 shows the hypothesis tree representation of


the hyp oLhesis forma tion techn ique ou t lin Haed - Each node of
bve
the tree represents an alternative hypothesis; further branches are
added to each node as a new measurement point is considered.

2.11

z• Target
K [- Measurement

Figure Al. Configuration of Targets and Measurements.


23
hypothesis numbers

after measurement 13--------------------


after measurement 12 -i -
after measurement 11 - I
I I I
I I I
I I (H1)
S'OF= -2 (H12)
(H18)

.2 0o H5)
0 5 (H22)

.~0(H8)
4 1Z-2
H15)
5 (I25)

0(H12)
(H13)
5 (P19)
2 c-----0 (116)
1 -5 (H23)

0- (H9)
4 J 2 (H16)
-1 (H126)
prior
hypothesis \-2 0- •--0 (H3)
-5 (H20)

3-1-5 (H27)

S/ý 2- 0 (H4)
-_._
0 ( H7 )
02 (1114)
~5 (H21)

3 4ýý -5 (H124)

0(HiI)

5 (H28)

0 false target I
1, 2: target 1 and 2 I
3,4,5:new targets I

Figure A2, Hypothesis Tree for Configuration ii Figure Al.

24
The hypothesis matrix corresponding to the tree can be
formed as follows.

after the measurement 11


after the measurement 12

SI after the measurement 13


II 1
0 0 0 HI
110 0 H2
210 0 H3
0 0 H4

0 2 0 H5
1 2 0 H6
3 2 0 H7
0 4 0 H8
1 4 0 H9
2 4 0 HI0
3 4 0 H11

0 0 2 1112
1 0 2 H13
3 0 2 HI4
0 4 2 H15
1 4 2 H16
3 4 2 H17
0 0 5 H18
1 0 5 H19
2 0 5 H20
3 0 5 H21
0 2 5 H22
1 2 5 H23
3 2 5 H24
0 4 5 H25
1 4 5 H26
2 4 5 H27
3 4 5 H28

_ _ _ hypothesis numbers

Figure A3. Hypothesis matrix corresponding to the hypothesis tree.

25
APPENDIX B: HYPOTHESIS PROBABILITIES

In the equation for hypothesis probability in section 3.2


above (eq. (11)), an expression suggested by Reid (eq. (16) of ref.
[11]) is used. Further, the formula is valid for type 1 sensors
such as a scanning radar (which provide a "complete" picturez of
some coverage area in each data set, and hence can provide number-
of-target information). If type 2 sensors such as ESM or a tracking
radar are assumed (which in each report only provide information
about individual targets), some modifications have to be done as
given in [11]. Similar expressions for computation of hypothesis
probabilities in the non-recursive form can be found in Bar-Shalom
[2].

The equation (11) can be easily implemented since it is


given by a recursive form. If all the prior hypotheses are first
multiplied by (1-PD)Nt, then as a branch is created for each
measurement and its hypothesized origin, the likelihood of the
branch is found by multiplying the prior probability by either Bft,
Bkt , or

PD*N[yk-Hkxeklk_1,S]/(l-PD)

as appropriate. After all such branches are generated the


likelihoods are then normalized.

Example

In Figure B2, the hypothesis probabilities are computed for


the hypothesis tree shown in figure BI, in terms of its prior
hypothesis probability and the probability of each branch.

T3 H13

H112. H14
T42/ T4
H].1
T-6 H16
T5

Figure Bl. Hypothesis Tree.

26
Pr(HIl) - Pr(H1 )*Pr(Tl)
Pr(H12) - Pr(Hll)*Pr(T2)
Pr(H13) - Pr(H12)*Pr(T3)
Pr(H14) - Pr(H12)*Pr(T4)
Pr(H15) - Pr(HIll)*Pr(T5)
Pr(H16) - Pr(Hl5)*Pr(T6)
Pr(H17) - Pr(HlS)*Pr(T7)

i I I __ Prob. of each track.


I I _Prob. of prior hypothesis.
I Prob. after new measurements.

Figure B2. Hypothesis Tree Branch Probabilities.

In figure B2 the probability of each track is calculated


using the simple rule in accordance with the track quality:

1/ If the measurement br.ongs to false alarm (or false


tarqet), the probability of the track(or branch.' is g.iven
by
(Bft)*(I-P,)/c-.

2/ If the measurement "j" belongs to i-th track, the


corresponding probability is given by P•*N[O,S(i)], where
N[a,b] is the Normal (Gaussian) density function associated
with the assignment of the j-th observation to the i-th
track of the prior history and is defined by
N[0,S(i)] = expW -dj*d,•/2)
V {(2 n) IS(ý) I}I (BI)

for the residual matrix S(i) and normalized distance


function dij.

3/ If an observation belongs to new target, the corresponding


probability is computed by

Bkt* (I-PD)/c.

Remark:

If the track deletion option is included, then the factor

27
e- /D" should be properly introduced in the
calculations (as per reference probability
[4] pp. 255-260).

28
APPENDIX C: HYPOTHESIS REDUCTION

Since, in the worst case, the number of hypotheses can grow


exponentially with time, there is a clear need to limit this
number. Some schemes for doing so include:

a. The first opportunity for limiting hypotheses is


to require an observation to satisfy a gating
relationship before any of the possible track
associations are to be consideLed to be potentially
valid.
b. The JPDA algorithm, by computing all the
measurements at the current time, considers only the
number of known targets with a single hypothesis per
target.

c. The "N-scan-back" concept, by combining all


histories that have common measurements front k-N to
k.
d. An alternative method is to combine those
hypotheses that similar effects, i.e., same number
of targets but with slightly different state
estimates° The mean and covariance of the resulting
estimate is a combination of the individual estimates
and covariance. At the same time, hypotheses with
negligible probabilities are eliminated.

The method c has been found to be most effective in


practice, and it provides an efficient approximation of the
method d. The process of pruning hypotheses is highly
dependent on the applications. Typical ways of pruning can be
summarized as:

1) To remove hypotheses with probabilities that fall


below some predetermined threshold. Disadvantage of
this method is that it does not take into account the
computational capacity.

2) To allow only a predetermined number, say M, of


hypotheses to be maintained by ranking the hypotheses
and choosing only the M most likely ones, as measured
either by the probabilities or the score functions.

3) To rank and sum the probabilities of the more


likely hypotheses. When this sum exceeds a threshold
the remaining hypotheses are then eliminated.

29
APPENDIX D: CLUSTERING

A cluster is a group of hypotheses and associated tracks


that does not interact with any other group of hypotheses
(contained within other clusters). The hypotheses within a cluster
will not share ebservations with the hypotheses within any other
cluster. The basic purpose of clustering is to divide the large
tracking problem into a number of smaller ones that can be solved
independently. This can greatly reduce the number of hypotheses
that must be maintained.

The steps in clustering are as follows. Initially, one


cluster is set up for each confirmed target. Each new measurement
is associated with a cluster if it falls in the validation region
of any track from that cluster. A new cluster is initiated any time
an observation is received that does not fall within the gates of
any track contained in an existing cluster. The cluster is
initiated on the observation using the alternatives (true target
or false alarm) associated with its source. In order that clusters
remain distinct, the gates of the tracks within the clusters must
not overlap. Thus, when an observation falls within the gates of
two or more tracks from different clusters, the clusters are
merged. The merging must be done before the observation is
processed. If an observation is associated with mý.re than one
cluster, then those clusters are combined into a super-cluster.
If tracks within a cluster separate spatially and have no more
common measurements, the corresponding cluster is subdivided
accordingly into smaller clusters that can be handled separately.

30
SECURITY CLASSIFICATION OF FORM
(highest classification of Title, Abstract, Keywords)

DOCUMENT CONTROL DATA


(Security claslification of title, body of abstilec and Indexing annotation must be entered when the overall dociiment is classified)

1. ORIGINATOR (the name and address of the organization preparing the document. 2. SECURITY CLASSIFICATION
Organizations for whom the document was prepared, e.g. Establishment sponsoring (overall security classification of the document.
a contractor's report, or tasking agency, are entered in section 6.) including special werning terms if applicable)
DEFENCE RESEARCH ESTABLISHMENT OTTAWA UNCLASSIFIED
Department of National Defence
Ottawa, Ontario KIA 0Z4

3. TITLE (tie complete document title as indicated on the title page. Its classification should be indicated by the appropriate
abbreviation (S,C,R or U) in parentheses after the title.)
Data Association Algorithms for Multiple Target Tracking (U)

4. AUTHORS (Last name, first name, middle initial)

McMillan, J. Christopher & Lim, Sang Seok

"S.DATE OF PUBLICATION (month and year of publication of 6a, NO. OF PAGES (total 6b. NO. OF REFS (total cited in
document) containing information. Include document)
August 1990 Annexes. Appendices, etc.)
36 14
7. DESCRIPTIVE NOTES (the category of the document, e.g. technicti report, technical note or memorandum. If appropriate, enter the type of
report, e.g. interim, progress, summary, annual or final- Give! thz inclusive dates when a specifiwreporting period is covered.)

DREO Report

S. GPONGORING ACTIV, ITYitin name or tinre eparrmeni project oP icH or reuormory bponwoing aic ir$ncarei ino U=vciupic,-iL lijur•rr ,.
address.)
Defence Research Establishment Ottawa
Department of National Defence
Ottawa, Ontario KIA 0Z4 .....
S9. PROJECT OR GRANT NO. (ifappropriate, the applicable research 9b. CONTRACT NO. (ifappropriate, the applicable number under
and development project or grant number under which the document which the document was written)
was written. Please specify whether prolect or grant)

041LJ

102. ORIGINATOR'S DOCUMENT NUMBER (the official drccument lOb. OTHER DOCUMENT NOS. (Any other numbers which fiaty
number by which the tocument iS identified by the originating be assigred this document eithei by the originator or by the
activity. This number must .e uni•Que
to this decument) sponsor)

DREO Report 1040

1 1. DO)CLMENT AVAILABILITY (any limitations on further dissemination of the document, other than those imposed by security classification)

x) Unlimited distribution
) Distribution ;limited to defence departments and defence contractors; further distribution only as approved
I Distribution limited to defence departments and Canadian defence contractors; further distribution only as approved
I Distribution limited to government departments and agencies; further distribution only as approved
I Distribution limited to defence departments; further distribution only as approved
I Other (please specify)-

4
12. DOCUMENT ANNOUNCEMENT any limitation to the bibliographic announcement of this document. This will normally correspond to
the Document Availabilty (11;. However. where further distribution (beyond the audience sýecified in 11) is possible, a wider
announcement audience may be selected.)

Unlimited

UNCLASSIFIED

SECURITY CLASSIFICATION OF FORM


OCDO03 2/06/87
-32- UNCLASS IFIED
SECURITY CLASSIFICATION OF FORM

13. ABSTRACT ( a brief and factual summary of the document It may also appear elsewhere in the body of the document itsell. It is highly
desirable that the abstract of classified documents be unclassified, Each paragraph of the abstract shull begin with an indication of the
Security clasification of the information in the puagraph (unless the document itself is unclassified) represented as (S), (C), (R), or (U).
It is not ne-essary to include here abstracts in both officul languages unless the text is bilingual).

(U) Multi-target tracking (MTT) has many applications,


and has therefore been the subject of considerable
investigation. One key aspect of this problem, especially
in a dense target environment, is the "scan-to-scan
correlation" or "tracking data association"i problem of
assigning measurements to tracks. Various different
approaches have been proposed to solve this problem. In
this report, three algorithms for MTT data association
are presented for comparison. First the nearest-neighbor
standard filter (NNSF) algorithm is presented. Then two
of the more promissing extensions are presented: the
multiple hypothesis test method (MHT), and joint
probabilistic data association (JPDA) method. Whenever
possible the same notation is used in presenting all
three methods for ease of comparison. This report is
intended to serve as a prelude to a comparative
investigation of these three competing data association
methods.

14 KEYWORDS, DESCRIPTORS or IDENTIFIERS (technically meaninoful terms or short phrases tnat characterize a document and could be
helpful in catamnu:rig the documient. They should be selected so that nc security classification is requied. Identifier$, such at equiiment
model designation, trade name. military prolbct code name, geographic location may also be Included. If possible keywords should be selected
from a published thesaurus. e.g. Thesaurus of Engineering and Scientific Terms (TEST) and that thesaurus-identi fied. If it is not possible to
select indexing terms which are Unclassified, the Llassification of each should be indicated as wi'h the title.)

target tracking
data association
tracking filter
multiple hypothesis
joint pLobabilistic
nearest neighbour

UINCLASSIFIED
SECURITY CLASSIFICATION OF FORM

You might also like