METULecture 3
METULecture 3
METULecture 3
1 / 33 2 / 33
3 / 33 4 / 33
Gating Illustration Gating Choices
Suppose Sk|k−1 = Uk UkT where Uk is invertible. Then, Suppose Sk|k−1 = Uk UkT where Uk is invertible. Then,
−1 2 2
ỹkT Sk|k−1 ỹk = ỹkT Uk−T Uk−1 ỹk = kUk−1 ỹk k2 , kuk k22 −1
ỹkT Sk|k−1 ỹk = ỹkT Uk−T Uk−1 ỹk = kUk−1 ỹk k2 , kuk k22
where where
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.
7 / 33 7 / 33
Ellipsoidal Gating Demystified Ellipsoidal Gating Demystified
−1 −1
Gate statistic ỹkT Sk|k−1 ỹk is χ2ny -distributed. Gate statistic ỹkT Sk|k−1 ỹk is χ2ny -distributed.
1 1 1 1
0 0 0 0
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
8 / 33 8 / 33
Gating at k = 1 Gating at k = 1
Filter Initiation
Filter Initiation
Filter Initiation
Example-2: Cartesian state, bearing only measurements:
Example-1: An alternative is T
xk , xk yk vkx vky
Do the first gating with ky1 − y0 k ≤ T vmax .
When the gate is satisfied, form the state estimate and yk , arctan(yk /xk ) + eφk
covariance as
where eφk ∼ N (0, rφ ).
y1 −y0 T
x̂1|1 = x1 y1 x1 −x
0
T T
Suppose we got y0 , what would be x̂0|0 and P0|0 ?
rx 0 rx /T 0
0 ry 0 ry /T T
P1|1 = 2
x̂0|0 = p2c [rnominal , y0 ] 0 0
rx /T 0 2rx /T 0 h
0 ry /T 0 2ry /T 2 P0|0 = blkdiag ∇ p2c × diag [(rmax − rmin )/κ]2 , rφ × ∇T p2c
i
x
This method is called as two-point difference initiation in the , (vmax /κ)2 , (vmax
y
/κ)2
literature [Mallick (2008)].
where p2c denotes the polar to Cartesian transformation.
11 / 33 12 / 33
Track Initiation & Deletion Track Initiation & Deletion: M/N logic
Example: “2/2&2/3” logic
time
k
In general, each measurement arriving from the sensor should
either k+1
update a confirmed track
start a tentative track (initiator).
k+2
Tentative tracks are generated to confirm or deny that a
sequence of measurements comes from an actual target. k+3
There are two methods to confirm or delete a tentative track:
M/N Logic: k+4
Score
Position
confirmed ones) deletion Define the score (denoted as LPRk meaning log probability
happens in the case of a ratio) of a (possibly tentative) track (or target) as
predefined consecutive
P (H1 |y0:k )
number of misses (no LPRk = log
measurement in the gate). P (H0 |y0:k )
time
Independent of the track k k+1 k+2 k+3 k+4 k+5 k+6 Since P (H0 |y0:k ) = 1 − P (H1 |y0:k ), we have
quality as long as gate These two tracks are equivalent
criteria is satisfied. according to M/N logic. exp(LPRk )
P (H1 |y0:k ) =
1 + exp(LPRk )
15 / 33 16 / 33
Track Initiation & Deletion: Score based approach (SPRT) Track Initiation & Deletion: Score based approach (SPRT)
How to calculate the score:
With the initial data y0 6= φ (first data of an initiator) How to calculate the score:
p(y0 |H1 )P (H1 ) βN T With missing (no) measurement i.e., yk = φ
LPR0 = log = log +C
p(y0 |H0 )P (H0 ) βF A
LPRk =LPRk−1 + log(1 − PD PG )
where βN T and βF A are new target and false alarms rates
respectively. Making decisions based on LPRk
–PD is the detection probability. Design parameters:
–Setting LPR0 = 0 is also a common choice.
PF C : The probability with which you can tolerate your tracker
With new measurement yk 6= φ accept (confirm) false tracks. i.e., False track confirmation
p(yk |y0:k−1 , H1 ) PD pk|k−1 (yk ) probability.
LPRk =LPRk−1 + log = LPRk−1 + log PT M : The probability with which you can tolerate your tracker
p(yk |y0:k−1 , H0 ) βF A
delete (reject) true tracks. i.e., True track miss probability.
where pk|k−1 (yk ) , N (yk ; ŷk|k−1 , Sk|k−1 ) is the innovation
(measurement prediction) likelihood.
17 / 33 18 / 33
Track Initiation & Deletion: Score based approach (SPRT) How to Delete Confirmed Tracks: M/N -logic case
19 / 33 20 / 33
How to Delete Confirmed Tracks: Score case How to Delete Confirmed Tracks: Score case
Score calculation also takes into account the suitability of the What Blackman proposes in the book is to use the decrease
target behavior to the model used for target state dynamics. from the maximum value reached. With this method:
If the target gets still some measurements inside the gate but Think of an hypothetical event that you would like to delete
the target e.g. 5 consecutive “no measurements in the gate”
the incoming measurements are quite wrongly predicted, a
events and calculate the decrease in the score that would
score based criterion can still be used for deleting confirmed happen
tracks.
Problem is that absolute score value becomes highly biased DLP R = 5 log(1 − PG PD ) (a negative quantity)
towards previous “good” measurements. It takes forever to Keep the maximum values reached by the scores of every track
delete a target that has long been tracked. during the tracks lifetime. Call this value
Either use a sliding window or a fading memory j
MLP R,k = max LP Rji
0≤i≤k−1
k
X
LP Rk = ∆LP Ri LP Rk = αLP Rk−1 + ∆LP Rk Delete the track j if
i=k−N +1
LP Rjk < MLP
j
R,k + DLP R
with a careful threshold selection (note that α < 1).
21 / 33 22 / 33
Higher level track initiation logic Higher level logic: Illustration with 2/2&2/3 logic
Measurements
This level requires some data abstraction for the illustration of
an example algorithm.
We consider objects called “Initiator” each one of them
corresponding to tentative tracks and keeping some level of its
own history. An example can be
Initiator:
Age Last update time
State estimate M/N logic state
State covariance Score
time
0 1 2 3 4 5 6
23 / 33 24 / 33
Higher level logic: Illustration with 2/2&2/3 logic Higher level logic: Illustration with 2/2&2/3 logic
I1 I1
Measurements
I2 Measurements I2
I3 I3
time time
0 1 2 3 4 5 6 0 1 2 3 4 5 6
24 / 33 24 / 33
Higher level logic: Illustration with 2/2&2/3 logic Higher level logic: Illustration with 2/2&2/3 logic
I1 I1 I1 I1
Measurements
Measurements
I4 I4
I2 I2
I3 I3
I3 I3
time time
0 1 2 3 4 5 6 0 1 2 3 4 5 6
24 / 33 24 / 33
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
Measurements
Measurements
I4 I4
I4 I4
I2 I2
I3 I3
I3 I3
I3 I3
time time
0 1 2 3 4 5 6 0 1 2 3 4 5 6
24 / 33 24 / 33
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
I5 I5
Measurements
Measurements
I4 I4 I4 I4
I4 I3 I4 I3
I2 I2
I3 I3
I3 I3
I3 I3
time time
0 1 2 3 4 5 6 0 1 2 3 4 5 6
24 / 33 24 / 33
Higher level logic: Illustration with 2/2&2/3 logic Higher level logic: Verbal Description
current initiators.
e.g., give a measurement in conflict to the oldest initiator.
e.g., assign a tentative track to the closest measurement in its
I4 I4 gate.
I4 I3 Notice that with the tentative tracks, the association problem
is not as critical as it is with confirmed tracks.
I2 I3
Process the current initiators with their associated
I3 measurements. Update their kinematic estimates, covariances,
I3 M/N -logic states, or scores etc..
I3 Start new initiators from un-used measurements.
Check updated M/N -logic states or scores and confirm, delete
those initiators (tentative tracks) satisfying the related criteria.
time
0 1 2 3 4 5 6
24 / 33 25 / 33
Higher level logic: Implementation Advice Single Target Data Association: NN
In the implementation of exercises, you can use whatever type of Nearest neighbor association rule: Choose
programming you like. The following are general advice if you want the closest measurement to the measurement
yk2
some. prediction in the gate in the sense that
−1
Try to be as object oriented as possible. i∗ = arg min (yki − ŷk|k−1 )T Sk|k−1 (yki − ŷk|k−1 ) yk5
yk3
yk4
1≤i≤mG yk1 ŷk|k−1
Define an initiator (or tentative) object (struct or class). k
26 / 33 27 / 33
28 / 33 29 / 33
Single Target Data Association: PDA Single Target Data Association: PDA
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 =
p(xk |Y0:k−1 ), i=0 i=0
p(xk |θi , Y0:k ) = i
p(xk |Y0:k−1 , yk ), otherwise where
mk
ykeq
X
In the special case of a Kalman filter = µ0k ŷk|k−1 + µik yki
( i=1
i x̂k|k−1 , i=0 is the equivalent measurement.
x̂k|k = i
x̂k|k−1 + Kk (yk − ŷk|k−1 ), otherwise The covariance Σk|k corresponding to x̂k|k is given by
(
mk
Σk|k−1 , i=0 h i
Σik|k =
X
T Σk|k = µik Σik|k + (x̂ik|k − x̂k|k )(x̂ik|k − x̂k|k )T
Σk|k−1 − Kk Sk|k−1 Kk , otherwise
i=0
mk mk
Note that the quantities Σik|k and Kk , are the same for
X X
= µik Σik|k + µik (x̂ik|k − x̂k|k )(x̂ik|k − x̂k|k )T
i = 1, . . . , mk . i=0
|i=0 {z }
spread of the means
30 / 33 31 / 33
First calculate
( Y. Bar-Shalom, “Dimensionless score function for multiple hypothesis tracking”
(1 − PD PG )βF A , i = 0 IEEE Transactions on Aerospace and Electronic Systems, vol.43, no.1,
i
µ̃k = pp.392–400, Jan. 2007.
PD pk|k−1 (yki ), otherwise
S. Blackman and R. Popoli, Design and Analysis of Modern Tracking Systems.
where pk|k−1 (yk ) , N (yk ; ŷk|k−1 , Sk|k−1 ) is the innovation Norwood, MA: Artech House, 1999.
(measurement prediction) likelihood. Y. Bar-Shalom and X. R. Li, Multitarget-Multisensor Tracking: Principles,
Techniques. Storrs, CT: YBS Publishing, 1995.
Then normalize µ̃ik to obtain µik .
M. Mallick, B. La Scala, “Comparison of single-point and two-point difference
µ̃ik track initiation algorithms using position measurements”, Acta Automatica
µik = Pmk i Sinica, vol.34, no.3, pp.258–265, Mar. 2008.
i=0 µ̃k
32 / 33 33 / 33