Tracking Objects with Dynamics

Slides:



Advertisements
Similar presentations
Evidential modeling for pose estimation Fabio Cuzzolin, Ruggero Frezza Computer Science Department UCLA.
Advertisements

CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai Some slides from Stephen Roth.
1 Approximated tracking of multiple non-rigid objects using adaptive quantization and resampling techniques. J. M. Sotoca 1, F.J. Ferri 1, J. Gutierrez.
Dynamic Bayesian Networks (DBNs)
Introduction To Tracking
Reducing Drift in Parametric Motion Tracking
(Includes references to Brian Clipp
Oklahoma State University Generative Graphical Models for Maneuvering Object Tracking and Dynamics Analysis Xin Fan and Guoliang Fan Visual Computing and.
Formation et Analyse d’Images Session 8
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,
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
1 Image Recognition - I. Global appearance patterns Slides by K. Grauman, B. Leibe.
Stanford CS223B Computer Vision, Winter 2007 Lecture 12 Tracking Motion Professors Sebastian Thrun and Jana Košecká CAs: Vaibhav Vaish and David Stavens.
Object Detection and Tracking Mike Knowles 11 th January 2005
Probabilistic Robotics Introduction Probabilities Bayes rule Bayes filters.
1 Integration of Background Modeling and Object Tracking Yu-Ting Chen, Chu-Song Chen, Yi-Ping Hung IEEE ICME, 2006.
Probabilistic Robotics Bayes Filter Implementations Particle filters.
Stanford CS223B Computer Vision, Winter 2007 Lecture 12 Tracking Motion Professors Sebastian Thrun and Jana Košecká CAs: Vaibhav Vaish and David Stavens.
Particle Filtering for Non- Linear/Non-Gaussian System Bohyung Han
© 2003 by Davi GeigerComputer Vision November 2003 L1.1 Tracking We are given a contour   with coordinates   ={x 1, x 2, …, x N } at the initial frame.
Tracking with Linear Dynamic Models. Introduction Tracking is the problem of generating an inference about the motion of an object given a sequence of.
Overview and Mathematics Bjoern Griesbach
Bayesian Filtering for Robot Localization
Muhammad Moeen YaqoobPage 1 Moment-Matching Trackers for Difficult Targets Muhammad Moeen Yaqoob Supervisor: Professor Richard Vinter.
Markov Localization & Bayes Filtering
Perceptual and Sensory Augmented Computing Computer Vision II, Summer’14 Computer Vision II – Lecture 8 Tracking with Linear Dynamic Models
BraMBLe: The Bayesian Multiple-BLob Tracker By Michael Isard and John MacCormick Presented by Kristin Branson CSE 252C, Fall 2003.
TP15 - Tracking Computer Vision, FCUP, 2013 Miguel Coimbra Slides by Prof. Kristen Grauman.
Object Tracking using Particle Filter
Human-Computer Interaction Human-Computer Interaction Tracking Hanyang University Jong-Il Park.
Babol university of technology Presentation: Alireza Asvadi
Computer vision: models, learning and inference Chapter 19 Temporal models.
A General Framework for Tracking Multiple People from a Moving Camera
Computer vision: models, learning and inference Chapter 19 Temporal models.
Simultaneous Localization and Mapping Presented by Lihan He Apr. 21, 2006.
Jamal Saboune - CRV10 Tutorial Day 1 Bayesian state estimation and application to tracking Jamal Saboune VIVA Lab - SITE - University.
Computer Vision - A Modern Approach Set: Tracking Slides by D.A. Forsyth The three main issues in tracking.
Probabilistic Robotics Bayes Filter Implementations.
Learning the Appearance and Motion of People in Video Hedvig Sidenbladh, KTH Michael Black, Brown University.
Michael Isard and Andrew Blake, IJCV 1998 Presented by Wen Li Department of Computer Science & Engineering Texas A&M University.
An Introduction to Kalman Filtering by Arthur Pece
Boosted Particle Filter: Multitarget Detection and Tracking Fayin Li.
EECS 274 Computer Vision Tracking. Motivation: Obtain a compact representation from an image/motion sequence/set of tokens Should support application.
OBJECT TRACKING USING PARTICLE FILTERS. Table of Contents Tracking Tracking Tracking as a probabilistic inference problem Tracking as a probabilistic.
Tracking with dynamics
Introduction to Sampling Methods Qi Zhao Oct.27,2004.
Probabilistic Robotics Introduction Probabilities Bayes rule Bayes filters.
Probabilistic Robotics Probability Theory Basics Error Propagation Slides from Autonomous Robots (Siegwart and Nourbaksh), Chapter 5 Probabilistic Robotics.
General approach: A: action S: pose O: observation Position at time t depends on position previous position and action, and current observation.
Learning Image Statistics for Bayesian Tracking Hedvig Sidenbladh KTH, Sweden Michael Black Brown University, RI, USA
Computer vision: models, learning and inference
Tracking We are given a contour G1 with coordinates G1={x1 , x2 , … , xN} at the initial frame t=1, were the image is It=1 . We are interested in tracking.
Kalman Filter Results Fred Astaire and Ginger Rogers Shall We Dance, MGM 1941 J. M. Rehg © 2003.
Particle Filtering for Geometric Active Contours
Probabilistic Robotics
Dynamical Statistical Shape Priors for Level Set Based Tracking
Object detection as supervised classification
COMPUTER VISION Tam Lam
Visual Tracking CMPUT 615 Nilanjan Ray.
Lecture 10 Causal Estimation of 3D Structure and Motion
PRAKASH CHOCKALINGAM, NALIN PRADEEP, AND STAN BIRCHFIELD
Brief Review of Recognition + Context
Online Graph-Based Tracking
Where did we stop? The Bayes decision rule guarantees an optimal classification… … But it requires the knowledge of P(ci|x) (or p(x|ci) and P(ci)) We.
Parallelizing the Condensation Algorithm for Visual Tracking
A Short Introduction to the Bayes Filter and Related Models
Chapter14-cont..
Introduction to Object Tracking
Tracking Many slides adapted from Kristen Grauman, Deva Ramanan.
Nome Sobrenome. Time time time time time time..
Presentation transcript:

Tracking Objects with Dynamics 04/18/17 Tracking Objects with Dynamics Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem some slides from Amin Sadeghi, Lana Lazebnik, Kristen Grauman, Deva Ramanan

Today: Tracking Objects Goal: Locating a moving object/part across video frames This Class: Examples and Applications Overview of probabilistic tracking Kalman Filter Particle Filter

Tracking Examples Traffic: https://www.youtube.com/watch?v=DiZHQ4peqjg Soccer: http://www.youtube.com/watch?v=ZqQIItFAnxg Face: http://www.youtube.com/watch?v=i_bZNVmhJ2o Body: https://www.youtube.com/watch?v=_Ahy0Gh69-M Eye: http://www.youtube.com/watch?v=NCtYdUEMotg

Further applications Motion capture Augmented Reality Action Recognition Security, traffic monitoring Video Compression Video Summarization Medical Screening

Things that make visual tracking difficult Small, few visual features Erratic movements, moving very quickly Occlusions, leaving and coming back Surrounding similar-looking objects

Strategies for tracking Tracking by repeated detection Works well if object is easily detectable (e.g., face or colored glove) and there is only one Need some way to link up detections Best you can do, if you can’t predict motion

Tracking with dynamics Key idea: Based on a model of expected motion, predict where objects will occur in next frame, before even seeing the image Restrict search for the object Measurement noise is reduced by trajectory smoothness Robustness to missing or weak observations

Strategies for tracking Tracking with motion prediction Predict the object’s state in the next frame Kalman filtering: next state can be linearly predicted from current state (Gaussian) Particle filtering: sample multiple possible states of the object (non-parametric, good for clutter)

General model for tracking state X: The actual state of the moving object that we want to estimate State could be any combination of position, pose, viewpoint, velocity, acceleration, etc. observations Y: Our actual measurement or observation of state X. Observation can be very noisy At each time t, the state changes to Xt and we get a new observation Yt

Steps of tracking Prediction: What is the next state of the object given past measurements?

Steps of tracking Prediction: What is the next state of the object given past measurements? Correction: Compute an updated estimate of the state from prediction and measurements

Simplifying assumptions Only the immediate past matters dynamics model

Simplifying assumptions Only the immediate past matters Measurements depend only on the current state dynamics model observation model

Simplifying assumptions Only the immediate past matters Measurements depend only on the current state dynamics model observation model … X0 X1 X2 Xt-1 Xt Y0 Y1 Y2 Yt-1 Yt

Problem statement We have models for We want to recover, for each t: Likelihood of next state given current state: Likelihood of observation given the state: We want to recover, for each t:

Probabilistic tracking Base case: Start with initial prior that predicts state in absence of any evidence: P(X0) For the first frame, correct this given the first measurement: Y0=y0

Probabilistic tracking Base case: Start with initial prior that predicts state in absence of any evidence: P(X0) For the first frame, correct this given the first measurement: Y0=y0

Probabilistic tracking Base case: Start with initial prior that predicts state in absence of any evidence: P(X0) For the first frame, correct this given the first measurement: Y0=y0 Given corrected estimate for frame t-1: Predict for frame t  Observe yt; Correct for frame t  predict correct

Prediction Prediction involves representing given Law of total probability

Prediction Prediction involves representing given Conditioning on Xt–1

Prediction Prediction involves representing given Independence assumption

corrected estimate from previous step Prediction Prediction involves representing given dynamics model corrected estimate from previous step

Correction Correction involves computing given predicted value

Correction Correction involves computing given predicted value Bayes’ Rule

Correction Correction involves computing given predicted value Independence assumption (observation yt directly depends only on state Xt)

Correction Correction involves computing given predicted value Conditioning on Xt

Correction Correction involves computing given predicted value observation model predicted estimate normalization factor

Summary: Prediction and correction dynamics model corrected estimate from previous step observation model predicted estimate

The Kalman filter Linear dynamics model: state undergoes linear transformation plus Gaussian noise Observation model: measurement is linearly transformed state plus Gaussian noise The predicted/corrected state distributions are Gaussian You only need to maintain the mean and covariance The calculations are easy (all the integrals can be done in closed form)

Example: Kalman Filter Ground Truth Observation Correction Next Frame Update Location, Velocity, etc. Prediction

Comparison Ground Truth Observation Correction

Propagation of Gaussian densities Current state Expected change Decent model if there is just one object, but localization is imprecise Uncertainty Observation and Correction

Particle filtering Represent the state distribution non-parametrically Prediction: Sample possible values Xt-1 for the previous state Correction: Compute likelihood of Xt based on weighted samples and P(yt|Xt) M. Isard and A. Blake, CONDENSATION -- conditional density propagation for visual tracking, IJCV 29(1):5-28, 1998

Particle filtering Start with weighted samples from previous time step Sample and shift according to dynamics model Spread due to randomness; this is predicted density P(Xt|Yt-1) Weight the samples according to observation density Arrive at corrected density estimate P(Xt|Yt) M. Isard and A. Blake, CONDENSATION -- conditional density propagation for visual tracking, IJCV 29(1):5-28, 1998

Propagation of non-parametric densities Current state Expected change Good if there are multiple, confusable objects (or clutter) in the scene Uncertainty Observation and Correction

Particle filtering results People: http://www.youtube.com/watch?v=wCMk-pHzScE Hand: http://www.youtube.com/watch?v=tIjufInUqZM Localization (similar model): https://www.youtube.com/watch?v=rAuTgsiM2-8 http://www.cvlibs.net/publications/Brubaker2013CVPR.pdf Good informal explanation: https://www.youtube.com/watch?v=aUkBa1zMKv4

MD-Net (tracking by detection) Learning Multi-Domain Convolutional Neural Networks for Visual Tracking – Nam and Han CVPR 2016 Offline, train to differentiate between target object and background for K targets Online, fine-tune for target in new sequence https://www.youtube.com/watch?v=zYM7G5qd090

Tracking issues Initialization Manual Background subtraction Detection

Tracking issues Initialization Getting observation and dynamics models Observation model: match a template or use a trained detector Dynamics model: usually specify using domain knowledge

Tracking issues Initialization Obtaining observation and dynamics model Uncertainty of prediction vs. correction If the dynamics model is too strong, will end up ignoring the data If the observation model is too strong, tracking is reduced to repeated detection Too strong dynamics model Too strong observation model

Tracking issues Initialization Getting observation and dynamics models Prediction vs. correction Data association When tracking multiple objects, need to assign right objects to right tracks (particle filters good for this)

Tracking issues Initialization Getting observation and dynamics models Prediction vs. correction Data association Drift Errors can accumulate over time

Drift D. Ramanan, D. Forsyth, and A. Zisserman. Tracking People by Learning their Appearance. PAMI 2007.

Things to remember Tracking objects = detection + prediction Probabilistic framework Predict next state Update current state based on observation Two simple but effective methods Kalman filters: Gaussian distribution Particle filters: multimodal distribution

Next class: action recognition What is an “action”? How can we represent movement? How do we incorporate motion, pose, and nearby objects?