CASC Primer on tracking Sen-ching S. Cheung March 26, 2004.

Slides:



Advertisements
Similar presentations
CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai Some slides from Stephen Roth.
Advertisements

EKF, UKF TexPoint fonts used in EMF.
Markov Localization & Bayes Filtering 1 with Kalman Filters Discrete Filters Particle Filters Slides adapted from Thrun et al., Probabilistic Robotics.
From Bayesian to Particle Filter
Introduction to Sampling based inference and MCMC Ata Kaban School of Computer Science The University of Birmingham.
Introduction to Mobile Robotics Bayes Filter Implementations Gaussian filters.
Probabilistic Robotics: Kalman Filters
Tracking Objects with Dynamics Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 04/21/15 some slides from Amin Sadeghi, Lana Lazebnik,
Adam Rachmielowski 615 Project: Real-time monocular vision-based SLAM.
Stanford CS223B Computer Vision, Winter 2007 Lecture 12 Tracking Motion Professors Sebastian Thrun and Jana Košecká CAs: Vaibhav Vaish and David Stavens.
Introduction to Kalman Filter and SLAM Ting-Wei Hsu 08/10/30.
Adaptive Rao-Blackwellized Particle Filter and It’s Evaluation for Tracking in Surveillance Xinyu Xu and Baoxin Li, Senior Member, IEEE.
SLAM: Simultaneous Localization and Mapping: Part I Chang Young Kim These slides are based on: Probabilistic Robotics, S. Thrun, W. Burgard, D. Fox, MIT.
Nonlinear and Non-Gaussian Estimation with A Focus on Particle Filters Prasanth Jeevan Mary Knox May 12, 2006.
Particle Filters for Mobile Robot Localization 11/24/2006 Aliakbar Gorji Roborics Instructor: Dr. Shiri Amirkabir University of Technology.
1 Integration of Background Modeling and Object Tracking Yu-Ting Chen, Chu-Song Chen, Yi-Ping Hung IEEE ICME, 2006.
Today Introduction to MCMC Particle filters and MCMC
Probabilistic Robotics
Particle Filtering for Non- Linear/Non-Gaussian System Bohyung Han
Course AE4-T40 Lecture 5: Control Apllication
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
Sampling Methods for Estimation: An Introduction
Novel approach to nonlinear/non- Gaussian Bayesian state estimation N.J Gordon, D.J. Salmond and A.F.M. Smith Presenter: Tri Tran
Dorin Comaniciu Visvanathan Ramesh (Imaging & Visualization Dept., Siemens Corp. Res. Inc.) Peter Meer (Rutgers University) Real-Time Tracking of Non-Rigid.
Particle Filtering. Sensors and Uncertainty Real world sensors are noisy and suffer from missing data (e.g., occlusions, GPS blackouts) Use sensor models.
ROBOT MAPPING AND EKF SLAM
Bayesian Filtering for Robot Localization
Muhammad Moeen YaqoobPage 1 Moment-Matching Trackers for Difficult Targets Muhammad Moeen Yaqoob Supervisor: Professor Richard Vinter.
Colorado Center for Astrodynamics Research The University of Colorado STATISTICAL ORBIT DETERMINATION Project Report Unscented kalman Filter Information.
Ryan Irwin Intelligent Electronics Systems Human and Systems Engineering Center for Advanced Vehicular Systems URL:
Particle Filtering in Network Tomography
Markov Localization & Bayes Filtering
Object Tracking using Particle Filter
Computer vision: models, learning and inference Chapter 19 Temporal models.
From Bayesian Filtering to Particle Filters Dieter Fox University of Washington Joint work with W. Burgard, F. Dellaert, C. Kwok, S. Thrun.
SIS Sequential Importance Sampling Advanced Methods In Simulation Winter 2009 Presented by: Chen Bukay, Ella Pemov, Amit Dvash.
Particle Filtering (Sequential Monte Carlo)
Computer vision: models, learning and inference Chapter 19 Temporal models.
Kalman Filter (Thu) Joon Shik Kim Computational Models of Intelligence.
Jamal Saboune - CRV10 Tutorial Day 1 Bayesian state estimation and application to tracking Jamal Saboune VIVA Lab - SITE - University.
Complete Pose Determination for Low Altitude Unmanned Aerial Vehicle Using Stereo Vision Luke K. Wang, Shan-Chih Hsieh, Eden C.-W. Hsueh 1 Fei-Bin Hsaio.
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
Probabilistic Robotics Bayes Filter Implementations.
Overview Particle filtering is a sequential Monte Carlo methodology in which the relevant probability distributions are iteratively estimated using the.
Sanjay Patil 1 and Ryan Irwin 2 Graduate research assistant 1, REU undergrad 2 Human and Systems Engineering URL:
Sanjay Patil 1 and Ryan Irwin 2 Intelligent Electronics Systems, Human and Systems Engineering Center for Advanced Vehicular Systems URL:
Sanjay Patil and Ryan Irwin Intelligent Electronics Systems, Human and Systems Engineering Center for Advanced Vehicular Systems URL:
Mobile Robot Localization (ch. 7)
Processing Sequential Sensor Data The “John Krumm perspective” Thomas Plötz November 29 th, 2011.
Maximum a posteriori sequence estimation using Monte Carlo particle filters S. J. Godsill, A. Doucet, and M. West Annals of the Institute of Statistical.
An Introduction to Kalman Filtering by Arthur Pece
State Estimation and Kalman Filtering
Sequential Monte-Carlo Method -Introduction, implementation and application Fan, Xin
Mixture Kalman Filters by Rong Chen & Jun Liu Presented by Yusong Miao Dec. 10, 2003.
S.Patil, S. Srinivasan, S. Prasad, R. Irwin, G. Lazarou and J. Picone Intelligent Electronic Systems Center for Advanced Vehicular Systems Mississippi.
Particle Filtering. Sensors and Uncertainty Real world sensors are noisy and suffer from missing data (e.g., occlusions, GPS blackouts) Use dynamics models.
OBJECT TRACKING USING PARTICLE FILTERS. Table of Contents Tracking Tracking Tracking as a probabilistic inference problem Tracking as a probabilistic.
Nonlinear State Estimation
Particle Filtering. Sensors and Uncertainty Real world sensors are noisy and suffer from missing data (e.g., occlusions, GPS blackouts) Use sensor models.
1 Chapter 8: Model Inference and Averaging Presented by Hui Fang.
The Unscented Particle Filter 2000/09/29 이 시은. Introduction Filtering –estimate the states(parameters or hidden variable) as a set of observations becomes.
The Unscented Kalman Filter for Nonlinear Estimation Young Ki Baik.
Sanjay Patil and Ryan Irwin Intelligent Electronics Systems Human and Systems Engineering Center for Advanced Vehicular Systems URL:
Sanjay Patil and Ryan Irwin Intelligent Electronics Systems, Human and Systems Engineering Center for Advanced Vehicular Systems URL:
Introduction to Sampling based inference and MCMC
Probabilistic Robotics
PSG College of Technology
Filtering and State Estimation: Basic Concepts
Particle Filtering.
Prediction and Estimation, Part II
Presentation transcript:

CASC Primer on tracking Sen-ching S. Cheung March 26, 2004

Slide 2 of 18 CASC An object tracking system Data association Sensor Data Processing Track Maintenance Gating Computations Prediction and Update

Slide 3 of 18 CASC Outline l Prediction and Update —Tracking for point targets or segmented objects —Tracking for unsegmented objects (feature tracking) – Mean-shift tracking l Data association in multi-object tracking — Global nearest neighbor — Joint Probabilistic Data Association — Multiple Hypothesis Tracking Dynamics State & Measurement LinearNon-linear Gaussian NoiseKalman Filter (KF) Extended KF, Unscented KF Non-Gaussian NoiseParticle Filter

Slide 4 of 18 CASC Prediction and Update l Assume single object tracking l Given: Track observations (e.g. positions): y 1, y 2,...,y t New observations at time t+1: z 1, z 2,..., z N l Goal : Which z’s should be the new y t+1 ? l Answer: Maximum A Posteriori or Bayesian y t+1 = arg max i=1,...,N P(z i | y 1, y 2,..., y t ) or y t+1 =  i z i P(z i | y 1, y 2,..., y t ) / N

Slide 5 of 18 CASC State-space model l Key is to compute P(y t+1 =z |y 1,y 2,...,y t ) l Introduce state X t: —Given: – Dynamics: P(X t+1 |X t ) – Measurement: P(Y t |X t ) —Markov assumption: P(y t+1 |x t+1,y 1,y 2,...,y t ) = P(y t+1 |x t+1 ) —Why? X t-1 XtXt X t+1 Y t-1 YtYt Y t+1 P(Y t |X t ) P(X t+1 |X t )

Slide 6 of 18 CASC Prediction, time and measurement update Ans: Simple recursion to compute P(y t+1 = z | y 1,y 2,...,y t ) P(x t |y 1,...,y t ) P(x t+1 |y 1,...,y t ) P(x t+1 |y 1,...,y t+1 ) P(y t+1 = z |y 1,...,y t ) Prediction Measurement Update P(y t+1 = z | y 1,...,y t ) = ∫ P(y t+1 = z,x t+1 | y 1,...,y t ) dx t+1 = ∫ P(y t+1 = z |x t+1,y 1,...,y t ) P(x t+1 | y 1,...,y t ) dx t+1 = ∫ P(y t+1 = z |x t+1 ) P(x t+1 | y 1,...,y t ) dx t+1 P(x t+1 | y 1,...,y t ) = ∫ P(x t+1,x t | y 1,...,y t ) dx t = ∫ P(x t+1 |x t ) P(x t | y 1,...,y t ) dx t P(x t+1 | y 1,...,y t+1 ) = P(x t+1,y t+1 | y 1,...,y t ) / P(y t | y 1,...,y t )  P(y t+1 | x t+1 ) P(x t+1 | y 1,...,y t ) Time Update

Slide 7 of 18 CASC Kalman Filter l Linear System and Gaussian Noise x t+1 = Ax t + Gw t, w t ~N(0,Q)  x t+1 |x t ~ N(Ax t, G T QG) y t = Cx t + v t, v t ~N(0,R)  y t |x t ~ N(Cx t, R) l Time update  t+1|t  E(x t+1 |y 1,...,y t ) = A  t|t  t+1|t  E(x t+1 |y 1,...,y t ) = A T  t|t A + G T QG l Prediction E(y t+1 |y 1,...,y t ) = C  t+1|t Cov(y t+1 |y 1,...,y t ) = C T  t+1|t C + R l Measurement update  t+1|t+1 =  t+1|t + K t+1 (y t+1 -C  t+1|t )  t+1|t+1 =  t+1|t – K t+1 C  t+1|t where Kalman gain, K t+1   t+1|t C T (C  t+1|t C T +R) -1

Slide 8 of 18 CASC Simple example : constant velocity Dynamics model : a t = white noise  E(a t )=0; E(a t a s )=k  δ(s-t) Kalman Filter Implementation: x t = (p t p’ t ) T ; A=  1 T where T is the sampling period  0 1  G = I; Q =  T 3 /3 T 2 /2 by computing Cov(x t,x t+1 )  T 2 /2 T  C = [1 0]; R depends on measurement error Other types of models: Singer Acceleration, Constant Acceleration, Piecewise constant wiener process acceleration, Coordinated turn, etc. Adaptation: Use multiple KF with HMM : Interactive Multiple Model (IMM) Filtering ^^

Slide 9 of 18 CASC Non-linearity l Possible in measurement and/or dynamics Measurement : y t = tan -1 (x t (2)/x t (1)) + v l Incorporate non-linearity in computing mean & covar. x t (1) x t (2) ytyt

Slide 10 of 18 CASC Extended Kalman Filter l Taylor Series Expansion l Linearization

Slide 11 of 18 CASC Unscented Kalman Filter l Problem with EKF : need Jacobian matrix A, error propagation l “It is easier to approximate a PDF than it is to approximate an arbitrary nonlinear function.”- J.K. Uhlmann 1.Select a set of deterministic sigma points {s i,w i } i=1,...,N such that (a)  w i = 1, (b)  w i s i =  x, (c)  w i (s i -  x )(s i -  x ) T =  x Example: Points along the covariance contour, s i =  x +(-1) i [(½N  x ) ½ ]  i/2  w i =1/N 2.Map s i  h(s i ) 3.Compute “sample mean”  w i h(s i ) and “sample covariance”  w i h(s i )h T (s i ) because...  i/2  th column In fact, true up to the 2 nd derivative because the covar. is the same

Slide 12 of 18 CASC What if the noise is also non-Gaussian? l For example, colored noise from wrong dynamics, tracking through clutter, deformation, etc. l 1 st and 2 nd order statistics are no longer sufficient to characterize the posterior distribution. l Answer : particle filter  condensation algorithm (CV)  Sequential Monte Carlo Method (statistics) —use Markov-Chain Monte Carlo (MCMC) method in time update, prediction, and measurement update

Slide 13 of 18 CASC Particle sets A particle is a pair of random variables : state x and its weight  0 A particle set for a PDF f is an algorithm to generate (x i,  i ) such that for any function g: lim n   i  i g(x i ) = E f (g(x)) “Converge by distribution” Probability State x i = centroid of ellipse  i = area of ellipse

Slide 14 of 18 CASC Operations on particles l Idea: use particles {x i,  i } i=1,..N to represent P(x t |y 1,...,y t ) l Recall —time update : P(x t+1 | y 1,...,y t )=∫ P(x t+1 |x t ) P(x t | y 1,...,y t ) dx t “Convolution” —prediction : P(y t+1 | y 1,...,y t )= ∫ P(y t+1 = z |x t+1 ) P(x t+1 | y 1,...,y t ) dx t+1 “Convolution” —measurement: P(x t+1 | y 1,...,y t+1 )  P(y t+1 | x t+1 ) P(x t+1 | y 1,...,y t ) “Multiplication” l Assume we know how to evaluate and generate random samples from all functions in red. l How to “convolve” and “multiple” sets of particles with other functions?

Slide 15 of 18 CASC Multiplication and Convolution of particles l Multiply by q(x) x i  x i  i  q(x i )   i l Convolution with q(y|x) 1.Resampling {x i,  i } i=1..N to a new set of particles {x i ’,  i ’} i=1..N {x i,  i } i=1..N {x i ’,  i ’} i=1..N 2.Reweighting x i ’  Sample based on q(x|x i ’)  i ’   i ’

Slide 16 of 18 CASC Why resampling?  = Without resampling: 0 With resampling: l there are a lot more... — better resampling : fewer x i have the same values — how many particles? Effective sampling size

Slide 17 of 18 CASC What about object feature? l Simplest way : feature vector + point target maximize P(f(y t+1 )=f(z i ) | f(y 1 ),f(y 2 ),...,f(y t ))  P(y t+1 =z i | y 1, y 2,..., y t ) —Too many possible z i if no foreground segmentation —occlusion l Mean-shift tracking —iterative hill-climbing algorithm Time t Time t+1 centroid c 0, object feature f w f (v;t) = likelihood that I t (v) is part of the object 1.New centroid of candidate obj. c 1 =  v  w f (v;t+1) /  w f (v;t+1) 2.Move candidate to c 1 and repeat candidate object

Slide 18 of 18 CASC References Basic Kalman Filter 1. M. I. Jordan, An Introduction to Probabilistic Graphical Models, in preparation. (ask me) 2. Forsyth and Ponce. (2003) Computer Vision, a modern approach. Prentice Hall. Chapter 17. (Sapphire) A little out-dated but encyclopedic on most aspects of tracking 1. Backman & Popoli, (1999) Design and Analysis of Modern Tracking Systems. Artech House Publishers. 2. Bar-Shalom, Li (1993) Estimation and Tracking: Principles, Techniques, and Software. Artech House Publishers. Unscented Kalman Filter 1. Julier, S. and J.K. Uhlmann. (2004) “Unscented filtering and nonlinear estimation,” Proceedings of IEEE, vol. 92, no.3, pp Mean-shift tracking 1. Cheng, Y. (1992) “Mean shift, mode seeking, and clustering” PAMI, vol.17, pp Comaniciu, D et al. (2000) “Real-time tracking of non-rigid objects using mean shift,” CVPR, vol.2, pp More on particle filtering 1. MacCormick. (2002) Stochastic algorithms for visual tracking. Springer. (Sapphire) 2. Doucet, A. (2001) Sequential Monte Carlo Methods in Practice. Springer. (Sapphire) 3. Hue, C. and J.-P. Le Cadre. (2002) “Sequential Monte Carlo methods for multiple target tracking and data fusion,” IEEE Trans. On signal processing, vol. 50, no.2, pp Djuric, P.M. et al. (2003) “Particle Filtering,” IEEE Signal Processing magazine, vol. 20, no.5, pp See Spengler’s reference (attached)