Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

METULecture 3

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Lecture Outline

Target Tracking: Lecture 3


Single Target Tracking Issues Track life
Gating
M/N logic based track life
Umut Orguner Score based track life
umut@metu.edu.tr Confirmed track deletion
room: EZ-12 tel: 4425
Single Target Data Association
Department of Electrical & Electronics Engineering Nearest neighbors (NN)
Middle East Technical University Probabilistic data association (PDA)
Ankara, Turkey

1 / 33 2 / 33

Basic ideas on track life Curse of combinations!

We cannot consider all target-measurement combinations when the


False alarms and clutter complicate target tracking even if we number of involved quantities is & 10. The combinatorics and
know that there is at most one target. related probabilities becomes trouble in this case (even if most of
Track initiation: Form tentative tracks and confirm only the probabilities turn out to be almost zero in machine precision).
the persistent ones (ones getting data).
Gates and Gating
Track maintenance: Feed the confirmed tracks with only
relevant data. Closely related to data association. Measure Gating is the hard decisions made about which measurements
“quality” if possible. are considered as valid (feasible) measurements for a target.
Track deletion: Delete tracks with persistent absence of data The region in the measurement space that the feasible
or with low “quality”. measurements for a target is allowed to be is called as target’s
gate.

3 / 33 4 / 33
Gating Illustration Gating Choices

Many different choices are possible which are basically a form of


distance measuring between the predicted measurement and the
yk2
yk1 3
measurements depending on the target uncertainty.
ŷk|k−1
Rectangular (low computation)
y yk3
yk4 |ykx − ŷk|k−1
x x
| ≶ κσk|k−1 |yky − ŷk|k−1
y y
| ≶ κσk|k−1
yk5
1
ŷk|k−1 2
ŷk|k−1 where κ is generally ≥ 3.
yk7
yk6
Ellipsoidal (most common)
−1
(yk − ŷk|k−1 )T Sk|k−1 (yk − ŷk|k−1 ) ≶ γG

x where γG is the gate threshold.


i
ŷk|k−1 : Predicted measurement position for the ith target
ykj : jth measurement
5 / 33 6 / 33

Ellipsoidal Gating Demystified Ellipsoidal Gating Demystified


When the target state and measurement models are correct When the target state and measurement models are correct

ỹk , yk − ŷk|k−1 ∼ N (0ny , Sk|k−1 ) ỹk , yk − ŷk|k−1 ∼ N (0ny , Sk|k−1 )

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

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

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.9 0.9 0.9 0.9


n=1 PG = 0.9 n=1 PG = 0.9
0.8 n=2 0.8 0.8 n=2 0.8
n=3 n=3
0.7 0.7 0.7 0.7
n=4 n=4
n=5 n=5
0.6 0.6 0.6 0.6

0.5 γG = 4.7 0.5 0.5 γG = 4.7 0.5

0.4 0.4 n=1 0.4 0.4 n=1


n=2 n=2
0.3 0.3 n=3 0.3 0.3 n=3
n=4 n=4
0.2 0.2 0.2 0.2
n=5 n=5
0.1 0.1 0.1 0.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

chi2pdf(.,n) chi2cdf(.,n) chi2pdf(.,n) chi2cdf(.,n)


Magic Command
Use γG =chi2inv(PG ,ny ) to get your unitless threshold.

8 / 33 8 / 33

Gating at k = 1 Gating at k = 1

Filter Initiation

Example-1: Cartesian state, position only measurements:


Gating should be possible after getting the first measurement
y0 at time k = 0. In other words, at time k = 1, the gating xk , xk yk vkx vky
 T
should be applied on y1 .  T  x y T
yk , xk yk + ek ek
For this, ŷ1|0 and S1|0 should be calculated.
With a single measurement, it might generally not be possible where exk ∼ N (0, rx ) and eyk ∼ N (0, ry ).
to form a proper state covariance P0|0 .
Use measurement covariance and prior info about the target Suppose we got y0 , what would be x̂0|0 and P0|0 ?
to form an initial state covariance P0|0 .  T
x̂0|0 = x0 y0 0 0
x
/κ)2 , (vmax
y
/κ)2

P0|0 = diag rx , ry , (vmax

This is called single point initiation [Mallick (2008)] in the


literature.
9 / 33 10 / 33
Gating at k = 1 Gating at k = 1

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

Tentative track (initiator) Measurement in gate


Deleted initiator No measurement in gate
Confirmed initiator
13 / 33 14 / 33
Track Initiation & Deletion: M/N logic Track Initiation & Deletion: Score based approach (SPRT)

Suppose we have a measurement sequence y0:k (yi can be φ empty


set.). Consider two hypotheses about it.
Simple counting based
low-computation track H0 : All measurements originate from F A
initiation. H1 : All measurements originate from a single N T
Track (for not tentative but

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

Confirmed tracks are, most of the time, deleted because they do


Making decisions based on LPRk not get any gated measurements.
Finding thresholds for LP Rk In a scenario where one uses M/N -logic for track initiation,
1 − PT M Probability of accepting a true track one can delete tracks if the track is not updated with a
γhigh = log = log gated measurement for ND scans.
PF C Probability of accepting a false track
PT M Probability of rejecting a true track Another M/N logic can also be constructed also for
γlow = log = log confirmed track deletion.
1 − PF C Probability of rejecting a false track
Example: 2/2&2/3 track deletion logic: Delete the confirmed
Decision mechanism: track if the track is not updated for two consecutive scans and
LP Rk ≥ γhigh : Confirm the tentative track. i.e., Accept H1 .
not updated in at least 2 of the three following scans.
LP Rk ≤ γlow : Delete the tentative track. i.e., Accept H0 .
γlow < LP Rk < γhigh : Not enough evidence, continue When KF’s are not updated for several scans, the innovation
testing, i.e., leave the tentative track as it is. covariances (determining the gate size) also become larger. A
check on the gate size can also be useful in deletion.

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

Now that we know how to process a sequence of


measurements y0:k to decide whether it is a track or not.
Generating such sequence of measurements is the job of a
higher level track initiation 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

Higher level logic


I1 I1 Time k = 0: Initialize tentative tracks from all measurements.
I1 I1 I1 Time k > 0:
Gate the measurements with the current initiators.
Make a simple association of gated measurements to the
I5
Measurements

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

e.g., Write the following functions where mG k is the number of measurement in


Initator=Initializer(InitiatingMeasurement) (constructor) the gate.
GateDecisions=Gating(InitiatorArray,MeasurementSet)
AssociationDecisions=Associate(InitiatorArray... The target is updated with the selected measurement and the
...,MeasurementSet,GateDecisions) measurement is not further processed by either initiators or
UpdatedInitiatorArray=Update(InitiatorArray... other targets (if any).
...,MeasurementSet,AssociationDecisions) The measurements outside the gate are certainly sent to
flags=CheckConfirm(InitiatorArray)
higher level initiator logic to be processed.
flags=CheckDelete(InitiatorArray)

26 / 33 27 / 33

Single Target Data Association: NN Single Target Data Association: PDA

Probabilistic data association: NN is a hard decision mechanism.


Other measurements in the gate: If there are other Soft version of it is to not make a hard decision but use all of the
measurements in the gate than the one selected by the NN rule, measurements in the gate to the extent that they suit the
their transfer to the initiation logic is application dependent. prediction. Measurements in the gate are shown as Yk = {yki }m k
i=1 .
We have the following hypotheses about these measurements
If it is known that there might be closely spaced targets, and
the sensor reports are accurate, then they can be sent to the θ0 ={All of Yk is FA i.e., no target originated measurement in the gate.}
higher initiation logic to be processed further i.e., to be
θi ={Measurement yki belongs to target, all the rest are FA.}
started with tentative tracks.
If the sensor reports are noisy, or the targets are extended with
for i = 1, . . . , mk . Then, the estimated density
respect to sensor resolution, sometimes people choose to
p(xk |Y0:k ) can be calculated using total yk2
forget about them forever. An example is the rotor blades of
probability theorem as
the helicopter in the following video. yk3
yk4
mk yk5
http://www.youtube.com/watch?v=iUx1msxDyw8 X yk1 ŷk|k−1
p(xk |Y0:k ) = p(xk |θi , Y0:k ) p(θi |Y0:k )
| {z }
i=0
,µik

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

Calculation of the probabilities µik References

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

You might also like