Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Aaron Bobick School of Interactive Computing
CS 4495 Computer Vision Tracking 2: Particle Filters Aaron Bobick - - PowerPoint PPT Presentation
Tracking 2: Particle Filters CS 4495 Computer Vision A. Bobick CS 4495 Computer Vision Tracking 2: Particle Filters Aaron Bobick School of Interactive Computing Tracking 2: Particle Filters CS 4495 Computer Vision A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Aaron Bobick School of Interactive Computing
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
concepts and basics
question.
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Ramanan, but mostly from Svetlana Lazebnik
Fox and someone who did great particle filter illustrations but whose name is lost to web thievery….
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
t=1 t=2 t=20 t=21
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
will occur in next frame, even before seeing the image.
smoothness, dynamics priors.
scene
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
evidence: P(X0)
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
measurements?
from prediction and measurements
posterior distribution of state given measurements across time
1 1
− − =
t t t
t t t t t
− −
1 1
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
t t t t t t
− −
1 1
1 1
− −
t t t t
dynamics model
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
plus Gaussian noise
state plus Gaussian noise
t
t
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
− − − 1 1 1
t t t t t
t t t
t t t t t
− − − 1 1 1
(greek letters denote noise terms)
t t t t
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
t t t t t
− − − − − 1 1 1 1 1
t t t t t t t t
=
t t t t
a v p x
t t t t t t
− − − − 1 1 1 1
(greek letters denote noise terms)
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
noise
form)
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
1
− t t
t t
0
Predict Correct
Given corrected state from previous time step and all the measurements up to the current one, predict the distribution over the current step Given prediction of state and current measurement, update prediction of state
Time advances (from t–1 to t)
− − t t σ
Mean and std. dev.
+ + t t σ
Mean and std. dev.
Make measurement
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
update initial estimte x y x y prediction x y measurement x y
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
prior Measurement evidence posterior
) ( ) | ( ) | ( x p x z p z x p ∝ dx x p x x p x p ) ( ) | ' ( ) ' (
=
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
with noise
+ − − = 1 t t
2 1
− − −
t t t t
2 1 2 2
+ − −
t d t
2 1,
d t t
−
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
2
m t t
2 1
− − −
t t t t
2
+ +
t t t t
2 2 2 2 2
− − − +
t m t t m t t
2 2 2 2 2 2
− − +
t m t m t
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
prior Measurement evidence
posterior?
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
that are both plausible in terms of dynamics and belief where the object was in the last image.
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
not as 𝑧𝑢
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
) (x p
t
x
Goal: 𝑞 𝑦𝑢 ∈ 𝑌𝑢 ≈ 𝑞 𝑦𝑢 𝑨 1…𝑢 with equality when 𝑜 → ∞ set of n (weighted) particles Xt Density is represented by both where the particles are and their
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
and for the Kalman filter a linear dynamics model.
state so could easily include velocity, acceleration, etc.
non-linear dynamics need to linearize about the current state (remember Jacobians?).
was known or expected to change from t to t+1.
t.
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
1 2 1 t t t t
−
1 2 1
t t t
−
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Underlying Assumptions
1: 1 1: 1 1: 1
t t t t t t t
− − −
0: 1: 1 1:
t t t t t t
−
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Prior before measurement
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
1 2 1 1 2 1 − −
t t t t t
Bayes z = observation u = action x = state
1 2 1 t t t t
−
Markov
1 2 1 −
t t t t
1 1 1 1
− − − −
t t t t t t t
Markov 1 1 2 1 1 1 1
− − − − −
t t t t t t t t
1 2 1 1 1 1 2 1 1
t t t t t t t t
− − − − −
Total Probability of “Prior”
Prediction before taking measurement
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
to its side…
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
When density is not easily represented analytically (ie a couple of Gaussians), represent by a set of (possibly weighted) samples
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Sensor Information (aka Importance Sampling) Robot sees a hole
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
−
,
Move and Resample
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Next Sensor Reading Robot sees a hole again
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Move and Resample again
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
2.
4. Sample index j(i) from the discrete distribution given by wt-1 5. Sample from using and Control 6. Compute importance weight (or reweight) 7. Update normalization factor 8. Insert
10. Normalize weights
, = ∅ = η
t
S n i 1 = } , { > < ∪ =
i t i t t t
w x S S
i t
w + =η η
i t
x
1
( | , )
t t t
p x x u
− ) ( 1 i j t
x −
t
u ) | (
i t t i t
x z p w = n i 1 = η /
i t i t
w w =
1 1 1
{ } , , ,
j j t t t t t
S x w u z
− − −
< > =
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
uncertainty is known.
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Laser sensor Sonar sensor No return!
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
63
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
64
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
65
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
66
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Dellaert, et al. 1997
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
P(z|x) h(x) z
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Measurement z: P(z|x):
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Measurement z: P(z|x):
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Measurement z: P(z|x):
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
weight particles.
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick w2 w3 w1 wn Wn-1
w2 w3 w1 wn Wn-1
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
2.
Generate cdf 4. 5. Initialize threshold
Draw samples … 7. While ( ) Skip until next threshold reached 8. 9. Insert
1 1
, ' w c S = ∅ = n i 2 =
i i i
w c c + =
−1 1 1 ~
[0, ], 1 u U n i
−
= n j 1 =
1 1 − +
+ = n u u
j j i j
c u >
> < ∪ =
−1
, ' ' n x S S
i
1 + = i i
(Also called stochastic universal sampling)
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
determine proposal
samples
representation measured by variance of weights)
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
knowledge
image and compare
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
data
repeated detection
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
which tracks?
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
measurement to be relevant to determining the state
uninformative measurements (clutter) or measurements may belong to different tracked objects
determining which measurements go with which tracks
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
that is “closest” to the prediction
Source: Lana Lazebnik
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
that is “closest” to the prediction
Source: Lana Lazebnik
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
that is “closest” to the prediction
state/observation hypotheses
easy solution
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
data association tend to accumulate over time
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
(+ dynamics)
person-specific
lead to drift
appearance model and then keep it fixed while tracking
can essentially be done by repeated detection (with some smoothing)
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracker
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
Tracking 2: Particle Filters CS 4495 Computer Vision – A. Bobick
http://www.ics.uci.edu/~dramanan/papers/pose/index.html