Lecture 2
Lecture 2
LERTEKNIK
REG
AU L
T O MA RO
T IC C O N T
E. Özkan Target Tracking October 29, 2014 1 / 31 E. Özkan Target Tracking October 29, 2014 2 / 31
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
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 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
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
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
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
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
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
θ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