1. L INEAR DYNAMICAL M ODELS
IIT Kharagpur
Computer Science and Engineering,
Indian Institute of Technology
Kharagpur.
,
1 / 23
2. Problems addressed in Tracking
P REDICTION :
P Xi | Y0 = y0 , . . . , Yi−1 = yi−1
DATA A SSOCIATION :
The prediction of the object’s state is used
to identify the measurements in the current
frame.
C ORRECTION :
P Xi | Y0 = y0 , . . . , Yi−1 = yi−1 , Yi = yi
,
2 / 23
3. Independence Assumptions
Only the immediate past matters.
P (Xi | X1 , . . . , Xi−1 ) = P (Xi | Xi−1 )
Conditional independence of measurements.
P Yi , Yj , . . . , Yk | Xi = P (Yi | Xi ) P Yj , . . . , Yk | Xi
,
3 / 23
4. Tracking as Inference
P y0 | X0 P (X0 )
P X0 | Y0 = y0 =
P y0
P y0 | X0 P (X0 )
=
P y0 | X0 P (X0 ) dX0
∝ P y0 | X0 P (X0 )
,
4 / 23
5. Prediction
P Xi | y0 , . . . , yi−1
= P Xi , Xi−1 | y0 , . . . , yi−1 dXi−1
,
5 / 23
6. Prediction
P Xi | y0 , . . . , yi−1
= P Xi , Xi−1 | y0 , . . . , yi−1 dXi−1
= P Xi | Xi−1 , y0 , . . . , yi−1 P Xi−1 | y0 , . . . yi−1 dXi−1
,
5 / 23
7. Prediction
P Xi | y0 , . . . , yi−1
= P Xi , Xi−1 | y0 , . . . , yi−1 dXi−1
= P Xi | Xi−1 , y0 , . . . , yi−1 P Xi−1 | y0 , . . . yi−1 dXi−1
= P (Xi | Xi−1 ) P Xi−1 | y0 , . . . yi−1 dXi−1
,
5 / 23
8. Correction
P Xi | y0 , . . . , yi−1 , yi
P Xi , y0 , . . . , yi−1 , yi
=
P y0 , . . . , yi−1 , yi
,
6 / 23
9. Correction
P Xi | y0 , . . . , yi−1 , yi
P Xi , y0 , . . . , yi−1 , yi
=
P y0 , . . . , yi−1 , yi
P yi | Xi , y0 , . . . , yi−1 P Xi | y0 , . . . , yi−1 P y0 , . . . , yi−1
=
P y0 , . . . , yi−1 , yi
,
6 / 23
10. Correction
P Xi | y0 , . . . , yi−1 , yi
P Xi , y0 , . . . , yi−1 , yi
=
P y0 , . . . , yi−1 , yi
P yi | Xi , y0 , . . . , yi−1 P Xi | y0 , . . . , yi−1 P y0 , . . . , yi−1
=
P y0 , . . . , yi−1 , yi
P y0 , . . . , yi−1
= P yi | Xi P Xi | y0 , . . . , yi−1
P y0 , . . . , yi−1 , yi
,
6 / 23
11. Correction
P Xi | y0 , . . . , yi−1 , yi
P Xi , y0 , . . . , yi−1 , yi
=
P y0 , . . . , yi−1 , yi
P yi | Xi , y0 , . . . , yi−1 P Xi | y0 , . . . , yi−1 P y0 , . . . , yi−1
=
P y0 , . . . , yi−1 , yi
P y0 , . . . , yi−1
= P yi | Xi P Xi | y0 , . . . , yi−1
P y0 , . . . , yi−1 , yi
P yi | Xi P Xi | y0 , . . . , yi−1
=
P yi | Xi P Xi | y0 , . . . , yi−1 dXi
,
6 / 23
13. Kalman Filtering
The dynamic model:
xi ∼ N di xi−1 , σ2i
d
Gaussian Distributions
(Normal Distributions)
N mi xi , σ2 i
yi ∼ m
Tracking implies maintaining a representation of:
P Xi | y0 , . . . , yi−1
P Xi−1 | y0 , . . . , yi−1 , yi
,
8 / 23
14. Notation
What we have to estimate:
−
Xi σi− P Xi | y0 , . . . , yi−1
+
Xi σi+ P Xi | y0 , . . . , yi−1 , yi
What we know:
+ +
Xi−1 σi−1 P Xi−1 | y0 , . . . , yi−1
,
9 / 23
15. Tricks with the integrals
A new notation:
2
x−µ
g x ; µ, v = exp −
2v
,
10 / 23
16. Tricks with the integrals
A new notation:
2
x−µ
g x ; µ, v = exp −
2v
Some convenient transformations:
g x ; µ, v = g x − µ ; 0, v
,
10 / 23
17. Tricks with the integrals
A new notation:
2
x−µ
g x ; µ, v = exp −
2v
Some convenient transformations:
g x ; µ, v = g x − µ ; 0, v
g(m ; n, v) = g(n ; m, v)
,
10 / 23
18. Tricks with the integrals
A new notation:
2
x−µ
g x ; µ, v = exp −
2v
Some convenient transformations:
g x ; µ, v = g x − µ ; 0, v
g(m ; n, v) = g(n ; m, v)
µ v
g ax ; µ, v = gx ; a , a2
,
10 / 23
19. Tricks with Integrals
∞
g x − u ; µ, va g u ; 0, vb du ∝
−∞
g x ; µ, v2 + v2
a b
,
11 / 23
20. Tricks with Integrals
∞
g x − u ; µ, va g u ; 0, vb du ∝
−∞
g x ; µ, v2 + v2
a b
ad + cb bd
g(x ; a, b) g(x ; c, d) = g x ; , f (a, b, c, d)
b+d b+d
,
11 / 23
21. Prediction P Xi | y0 , . . . , yi−1
∞
= P (Xi | Xi−1 ) P Xi−1 | y0 , . . . , yi−1 dXi−1
−∞
,
12 / 23
22. Prediction P Xi | y0 , . . . , yi−1
∞
= P (Xi | Xi−1 ) P Xi−1 | y0 , . . . , yi−1 dXi−1
−∞
+ + 2
∝ g Xi ; di Xi−1 , σ2i
d g Xi−1 ; Xi−1 , σi−1 dXi−1
,
12 / 23
23. Prediction P Xi | y0 , . . . , yi−1
∞
= P (Xi | Xi−1 ) P Xi−1 | y0 , . . . , yi−1 dXi−1
−∞
+ + 2
∝ g Xi ; di Xi−1 , σ2i
d g Xi−1 ; Xi−1 , σi−1 dXi−1
+ + 2
∝ g Xi −di Xi−1 ; 0, σ2i g Xi−1 −Xi−1 ; 0, σi−1
d dXi−1
,
12 / 23
24. Prediction P Xi | y0 , . . . , yi−1
∞
= P (Xi | Xi−1 ) P Xi−1 | y0 , . . . , yi−1 dXi−1
−∞
+ + 2
∝ g Xi ; di Xi−1 , σ2i
d g Xi−1 ; Xi−1 , σi−1 dXi−1
+ + 2
∝ g Xi −di Xi−1 ; 0, σ2i g Xi−1 −Xi−1 ; 0, σi−1
d dXi−1
+ + 2
∝ g Xi −di u + Xi−1 ; 0, σ2i g u ; 0, σi−1
d du
,
12 / 23
25. Prediction P Xi | y0 , . . . , yi−1
∞
= P (Xi | Xi−1 ) P Xi−1 | y0 , . . . , yi−1 dXi−1
−∞
+ + 2
∝ g Xi ; di Xi−1 , σ2i
d g Xi−1 ; Xi−1 , σi−1 dXi−1
+ + 2
∝ g Xi −di Xi−1 ; 0, σ2i g Xi−1 −Xi−1 ; 0, σi−1
d dXi−1
+ + 2
∝ g Xi −di u + Xi−1 ; 0, σ2i g u ; 0, σi−1
d du
+ + 2
∝ g Xi −di u ; di Xi−1 , σ2i g u ; 0, σi−1
d du
,
12 / 23
26. Prediction P Xi | y0 , . . . , yi−1
∞
= P (Xi | Xi−1 ) P Xi−1 | y0 , . . . , yi−1 dXi−1
−∞
+ + 2
∝ g Xi ; di Xi−1 , σ2i
d g Xi−1 ; Xi−1 , σi−1 dXi−1
+ + 2
∝ g Xi −di Xi−1 ; 0, σ2i g Xi−1 −Xi−1 ; 0, σi−1
d dXi−1
+ + 2
∝ g Xi −di u + Xi−1 ; 0, σ2i g u ; 0, σi−1
d du
+ + 2
∝ g Xi −di u ; di Xi−1 , σ2i g u ; 0, σi−1
d du
+ + 2
∝ g Xi −v ; di Xi−1 , σ2i g v ; 0, di σi−1
d dv
,
12 / 23
27. Prediction 1-D state vector
P Xi | y0 , . . . , yi−1
+ + 2
∝ g Xi −v ; di Xi−1 , σ2i g v ; 0, di σi−1
d dv
+ + 2
∝ g Xi ; di X0 , σ2i + di σi−1
d
,
13 / 23
28. Prediction 1-D state vector
P Xi | y0 , . . . , yi−1
+ + 2
∝ g Xi −v ; di Xi−1 , σ2i g v ; 0, di σi−1
d dv
+ + 2
∝ g Xi ; di X0 , σ2i + di σi−1
d
− +
Xi = di Xi−1
2 2
+
σi−1
−
= σ2i + di σi−1
d
,
13 / 23
29. Correction 1-D state vector
P yi | Xi P Xi | y0 , . . . , yi−1
P Xi | y0 , . . . , yi−1 , yi =
P yi | Xi P Xi | y0 , . . . , yi−1 dXi
∝ P yi | X i P Xi | y0 , . . . , yi−1
We know P Xi | y0 , . . . , yi−1
−
we know Xi and σi−
,
14 / 23
30. Correction 1-D state vector
− 2
P Xi | y0 , . . . , yi−1 , yi ∝ g yi ; mi Xi , σ2 i g Xi ; Xi , σi−
m
,
15 / 23
31. Correction 1-D state vector
− 2
P Xi | y0 , . . . , yi−1 , yi ∝ g yi ; mi Xi , σ2 i g Xi ; Xi , σi−
m
− 2
= g mi Xi ; yi , σ2 i g Xi ; Xi , σi−
m
,
15 / 23
32. Correction 1-D state vector
− 2
P Xi | y0 , . . . , yi−1 , yi ∝ g yi ; mi Xi , σ2 i g Xi ; Xi , σi−
m
− 2
= g mi Xi ; yi , σ2 i g Xi ; Xi , σi−
m
y i σ2 i
m − 2
= gXi ; , 2 g Xi ; Xi , σi−
m m i i
,
15 / 23
33. Correction 1-D state vector
− 2
P Xi | y0 , . . . , yi−1 , yi ∝ g yi ; mi Xi , σ2 i g Xi ; Xi , σi−
m
− 2
= g mi Xi ; yi , σ2 i g Xi ; Xi , σi−
m
y i σ2 i
m − 2
= gXi ; , 2 g Xi ; Xi , σi−
m m i i
− 2 2
Xi σ2 + mi y σ −
mi
σ2 i σi−
m
X+ =
i
σi+ =
i
i
σ2 + m2 σ − 2 2
σ2 i + m2 σi−
mi i i m i
,
15 / 23
34. A general state vector Kalman Filtering
DYNAMIC M ODEL
xi ∼ N Di xi−1 , Σdi
yi ∼ N Mi xi , Σmi
S TART A SSUMPTIONS x− and Σ− are known.
0 0
U PDATE E QUATIONS
P REDICTION : C ORRECTION :
x − = Di x +
i i−1 Ki = Σ− Mi Mi Σ− Mi + Σmi
−1
i i
Σ− = Σdi + Di Σ+ Di
i i−1 x+ = x− + Ki yi − Mi x−
i i i
Σ+ = [ I d − Ki Mi ] Σ−
i i
,
16 / 23
35. Forward-Backward Smoothing
F ORWARD -BACKWARD F ILTER : P Xi | y0 , . . . , yN
P Xi , yi+1 , . . . , yN | y0 , . . . , yi P y0 , . . . , yi
=
P y0 , . . . , yN
P yi+1 , . . . , yN | Xi , y0 , . . . , yi P Xi | y0 , . . . , yi P y0 , . . . , yi
=
P y0 , . . . , yN
P yi+1 , . . . , yN | Xi P Xi | y0 , . . . , yi P y0 , . . . , yi
=
P y0 , . . . , yN
= P Xi | yi+1 , . . . , yN P Xi | y0 , . . . , yi α
,
17 / 23
36. Forward-Backward Smoothing
F ORWARD -BACKWARD F ILTER : P Xi | y0 , . . . , yN
= P Xi | yi+1 , . . . , yN P Xi | y0 , . . . , yi α
where
P yi+1 , . . . , yN P y0 , . . . , yi
α=
P (Xi ) P y0 , . . . , yN
,
18 / 23
37. Combining the Forward-Backward
Dynamics
Forward dynamics: P Xi | y0 , . . . , yi
Backward dynamics: P Xi | yi+1 , . . . , yN
Forward-backward dynamics: P Xi | y0 , . . . , yN
N OTATION :
f ,+ f ,+
Forward dynamics: Xi and Σi
b,−
Backward dynamics: Measurement is Xb with mean Xi
i and Σb,−
i
∗
Forward-Backward dynamics: Xi and Σ∗
i
,
19 / 23
38. If we consider the backward dynamics as measurements, then the forward
dynamics would give the state just before the measurement comes in:
F ORWARD -BACKWARD SMOOTHING
K ALMAN U PDATE EQUATIONS ( CORRECTION )
( CORRECTION )
f ,+ f ,+ −1
−1
Ki∗ = Σi Σi + Σb,−
i
Ki = Σ− Mi Mi Σ− Mi + Σmi
i i
∗ f ,+ b,− f ,+
Xi = Xi + Ki X i − Xi
+ − −
xi = xi + Ki yi − Mi xi
f ,+
Σ∗ = [ I − Ki ] Σi
Σ+ = [ I d − Ki Mi ] Σ−
i i
i
,
20 / 23
41. Data Association
N EAREST N EIGHBOURS
The r th region offers a measurement yir
We choose the region with the best value of
P Yi = yir | y0 , . . . , yi−1
= P Yi = yir | Xi , y0 , . . . , yi−1 P Xi | y0 , . . . , yi−1 dXi
= P Yi = yir | Xi P Xi | y0 , . . . , yi−1 dXi
The Kalman filter is used to compute P Yi = yir | y0 , . . . , yi−1
,
23 / 23