particle filtering for tracking and localization

56
Tutorial : Monte Carlo Methods Frank Dellaert October ‘07 Frank Dellaert, Fall 07 Particle Filtering for Tracking and Localization

Upload: phungtuong

Post on 02-Jan-2017

240 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Frank Dellaert, Fall 07

Particle Filteringfor Tracking and Localization

Page 2: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Bayesian Inference

Data

Belief before Belief after

Page 3: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

World Knowledge

P(z|x)

z

xSensor Model

Most often analytic expression, can be learned

d

d

Page 4: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Recap: Bayes Law

data = z

Belief before = P(x) Belief after = P(x|z)

model L(x;z)

Prior Distributionof x

Posterior Distributionof x given Z

Likelihoodof x given Z

P(x|z) ~ L(x;z)P(x)

Page 5: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Example: 1D Robot Localization

Prior P(x)

LikelihoodL(x;z)

PosteriorP(x|z)

Page 6: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Problem: Large Open Spaces

• Walls and obstacles out of range• Sonar and laser have problems• Horizontally mounted sensors have problems

Page 7: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Problem: Large Crowds

• One solution: Robust filtering

Page 8: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Solution: Ceiling Camera

• Upward looking camera• Model of the world = Ceiling Mosaic

Page 9: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Global Alignment (other talk)

Page 10: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Ceiling Mosaic

Page 11: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Vision based Sensor

P(z|x)

h(x)z

Page 12: Particle Filtering for Tracking and Localization

Under Light

Page 13: Particle Filtering for Tracking and Localization

Next to Light

Page 14: Particle Filtering for Tracking and Localization

Elsewhere

Page 15: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Various Density Representations

• Gaussian centered around mean x,y• Mixture of Gaussians• Finite element i.e. histogram• Does not scale to large state spaces

encountered in computer vision & robotics

Page 16: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Hidden Markov Models

A B C D

E

A B C D E

Page 17: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Kalman Filter = Very Easy

• Think adding quadratics• Then Minimize• Dynamics = Enlarge Quadratic

Page 18: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Kalman Filter

motionmotion

• Very powerful• Gaussian, unimodal

sensor

Page 19: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Example: 2D Robot Location

p(x)

x1

x2

State space = 2D, infinite #states

Page 20: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Markov Localization

• Fine discretization over {x,y,theta}• Very successful: Rhino, Minerva, Xavier…

Page 21: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Dynamic Markov Localization

• Burgard et al., IROS 98• Idea: use Oct-trees

Page 22: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Sampling as Representation

p(x)

x1

x2

Page 23: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Sampling Advantages

• Arbitrary densities• Memory = O(#samples)• Only in “Typical Set”• Great visualization tool !

• minus: Approximate

Page 24: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Mean and Variance of a Sample

Mean

Variance (1D)

Page 25: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Inference = Monte Carlo Estimates

• Estimate expectation of any function f:

Page 26: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Monte Carlo Expected Value

α

Expected angle = 30o

Page 27: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

How to Sample ?

• Target Density π(x)• Assumption: we can evaluate π(x) up to an

arbitrary multiplicative constant

• Why can’t we just sample from π(x) ??

Page 28: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

How to Sample ?

• Numerical Recipes in C, Chapter 7• Transformation method: Gaussians etc…• Rejection sampling• Importance sampling

Page 29: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Rejection Sampling

• Target Density π(x)• Proposal Density q(x)

• π and q need only beknown up to a factor

Image by MacKay

π(x) q(x)

Page 30: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

The Good…

9% Rejection Rate

Page 31: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

…the Bad…

50% Rejection Rate

Page 32: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

…and the Ugly.

70% Rejection Rate

Page 33: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Inference by Rejection Sampling• P(measured_angle|x,y) = N(predicted_angle,3 degrees)

Prior(x,y)Posterior(x,y|measured_angle=20o)

Page 34: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Importance Sampling

• Good Proposal Density would be: prior !• Problem:

– No guaranteed c s.t. c P(x)>=P(x|z) for all x

• Idea:– sample from P(x)– give each sample x(r) a importance weight equal

to P(Z|x (r))

Page 35: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Example Importance Sampling

{x(r),y(r)~Prior(x,y), wr=P(Z|x(r),y(r)) }

Page 36: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Importance Sampling

• Sample x(r) from q(x)• wr = π(x(r))/q(x(r))

Image by MacKay

π(x)q(x)

Page 37: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

1D Importance Sampling

Page 38: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Example 1

• Learn Color Model• Implement Rejection Sampling• Implement Importance Sampling• Add a spatial prior

Page 39: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

A Simple Color Model

R

GB

Page 40: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Likelihood

!

P(x,y | color)"P(color | x,y)P(x,y)

P(color | x,y) = N(µc,# c ^2)c= r,g,b

$

x

yR

GB

Page 41: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

References

• Isard & Blake 98, Condensation -- conditionaldensity propagation for visual tracking

• Dellaert, Fox, Burgard & Thrun 99, MonteCarlo Methods Localization for Mobile Robots

• Khan, Balch & Dellaert 04 A Rao-Blackwellized Particle Filter for EigenTracking

Page 42: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Example: 1D Robot Localization

Prior P(x)

LikelihoodL(x;z)

PosteriorP(x|z)

Page 43: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

1D Importance Sampling

Page 44: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Particle Filter Tracking

Xt-2 Xt-1State

Zt-2 Zt-1Measurement

Xt

Zt

Monte Carlo Approximation of Posterior:

Page 45: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Bayes Filter and Particle Filter

Monte Carlo Approximation:

Recursive Bayes Filter Equation:Motion Model

Predictive Density

Page 46: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Particle Filter

π(3)π(1) π(2)

Empirical predictive density = Mixture Model

First appeared in 70’s, re-discovered by Kitagawa, Isard, …

Page 47: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Monte Carlo Localization

weighted S’k SkS’

kSk-1

Predict Weight Resample

Page 48: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

3D Particle filter for robot pose:Monte Carlo Localization

Dellaert, Fox, Burgard & Thrun ICRA 99

Page 49: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Resampling

• Importance Sampling => weighted• To get back a fair sample:

– Resample from the weighted samples accordingto the importance weights

– efficient O(N) algorithms exist

Page 50: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Condensation Algorithm

• Sequential Estimation• Iterates over:

– Prediction with motion model– Importance Sampling for Inference– Resampling

Page 51: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

1. Prediction Phase

u

Motion Model

P(xt| ,u)

Page 52: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

2. Measurement Phase

Sensor Model

P(Z|xt)

Page 53: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

3. Resampling Step

O(N)

Page 54: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Example 1

• Start from Importance Sampling w Prior• Implement Sample Mean• Try increasing nrSamples• Implement Resampling Step• Implement Particle Motion Model

Page 55: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

A Simple Color Model

R

GB

Page 56: Particle Filtering for Tracking and Localization

Tutorial : Monte Carlo Methods Frank Dellaert October ‘07

Likelihood

!

P(x,y | color)"P(color | x,y)P(x,y)

P(color | x,y) = N(µc,# c ^2)c= r,g,b

$

x

yR

GB