Professional Documents
Culture Documents
Theory and Implementation of Particle Filters
Theory and Implementation of Particle Filters
Theory and Implementation of Particle Filters
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
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
Sequential Monte Carlo Techniques
Bootstrap filtering
The condensation algorithm
Particle filtering
Interacting particle approximations
Survival of the fittest
12 Nov 2004 6
History
First attempts – simulations of growing polymers
M. N. Rosenbluth and A.W. Rosenbluth, “Monte Carlo calculation of the average extension
of molecular chains,” Journal of Chemical Physics, vol. 23, no. 2, pp. 356–359, 1956.
First application in signal processing - 1993
N. J. Gordon, D. J. Salmond, and A. F. M. Smith, “Novel approach to nonlinear/non-
Gaussian Bayesian state estimation,” IEE Proceedings-F, vol. 140, no. 2, pp. 107–113,
1993.
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
Geosciences
Tracking and navigation Immunology
Communications Materials Science
Channel estimation Pharmacology &
Blind equalization
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
The aim is to find the position and velocity of the
tracked object.
The measurements taken by the sensor are the
bearings or angles with respect to the sensor.
Initial position and velocity are approximately
known.
System and observation noises are Gaussian.
Usually used with a passive sonar.
12 Nov 2004 10
Bearings-only tracking
States: position and velocity xk=[xk, Vxk, yk, Vyk]T
Observations: angle zk
Observation equation: zk=atan(yk/ xk)+vk
xk=Fxk-1+ Guk
State equation:
y
yk
yk+1
T r a je c t o r y
zk+1
zk
xk xk+1 x
12 Nov 2004 11
Bearings-only tracking
12 Nov 2004 12
Car positioning
Observations are the velocity and
turn information1)
A car is equipped with an electronic
roadmap
The initial position of a car is
available with 1km accuracy
In the beginning, the particles are
spread evenly on the roads
As the car is moving the particles
concentrate at one place
1) Gustafsson et al., “Particle Filters for Positioning, Navigation, and Tracking,” IEEE Transactions on SP, 2002
12 Nov 2004 13
Detection over flat-fading channels
Detection of data transmitted over unknown Rayleigh fading channel
The temporal correlation in the channel is modeled using AR(r)
process
At any instant of time t, the unknowns are , and , and our
main objective is to detect the transmitted
symbol sequentially
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
State space State space
model
representation
Solution Problem
Bayesian filtering Estimate Integrals are
Monte-Carlo sampling posterior not tractable
Importance
Sampling
12 Nov 2004 16
Representation of dynamic systems
The state sequence is a Markov random process
12 Nov 2004 17
Representation of dynamic systems
12 Nov 2004 18
Bayesian Filtering
12 Nov 2004 19
Update and propagate steps
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
Meaning of the densities
12 Nov 2004 22
Bayesian filtering - problems
Optimal solution in the sense of computing posterior
The solution is conceptual because integrals are not
tractable
Closed form solutions are possible in a small number
of situations
Gaussian noise process and linear state space model
↓
Optimal estimation using the Kalman filter
Idea: use Monte Carlo techniques
12 Nov 2004 23
Monte Carlo method
Example: Estimate the variance of a zero mean Gaussian
process
v x 2 p( x)dx
x ( m ) ~ N (0, 2 )
2. Compute the average
1
m1 )
M
v ( 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
( m)
1 p ( x )
m1 f ( x ) ( x ( m) )
M
E ( f ( x)) (m)
M
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
Sequential importance sampling
Idea:
Update filtering density using Bayesian filtering
Compute integrals using importance sampling
p( xk( m ) , z1:k )
(m)
w
Compute weights using: k
( xk( m ) , z1: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:
k
w*( m )
m 1
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 m1
xk ,
M m 1
x (m)
k , wk( m ) m 1
M
M
( m) 1
xk 1 ,
M m1
x
12 Nov 2004 31
Particle filtering algorithm
Initialize
particles
New observation
Particle
generation
1 2 ... M
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
x k , ~ x (m)
k , wk m 1
(m) M
Observation M m 1
equation: zk=atan(yk/ Computation of the estimates
xk)+vk
12 Nov 2004 33
Bearings-Only Tracking Example
12 Nov 2004 34
Bearings-Only Tracking Example
12 Nov 2004 35
Bearings-Only Tracking Example
12 Nov 2004 36
General particle filter
If the proposal is a prior density, then there can be
a poor overlap between the prior and posterior
Idea: include the observations into the proposal
density
( xk | xk 1 , zk ) p( xk | x (km1 ) , zk )
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
Disadvantages of particle filters
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 and results
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
4M random number generations
1 2 ... 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
Mapping to the parallel architecture
Start
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
Particle generation Algorithm for particle
Weight Calculation propagation
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
2 1000
5000
4
10000
8 50000
10
16
32
1
K=14
1 10 100
Number of PEs
12 Nov 2004 50
Summary
Very powerful framework for estimating parameters
of non-linear and non-Gaussian models
Main research directions
Finding new applications for particle filters
Developing variations of particle filters which have reduced
complexity
Finding the optimal parameters of the algorithms (number
of particles, divergence tests)
Challenge
Popularize the particle filter so that it becomes a standard
tool for solving many problems in industry
12 Nov 2004 51