Bayesian state estimation and application to tracking Jamal Saboune jsaboune@site.uottawa.ca VIVA Lab - SITE - University of Ottawa Jamal Saboune - CRV10 Tutorial Day 1 Dynamic state estimation A dynamic process described using a number of random variables (state variables) The evolution of the variables follows a model Indication on all or some of the variables (observation) Evaluate at time t in a recursive manner (using t-1) the process represented by its state vector Xt , given the history of observations Yt Jamal Saboune - CRV10 Tutorial Day 2 Dynamic state estimation The Markov process is defined by its transition model and the initial state vector: Xt= ft (Xt-1 ,Πt ) X0 The observation is defined by the observation model : Y = h (X ,v ) t t t t Jamal Saboune - CRV10 Tutorial Day 3 Dynamic state estimation- Bayesian approach Estimate the a posteriori probability density function P(Xt / Yt ) using the transition model, the observation model and the probability density function P(Xt-1 / Yt-1 ) Jamal Saboune - CRV10 Tutorial Day 4 Kalman filter Probability density propagation = Theoretical solution not an analytical one Particular case : The observation and process noises distributions are Gaussian + The transition and observation functions are linear The probability density functions are Gaussian mono-modal Jamal Saboune - CRV10 Tutorial Day 5 Kalman filter A number of equations using the transition/observation functions and covariance matrices Optimal estimation of the state vector Minimizes the mean square error between the estimated state vector X’t and the ‘real’ state vector Xt E[(X’t - Xt )2] given the history of observations Yt Extended Kalman Filter (EKF) is the non linear version of the KF = The transition and observation function can be non-linear Jamal Saboune - CRV10 Tutorial Day 6 Kalman filter example Jamal Saboune - CRV10 Tutorial Day 7 Condensation algorithm (Isard, Blake 98) Multimodal and non Gaussian probability densities Model the uncertainty Each possible configuration of the state vector is represented by a ‘particle' The likelihood of a certain configuration is called ‘weight’ The posterior (a posteriori) density is represented using N ‘weighted’ particles Jamal Saboune - CRV10 Tutorial Day 8 Selection Prediction Likelihood function Measure Chosen particle Jamal Saboune - CRV10 Tutorial Day CONDENSATION – time t Particles at t-1 9 Condensation algorithm (Isard, Blake 98) Tracking of a hand movement using an edge detector Jamal Saboune - CRV10 Tutorial Day 10 Condensation algorithm for tracking Hands and head movement tracking using color models and optical flow (Tung et al. 2008) Jamal Saboune - CRV10 Tutorial Day 11 Condensation algorithm for tracking Head tracking with contour models (Zhihong et al. 2002) Jamal Saboune - CRV10 Tutorial Day 12 Interval Particle Filtering for 3D motion capture (Saboune et al. 05,07,08) 3D humanoid model adapted to the height of the person 32 degrees of freedom to simulate the human movement Find the best fitting 3D model configuration Jamal Saboune - CRV10 Tutorial Day 13 Interval Particle Filtering for 3D motion capture (Saboune et al. 05,07,08) Modify the Condensation algorithm and adapt it to the human motion tracking Good estimation using a reduced number of particles Jamal Saboune - CRV10 Tutorial Day 14 Particle Filtering for multi-targets tracking Joint state vector for all targets and joint likelihood function (Isard, MacCormick 2001, Zhao, Nevatia 2004) Multiple particle filters (one/target) and combined global likelihood function (Koller-Maier 2001) The Explorative particle filtering for 3D people tracking (Saboune, Laganiere 09) Jamal Saboune - CRV10 Tutorial Day 15 Q&A Jamal Saboune - CRV10 Tutorial Day 16