Human Pose Tracking I: Basics. David Fleet University of Toronto

Similar documents
CSC487/2503: Foundations of Computer Vision. Visual Tracking. David Fleet

Tracking. Readings: Chapter 17 of Forsyth and Ponce. Matlab Tutorials: motiontutorial.m. 2503: Tracking c D.J. Fleet & A.D. Jepson, 2009 Page: 1

Tracking. Readings: Chapter 17 of Forsyth and Ponce. Matlab Tutorials: motiontutorial.m, trackingtutorial.m

Markov chain Monte Carlo methods for visual tracking

Density Propagation for Continuous Temporal Chains Generative and Discriminative Models

2D Image Processing (Extended) Kalman and particle filter

PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 13: SEQUENTIAL DATA

Mixture Models and EM

Sensor Fusion: Particle Filter

Introduction to Machine Learning

CS 4495 Computer Vision Principle Component Analysis

Face Recognition from Video: A CONDENSATION Approach

Blind Equalization via Particle Filtering

EVALUATING SYMMETRIC INFORMATION GAP BETWEEN DYNAMICAL SYSTEMS USING PARTICLE FILTER

Multi-Target Particle Filtering for the Probability Hypothesis Density

The Kalman Filter ImPr Talk

CONDENSATION Conditional Density Propagation for Visual Tracking

Markov Chain Monte Carlo Methods for Stochastic Optimization

Robotics. Mobile Robotics. Marc Toussaint U Stuttgart

Lecture 2: From Linear Regression to Kalman Filter and Beyond

Particle Filters. Outline

A Background Layer Model for Object Tracking through Occlusion

Part 1: Expectation Propagation

Nonparametric Bayesian Methods (Gaussian Processes)

L09. PARTICLE FILTERING. NA568 Mobile Robotics: Methods & Algorithms

Machine Learning Techniques for Computer Vision

Level-Set Person Segmentation and Tracking with Multi-Region Appearance Models and Top-Down Shape Information Appendix

ECE276A: Sensing & Estimation in Robotics Lecture 10: Gaussian Mixture and Particle Filtering

Probabilistic Graphical Models Lecture 17: Markov chain Monte Carlo

STA 4273H: Statistical Machine Learning

Particle Filtering Approaches for Dynamic Stochastic Optimization

Tracking Human Heads Based on Interaction between Hypotheses with Certainty

Pattern Recognition and Machine Learning

Efficient Monitoring for Planetary Rovers

Linear Dynamical Systems

Probabilistic Graphical Models

Statistical Modeling of Visual Patterns: Part I --- From Statistical Physics to Image Models

Robotics 2 Target Tracking. Kai Arras, Cyrill Stachniss, Maren Bennewitz, Wolfram Burgard

Sequential Monte Carlo Methods for Bayesian Computation

Expectation propagation for signal detection in flat-fading channels

Kalman filtering and friends: Inference in time series models. Herke van Hoof slides mostly by Michael Rubinstein

Abnormal Activity Detection and Tracking Namrata Vaswani Dept. of Electrical and Computer Engineering Iowa State University

Linear Subspace Models

STA 4273H: Statistical Machine Learning

Gaussian-like Spatial Priors for Articulated Tracking

Introduction to Particle Filters for Data Assimilation

Particle Filtering for Data-Driven Simulation and Optimization

A Monte Carlo Sequential Estimation for Point Process Optimum Filtering

State Estimation using Moving Horizon Estimation and Particle Filtering

Part IV: Monte Carlo and nonparametric Bayes

Modeling and state estimation Examples State estimation Probabilities Bayes filter Particle filter. Modeling. CSC752 Autonomous Robotic Systems

Kernel adaptive Sequential Monte Carlo

Results: MCMC Dancers, q=10, n=500

Content.

Lecture 2: From Linear Regression to Kalman Filter and Beyond

Detection and Estimation Theory

COURSE INTRODUCTION. J. Elder CSE 6390/PSYC 6225 Computational Modeling of Visual Perception

Markov Chain Monte Carlo Methods for Stochastic

State-Space Methods for Inferring Spike Trains from Calcium Imaging

Condensed Table of Contents for Introduction to Stochastic Search and Optimization: Estimation, Simulation, and Control by J. C.

Generative Graphical Models for Maneuvering Object Tracking and Dynamics Analysis

Rao-Blackwellized Particle Filtering for 6-DOF Estimation of Attitude and Position via GPS and Inertial Sensors

13: Variational inference II

Tracking using CONDENSATION: Conditional Density Propagation

2D Image Processing. Bayes filter implementation: Kalman filter

CSE 598C Vision-based Tracking Seminar. Times: MW 10:10-11:00AM Willard 370 Instructor: Robert Collins Office Hours: Tues 2-4PM, Wed 9-9:50AM

Bayesian Hidden Markov Models and Extensions

Shape Outlier Detection Using Pose Preserving Dynamic Shape Models

Universität Augsburg

Introduction to Systems Analysis and Decision Making Prepared by: Jakub Tomczak

2D Image Processing. Bayes filter implementation: Kalman filter

In Situ Evaluation of Tracking Algorithms Using Time Reversed Chains

Sensor Tasking and Control

Graphical Object Models for Detection and Tracking

Gaussian Process Approximations of Stochastic Differential Equations

Particle lter for mobile robot tracking and localisation

Statistical Filters for Crowd Image Analysis

An introduction to particle filters

A kinematic model for Bayesian tracking of cyclic human motion

Lecture : Probabilistic Machine Learning

Recent Advances in Bayesian Inference Techniques

EKF and SLAM. McGill COMP 765 Sept 18 th, 2017

Bayesian Networks BY: MOHAMAD ALSABBAGH

Why do we care? Measurements. Handling uncertainty over time: predicting, estimating, recognizing, learning. Dealing with time

Lecture: Gaussian Process Regression. STAT 6474 Instructor: Hongxiao Zhu

Lecture 6: Bayesian Inference in SDE Models

AUTOMOTIVE ENVIRONMENT SENSORS

Reading Group on Deep Learning Session 1

Probing the covariance matrix

ECE295, Data Assimila0on and Inverse Problems, Spring 2015

Announcements. Tracking. Comptuer Vision I. The Motion Field. = ω. Pure Translation. Motion Field Equation. Rigid Motion: General Case

Lecture 6: Multiple Model Filtering, Particle Filtering and Other Approximations

Machine Learning for OR & FE

State Space and Hidden Markov Models

Ch 4. Linear Models for Classification

Sequential Monte Carlo and Particle Filtering. Frank Wood Gatsby, November 2007

Why Bayesian? Rigorous approach to address statistical estimation problems. The Bayesian philosophy is mature and powerful.

Why do we care? Examples. Bayes Rule. What room am I in? Handling uncertainty over time: predicting, estimating, recognizing, learning

Tracking (Optimal filtering) on Large Dimensional State Spaces (LDSS)

Robotics. Lecture 4: Probabilistic Robotics. See course website for up to date information.

Transcription:

Human Pose Tracking I: Basics David Fleet University of Toronto CIFAR Summer School, 2009

Looking at People

Challenges: Complex pose / motion People have many degrees of freedom, comprising an articulated skeleton overlaid with soft tissue and deformable clothing.

Challenges: Complex movements People move in complex ways, often communicating with subtle gestures

Challenges: Appearance, size and shape People come in all shapes and sizes, with highly variable appearance.

Challenges: Appearance variability Image appearance changes dramatically over time due to non-rigidity of body and clothing and lighting.

Challenges: Appearance variability Image appearance changes dramatically over time due to non-rigidity of body and clothing and lighting.

Challenges: Context dependence Perceived scene context influences object recognition. [Courtesy of Antonio Torralba]

Challenges: Noisy and missing measurements Ambiguities in pose are commonplace, due to background clutter apparent similarity of parts occlusions loose clothing

Challenges: Depth and reflection ambiguities image 3D model (camera view) 3D model (top view) Multiple 3D poses may be consistent with a given image. [courtesy of Cristian Sminchisescu]

Model-based pose tracking Video input 3D articulated model

Outline Introduction Bayesian Filtering Kinematic Motion Models Discriminative Pose Estimation Physics-Based Motion Models Concluding remarks

Bayesian Filtering State: n-vector comprising variables to be inferred: - continuous variables [eg., position, velocity, shape, size, ] - discrete state variables [eg., # objects, gender, activity, ] - state history: s 1:t =(s 1,..., s t ) s t Observations: data from which we estimate state: - observation history: z 1:t =(z 1,..., z t ) z t = f(s t )

Bayesian Filtering Posterior distribution over states conditioned on observations p(s 1:t z 1:t ) Bayes rule: likelihood prior p(s 1:t z 1:t ) = p(z 1:t s 1:t ) p(s 1:t ) p(z 1:t ) independent of state Filtering distribution: marginal posterior at current time p(s t z 1:t )= s 1 s t 1 p(s 1:t z 1:t )

Simplifying model assumptions 1 st -order Markov model for state dynamics: so sequence one-step prior transition Conditional independence of observations prior joint likelihood p(s t s 1:t 1 ) = p(s t s t 1 ) p(s 1:t ) = t j=2 p(s j s j 1 ) p(s 1 ) p(z 1:t s 1:t ) = p(z t s t ) p(z 1:t 1 s 1:t 1 ) t = p(z τ s τ ) τ=1 likelihood at time τ

Recursive form of filtering/posterior distribution Filtering distribution: p(s t z 1:t ) = s 1 s t 1 p(s 1:t z 1:t ) = cp(z t s t ) p(s t z 1:t 1 ) likelihood Prediction distribution (temporal prior): p(s t z 1:t 1 ) = p(s t s t 1 ) p(s t 1 z 1:t 1 ) s t 1

Bayesian smoothing Inverting the dynamics permits inference backwards in time: p(s τ z τ:t ) = cp(z τ s τ ) p(s τ s τ+1 ) p(s τ+1 z τ+1:t ) s τ+1 = cp(z τ s τ ) p(s τ z τ+1:t ) Smoothing distribution (forward-backward belief propagation): p(s τ z 1:t ) = c p(s τ ) p(z τ s τ ) p(s τ z 1:τ 1 ) p(s τ z τ+1:t ) Batch Algorithms (smoothing): Estimation of state sequences using the entire observation sequence (i.e., all past, present & future data): - optimal and efficient but not always applicable Online Algorithms (filtering): Casual estimation of x t occurs as observations become available, using present and past data only.

Kalman filter Assume linearity and Gaussianity for the observation and dynamical models: s t = A s t 1 + η d η d N (0, C d ) z t = M s t + η m η m N (0, C m ) Key Result: Prediction and filtering distributions are Gaussian, so they may be represented by sufficient statistics: p(s t z 1:t 1 )= p(s t s t 1 ) p(s t 1 z 1:t 1 ) N (s t,ct ) s t 1 p(s t z 1:t )= cp(z t s t ) p(s t z 1:t 1 ) N (s + t,c + t )

Depiction of filtering p(s t 1 z 1:t 1 ) deterministic drift posterior s s p(s t z 1:t ) incorporate data p(s t z 1:t 1 ) stochastic diffusion z t posterior s prediction s

Kalman filter First well-known uses in computer vision: Road following by tracking lane markers [Dickmanns & Graefe, Dynamic monocular machine vision. Machine Vision and Applications, 1988] Rigid structure from feature tracks under perspective projection [Broida et al., Recursive estimation of 3D motion from monocular image sequence. IEEE Trans. Aerosp. & Elec. Sys., 1990]

Multimodal likelihood functions [Khan et al, CVPR 04] Measurement clutter and occlusion often cause multimodal likelihoods.

Nonlinear dynamics [Jepson et al, WSL Tracker, PAMI, 2001] Object motion and interactions between objects often produce complex nonlinear dynamics (so Gaussianity is not preserved)

Approximate inference Coping with multimodal, non-gaussian distributions Optimization (to find MAP solution) - e.g., WSL tracker Monte Carlo approximations

WSL tracker Goal: Tracking with precise alignment over long times Problem: Changing appearance and unmodeled deformations Key: Use stable properties of appearance for tracking

WSL tracker

Monte Carlo inference (Particle filters) Approximate the filtering distribution using point samples: By drawing a set of random samples from the filtering distribution, we could use samples statistics to approximate expectations Let S = {s (j) } be a set of N fair samples from distribution P(s), then for functions f(s) E S [f(s)] 1 N N j=1 f(s (j) N ) E P [f(s)] Problem: we don t know how to draw samples from p(s t z 1:t )

Importance sampling weighted samples

Importance sampling Weighted sample set S = {s (j),w (j) } s (j) draw samples from a proposal distribution Q(s), with weights w (j) = w(s (j) ), then N E S [f(s)] w (j) f(s (j) N ) E Q [w(s) f(s)] j=1 If w(s) =P(s)/Q(s) then weighted sample statistics approximate expectations under P(s), i.e., E Q [w(s) f(s)] = w(s) f(s) Q(s) ds = f(s) P(s) ds = E P [f(s)]

Particle filter Simple particle filter approximates the filtering distribution by drawing samples from the prediction distribution: p(s t z 1:t ) = cp(z t s t ) p(s t z 1:t 1 ) P(s) w(s) = P(s) Q(s) Q(s)

Particle filter Simple particle filter approximates the filtering distribution by drawing samples from the prediction distribution: p(s t z 1:t ) = cp(z t s t ) p(s t z 1:t 1 ) With resampling at each time step: p(s t 1 z 1:t 1 ) sample sample normalize p(s t s t 1 ) p(z t s t ) p(s t z 1:t ) posterior temporal dynamics likelihood posterior [Gordon et al 93; Isard & Blake 98; Liu & Chen 98, ]

Particle filter Given a weighted sample set S = {s (j) t 1,w(j) distribution is a mixture model p(s t z 1:t 1 ) = To draw samples from it: N j=1 t 1 } w (j) p(s t s (j) t 1 ), the prediction - sample a component of the mixture by the treating weights as mixing probabilities Cumulative distribution of weights sample u U(0, 1) 1 u 0 1 - then sample from the associated dynamics pdf p(s t s (i) t 1 ) i N

Particle filter weighted sample set re-sample & drift diffuse & re-sample compute likelihoods weighted sample set [Isard and Blake, IJCV 98]

Lessons learned: Sampling efficiency 3D Kinematic Model (28D state: 22 joint angles, 6 global DOFs) [Choo & Fleet, ICCV 01]

Likelihood and dynamics Given the state, s, and the articulated model, the 3D marker positions onto the 2D image plane: X j d j (s) =T j (X j ; s) Observation model: ˆd j = d j + η j, η j N (0; σ 2 mi 2 ) Likelihood of observed 2D locations, D = {ˆd j }: p(d s) Smooth dynamics: exp 1 2σ 2 m j ˆd j d j (s) 2 s t = s t 1 + ɛ t where ɛ t is isotropic Gaussian for translational & angular variables

Performance Estimator Variance: multiple runs with independent noise & sampling variance measured as MSE from ground truth (from MCMC)

Problem: Sampling efficiency Number of samples needed depends on the effective volumes (entropies) of the prediction and posterior distributions. With random sampling from the prediction density, the number of particles grow exponentially for samples to fall on states with high posterior. E.g., for D-dim spheres, with radii R and r, Posterior Prediction N > ( R r ) D effective number of independent samples: N e =1/ j (w (j) ) 2

Hybrid Monte Carlo filter Improved sampling through MCMC: initialize a set of particles from a particle filter select a subset from which to initiate MCMC with stochastic gradient search (hybrid Monte Carlo) optimistic extrapolant fixed variance HMC filter particle filter [Choo & Fleet, ICCV 01]

Mean estimates on independent trials Particle Filter Hybrid MC Filter Black: Ground truth (at frame 10) Red: Mean state from 6 random trials

Lessons learned: Effective proposals If proposal and target distributions differ significantly, then: most particle weights are near zero, and some modes get no samples, so the normalization constant c can be wildly wrong. Prediction distributions Q = p(s t z 1:t 1 ) make poor proposals: dynamics are often uncertain, and likelihoods are often peaked. Use the current observation to improve proposals. Let D(z t ) be a continuous distribution obtained from some detector that yields target locations (e.g., a Gaussian mixture). Then, just modify the proposal density and importance weights: Q = D(z t ) p(s t z 1:t 1 ) with w(s t )= cp(z t s t ) D(z t )

Lessons learned: Proper likelihoods Do not compare states using different sets of observations. Explain the entire image or use likelihood ratios. E.g., let pixels intensities, conditioned on state be independent where D f and D b are disjoint sets of foreground and background pixels, and and p b are the respective likelihood functions. p f Divide p(i s) by the background likelihood of all pixels (i.e., as if no target is present): y D p(i s) f p f (I(y) s) y D b p b (I(y)) y p b(i(y)) y D = f p f (I(y) s) y D b p b (I(y)) y D f p b (I(y) s) y D b p b (I(y)) = p f (I(y) s) p b (I(y)) y D f

Lessons Learned: Use the right state space Despite the potential to approximate multimodal posteriors, tracking multi targets with a single target state space is unadvised.

Finding occlusion boundaries Motion boundaries yield information about position and orientation of surface boundaries, and about relative surface depths

Finding occlusion boundaries Estimation of smooth motion and occlusion boundaries on hybrid random fields with non-parametric Bayesian inference. [Nestares and Fleet, CVPR 01]

Finding lips and lip reading Probabilistic detection, tracking, and recognition of motion events in video, with learned models of image motion. [Fleet, Black, Yacoob and Jepson, IJCV 2000]

Human pose tracking Estimate the three-dimensional structure of people from video, with constraints on their shape, size, & motion. [Sidenbladh, Black and Fleet, ECCV 2000]

Selected references Arulampalam, M. et al., A tutorial on particle filters for online nonlinear/non-gaussian Bayesian tracking. IEEE Trans Signal Processing 50(2), 2002. Blake, A., Visual tracking. In Mathematical Models for Computer Vision, Paragios, Chen and Faugeras (ed), Springer 2005 Choo K. and Fleet, D., People tracking using Hybrid Monte Carlo filtering. Proc IEEE ICCV, 2001 Doucet, A. et al, On Sequential Monte Carlo sampling methods for Bayesian filtering. Stats and Computing 10, 2000 Gordon N. et al., Novel approach to nonlinear/non-gaussian Bayesian state estimation. IEE Proceedings-F, 140(2), 1993 Isard M. & Blake A., Condensation: Conditional density propagation. IJCV 29, 1998 Jepson A. et al, Robust online appearance models for visual tracking. IEEE Trans PAMI 25(10), 2003 Khan Z. et al, A Rao-Blackwellized particle filter for Eigentracking. Proc IEEE CVPR 2004 Liu J and Chen, R. Sequential Monte Carlo methods for dynamic systems. JASA 93, 1998