CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

73
CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai Some slides from Stephen Roth

description

CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai. Some slides from Stephen Roth. Appearance-based Tracking. Review: Mean-Shift Tracking. - PowerPoint PPT Presentation

Transcript of CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Page 1: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

CSCE643: Computer VisionBayesian Tracking & Particle Filtering

Jinxiang Chai

Some slides from Stephen Roth

Page 2: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Appearance-based Tracking

Page 3: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Review: Mean-Shift Tracking• Key idea #1: Formulate the tracking problem as nonlinear

optimization by maximizing color histogram consistency between target and template.

]),([maxarg qypfy

q p y

Page 4: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

• Key idea #2: Solving the optimization problem with mean-shift techniques

Review: Mean-Shift Tracking

Page 5: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Review: Mean-Shift Tracking

Page 6: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Lucas-Kanade Registration & Mean-Shift Tracking

• Key Idea #1: Formulate the tracking/registration as a function optimization problem

xp

xHpxwI 2)());((minarg

]),([maxarg qypfy

Lucas-Kanade registration Mean Shift Tracking

Page 7: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

• Key Idea #2: Iteratively solve the optimization problem with gradient-based optimization techniques

xp

pxwIxHppWI

2

)));(()((minarg

)));(()((()( 1 pxwIxHpWI

pWI

pWIp

T

xx

T

A

ATb

xp

xHppWIpxwI

2

)());((minarg

b

(ATA)-1

01 1 0

1 12 2

m mu

u u uu u u

qf y p y q p y

p y

Linear

approx.(around y0)

2

12

nh i

ii

C y xw k

h

Independent of y

Density estimate!

(as a function of y)

1

m

u uu

f y p y q

Gauss-Newton Mean Shift

Lucas-Kanade Registration & Mean-Shift Tracking

Page 8: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Optimization-based Tracking

Pros:+ computationally efficient+ sub-pixel accuracy

+ flexible for tracking a wide variety of objects (optical flow, parametric motion models, 2D color histograms, 3D objects)

Page 9: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Optimization-based Tracking

Cons: - prone to local minima due to local optimization

techniques. This could be improved by global optimization techniques such as Particle swamp and Interacting Simulated Annealing

- fail to model multi-modal tracking results due to tracking ambiguities (e.g., occlusion, illumination changes)

Page 10: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Optimization-based Tracking

Cons: - prone to local minima due to local optimization

techniques. This could be improved by global optimization techniques such as Particle swamp and Interacting Simulated Annealing

- fail to model multi-modal tracking results due to tracking ambiguities (e.g., occlusion, illumination changes)

Solution: Bayesian Tracking & Particle Filter

Page 11: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Particle Filtering

• Many different names- Sequential Monte Carlo filters- Bootstrap filters- Condensation Algorithm

Page 12: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Rules

)()()|()|(

ZPXPXZPZXP

Observed measurementsHidden states

• Many computer vision problems can be formulated a posterior estimation problem

Page 13: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Rules

)()()|()|(

ZPXPXZPZXP

Posterior: This is what you want. Knowingp(X|Z) will tell us what is themost likely state X.

• Many computer vision problems can be formulated a posterior estimation problem

Page 14: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Rules

)()()|()|(

ZPXPXZPZXP

Posterior: This is what you want. Knowingp(X|Z) will tell us what is themost likely state X.

Likelihood term: This is what you canevaluate

Page 15: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Rules

)()()|()|(

ZPXPXZPZXP

Posterior: This is what you want. Knowingp(X|Z) will tell us what is themost likely state X.

Likelihood term: This is what you canevaluate

Prior: This is what you mayknow a priori, or whatyou can predict

Page 16: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Rules

)()()|()|(

ZPXPXZPZXP

Posterior: This is what you want. Knowingp(X|Z) will tell us what is themost likely state X.

Likelihood term: This is what you canevaluate

Prior: This is what you mayknow a priori, or whatyou can predict

Evidence: This is a constant for observed measurements such as images

Page 17: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking• Problem statement: estimate the most likely

state xk given the observations thus far Zk={z1,z2,…,zk}

……

……

x1 xk-2 xk-1 xk

z1 zk-2 zk-1 zkObserved measurements

Hidden state

Page 18: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Notations

Page 19: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Examples

• 2D region tracking

xk:2D location and scale of interesting regionszk: color histograms of the region

Page 20: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Examples

• 2D Contour tracking

xk: control points of spline-based contour representation

zk: edge strength perpendicular to contour

Page 21: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Examples

• 3D head tracking

xk:3D head position and orientationzk: color images of head region

[Jing et al , 2003]

Page 22: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Examples

• 3D skeletal pose tracking

xk: 3D skeletal poses

zk: image measurements including silhouettes, edges, colors, etc.

Page 23: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking• Construct the posterior probability

density function of the state based on all available information

• By knowing the posterior many kinds of estimates for can be derived– mean (expectation), mode, median, …– Can also give estimation of the accuracy (e.g.

covariance)

)|( :1 kk zxpThomas Bayes

kx

Sample space

Posterior

Page 24: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking

State posterior Mean state

Page 25: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking• Goal: estimate the most likely state given the

observed measurements up to the current frame

Page 26: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Recursive Bayesian Estimation

Page 27: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Formulation

Page 28: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking

Page 29: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking

……

……

x1 xk-2 xk-1 xk

z1 zk-2 zk-1 zkObserved measurements

Hidden state

Page 30: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking

……

……

x1 xk-2 xk-1 xk

z1 zk-2 zk-1 zkObserved measurements

Hidden state

Page 31: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking

Page 32: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking

……

……

x1 xk-2 xk-1 xk

z1 zk-2 zk-1 zkObserved measurements

Hidden state

Page 33: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking:Temporal Priors

• The PDF models the prior knowledge that predicts the current hidden state using previous states

- simple smoothness prior, e.g.,

- linear models, e.g.,

- more complicated prior models can be constructed via data-driven modeling techniques or physics-based modeling techniques

)2

exp()|( 2

21

1

kk

kk

xxxxp

)2

exp()|( 2

21

1 BAxx

xxp kkkk

1-kxkx

Page 34: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking: Likelihood

……

……

x1 xk-2 xk-1 xk

z1 zk-2 zk-1 zkObserved measurements

Hidden state

Page 35: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking: Likelihood• The likelihood term measures how well

the hidden state matches the observed measurements

)|( kk xzpkx

kz

Page 36: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking: Likelihood• The likelihood term measures how well

the hidden state matches the observed measurements

- In general, we can define the likelihood using analysis-by-synthesis strategy.

- We often assume residuals are normal distributed.

)|( kk xzpkx

kz

Page 37: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking: Likelihood• The likelihood term measures how well

the hidden state matches the observed measurements

)|( kk xzp

xk:2D location and scalezk: color histograms

kx

kz

How to define the likelihood term for 2D region tracking?

Page 38: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking: Likelihood• The likelihood term measures how well

the hidden state matches the observed measurements

)|( kk xzp

xk:2D location and scalezk: color histograms

kx

kz

)2

)]),([1(exp()|( 2

2

qxpf

xzp kkk

Matching residuals

Page 39: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking: Likelihood• The likelihood term measures how well

the hidden state matches the observed measurements

)|( kk xzp

xk:2D location and scalezk: color histograms

kx

kz

)2

)]),([1(exp()|( 2

2

qxpf

xzp kkk

Matching residuals

2)]),([1(minarg qxpf kxk

Equivalent to

Page 40: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking: Likelihood• The likelihood term measures how well

the hidden state matches the observed measurements

)|( kk xzpkx

kz

)2)(

exp()|( 2

2

kk

kk

zxIxzp

xk:3D head position and orientationzk: color images of head region

Synthesized image

Page 41: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking: Likelihood• The likelihood term measures how well

the hidden state matches the observed measurements

)|( kk xzpkx

kz

)2)(

exp()|( 2

2

kk

kk

zxIxzp

xk:3D head position and orientationzk: color images of head region

observed image

Page 42: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking: Likelihood• The likelihood term measures how well

the hidden state matches the observed measurements

)|( kk xzpkx

kz

)2)(

exp()|( 2

2

kk

kk

zxIxzp

xk:3D head position and orientationzk: color images of head region

Matching residuals

Page 43: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking• How to estimate the following posterior?

Page 44: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking• How to estimate the following posterior?

• The posterior distribution p(x|z) may be difficult or impossible to compute in closed form.

Page 45: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Bayesian Tracking• How to estimate the following posterior?

• The posterior distribution p(x|z) may be difficult or impossible to compute in closed form.

• An alternative is to represent p(x|z) using Monte Carlo samples (particles):– Each particle has a value and a weight

x

x

Page 46: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Multiple Modal Posteriors

Page 47: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Non-Parametric Approximation

Page 48: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Non-Parametric Approximation

- This is similar kernel-based density estimation!- However, this is normally not necessary

Page 49: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Non-Parametric Approximation

Page 50: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Non-Parametric Approximation

Page 51: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

How Does This Help Us?

Page 52: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Monte Carlo Approximation

Page 53: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Filtering: Step-by-Step

Page 54: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Filtering: Step-by-Step

Page 55: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Filtering: Step-by-Step

Page 56: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Filtering: Step-by-Step

Page 57: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Filtering: Step-by-Step

Page 58: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Filtering: Step-by-Step

Page 59: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Temporal Propagation

Page 60: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Temporal Propagation

after a few iterations, most particles have negligible weight (the weight is concentrated on a few particles only)!

Page 61: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Resampling

Page 62: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Particle Filtering

Isard & Blake IJCV 98

Page 63: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Particle Filtering

Isard & Blake IJCV 98

Page 64: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Particle Filtering

Isard & Blake IJCV 98

Page 65: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Particle Filtering

Isard & Blake IJCV 98

Page 66: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Particle Filtering

Isard & Blake IJCV 98

Page 67: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Particle Filtering in Action

• Video (click here)

Page 68: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

State Posterior

Isard & Blake IJCV 98

Page 69: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Leaf Examples

• Video (click here)

Page 70: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Dancing Examples

• Video (click here)

Page 71: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Hand Examples

• Video (click here)

Page 72: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Some Properties• It can be shown that in the infinite particle limit this

converges to the correct solution [Isard & Blake].• In practice, we of course want to use a finite number. - In low-dimensional spaces we might only need 100s of particles for

the procedure to work well. - In high-dimensional spaces sometimes 1000s, 10000s or even

more particles are needed.• There are many variants of this basic procedure, some

of which are more efficient (e.g. need fewer particles) - See e.g.: Arnaud Doucet, Simon Godsill, Christophe Andrieu: On

sequential Monte Carlo sampling methods for Bayesian filtering. Statistics and Computing, vol. 10, pp. 197-- 208, 2000.

Page 73: CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai

Summary: Particle Filtering• Advantages + can deal with nonlinearities and non-Gaussian noise + use temporal priors for tracking + Multi-modal posterior okay + Multiple samples provides multiple hypotheses + Easy to implement • Disadvantages - might become computationally inefficient, particularly when tracking in a

high-dimensional state space (e.g., 3D human bodies) - but parallelizable and thus can be accelerated via GPU implementations.