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

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

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

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

2D Image Processing (Extended) Kalman and particle filter

Markov chain Monte Carlo methods for visual tracking

Density Propagation for Continuous Temporal Chains Generative and Discriminative Models

Linear Dynamical Systems

Introduction to Machine Learning

Tracking Human Heads Based on Interaction between Hypotheses with Certainty

Mixture Models and EM

Lecture 2: From Linear Regression to Kalman Filter and Beyond

CS 4495 Computer Vision Principle Component Analysis

Machine Learning Techniques for Computer Vision

STA 4273H: Statistical Machine Learning

Lecture 2: From Linear Regression to Kalman Filter and Beyond

Pattern Recognition and Machine Learning

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

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

CONDENSATION Conditional Density Propagation for Visual Tracking

Nonlinear State Estimation! Particle, Sigma-Points Filters!

Face Recognition from Video: A CONDENSATION Approach

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

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Analysis on a local approach to 3D object recognition

The Unscented Particle Filter

Sensor Tasking and Control

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

Probabilistic Graphical Models

Sequential Monte Carlo Methods for Bayesian Computation

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

Nonlinear and/or Non-normal Filtering. Jesús Fernández-Villaverde University of Pennsylvania

Computer Vision Motion

Efficient Monitoring for Planetary Rovers

PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 13: SEQUENTIAL DATA

Clustering with k-means and Gaussian mixture distributions

Robotics. Mobile Robotics. Marc Toussaint U Stuttgart

Linear Subspace Models

Second-Order Polynomial Models for Background Subtraction

2D Image Processing. Bayes filter implementation: Kalman filter

STA 4273H: Sta-s-cal Machine Learning

Variational Autoencoders

Lagrangian Data Assimilation and Manifold Detection for a Point-Vortex Model. David Darmon, AMSC Kayo Ide, AOSC, IPST, CSCAMM, ESSIC

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

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

ISOMAP TRACKING WITH PARTICLE FILTER

Probabilistic Graphical Models

Approximate Inference Part 1 of 2

2D Image Processing. Bayes filter implementation: Kalman filter

p L yi z n m x N n xi

Approximate Inference Part 1 of 2

Deep learning / Ian Goodfellow, Yoshua Bengio and Aaron Courville. - Cambridge, MA ; London, Spis treści

Expectation Propagation in Dynamical Systems

Autonomous Navigation for Flying Robots

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

Gaussian-like Spatial Priors for Articulated Tracking

Factor Analysis and Kalman Filtering (11/2/04)

Introduction to Computer Vision

Optical Flow, Motion Segmentation, Feature Tracking

Mobile Robot Localization

STA 4273H: Statistical Machine Learning

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

Sequential Particle Swarm Optimization for Visual Tracking

Mobile Robot Localization

Lecture 6: Bayesian Inference in SDE Models

Shape Outlier Detection Using Pose Preserving Dynamic Shape Models

The Kalman Filter ImPr Talk

Graphical Object Models for Detection and Tracking

Lecture 7: Con3nuous Latent Variable Models

Robotics 2 Target Tracking. Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram Burgard

Partially Observable Markov Decision Processes (POMDPs)

Gaussian Process Approximations of Stochastic Differential Equations

Expectation propagation for signal detection in flat-fading channels

STA 414/2104: Machine Learning

State Estimation using Moving Horizon Estimation and Particle Filtering

Dynamic Data Modeling, Recognition, and Synthesis. Rui Zhao Thesis Defense Advisor: Professor Qiang Ji

ABSTRACT INTRODUCTION

Shape of Gaussians as Feature Descriptors

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

Dynamic models 1 Kalman filters, linearization,

Pattern Recognition. Parameter Estimation of Probability Density Functions

Hidden CRFs for Human Activity Classification from RGBD Data

Combined Particle and Smooth Variable Structure Filtering for Nonlinear Estimation Problems

Bayesian Methods for Machine Learning

A Background Layer Model for Object Tracking through Occlusion

Autonomous Mobile Robot Design

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

STA414/2104. Lecture 11: Gaussian Processes. Department of Statistics

Sensor Fusion: Particle Filter

Probabilistic Graphical Models

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

In Situ Evaluation of Tracking Algorithms Using Time Reversed Chains

MMSE-Based Filtering for Linear and Nonlinear Systems in the Presence of Non-Gaussian System and Measurement Noise

Lecture : Probabilistic Machine Learning

Riemannian Metric Learning for Symmetric Positive Definite Matrices

Adaptive Covariance Tracking with Clustering-based Model Update

Statistical Filters for Crowd Image Analysis

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

A kinematic model for Bayesian tracking of cyclic human motion

STA414/2104 Statistical Methods for Machine Learning II

Transcription:

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

Introduction What is tracking? Major players: Dynamics (model of temporal variation of target parameters) Measurements (relation between image & target parameters) Search (finding good values for target parameters) Initialization (establish initial state of tracker) Why tracking (why not recognition?) Accumulated information (impoverished local measurements) Track then detect Establish what went where (correspondence) Effective / Improved search Simultaneous activity recognition / tracking

Introduction: Potential Applications Automotive traffic analysis / control driver attentiveness obstacles (pedestrians and vehicles) Looking @ People surveillance/security (homes, stores, ) annotating human activity (football plays) Entertainment motion capture, interactive video w/ CG Interactive toys Military target detection, tracking, and prediction Science cell motility assays

Introduction What s s so hard? complex nonlinear dynamics, with high dimensional object models complex appearance, and temporal appearance variation (deformable objects, shadows & lighting variations, clothing, ) impoverished information due to occlusion or scale visual background clutter and distractors

Introduction What are we tracking? position, velocity, acceleration shape, size, deformation 3d structure Which image properties should we track? intensity / colors region statistics contours (edges) shapes motion

Introduction What simplifies the problem/solution in practice? known/stationary background (e.g., track blobs) distinct a priori colors (e.g., skin) multiple cameras (often 2 or 3) manual initialization strong dynamics models prior knowledge of the number of objects and object types sufficient object size limited occlusion

2D (Local) Region Tracking [Shi and Tomasi, Good features to track. Proc IEEE CVPR, 1994]

2D Region Tracking with Appearance Models [Jepson, Fleet, & El-Maraghi, Robust, on-line appearance models for visual tracking. IEEE Trans. On PAMI, 2003]

2D Region Tracking [Birchfield, Elliptical head tracking using intensity gradients and color histograms. Proc IEEE CVPR, 1998]

Joint Color/Space Tracking with Mean Shift [Comaniciu and Meer, Mean Shift, CVPR 2000]

Contour Tracking [Isard & Blake, Condensation - conditional density propagation for visual tracking. IJCV, 1998]

Car Tracking / Background Subtraction [Koller, Weber & Malik, Robust multiple car tracking with occlusion reasoning. Proc ECCV,1994]

2.5D People Tracking [Haritaoglu, Harwood & Davis, W4: Who, when, where, what: A real-time system for detecting and tracking people. Proc Face & Gesture Conf, 1998]

2.1 People Tracking [Isard and MacCormick, Bramble:. Proc ICCV, 2001]

3D People Tracking [Sidenbladh, Black & Fleet, 3D people tracking using particle filtering. Proc ECCV, 2000]

3D People Tracking [Plankers & Fua, Articulated soft objects for video-based body modeling. Proc IEEE ICCV, 2001]

Introduction What s the goal (state of the art)? how many frames 10, 100, 1000, 10000 batch or on-line prior specification / learning of object model real-time what class of motion (e.g., low-dim 2d deformation, rigid objects, smooth textured surfaces, deformable objects, )

State Space Object model is a set of variables (properties of the image or scene) that we wish to estimate as a function of time? State: n-vector containing variables to be estimated: continuous (real-valued) state space [e.g., position, velocity, acceleration, size, shape, ] discrete state space [e.g., number of objects, gender, activity type, ] hybrid state space (with discrete & continuous variables being functions of one another) Observations / Measurements: Observations / Measurements: data vector from which we estimate the state variables:

Probabilistic Formulation Remember: Conditioning (factorization): Bayes rule: Marginalization:

Probabilistic Formulation State history: Observation history: Probability distribution over states conditioned on observations Marginal distribution over current state given observation history called posterior distribution (or filtering distribution)

Probabilistic Models / Assumptions First-order Markov model for the state dynamics: therefore Conditional independence of observations joint likelihood likelihood at time τ

Filtering Equations Bayes rule

Filtering Equations Prediction distribution (temporal prior):

Filtering Equations Recursive (filtering) computation: begin with posterior from previous time propagate forward in time using dynamical model to form the prediction distribution incorporate current observations (evidence) to form the new filtering (posterior) distribution Animation?

Filtering and Smoothing Recursive computation (smoothing) backwards in time: Optimal computation given entire sequence: filter & smooth current evidence prediction from past data prediction from future data [Belief Propagation: Belief Propagation: combining predictions (or messages) from neighbors with local evidence to compute local estimates of state]

Temporal Dynamics Linear dynamical models: Random walk with zero velocity process noise Random walk with zero acceleration extended state space Harmonic oscillation (1D case) where so linear dynamics

Temporal Dynamics Linear dynamical models: Second-order Markov Express as first-order in an augmented state space: e.g. constant velocity Appropriate for a wide range of system dynamics, including harmonic oscillation and random walk with drift.

Temporal Dynamics Hybrid dynamics (continuous variables are functions of discrete variables): Discrete dynamics given by transition probability matrix For each position in the matrix we have a continuous dynamical model that involves the relevant continuous state variables Learned dynamics: Use training ensemble of motions to learn low-dimensional linear subspaces or nonlinear manifolds

Kalman Filter Assume linearity + Gaussian uncertainty for both observation equations and state dynamics: The conditional Markov and likelihood distributions become: where (for D-dimensional vector )

Kalman Filter Remember product of two Gaussian densities is Gaussian marginalization of multi-dimensional Gaussian is also Gaussian Key Result: Filtering and prediction distributions are Gaussian, so they may be represented by their respective means and covariances: prediction mean prediction covariance posterior mean posterior covariance

Kalman Equations Remember: Convolution of two Gaussians with covariances Gaussian with covariance and is If and then So, with it follows that the prediction mean and variance are given by

Kalman Equations Combine prediction with measurement the posterior mean and variance : to estimate Kalman gain: Posterior mean: innovation Posterior covariance: Identity matrix numerically more stable

Kalman Filter Cartoon deterministic drift posterior incorporate data stochastic diffusion posterior prior

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]

Car Tracking / Background Subtraction [Koller, Weber & Malik, Robust multiple car tracking with occlusion reasoning. Proc ECCV,1994]

Extended Kalman Filter Problem: Non-linear dynamical systems. Extended Kalman Filter (EKF): If system dynamics are nonlinear, then we can linearize the dynamics at estimated state at time t-1. where Iterated, Extended Kalman Filter (IEKF): Iterate estimation with EKF, computing the Jacobian for each iteration at the most recent state estimate. Remarks: computation of Jacobian, accumulated bias and underestimation of variance.

Unscented Kalman Filter Problem: Errors in estimated mean and variance with EKF. Solution: Use unscented transform to obtain mean and variance estimates to second-order with arbitrary non-linear dynamics [Julier & Uhlmann 97]. Sketch of Idea: Rather than approximate the state dynamics to ensure a Gaussian prediction distribution, using, use exact first and second moments of the prediction density under the nonlinear dynamics to obtain the Gaussian prediction. choose a set of sigma points whose sample mean & covariance given the mean and variance of the Gaussian posterior at apply the dynamics to each sigma points: calculate the sample mean and covariances of points

Unscented Transform Monte Carlo sampling Linearized (EKF) Unscented Transform Wan and van der Merwe, 2000

Data Association Problem: Non-Gaussian and multi-modal likelihood functions, caused by the complex clutter that exists in most natural scenes. Data association: Select a subset of measurements from the entire collection of observations, i.e., those that are related to the object being tracked, for which simpler measurement models can be applied. Probabilistic data association: let measurement be a weighted sum of measurements (weights given by likelihood of each measurement given the current model guess). Remarks: do this when you don t know how (or can t be bothered) to model the rest of the scene (or background)

Problems: Nonlinear Dynamics fixed point Dynamical model State evolution over 100 time steps for different initial states

Problems: Nonlinear Dynamics Multiple modes are poorly represented by a Gaussian time = 0 time = 20 time = 70 Histograms of state values, as a function of time, given random Gaussian draws for the initial states

Problems: Multi-Modal Likelihoods Except in specific domains, data association will not find only those measurements associated with the tracked object. Measurement clutter in natural images causes likelihood functions to have multiple, local maxima.

Hill-Climbing (ML / MAP) Trackers With non-gaussian likelihoods, or nonlinear dynamics, one might forego computation of the full filtering distribution. Instead, just estimate a maximal likelihood or posterior state; i.e., do not propagate uncertainty use noiseless dynamical model to propagate the optimal state from the previous time to the current time then use iterative optimization (e.g. gradient ascent) from the initial guess to find local maxima of the likelihood or an approximate posterior Remarks: works great when you are always close enough to the optimal (ML or MAP) state. This may be suitable for many apps, but tracking diagnostics and restarts may be required.

Bayesian Filtering with General Distributions deterministic drift posterior incorporate data stochastic diffusion posterior prior

Non-Parametric Approximate Inference 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 be a set of fair samples from distribution, then for functions Problem: we don t know how to draw samples from We could sample at regular intervals Problem: most samples have low probability wasted computation

Importance Sampling weighted samples Weighted samples Draw samples from a proposal distribution Find weights so that the linearly weighted sample statistics approximate expectations under the desired distribution i.e.

Particle Filter Sequential Monte Carlo methods draw samples at each time step and then re-weight them to approximate the filtering distribution: Simple particle filter: draw samples from the prediction distribution weights are proportional to the ratio of posterior and prediction distributions, i.e. the normalized likelihood sample posterior sample temporal dynamics normalize likelihood posterior [Gordon et al 93; Isard & Blake 98; Liu & Chen 98, ]

Particle Filter Given a weighted sample set the prediction distribution becomes a linear mixture model - sample a component of the mixture by the treating weights as mixing probabilities Cumulative distribution of weights sample 1 0 1 N - then sample from the associated dynamics pdf

Particle Filter weighted sample set re-sample & drift diffuse & re-sample compute likelihoods weighted sample set

Particle Filter Some advantages of particle filters handle non-gaussian and multi-modal distributions easy to implement manage computational cost by adjusting numbers of samples Some hazards proposal distribution should be non-zero wherever the posterior distribution is non-zero (usually heavy-tailed) proposals should be as good as possible, exploiting current observations in addition to prediction distribution sampling variability can be a problem - must have enough samples in regions of high probability for normalization to be useful - too many samples needed for high dimensional problems. - samples tend to migrate to a single mode

Particle Filter Sample Size sample size depends on volumes of prediction and posterior distributions so, number of particles should be exponential in state dimension, D: Posterior Prediction effective number of independent samples: Sample Variability and Bias estimator variance can be a problem due to sampling re-sampling from poor approximations introduces bias over time (no need to re-sample every frame, eg. re-sample if is small) better proposals minimize variance

Contour Tracking State: control points of splinebased contour representation Measurements: edge strength perpendicular to contour Dynamics: 2 nd order Markov (often learned) [Isard & Blake, Condensation - conditional density propagation for visual tracking. IJCV, 1998]

Contour Tracking

Contour Tracking

Tracking 3D People 3D Articulated Shape ~10 parts (tapered cylinders) ~19 joint angles 6 pose/position variables Parameters: φ shape vector V A motion vector appearance model [Sidenbladh, Black, & Fleet, 2000; Sidenbladh & Black, 2001; Poon & Fleet, 2002]

Motion Likelihood t 1 A t -1 = M( Dt 1; φt 1) t Dt = M 1 ( At 1 ; φ ) + η t heavy-tailed noise Image formation: perspective projection of texture-mapped 3D shape (assumes brightness constancy and additive noise)

Motion Likelihood Likelihood for visible limb j, is given by L 1 j = pη ( D t ( ) M ( At 1 x R j x ; φ, x), σ ( x)) To deal with hidden limbs, the limb likelihood is = L L occlude where L occlude is constant p j Independence of limb observations yields likelihood: p D t φ, A ) = p ( t t 1 j if if not occluded occluded j j t

Dynamics: Learned Walking Model Activity-specific dynamics: constrain posterior to valid 3D human motions lower-dimensional state space simplifies estimation radians time Joint angles versus time, for walking person obtained from a 3D motion-capture system

Dynamics: Learned Walking Model Joint angle curves are segmented and scaled to yield data curves where is the phase the walking cycle. PCA provides a linear basis for the joint angles at phase : mean knee angle knee angle basis

Temporal Dynamics: Walking Model mean walking mean walking plus moderate noise mean walking plus large noise

Temporal Dynamics: Walking Model Smooth temporal dynamics (Gaussian process noise): ), ( ) (, 1, 1,, c k k t k t k t k t c c G c c p σ = ), ( ), ( 1 1 1 1 τ σ τ τ τ τ g t g t g t g t g t g t v G v p = ), ( ) ( 1 1 1 ψ σ ψ ψ ψ ψ = t t t t t v G p ), ( ) ( 1 1 v t t t t v v G v v p σ = ), ( ) ( 1 1 θ σ θ θ θ θ g t g t g t g t G p = k t c, 1 Parameters of the generative model at time t : 5 basis coefficients global pose phase speed

3D People Tracking Mean posterior state shown from two viewpoints. (manual initialization; 15,000 particles)

3D People Tracking Mean posterior state shown from two viewpoints. (note: significant change in orientation and depth)

3D People Tracking

Readings Forsyth & Ponce, Introduction to Computer Vision, Chapter, 17 Isard & Blake, Condensation: Conditional density propagation. IJCV, 1998 Shi & Tomasi, Good features to track. Proc. IEEE CVPR,1994 Sidenbladh, Black & Fleet, 3D People tracking. Proc ECCV, 2000 Jepson, Fleet, and El-Maraghi, Robust, on-line appearance models for visual tracking. IEEE Trans on PAMI, 2003