Академический Документы
Профессиональный Документы
Культура Документы
of Particle Filters
Miodrag Bolic
Assistant Professor
School of Information Technology and Engineering
University of Ottawa
mbolic@site.uottawa.ca
12 Nov 2004 1
Big picture
Observed signal 1
t Estimation
sensor Particle
Observed signal 2
Filter
t t
12 Nov 2004 2
Particle filtering operations
Particle filter is a technique for implementing recursive
Bayesian filter by Monte Carlo sampling
The idea: represent the posterior density by a set of
random particles with associated weights.
Compute estimates based on these samples and
weights
Posterior density
Sample space
12 Nov 2004 3
Outline
Motivation
Applications
Fundamental concepts
Sample importance resampling
Advantages and disadvantages
Implementation of particle filters in hardware
12 Nov 2004 4
Motivation
12 Nov 2004 5
Bootstrap filtering
The condensation algorithm
Particle filtering
Interacting particle approximations
Survival of the fittest
12 Nov 2004 6
History
Books
A. Doucet, N. de Freitas, and N. Gordon, Eds., Sequential Monte Carlo Methods in Practice,
Springer, 2001.
B. Ristic, S. Arulampalam, N. Gordon, Beyond the Kalman Filter: Particle Filters for
Tracking Applications, Artech House Publishers, 2004.
Tutorials
M. S. Arulampalam, S. Maskell, N. Gordon, and T. Clapp, “A tutorial on particle filters for
online nonlinear/non-gaussian Bayesian tracking,” IEEE Transactions on Signal Processing,
vol. 50, no. 2, pp. 174–188, 2002.
12 Nov 2004 7
Outline
Motivation
Applications
Fundamental concepts
Sample importance resampling
Advantages and disadvantages
Implementation of particle filters in hardware
12 Nov 2004 8
Applications
Signal processing Other applications1)
Image processing and Biology & Biochemistry
segmentation Chemistry
Model selection Economics & Business
Tracking and navigation Geosciences
Communications Immunology
Channel estimation Materials Science
Blind equalization Pharmacology &
Positioning in wireless Toxicology
networks Psychiatry/Psychology
Social Sciences
1) A. Doucet, S.J. Godsill, C. Andrieu, "On Sequential Monte Carlo Sampling Methods for Bayesian Filtering",
Statistics and Computing, vol. 10, no. 3, pp. 197-208, 2000
12 Nov 2004 9
Bearings-only tracking
12 Nov 2004 10
Bearings-only tracking
States: position and velocity xk=[xk, Vxk, yk, Vyk]T
Observations: angle zk
yk
yk+1
Trajectory
zk+1
zk
xk xk+1 x
12 Nov 2004 11
Bearings-only tracking
12 Nov 2004 12
Car positioning
1) Gustafsson et al., “Particle Filters for Positioning, Navigation, and Tracking,” IEEE Transactions on SP, 2002
12 Nov 2004 13
h(t) v(t)
s(t) y(t)
st g(t) yt
Channel Sampling
12 Nov 2004 14
Outline
Motivation
Applications
Fundamental concepts
Sample importance resampling
Advantages and disadvantages
Implementation of particle filters in hardware
12 Nov 2004 15
Fundamental concepts
Importance
Sampling
12 Nov 2004 16
Representation of dynamic systems
12 Nov 2004 17
12 Nov 2004 18
Bayesian Filtering
12 Nov 2004 19
k=0
Bayes theorem
p(z 0 | x 0 )
Filtering density: p(x 0 | z 0 ) = p(x 0 )
p(z 0 )
z0 z1 z2
p(x0)
Update Propagate Update Propagate … Update Propagate
p(x0|z0) p(x1|z0) p(x1|z1) p(x2|z1) p(xk|zk-1) p(xk|zk) p(xk+1|zk)
12 Nov 2004 20
Update and propagate steps
k>0
Derivation is based on Bayes theorem and Markov
property
p (z k | x k )
Filtering density: p (x k | z1:k ) = p (x k | z1:k −1 )
p (z k | z1:k −1 )
12 Nov 2004 21
12 Nov 2004 22
Bayesian filtering - problems
12 Nov 2004 23
x ( m ) ~ N (0, σ 2 )
2. Compute the average
1
∑
M
v= m =1
( x (m) 2
)
M
12 Nov 2004 24
Importance sampling
12 Nov 2004 25
Importance sampling
Evaluation of integrals
p( x)
E ( f ( X )) = ∫ f ( x) p ( x)dx = ∫ f ( x) π ( x)dx
X X
π ( x)
Monte Carlo approach:
1. Simulate M random variables from proposal density π(x)
x ( m ) ~ π ( x)
2. Compute the average
1 p( x ( m) )
∑
M
E ( f ( x)) ≈ f (x (m)
)
M m =1
π
1
( x (m) )
424 3
w( m )
12 Nov 2004 26
Outline
Motivation
Applications
Fundamental concepts
Sample importance resampling
Advantages and disadvantages
Implementation of particle filters in hardware
12 Nov 2004 27
p ( xk( m ) , z1:k )
Compute weights using:
(m)
w =
π ( xk( m ) , z1:k )
k
Posterior
12 Nov 2004 28
Sequential importance sampling
Let the proposal density be equal to the prior
Particle filtering steps for m=1,…,M:
∑w
m =1
*( m )
k
M
3. Estimate computation E ( g ( xk | z1:k )) = ∑ g ( xk( m ) ) wk( m )
m =1
12 Nov 2004 29
Resampling
Problems:
Weight Degeneration
Wastage of computational resources
Solution ⇒ RESAMPLING
M
⎧ (m) 1 ⎫
⎨ xk +1 , ⎬
⎧ ~ (m) 1 ⎫
M ⎩ M ⎭ m =1
⎨xk , ⎬
⎩ M ⎭m =1
{x (m)
k , wk( m ) }M
m =1
M
⎧ (m) 1 ⎫
⎨ xk −1 , ⎬
⎩ M ⎭ m =1
x
12 Nov 2004 31
1 2 ... M
Weigth
computation
Normalize weights
Output estimates
Resampling
Output
yes More
observations?
no
Exit
12 Nov 2004 32
Bearings-only tracking example
MODEL ALGORITHM
States: Particle generation
xk
State equation: Weight normalization
xk=Fxk-1+ Guk
Resampling ⎧ ~ (m) 1 ⎫
M
(m)
⎨x k , ⎬ ~ x k , wk
M ⎭m =1
{
(m)
}
M
m =1
Observation ⎩
equation: Computation of the estimates
zk=atan(yk/ xk)+vk
12 Nov 2004 33
12 Nov 2004 34
Bearings-Only Tracking Example
12 Nov 2004 35
12 Nov 2004 36
General particle filter
12 Nov 2004 37
Outline
Motivation
Applications
Fundamental concepts
Sample importance resampling
Advantages and disadvantages
Implementation of particle filters in hardware
12 Nov 2004 38
Advantages of particle filters
12 Nov 2004 39
12 Nov 2004 40
Variations
Rao-Blackwellization:
Some components of the model may have linear
dynamics and can be well estimated using a
conventional Kalman filter.
The Kalman filter is combined with a particle filter to
reduce the number of particles needed to obtain a
given level of performance.
12 Nov 2004 41
Variations
12 Nov 2004 42
Outline
Motivation
Applications
Fundamental concepts
Sample importance resampling
Advantages and disadvantages
Implementation of particle filters in hardware
12 Nov 2004 43
Challenges
Reducing computational complexity
Randomness – difficult to exploit regular structures in VLSI
Exploiting temporal and spatial concurrency
Results
New resampling algorithms suitable for hardware
implementation
Fast particle filtering algorithms that do not use memories
First distributed algorithms and architectures for particle
filters
12 Nov 2004 44
Complexity
Complexity
Initialize
particles
New observation
Particle
generation
1 2
4M random number generations
... M
1 2 ... M
Weigth M exponential and arctangent functions
computation
Normalize weights
Output
estimates
Resampling Propagation of the particles
Output
yes More
observations? Bearings-only tracking problem
no Number of particles M=1000
Exit
12 Nov 2004 45
New observation
Particle
generation
Processing Processing
1 2 ... M Element 1 Element 2
1 2 ... M Central
Unit
Weight
computation
Processing Processing
Resampling Element 3 Element 4
Propagation
of particles
Processing elements (PE) Central Unit
9 Particle generation 9 Algorithm for particle
9 Weight Calculation propagation
9 Resampling
Exit
12 Nov 2004 46
Propagation of particles
p
PE 1 PE 2 PE 3 PE 4 Particles after
resampling
Disadvantages of the particle
propagation step
Random communication pattern
Decision about connections is
not known before the run time
Processing Processing
Element 3 Element 4
12 Nov 2004 47
Parallel resampling
N=0 N=13 N=0 N=8 N=4 N=4
4 4 1
1 2 1 2 1 2
4 1 1 1
4 1
3 4 3 4 3 4
N=0 N=3 N=0 N=8 N=4 N=4
Solution
The way in which Monte Carlo sampling is performed is modified
Advantages
Propagation is only local
Propagation is controlled in advance by a designer
Performances are the same as in the sequential applications
Result
Speed-up is almost equal to the number of PEs (up to 8 PEs)
12 Nov 2004 48
Architectures for parallel resampling
Controlled particle propagation after resampling
Architecture that allows adaptive connection among the
processing elements
PE1 PE3
Central
Unit
PE2 PE4
12 Nov 2004 49
Space exploration
Hardware platform is Xilinx Virtex-II Pro
Clock period is 10ns
PFs are applied to the bearings-only tracking problem
500
2 1000
5000
4
10000
8 50000
10
16
32
1
K=14
1 10 100
Number of PEs
12 Nov 2004 50
Summary
12 Nov 2004 51