Date post: | 12-Jan-2016 |
Category: |
Documents |
Upload: | letitia-leonard |
View: | 226 times |
Download: | 0 times |
Trackingwith focus on the particle filter
(part II)Michael Rubinstein
IDC
Last time…
• Background– State space– Dynamic systems– Recursive Bayesian filters– Restrictive cases
• Kalman filter• Grid-based filter
– Suboptimal approximations• Extended Kalman filter
© Michael Rubinstein
This talk
• Particle filtering– MC integration– Sequential Importance Sampling (SIS)– Resampling– PF variants
• Multiple-target tracking– BraMBLe: A Bayesian Multiple-Blob Tracker/ Isard,
MacCormick
© Michael Rubinstein
Dynamic System
State equation: state vector at time instant k state transition function, i.i.d process noise
Observation equation:
observations at time instant kobservation function,i.i.d measurement noise
),( 1 kkkk vxfx
kxkf
xvx NNNk RRRf :
kv
),( kkkk wxhz kz
khkw
zwx NNNk RRRh :
© Michael Rubinstein
k-1 k k+1xk-1 xk xk+1
zk-1 zk zk+1
kf
kh
Stochastic diffusion
Recursive Bayes filter
• Prediction:
• Update:
© Michael Rubinstein
11:1111:1 )|()|()|( kkkkkkk dxzxpxxpzxp (1)
)|(
)|()|()|(
1:1
1:1:1
kk
kkkkkk zzp
zxpxzpzxp
kkkkkkk dxzxpxzpzzp )|()|()|( 1:11:1
(2)
Sample space
)|( :1 kk zxp
Particle filtering
• Many variations, one general concept:
• Randomly Chosen = Monte Carlo (MC)• As the number of samples become very large – the
characterization becomes an equivalent representation of the true pdf
Represent the posterior pdf by a set of randomly chosen weighted samples (particles)
© Michael Rubinstein
Sample space
Posterior
Particle filtering
• Compared to methods we’ve mentioned last time– Can represent any arbitrary distribution
– multimodal support
– Keep track of many hypotheses as there are particles– Approximate representation of complex model
rather than exact representation of simplified model
• The basic building-block: Importance Sampling
© Michael Rubinstein
Monte Carlo integration
• Evaluate complex integrals using probabilistic techniques
• Assume we are trying to estimate a complicated integral of a function f over some domain D:
• Also assume there exists some PDF p defined over D
xdxfFD
)(
© Michael Rubinstein
Monte Carlo integration
• Then
• But
• This is true for any PDF p over D!
xdxpxp
xfxdxfF
DD
)(
)(
)()(
pxxp
xfExdxp
xp
xfD
~,)(
)()(
)(
)(
© Michael Rubinstein
Monte Carlo integration
• Now, if we have i.i.d random samples sampled from p, then we can approximate
by
• Guaranteed by law of large numbers:
Nxx
,...,1
)(
)(
xp
xfE
N
i i
iN xp
xf
NF
1 )(
)(1
Fxp
xfEFN
sa
N
)(
)(,
.
© Michael Rubinstein
Importance Sampling (IS)
• What about ? • If p is very small, can be arbitrarily large,
‘damaging’ the average• Design p such that is bounded• Rule of thumb: take p similar to f as possible
• The effect: get more samples in ‘important’ areas of f, i.e. where f is large
0)( xp
pf /
pf /
© Michael Rubinstein
Importance weights
Importance or proposal density
Convergence of MC integration• Chebyshev’s inequality: let X be a
random variable with expected value μ and std σ. For any real number k>0,
• For example, for , it shows that at least half the values lie in interval
• Let , then MC estimator is)(
)(
i
ii xp
xfy
N
iiN y
NF
1
1
2
1}|Pr{|
kkX
2k)2,2(
Pafnuty Lvovich Chebyshev
© Michael Rubinstein
Convergence of MC integration• By Chebyshev’s,
• Hence, for a fixed threshold, the error decreases at rate
yVN
yVN
yVN
yN
VFVN
ii
N
ii
N
iiN
1111][
12
12
1
}
][|][Pr{|
21
NNN
FVFEF
}
][1|Pr{|
21
yV
NFFN
)/1( k
N/1
© Michael Rubinstein
Convergence of MC integration
• Meaning1. To cut the error in half, it is necessary to
evaluate 4 times as many samples2. Convergence rate is independent of the
integrand dimension!• On contrast, the convergence rate of grid-based
approximations decreases as increases
© Michael Rubinstein
xN
IS for Bayesian estimation
• We characterize the posterior pdf using a set of samples (particles) and their weights
• Then the joint posterior density at time k is approximated by
Ni
ik
ik wx 1:0 },{
N
i
ikk
ikkk xxwzxp
1:0:0:1:0 )()|(
© Michael Rubinstein
kkk
X kk
kkk
kkk
X
k
dxzxqzxq
zxpxf
dxzxpxfXfE
:0:1:0:1:0
:1:0:0
:0:1:0:0
)|()|(
)|()(
)|()())((
IS for Bayesian estimation
• We draw the samples from the importance density with importance weights
• Sequential update (after some calculation…)
)|( :1:0 kk zxq
)|(
)|(
:1:0
:1:0
kk
kkik zxq
zxpw
© Michael Rubinstein
),|(~ 1 kikk
ik zxxqx
Particle update
),|(
)|()|(
1
11
kik
ik
ik
ik
ikki
kik zxxq
xxpxzpww
Weight update
Sequential Importance Sampling (SIS)
• FOR i=1:N– Draw– Update weights
• END• Normalize weights
kNi
ik
ik
Ni
ik
ik zwxwx ,},{SIS},{ 1111
),|(~ 1 kikk
ik zxxqx
),|(
)|()|(
1
11
kik
ik
ik
ik
ikki
kik zxxq
xxpxzpww
© Michael Rubinstein
State estimates
• Any function can be calculated by discrete pdf approximation
)( kxf
N
i
ik
ikk xfw
NxfE
1
)(1
)(
© Michael Rubinstein
MAP Mean
Robust mean• Example:– Mean (simple average)– MAP estimate: particle with
largest weight– Robust mean: mean within
window around MAP estimate
Choice of importance density
© Michael Rubinstein
Hsiao et al.
Choice of importance density
• Most common (suboptimal): the transitional prior
© Michael Rubinstein
)|(),|(
)|()|(
)|(),|(
11
11
11
ikk
ik
kik
ik
ik
ik
ikki
kik
ikkk
ikk
xzpwzxxq
xxpxzpww
xxpzxxq
sN
j
jkk
jkk
ikk
ikki
kk
xzpw
xzpww
11|
1||
)|(
)|(Grid filter weight update:
The degeneracy phenomenon
• Unavoidable problem with SIS: after a few iterations most particles have negligible weights– Large computational effort for updating particles
with very small contribution to
• Measure of degeneracy - the effective sample size:
– Uniform: , severe degeneracy:
)|( :1 kk zxp
N
i
ik
effw
N1
2)(
1
NNeff 1effN
© Michael Rubinstein
Resampling
• The idea: when degeneracy is above some threshold, eliminate particles with low importance weights and multiply particles with high importance weights
• The new set is generated by sampling with replacement from the discrete representation of such that
NiN
ik
Ni
ik
ik xwx 1
1*1 },{},{
)|( :1 kk zxp jk
jk
ik wxx }Pr{ *
© Michael Rubinstein
Resampling
• Generate N i.i.d variables• Sort them in ascending order • Compare them with the cumulative sum of
normalized weights
Ni
ik
ik
Ni
ik
ik wxwx 11* },{RESAMPLE},{
]1,0[~Uui
Ristic et al.© Michael Rubinstein
Resampling• Complexity: O(NlogN)
– O(N) sampling algorithms exist
© Michael RubinsteinHsiao et al.
Generic PF
• Apply SIS filtering• Calculate• IF
• • END
kNi
ik
ik
Ni
ik
ik zwxwx ,},{PF},{ 1111
kNi
ik
ik
Ni
ik
ik zwxwx ,},{SIS},{ 1111
effN
threff NN N
iik
ik
Ni
ik
ik wxwx 11 },{RESAMPLE},{
© Michael Rubinstein
Generic PF},{ 1Nxik
},{ kik wx
},{ 1* Nxik
},{ 11
Nxik
},{ 11 kik wx
Van der Merwe et al.
Uniformly weighted measureApproximates )|( 1:1 kk zxp
Compute for each particle its importance weight to Approximate
(Resample if needed)
Project ahead to approximate
)|( :11 kk zxp
)|( :1 kk zxp
)|( 1:11 kk zxp© Michael Rubinstein
PF variants
• Sampling Importance Resampling (SIR)• Auxiliary Sampling Importance Resampling
(ASIR)• Regularized Particle Filter (RPF)• Local-linearization particle filters• Multiple models particle filters (maneuvering
targets)• …
© Michael Rubinstein
Sampling Importance Resampling (SIR)
• A.K.A Bootstrap filter, Condensation
© Michael Rubinstein
• Initialize from prior distribution • For k > 0 do
• Resample into • Predict • Reweight• Normalize weights • Estimate (for display)
Ni
ii wx 100 },{
Ni
ik
ik wx 111 },{
Ni
ik Nx 1
*1 }
1,{
0X
)|(~ *11
ikkk
ik xxxpx
)|( ikkk
ik xxzpw
kx̂
Intermission
Questions?
© Michael Rubinstein
Multiple Targets (MTT/MOT)• Previous challenges
– Full/partial occlusions– Entering/leaving the scene– …
• And in addition– Estimating the number of objects– Computationally tractable for multiple simultaneous
targets– Interaction between objects
– Many works on multiple single-target filters
© Michael Rubinstein
BraMBLe: A Bayesian Multiple-Blob Tracker
M. Isard and J. MacCormickCompaq Systems Research Center
ICCV 2001
Some slides taken from Qi ZhaoSome images taken from Isard and MacCormick
BraMBLE
• First rigorous particle filter implementation with variable number of targets
• Posterior distribution is constructed over possible object configurations and number
• Sensor: single static camera• Tracking: SIR particle filter• Performance: real-time for 1-2 simultaneous
objects
© Michael Rubinstein
The BraMBLe posterior
© Michael Rubinstein
)|( :1 kk zxp
State at frame k Image Sequence
Number,Positions,Shapes,Velocities,…
State space
• Hypothesis configuration:
• Object configuration:
© Michael Rubinstein
),...,,,( 21 mkkkkk xxxmX
),,,( ik
ik
ik
ik
ikx SVX
identifier
position
),( zxX
velocity
),( zx vvV
shape),,,,,,,( swhswf hwwww S
max131 MN x
Object model
• A person is modeled as a generalized-cylinder with vertical axis in the world coords
© Michael Rubinstein
CalibratedCamera),,,,,,,( swhswf hwwww S
)},(),,(),,(),0,{(),( hwhwhwwyr hsswwfii
Observation likelihood
• Image overlaid with rectangular Grid (e.g. 5 pixels)
© Michael Rubinstein
Y
Cr
Cb Mexican Hat(second deriv of G)
Gaussian
)|( ttp XZ
Observation likelihood
• The response values are assumed conditionally independent given X
© Michael Rubinstein
g ggg g lzpzp )|()|()|p( XXZ
0gl
2gl1gl
3gl
)|( ttp XZ
Appearance models
• GMMs for background and foreground are trained using kmeans
© Michael Rubinstein
Bk Bkg
kggg N
Klz ),(
1)0|p(
Fk
kF
kFgg N
Klz ),(
1)0|p(
4K
16K
Observation likelihood
© Michael Rubinstein
)0|p(
)0|p(log
gg
gg
lz
lz
System (prediction) model• The number of objects can change:
– Each object has a constant probability to remain in the scene.
– At each time step, there is constant probability that a new object will enter the scene.
•
© Michael Rubinstein
r
i
,...)~,(,...)~,( 1,1,'1
'1
'1
nt
nt
nt
nt
nt
nt xmXxmX
)|( 1tt XXp
Predictionfunction Initialization
function
Prediction function
• Motion evolution: damped constant velocity• Shape evolution: 1st order auto-regressive process
model (ARP)
© Michael Rubinstein
1tX 1tV
11 8.0 tt VX
Particles
© Michael Rubinstein
1tX
2tX
1NtX N
tX...N Points:
N Weights:1t
2t
1Nt N
t
Estimate
• Denote the set of existing unique identifiers
© Michael Rubinstein
},...,{ 1 Mt M
Total probability that object i exists
(particle,target)
tX̂
Results
• N=1000 particles• initialization samples always generated
© Michael Rubinstein
Results
• Single foreground model cannot distinguish between overlapping objects – causes id switches
© Michael Rubinstein
Parameters
© Michael Rubinstein
Summary
• The particle filters were shown to produce good approximations under relatively weak assumptions– can deal with nonlinearities– can deal with non-Gaussian noise– Multiple hypotheses– can be implemented in O(N)– easy to implement– Adaptive focus on more probable regions of the
state-space
© Michael Rubinstein
In practice1. State (object) model2. System (evolution) model3. Measurement (likelihood) model4. Initial (prior) state5. State estimate (given the pdf)
6. PF specifics1. Importance density2. Resampling method
• Configurations for specific problems can be found in literature
© Michael Rubinstein
Thank you!
© Michael Rubinstein
References
• Beyond the Kalman filter/ Ristic,Arulamplam,Gordon– Online tutorial: A Tutorial on Particle Filters for Online
Nonlinear/Non-Gaussian Bayesian Tracking/ Arulampalam et al 2002
• Stochastic models, estimation and control/ Peter S. Maybeck
• An Introduction to the Kalman Filter/ Greg Welch, Gary Bishop
• Particle filters an overview/ Matthias Muhlich
© Michael Rubinstein
Sequential derivation 1
• Suppose at time k-1, characterize
• We receive new measurement and need to approximate using new set of samples
• We choose q such that
And we can generate new particles
Ni
ik
ik wx 111:0 },{
)|( 1:11:0 kk zxp
kz)|( :1:0 kk zxp
)|(),|()|( 1:11:0:11:0:1:0 kkkkkkk zxqzxxqzxq
),|(~ :11:0 kikk
ik zxxqx
© Michael Rubinstein
Sequential derivation 2
• For the weight update equation, it can be shown that
And so )|()|()|(
)|()|(
)|()|()|(
1:11:01
1:11:01:1
1:1:0
kkkkkk
kkkk
kkkkkk
zxpxxpxzp
zxpzzp
xxpxzpzxp
),|(
)|()|()|(),|(
)|()|()|(
)|(
)|(
:11:0
11
1:11:0:11:0
1:11:01
:1:0
:1:0
kik
ik
ik
ik
ikki
k
kkkkk
kkkkkk
kk
kkik
zxxq
xxpxzpw
zxqzxxq
zxpxxpxzp
zxq
zxpw
© Michael Rubinstein
Sequential derivation 3
• Further, if • Then the weights update rule becomes
(and need not store entire particle paths and full history of observations)
• Finally, the (filtered) posterior density is approximated by
),|(),|( 1:11:0 kkkkkk zxxqzxxq
),|(
)|()|(
1
11
kik
ik
ik
ik
ikki
kik zxxq
xxpxzpww
N
i
ikk
ikkk xxwzxp
1:1 )()|(
(3)
© Michael Rubinstein
Choice of importance density
• Choose q to minimize variance of weights• Optimal choice:
– Usually cannot sample from or solve for (in some specific cases is works)
• Most commonly used (suboptimal) alternative:
– i.e. the transitional prior
)|(),|(),|(
11
11ikk
ik
ik
kikkoptk
ikk
xzpwwzxxpzxxq
optq ikw
)|()|(),|(
1
11ikk
ik
ik
ikkoptk
ikk
xzpwwxxpzxxq
© Michael Rubinstein
Generic PF
• Resampling reduces degeneracy, but new problems arise…
1.Limits parallelization2.Sample impoverishment: particles with high
weights are selected many times which leads to loss of diversity– if process noise is small – all particles tend to
collapse to single point within few interations– Methods exist to counter this as well…
© Michael Rubinstein