Today Introduction to MCMC Particle filters and MCMC

  • Slides: 22
Download presentation
Today • Introduction to MCMC • Particle filters and MCMC • A simple example

Today • Introduction to MCMC • Particle filters and MCMC • A simple example of particle filters: ellipse tracking

Introduction to MCMC • Sampling technique – Non-standard distributions (hard to sample) – High

Introduction to MCMC • Sampling technique – Non-standard distributions (hard to sample) – High dimensional spaces • Origins in statistical physics in 1940 s • Gained popularity in statistics around late 1980 s • Markov Chain Monte Carlo

Markov chains* Series of samples such that • Homogeneous: T is time-invariant – Represented

Markov chains* Series of samples such that • Homogeneous: T is time-invariant – Represented using a transition matrix * C. Andrieu et al. , “An Introduction to MCMC for Machine Learning“, Mach. Learn. , 2003

Markov chains • Evolution of marginal distribution Bayes’ theorem • Stationary distribution • Markov

Markov chains • Evolution of marginal distribution Bayes’ theorem • Stationary distribution • Markov chain T has a stationary distribution – Irreducible – Aperiodic

Markov chains • Detailed balance – Sufficient condition for stationarity of p • Mass

Markov chains • Detailed balance – Sufficient condition for stationarity of p • Mass transfer Probability mass Proportion of mass transfer x(i) Pair-wise balance of mass transfer x(i-1)

Metropolis-Hastings • Target distribution: p(x) • Set up a Markov chain with stationary p(x)

Metropolis-Hastings • Target distribution: p(x) • Set up a Markov chain with stationary p(x) Propose (Easy to sample from q) with probability otherwise • Resulting chain has the desired stationary – Detailed balance

Metropolis-Hastings • Initial burn-in period – Drop first few samples • Successive samples are

Metropolis-Hastings • Initial burn-in period – Drop first few samples • Successive samples are correlated – Retain 1 out of every M samples • Acceptance rate – Proposal distribution q is critical

Monte-Carlo simulations* • Using N MCMC samples • Target density estimation • Expectation •

Monte-Carlo simulations* • Using N MCMC samples • Target density estimation • Expectation • MAP estimation – p is a posterior * C. Andrieu et al. , “An Introduction to MCMC for Machine Learning“, Mach. Learn. , 2003

Tracking interacting targets* • Using partilce filters to track multiple interacting targets (ants) *

Tracking interacting targets* • Using partilce filters to track multiple interacting targets (ants) * Khan et al. , “MCMC-Based Particle Filtering for Tracking a Variable Number of Interacting Targets”, PAMI, 2005.

Particle filter and MCMC • Joint MRF Particle filter – Importance sampling in high

Particle filter and MCMC • Joint MRF Particle filter – Importance sampling in high dimensional spaces – Weights of most particles go to zero – MCMC is used to sample particles directly from the posterior distribution

MCMC Joint MRF Particle filter • True samples (no weights) at each step •

MCMC Joint MRF Particle filter • True samples (no weights) at each step • Stationary distribution for MCMC • Proposal density for Metropolis Hastings (MH) – Select a target randomly – Sample from the single target state proposal density

MCMC Joint MRF Particle filter • MCMC-MH iterations are run every time step to

MCMC Joint MRF Particle filter • MCMC-MH iterations are run every time step to obtain particles • “One target at a time” proposal has advantages: – Acceptance probability is simplified – One likelihood evaluation for every MH iteration – Computationally efficient • Requires fewer samples compared to SIR

Particle filter for pupil (ellipse) tracking • Pupil center is a feature for eye-gaze

Particle filter for pupil (ellipse) tracking • Pupil center is a feature for eye-gaze estimation • Track pupil boundary ellipse Outliers Pupil boundary edge points Ellipse overlaid on the eye image

Tracking • Brute force: Detect ellipse every video frame – RANSAC: Computationally intensive •

Tracking • Brute force: Detect ellipse every video frame – RANSAC: Computationally intensive • Better: Detect + Track – Ellipse usually does not change too much between adjacent frames • Principle – – Detect ellipse in a frame Predict ellipse in next frame Refine prediction using data available from next frame If track lost, re-detect and continue

Particle filter? • State: Ellipse parameters • Measurements: Edge points • Particle filter –

Particle filter? • State: Ellipse parameters • Measurements: Edge points • Particle filter – Non-linear dynamics – Non-linear measurements • Edge points are the measured data

Motion model • Simple drift with rotation State (x 0 , y 0 )

Motion model • Simple drift with rotation State (x 0 , y 0 ) θ Could include velocity, acceleration etc. a b Gaussian

Likelihood • Exponential along normal at each point z 6 d 6 z 1

Likelihood • Exponential along normal at each point z 6 d 6 z 1 z 5 d 1 z 2 d 2 z 3 z 4 d 3 • di: Approximated using focal bisector distance

Focal bisector distance* (FBD) Foci FBD Focal bisector • Reflection property: PF’ is a

Focal bisector distance* (FBD) Foci FBD Focal bisector • Reflection property: PF’ is a reflection of PF • Favorable properties – Approximation to spatial distance to ellipse boundary along normal – No dependence on ellipse size * P. L. Rosin, “Analyzing error of fit functions for ellipses”, BMVC 1996.

Implementation details • Sequential importance re-sampling* Weights: Proposal distribution: Likelihood Mixture of Gaussians •

Implementation details • Sequential importance re-sampling* Weights: Proposal distribution: Likelihood Mixture of Gaussians • Number of particles: 100 • Expected state is the tracked ellipse • Possible to compute MAP estimate? * Khan et al. , “MCMC-Based Particle Filtering for Tracking a Variable Number of Interacting Targets”, PAMI, 2005.

Initial results Frame 1: Detect Frame 2: Track Frame 4: Detect Frame 5: Track

Initial results Frame 1: Detect Frame 2: Track Frame 4: Detect Frame 5: Track Frame 3: Track Frame 6: Track

Future? • Incorporate velocity, acceleration into the motion model • Use a domain specific

Future? • Incorporate velocity, acceleration into the motion model • Use a domain specific motion model – Smooth pursuit – Saccades – Combination of them? • Data association* to reduce outlier confound * Forsyth and Ponce, “Computer Vision: A Modern Approach”, Chapter 17.

Thank you!

Thank you!