lesage_particle_filt.. - Sites personnels de TELECOM ParisTech
lesage_particle_filt.. - Sites personnels de TELECOM ParisTech lesage_particle_filt.. - Sites personnels de TELECOM ParisTech
Particle Filters (Sequential Monte-Carlo Methods) Medical Imaging Team Seminar David Lesage 05/03/07
- Page 2 and 3: Outline Introduction to Bayesian Fi
- Page 4 and 5: Bayesian Filtering / Tracking Hidde
- Page 6 and 7: Bayesian Filtering / Tracking Recur
- Page 8 and 9: Bayesian Filtering / Tracking “Ge
- Page 10 and 11: Sequential Monte-Carlo Methods Prob
- Page 12 and 13: Problems and Extensions Number of p
- Page 14 and 15: Problems and Extensions Choice of t
- Page 16 and 17: Problems and Extensions 1st strateg
- Page 18 and 19: Problems and Extensions Sequential
- Page 20 and 21: Problems and Extensions SIR does no
- Page 22 and 23: Problems and Extensions Endless ext
- Page 24 and 25: Applications and Illustrations Fina
- Page 26 and 27: Applications and Illustrations Vide
- Page 28 and 29: Applications and Illustrations Vide
- Page 30 and 31: Applications and Illustrations Vide
- Page 32 and 33: Applications and Illustrations Micr
- Page 34 and 35: Applications and Illustrations Robo
- Page 36 and 37: Applications and Illustrations “G
- Page 38 and 39: The Particle Family Oxford A. Blake
- Page 40: Questions Thank you for your atten
Particle Filters<br />
(Sequential Monte-Carlo Methods)<br />
Medical Imaging Team Seminar<br />
David Lesage<br />
05/03/07
Outline<br />
Introduction to Bayesian Filtering / Tracking<br />
Sequential Monte-Carlo Methods (Particle Filters)<br />
Problems and Extensions<br />
Applications and Illustrations<br />
2
Bayesian Filtering / Tracking<br />
Tracking of a dynamic process<br />
X t = {x 0 , x 1 , ..., x t }<br />
state vector<br />
x t<br />
Observation sequence<br />
Y t = {y 1 , y 2 , ..., y t }<br />
Dynamic System<br />
{<br />
Xt = F t (X t−1 , V t )<br />
Y t = H t (X t , W t )<br />
with<br />
V t , W t<br />
process and observation noises<br />
3
Bayesian Filtering / Tracking<br />
Hid<strong>de</strong>n Markov Mo<strong>de</strong>l (HMM)<br />
1st or<strong>de</strong>r<br />
p(x t |x 0:t−1 ) = p(x t |x t−1 )<br />
Observations i.i.d. given the state<br />
p(y t |x t , A) = p(y t |x t )<br />
Notation<br />
p(X t ) = p(x 0:t−1 )<br />
Observed<br />
y t−2 y t−1 y t<br />
p(y t |x t )<br />
Unobserved<br />
x t−2<br />
x t−1<br />
x t<br />
p(x t |x t−1 )<br />
4
Bayesian Filtering / Tracking<br />
Filtering = sequentially estimating the states<br />
w.r.t. a set of observations<br />
Y t<br />
X t<br />
of a system<br />
Posterior<br />
p(X t |Y t )<br />
Filtering (marginal) distribution<br />
Transition/dynamics <strong>de</strong>nsity of the process prior<br />
Observation likelihood<br />
p(y t |x t )<br />
p(x t |Y t )<br />
p(x t |x t−1 )<br />
Observed<br />
y t−2 y t−1 y t<br />
p(y t |x t )<br />
Unobserved<br />
x t−2<br />
x t−1<br />
x t<br />
p(x t |x t−1 )<br />
5
Bayesian Filtering / Tracking<br />
Recursive Estimation<br />
p(X t |Y t ) = p(X t−1 |Y t−1 ) p(y t|x t )p(x t |x t−1 )<br />
p(y t |Y t−1 )<br />
For the marginal distribution<br />
prediction<br />
p(x t |Y t−1 ) =<br />
∫<br />
likelihood<br />
transition <strong>de</strong>nsity<br />
p(x t |x t−1 )p(x t−1 |Y t−1 )dx t−1<br />
update<br />
p(x t |Y t ) = p(y t|x t )p(x t |Y t−1 )<br />
p(y t |Y t−1 )<br />
Simple but conceptual solution !<br />
6
Bayesian Filtering / Tracking<br />
Different integrals intractable in the general case<br />
(normalizing constants, some marginals of the posterior...<br />
Exceptions: optimal <strong>filt</strong>ers<br />
Kalman <strong>filt</strong>er<br />
(if F and H linear, posterior and noises Gaussian)<br />
{<br />
Xt = F t (X t−1 , V t )<br />
Y t = H t (X t , W t )<br />
Grid-based methods<br />
(for finite discrete state spaces)<br />
Strong limitations...<br />
7
Bayesian Filtering / Tracking<br />
“General” case<br />
F and H non linear<br />
{<br />
Xt = F t (X t−1 , V t )<br />
Y t = H t (X t , W t )<br />
No assumption on the noises and the state space<br />
Approximations<br />
Exten<strong>de</strong>d Kalman <strong>filt</strong>er (local linearization)<br />
Unscented Kalman <strong>filt</strong>er<br />
Approximate grid-based Methods<br />
Sequential Monte-Carlo Methods<br />
8
Sequential Monte-Carlo Methods<br />
Perfect Monte-Carlo Simulation<br />
i.i.d. samples (“<strong>particle</strong>s”)<br />
p(X t |Y t )<br />
{x (i)<br />
from<br />
0:t ; i = 1 : n} p(X t |Y t )<br />
X t<br />
discrete approximation<br />
p n (dx 0:t |Y t ) = 1 n<br />
n∑<br />
i=1<br />
δ x<br />
(i)<br />
0:t<br />
(dx 0:t ) −→ p(X t |Y t )<br />
n → ∞<br />
convergence a.s. and usually in distribution<br />
convergence rate in<strong>de</strong>pen<strong>de</strong>nt of the dimensionality !<br />
9
Sequential Monte-Carlo Methods<br />
Problem: we cannot sample from the true posterior<br />
p(X t |Y t )<br />
Sequential Importance sampling (SIS)<br />
sample from an importance/proposal distribution<br />
substitute in the recursive equations...<br />
q(X t |Y t )<br />
importance weights<br />
<strong>particle</strong> approximation<br />
weight update<br />
w(X t ) = p(X t|Y t )<br />
q(X t |Y t )<br />
n∑<br />
p n (dx 0:t |Y t ) =<br />
w (i)<br />
t<br />
∝ w (i)<br />
t−1<br />
i=1<br />
p(y t |x (i)<br />
t<br />
w (i)<br />
t δ (i) x<br />
(dx 0:t )<br />
0:t<br />
)p(x (i)<br />
t |x (i)<br />
t−1 )<br />
q(x (i)<br />
t |x (i)<br />
0:t−1 , Y t)<br />
10
Sequential Monte-Carlo Methods<br />
Fundamental properties<br />
handle non-linear Bayesian tracking problems<br />
non-parametric ()<br />
theoretically able to track any (multi-modal...) distribution<br />
map intractable integrals to sums of weighted <strong>particle</strong>s<br />
simple, recursive (efficient) and generic solution<br />
representation of the complete posterior distribution !<br />
p(X t |Y t )<br />
BUT...<br />
X t<br />
11
Problems and Extensions<br />
Number of <strong>particle</strong>s: <strong>de</strong>pends on the application<br />
adaptation w.r.t. the complexity of the distribution:<br />
KLD-sampling [Fox 01]<br />
12
Problems and Extensions<br />
Choice of the likelihood<br />
evaluated on the data<br />
p(y t |x t )<br />
need for smooth likelihood landscapes<br />
Choice of the transition mo<strong>de</strong>l<br />
<strong>de</strong>pends on the application<br />
classical “<strong>de</strong>fault” choice: Random Walk<br />
p(x t |x t−1 )<br />
13
Problems and Extensions<br />
Choice of the importance distribution<br />
critical <strong>de</strong>sign issue<br />
q(x t |X t−1 , Y t )<br />
classical choice:<br />
w (i)<br />
t<br />
q(x t |X t−1 , Y t ) = p(x t |x t−1 )<br />
∝ w (i)<br />
t−1<br />
p(y t |x (i)<br />
t<br />
)p(x (i)<br />
t |x (i)<br />
t−1 )<br />
q(x (i)<br />
t |x (i)<br />
0:t−1 , Y t)<br />
Bootstrap [Gordon 93], Con<strong>de</strong>nsation [Isard 98]...<br />
Simple, but does not integrate last observations<br />
14
Problems and Extensions<br />
Multiple proposals in the literature<br />
Anyways...<br />
the variance of the weights increases over time ! [Kong 94]<br />
Degeneracy Problem<br />
15
Problems and Extensions<br />
1st strategy: “good” importance functions<br />
“optimal” functions in constrained cases [Zaritskii 75]<br />
“good” generic solutions<br />
focus on heavy-tailed importance functions<br />
Auxiliary Particle Filter [Pitt 99]<br />
Unscented Particle Filter [van Der Merwe 00]<br />
16
Problems and Extensions<br />
2nd strategy: Selection / Resampling<br />
first introduced in the Bootstrap algorithm [Gordon 93]<br />
i<strong>de</strong>a: discard low weight samples, multiply high ones<br />
numerous resampling schemes in the literature<br />
most popular one: Sequential Importance Resampling (SIR)<br />
17
Problems and Extensions<br />
Sequential Importance Resampling (SIR)<br />
resample <strong>particle</strong>s w.r.t. their weights<br />
T<br />
evaluation (update)<br />
resampling<br />
prediction (transition)<br />
resampling not done<br />
at each step<br />
T+1<br />
18
Problems and Extensions<br />
Animation (sequential importance resampling)<br />
19
Problems and Extensions<br />
SIR does not solve everything...<br />
Problems: artificial noise and loss of diversity<br />
In practice, cannot track multi-modal distributions...<br />
Main issue: discrete approximation<br />
20
Problems and Extensions<br />
“Solutions” to the loss of diversity: not so discrete <strong>particle</strong>s<br />
Unscented <strong>particle</strong> <strong>filt</strong>er [van Der Merwe 00]<br />
Regularized <strong>particle</strong> <strong>filt</strong>er [Musso 01]<br />
Gaussian <strong>particle</strong> <strong>filt</strong>er [Kotecha 03]<br />
21
Problems and Extensions<br />
Endless extensions and combinations<br />
Rao-Blackwellisation<br />
Markov chain moves (MCMC)<br />
Markov (reversible) mo<strong>de</strong>l jumps<br />
...<br />
Links with other fields<br />
population-based optimization: genetic algorithms,<br />
<strong>particle</strong> swarms....<br />
Extensions to multi-target tracking<br />
problems of (temp.) object disappearance and<br />
appearance, collisions...<br />
22
Applications and Illustrations<br />
Generic tool: endless combinations with existing<br />
techniques for parameter optimization<br />
Mo<strong>de</strong>l selection for N.N. [Freitas 99]<br />
...<br />
Illustrations of “direct” applications<br />
23
Applications and Illustrations<br />
Finance (volatility...)<br />
24
Applications and Illustrations<br />
Vi<strong>de</strong>o tracking<br />
[Widynksi]<br />
25
Applications and Illustrations<br />
Vi<strong>de</strong>o tracking [Rensselear P.I., NY]<br />
26
Applications and Illustrations<br />
Vi<strong>de</strong>o tracking [Isard, Blake]<br />
27
Applications and Illustrations<br />
Vi<strong>de</strong>o tracking [Isard, Blake]<br />
28
Applications and Illustrations<br />
Vi<strong>de</strong>o tracking [Isard, Blake]<br />
29
Applications and Illustrations<br />
Vi<strong>de</strong>o + audio tracking (fusion) [IDIAP, MS Cambridge]<br />
30
Applications and Illustrations<br />
Face tracking and recognition [Mitsubishi Research]<br />
31
Applications and Illustrations<br />
Micro-tubule tracking [Smal, Niessen, Meijering 06]<br />
3 3<br />
6<br />
2µm<br />
2µm<br />
tracking microusing<br />
our teche-lapse<br />
studies).<br />
ithm to capture<br />
ct object disapof<br />
the algorithm<br />
X Y<br />
T<br />
Fig. 2. Visualization of a 2D+T fluorescence microscopy image<br />
sequence showing microtubules (bright, elongated spots) and the re-<br />
32
Applications and Illustrations<br />
Robotics [Fox, Washington]<br />
33
Applications and Illustrations<br />
Robotics [Fox, Washington]<br />
34
Applications and Illustrations<br />
Robotics [Fox, Washington]<br />
35
Applications and Illustrations<br />
“Geometric” tracking [Florin]<br />
Key i<strong>de</strong>a: time as a spatial dimension<br />
Application to coronary tracking<br />
36
Applications and Illustrations<br />
“Geometric” tracking [Florin]<br />
Dynamic stochastic shape mo<strong>de</strong>ls<br />
learn the spatial dynamics of a shape (2D slices to 3D)<br />
robustness to outlier and missing info (sparse info mo<strong>de</strong>ls)<br />
application to liver segmentation<br />
Phd Defense<br />
Tomorrow !!<br />
37
The Particle Family<br />
Oxford<br />
A. Blake (MS Cambridge), M. Isard (MS US), M. Pitt, N. Shephard<br />
Cambridge<br />
A. Doucet (British Columbia), N. <strong>de</strong> Freitas (B.C.), C. Andrieu (Bristol), N. Gordon<br />
Washington<br />
D. Fox<br />
France<br />
P. Del Moral (Sophia)<br />
O. Cappe, E. Moulines (ENST)<br />
38
Conclusion<br />
Simple, generic, efficient (), non-parametric ()<br />
numerous applications<br />
numerous frameworks<br />
numerous extensions<br />
Fundamental difficulties<br />
discrete approximation...<br />
Practical difficulties<br />
computational load (problem dimension and nb <strong>particle</strong>s)<br />
<strong>de</strong>sign issues !<br />
39
Questions <br />
Thank you for your attention<br />
40