You are on page 1of 11

Previously on TT,

LERTEKNIK
REG

AU L
T O MA RO
T IC C O N T

Target Tracking: Lecture 2


Single Target Tracking Issues
Fundamentals of Target Tracking:
• Sensor models
Emre Özkan • Measurement models
emre@isy.liu.se
• Target models
• Structure of a basic tracker
Division of Automatic Control
Department of Electrical Engineering
Linköping University
Linköping, Sweden

October 29, 2014

E. Özkan Target Tracking October 29, 2014 1 / 31 E. Özkan Target Tracking October 29, 2014 2 / 31

Lecture-2 Outline Basic ideas on track life

False alarms and clutter complicate target tracking even if we know that
Track life there is at most one target.
• Gating Track initiation: Form tentative tracks and confirm only the
• M/N logic based track life
persistent ones (ones getting data).
• Score based track life
• Confirmed track deletion Track maintenance: Feed the confirmed tracks with only relevant
Single Target Data Association data. Closely related to data association. Measure “quality” if
• Nearest neighbor (NN) possible.
• Probabilistic data association (PDA) Track deletion: Delete tracks with persistent absence of data or with
low “quality”.

E. Özkan Target Tracking October 29, 2014 3 / 31 E. Özkan Target Tracking October 29, 2014 4 / 31
Curse of combinations! Gating Illustration

We cannot consider all target-measurement combinations when the


number of involved quantities is & 10. The combinatorics and related
probabilities becomes trouble in this case (even if most of the probabilities
yk2
turn out to be almost zero on machine precision). yk1 3
ŷk|k−1
Combinations
If there are 10 targets, 100 measurements, PD = 1, and if one can y yk3
yk5 yk4
compute 1 million associations per second; It takes about 2 million years
1
to compute all possible association hypothesis. ŷk|k−1 2
ŷk|k−1
yk7
Gates and Gating yk6
Gating is the hard decisions made about which measurements are
considered as valid (feasible) measurements for a target.
x
The region in the measurement space that the feasible measurements
i
ŷk|k−1 : Predicted measurement position for the ith target
for a target is allowed to be is called as target’s gate.
ykj : jth measurement
E. Özkan Target Tracking October 29, 2014 5 / 31 E. Özkan Target Tracking October 29, 2014 6 / 31

Gating Choices Ellipsoidal Gating Demystified


When the target state and measurement models are correct
Many different choices are possible which are basically a form of distance
ỹk , yk − ŷk|k−1 ∼ N (0ny , Sk|k−1 )
measuring between the predicted measurement and the measurements
depending on the target uncertainty. Suppose Sk|k−1 = Uk UkT where Uk is invertible. Then,
Rectangular (low computation)
−1 2
ỹkT Sk|k−1 ỹk = ỹkT Uk−T Uk−1 ỹk = kUk−1 ỹk k2 , kuk k22
|ykx − ŷk|k−1
x x
| ≶ κσk|k−1 |yky − ŷk|k−1
y y
| ≶ κσk|k−1
where
where κ is generally ≥ 3.
Ellipsoidal (most common) uk , Uk−1 ỹk ∼ N (0nx , Inx )
−1
(yk − ŷk|k−1 )T Sk|k−1 (yk − ŷk|k−1 ) ≶ γG

where γG is the gate threshold.

E. Özkan Target Tracking October 29, 2014 7 / 31 E. Özkan Target Tracking October 29, 2014 8 / 31
Ellipsoidal Gating Demystified Ellipsoidal Gating Demystified cont’d
When the target state and measurement models are correct −1
Gate statistic ỹkT Sk|k−1 ỹk is χ2ny -distributed.
ỹk , yk − ŷk|k−1 ∼ N (0ny , Sk|k−1 ) 1 1

0.9 0.9
n=1 PG = 0.9
Suppose Sk|k−1 = Uk UkT where Uk is invertible. Then, 0.8 n=2
n=3
0.8

0.7 0.7
n=4
n=5
−1 2 0.6 0.6

ỹkT Sk|k−1 ỹk = ỹkT Uk−T Uk−1 ỹk = kUk−1 ỹk k2 , kuk k22 0.5 γG = 4.7 0.5

0.4 0.4 n=1


n=2
where 0.3 0.3 n=3
n=4
0.2 0.2
n=5

uk , Uk−1 ỹk ∼ N (0nx , Inx ) 0.1 0.1

0 0
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8

chi2pdf(.,n) chi2cdf(.,n)
Chi-square distribution
Sum of squares of n i.i.d. scalars distributed with N (0, 1) is
χ2 -distributed with degrees of freedom n.

E. Özkan Target Tracking October 29, 2014 8 / 31 E. Özkan Target Tracking October 29, 2014 9 / 31

Ellipsoidal Gating Demystified cont’d Gating at k = 1


−1
Gate statistic ỹkT Sk|k−1 ỹk is χ2ny -distributed.
1 1

0.9 0.9

0.8
n=1
n=2 0.8
PG = 0.9 Gating should be possible after getting the first measurement y0 at
0.7
n=3
n=4 0.7
time k = 0. In other words, at time k = 1, the gating should be
0.6
n=5
0.6 applied on y1 .
γG = 4.7
0.5 0.5

n=1
For this, ŷ1|0 and S1|0 should be calculated.
0.4 0.4
n=2
0.3 0.3 n=3 With a single measurement, it might generally not be possible to form
n=4
0.2 0.2
n=5 a proper state covariance P0|0 .
0.1 0.1
Use measurement covariance and prior info about the target to form
0 0
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
an initial state covariance P0|0 .
chi2pdf(.,n) chi2cdf(.,n)
Magic Command
Use γG =chi2inv(PG ,ny ) to get your unitless threshold.

E. Özkan Target Tracking October 29, 2014 9 / 31 E. Özkan Target Tracking October 29, 2014 10 / 31
Gating at k = 1 cont’d Gating at k = 1 cont’d

Example-1: Cartesian state, position only measurements: Example-1: An alternative is


T Do the first gating with ky1 − y0 k ≤ T vmax
κ .
xk yk vkx vky

xk ,
 T  x y T When the gate is satisfied, form the state estimate and covariance as
yk , xk yk + ek ek
h iT
y1x −y0x y1y −y0y
where exk ∼ N (0, σx2 ) and eyk ∼ N (0, σy2 ). x̂1|1 = y1x y1y T T
σx2 σx2 /T
 
0 0
Suppose we got y0 , what would be x̂0|0 and P0|0 ?  0 σy2 0 σy2 /T 
P1|1 =
 σx2 /T

T 0 2σx2 /T 2 0 
y0x y0y 0 0
 2 2 2
x̂0|0 = 0 σy /T 0 2σy /T
P0|0 = diag σx2 , σy2 , (vmax
x
/κ)2 , (vmax
y
/κ)2

This method is called as two-point difference initiation in the literature
This is called single point initiation [Mallick (2008)] in the literature. [Mallick (2008)].

E. Özkan Target Tracking October 29, 2014 11 / 31 E. Özkan Target Tracking October 29, 2014 12 / 31

Track Initiation & Deletion: M/N logic Track Initiation & Deletion: M/N logic cont’d
Example: “2/2&2/3” logic
time
k Simple counting based
low-computation track
k+1 initiation.
Track (for not tentative but

Position
k+2 confirmed ones) deletion
happens in the case of a
k+3 predefined consecutive number
of misses (no measurement in
k+4 the gate).
Independent of the track quality
as long as gate criteria is tim
k k+1 k+2 k+3 k+4 k+5 k+6
Tentative track (initiator) Measurement in gate
satisfied. These two tracks are equivalent
Deleted initiator No measurement in gate
according to M/N logic.
Confirmed initiator
E. Özkan Target Tracking October 29, 2014 13 / 31 E. Özkan Target Tracking October 29, 2014 14 / 31
Score based approach (SPRT) Score based approach (SPRT) cont’d
Suppose we have a measurement sequence y0:k (yi can be φ empty set.). How to calculate the score:
Consider two hypotheses about it. With the initial data y0 6= φ (first data of an initiator)
H0 : All measurements originate from F A p(y0 |H1 )P (H1 ) βN T
LPR0 = log = log +C
H1 : All measurements originate from a single N T p(y0 |H0 )P (H0 ) βF A

Define the score (denoted as LPRk meaning log probability ratio) of a where βN T and βF A are new target and false alarms rates
(possibly tentative) track (or target) as respectively. PD is the detection probability. Setting LPR0 = 0 is also
a common method.
P (H1 |y0:k )
LPRk = log With new measurement yk 6= φ
P (H0 |y0:k )
p(yk |y0:k−1 , H1 ) PD pk|k−1 (yk )
Since P (H0 |y0:k ) = 1 − P (H1 |y0:k ), we have LPRk =LPRk−1 + log = LPRk−1 + log
p(yk |y0:k−1 , H0 ) βF A
exp(LPRk )
P (H1 |y0:k ) = where pk|k−1 (yk ) , N (yk ; ŷk|k−1 , Sk|k−1 ) is the innovation
1 + exp(LPRk )
(measurement prediction) likelihood.

E. Özkan Target Tracking October 29, 2014 15 / 31 E. Özkan Target Tracking October 29, 2014 16 / 31

Score based approach (SPRT) cont’d Score based approach (SPRT) cont’d

Making decisions based on LPRk


How to calculate the score:
Finding thresholds for LP Rk
With missing (no) measurement i.e., yk = φ
1 − PT M Probability of accepting a true track
LPRk =LPRk−1 + log(1 − PD PG ) γhigh = log = log
PF C Probability of accepting a false track
PT M Probability of rejecting a true track
Making decisions based on LPRk γlow = log = log
1 − PF C Probability of rejecting a false track
Design parameters:
PF C The probability with which you can tolerate your tracker accept Decision mechanism:
(confirm) false tracks. i.e., False track confirmation probability. • LP Rk ≥ γhigh : Confirm the tentative track. i.e., Accept H1 .
PT M The probability with which you can tolerate your tracker delete (reject) • LP Rk ≤ γlow : Delete the tentative track. i.e., Accept H0 .
true tracks. i.e., True track miss probability. • γlow < LP Rk < γhigh : Not enough evidence, continue testing, i.e.,
leave the tentative track as it is.

E. Özkan Target Tracking October 29, 2014 17 / 31 E. Özkan Target Tracking October 29, 2014 18 / 31
How to Delete Confirmed Tracks: M/N -logic case How to Delete Confirmed Tracks: Score case

Confirmed tracks are, most of the time, deleted if they do not get any Score calculation also takes into account the suitability of the target
gated measurements for a while. behavior to the model used for target state dynamics.
In a scenario where one uses M/N -logic for track initiation, one can If the target gets still some measurements inside the gate but the
delete tracks if the track is not updated with a gated measurement incoming measurements are quite wrongly predicted, a score based
for ND scans. criterion can still be used for deleting confirmed tracks.
Another M/N logic can also be constructed also for confirmed track Problem is that absolute score value becomes highly biased towards
deletion. previous “good” measurements. It takes forever to delete a target
that has long been tracked.
Example: 2/2&2/3 track deletion logic: Delete the confirmed track if
the track is not updated for two consecutive scans and not updated in Either use a sliding window or a fading memory
at least 2 of the three following scans. k
X
When KF’s are not updated for several scans, the innovation LP Rk = ∆LP Ri LP Rk = αLP Rk−1 + ∆LP Rk
covariances (determining the gate size) also become larger. A check i=k−N +1
on the gate size can also be useful in deletion.
with a careful threshold selection (note that α < 1).

E. Özkan Target Tracking October 29, 2014 19 / 31 E. Özkan Target Tracking October 29, 2014 20 / 31

How to Delete Confirmed Tracks: Score case cont’d Higher level track initiation logic

What Blackman proposes in the book is to use the decrease from the
Now that we know how to process a sequence of measurements y0:k
maximum value reached. With this method:
to decide whether it is a track or not.
• Think of an hypothetical event that you would like to delete the target
e.g. 5 consecutive “no measurements in the gate” events and calculate Generating such sequence of measurements is the job of a higher level
the decrease in the score that would happen processing.
This level requires some data abstraction for the illustration of an
DLP R = 5 log(1 − PG PD ) (a negative quantity)
example algorithm.
• Keep the maximum values reached by the scores of every track during We consider objects called “Initiator” each one of them corresponding
the tracks lifetime. Call this value to tentative tracks and keeping some level of its own history. An
j
MLP max LP Rji example can be
R,k =
0≤i≤k−1 Initiator:
• Age • Last update time
Delete the track j if
• State estimate • M/N logic state
LP Rjk < MLP
j
R,k + DLP R • State covariance • Score

E. Özkan Target Tracking October 29, 2014 21 / 31 E. Özkan Target Tracking October 29, 2014 22 / 31
Higher level logic: Illustration with 2/2&2/3 logic Higher level logic: Illustration with 2/2&2/3 logic

I1
Measurements

Measurements
I2

I3

time time
0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31 0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31

Higher level logic: Illustration with 2/2&2/3 logic Higher level logic: Illustration with 2/2&2/3 logic

I1 I1 I1
Measurements

Measurements
I4

I2 I2

I3
I3 I3

time time
0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31 0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31
Higher level logic: Illustration with 2/2&2/3 logic Higher level logic: Illustration with 2/2&2/3 logic

I1
I1 I1 I1 I1
Measurements

Measurements
I4 I4
I4
I2 I2
I3
I3 I3
I3 I3

time time
0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31 0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31

Higher level logic: Illustration with 2/2&2/3 logic Higher level logic: Illustration with 2/2&2/3 logic

I1 I1 I1
I1 I1 I1 I1

I5
Measurements

Measurements
I4 I4 I4
I4 I4 I3
I2 I2
I3 I3
I3 I3
I3 I3

time time
0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31 0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31
Higher level logic: Illustration with 2/2&2/3 logic Higher level logic: Illustration with 2/2&2/3 logic

I1 I1 I1 I1
I1 I1 I1 I1 I1

I5 I5
Measurements

Measurements
I4 I4 I4 I4
I4 I3 I4 I3
I2 I2 I3
I3 I3
I3 I3
I3 I3

time time
0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31 0
E. Özkan 1 2 Target 3Tracking 4 5 6 29, 2014
October 23 / 31

Higher level logic: Verbal Description Higher level logic: Implementation Advice

In the implementation of exercises, you can use whatever type of


Time k = 0: Initialize tentative tracks from all measurements. programming you like. The following are general advice if you want some.
Time k > 0:
Try to be as object oriented as possible.
• Gate the measurements with the current initiators.
• Make a simple association of gated measurements to the current Define an initiator (or tentative) object (struct or class).
initiators. Notice that with the tentative tracks, the association Write the following functions
problem is not as critical as it is in confirmed tracks. • Initator=Initializer(InitiatingMeasurement) (constructor)
• Process the current initiators with their associated measurements. • GateDecisions=Gating(InitiatorArray,MeasurementSet)
Update their kinematic estimates, covariances, M/N -logic states, or • AssociationDecisions=Associate(InitiatorArray...
scores etc.. ...,MeasurementSet,GateDecisions)
• Start new initiators from un-used measurements. • UpdatedInitiatorArray=Update(InitiatorArray...
• Check updated M/N -logic states or scores and confirm, delete those ...,MeasurementSet,AssociationDecisions)
initiators (tentative tracks) satisfying the related criteria. • flags=CheckConfirm(InitiatorArray)
• flags=CheckDelete(InitiatorArray)

E. Özkan Target Tracking October 29, 2014 24 / 31 E. Özkan Target Tracking October 29, 2014 25 / 31
Single Target Data Association: NN Single Target Data Association: NN cont’d

Nearest neighbor association rule: Choose the


closest measurement to the measurement prediction
yk2 Other measurements in the gate: If there are other measurements in
in the gate in the sense that
the gate than the one selected by the NN rule, their transfer to the
−1
i∗ = arg min (yki − ŷk|k−1 )T Sk|k−1 (yki − ŷk|k−1 ) yk5
yk3
yk4
initiation logic is application dependent.
1≤i≤mG
k ŷk|k−1
yk1 If it is known that there might be closely spaced targets, and the
where mG sensor reports are accurate, then they can be sent to the higher
k is the number of measurement in the
gate. initiation logic to be further processed. i.e., to be started with
tentative tracks.
The target is updated with the selected measurement and the
measurement is not further processed by either initiators or other If the sensor reports are noisy, or the targets are extended with
targets (if any). respect to sensor resolution, sometimes people choose to forget about
them forever.
The measurements outside the gate are certainly sent to higher level
initiator logic to be processed.

E. Özkan Target Tracking October 29, 2014 26 / 31 E. Özkan Target Tracking October 29, 2014 27 / 31

Single Target Data Association: PDA Single Target Data Association: PDA cont’d

Probabilistic data association: NN is a hard decision mechanism. Soft


version of it is to not make a hard decision but use all of the
measurements in the gate to the extent that they suit the prediction. (
p(xk |Y0:k−1 ), i=0
Measurements in the gate are shown as Yk = {yki }m k
i=1 . We have the p(xk |θi , Y0:k ) = i
following hypotheses about these measurements p(xk |Y0:k−1 , yk ), otherwise

θ0 ={All of Yk is FA i.e., no target originated measurement in the gate.} In the special case of a Kalman filter
θi ={Measurement yki belongs to target, all the rest are FA.}
(
i x̂k|k−1 i=0
x̂k|k = i
x̂k|k−1 + Kk (yk − ŷk|k−1 ), otherwise
for i = 1, . . . , mk . Then, the estimated density (
yk2
p(xk |Y0:k ) can be calculated using total probability Σk|k−1 i=0
Σik|k = T
theorem as Σk|k−1 − Kk Sk|k−1 Kk , otherwise
yk3
mk yk5 yk4
X ŷk|k−1
yk1
p(xk |Y0:k ) = p(xk |θi , Y0:k ) p(θi |Y0:k ) Note that the quantities Σik|k and Kk , are the same for i = 1, . . . , mk .
| {z }
i=0
,µik

E. Özkan Target Tracking October 29, 2014 28 / 31 E. Özkan Target Tracking October 29, 2014 29 / 31
Single Target Data Association: PDA cont’d References
In the KF case, the overall state estimate x̂k|k can be calculated as
mk
µik x̂ik|k = x̂k|k−1 + Kk (ykeq − ŷk|k−1 )
X
x̂k|k =
i=0
Y. Bar-Shalom, “Dimensionless score function for multiple hypothesis tracking” IEEE
Transactions on Aerospace and Electronic Systems, vol.43, no.1, pp.392–400, Jan. 2007.
where S. Blackman and R. Popoli, Design and Analysis of Modern Tracking Systems.
mk Norwood, MA: Artech House, 1999.
ykeq = µ0k ŷk|k−1 +
X
µik yki Y. Bar-Shalom and X. R. Li, Multitarget-Multisensor Tracking: Principles, Techniques.
i=1 Storrs, CT: YBS Publishing, 1995.
is the equivalent measurement. M. Mallick, B. La Scala, “Comparison of single-point and two-point difference track
The covariance Σk|k corresponding to x̂k|k is given by initiation algorithms using position measurements”, Acta Automatica Sinica, vol.34, no.3,
pp.258–265, Mar. 2008.
mk
X h i
Σk|k = µik Σik|k + (x̂ik|k − x̂k|k )(x̂ik|k − x̂k|k )T
i=0

Calculation of the probabilities µik is quite involved.


E. Özkan Target Tracking October 29, 2014 30 / 31 E. Özkan Target Tracking October 29, 2014 31 / 31

You might also like