SE263 Video Analytics Course Project Initial Report Presented by M. Aravind Krishnan, SERC, IISc X. Mei and H. Ling, ICCV’09.

Slides:



Advertisements
Similar presentations
Bayesian Belief Propagation
Advertisements

Active Appearance Models
Accelerators for HPC: Programming Models Accelerators for HPC: StreamIt on GPU High Performance Applications on Heterogeneous Windows Clusters
Parallel Jacobi Algorithm Steven Dong Applied Mathematics.
CSCE643: Computer Vision Bayesian Tracking & Particle Filtering Jinxiang Chai Some slides from Stephen Roth.
A NOVEL APPROACH TO SOLVING LARGE-SCALE LINEAR SYSTEMS Ken Habgood, Itamar Arel Department of Electrical Engineering & Computer Science GABRIEL CRAMER.
FTP Biostatistics II Model parameter estimations: Confronting models with measurements.
Siddharth Choudhary.  Refines a visual reconstruction to produce jointly optimal 3D structure and viewing parameters  ‘bundle’ refers to the bundle.
Robust Visual Tracking – Algorithms, Evaluations and Problems Haibin Ling Department of Computer and Information Sciences Temple University Philadelphia,
Lab 2 Lab 3 Homework Labs 4-6 Final Project Late No Videos Write up
Robust Object Tracking via Sparsity-based Collaborative Model
Multiple People Detection and Tracking with Occlusion Presenter: Feifei Huo Supervisor: Dr. Emile A. Hendriks Dr. A. H. J. Stijn Oomes Information and.
OpenFOAM on a GPU-based Heterogeneous Cluster
2009/04/07 Yun-Yang Ma.  Overview  What is CUDA ◦ Architecture ◦ Programming Model ◦ Memory Model  H.264 Motion Estimation on CUDA ◦ Method ◦ Experimental.
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
Adaptive Rao-Blackwellized Particle Filter and It’s Evaluation for Tracking in Surveillance Xinyu Xu and Baoxin Li, Senior Member, IEEE.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Particle Filtering for Non- Linear/Non-Gaussian System Bohyung Han
Accelerating Machine Learning Applications on Graphics Processors Narayanan Sundaram and Bryan Catanzaro Presented by Narayanan Sundaram.
Overview and Mathematics Bjoern Griesbach
CSC2535: 2013 Advanced Machine Learning Lecture 3a: The Origin of Variational Bayes Geoffrey Hinton.
Particle Filtering. Sensors and Uncertainty Real world sensors are noisy and suffer from missing data (e.g., occlusions, GPS blackouts) Use sensor models.
Radial Basis Function Networks
Tracking Pedestrians Using Local Spatio- Temporal Motion Patterns in Extremely Crowded Scenes Louis Kratz and Ko Nishino IEEE TRANSACTIONS ON PATTERN ANALYSIS.
An Effective Dynamic Scheduling Runtime and Tuning System for Heterogeneous Multi and Many-Core Desktop Platforms Authous: Al’ecio P. D. Binotto, Carlos.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Predictive Runtime Code Scheduling for Heterogeneous Architectures 1.
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.
Ahsanul Haque *, Swarup Chandra *, Latifur Khan * and Charu Aggarwal + * Department of Computer Science, University of Texas at Dallas + IBM T. J. Watson.
Computer vision: models, learning and inference Chapter 19 Temporal models.
GPUs and Accelerators Jonathan Coens Lawrence Tan Yanlin Li.
Ahsanul Haque *, Swarup Chandra *, Latifur Khan * and Michael Baron + * Department of Computer Science, University of Texas at Dallas + Department of Mathematical.
Y. Kotani · F. Ino · K. Hagihara Springer Science + Business Media B.V Reporter: 李長霖.
Parallelization of System Matrix generation code Mahmoud Abdallah Antall Fernandes.
Computational Biology 2008 Advisor: Dr. Alon Korngreen Eitan Hasid Assaf Ben-Zaken.
Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on a low power, embedded system School of Information Technology & Mathematical.
Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on an embedded system School of Information Technology & Mathematical Sciences September.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Optimization & Constraints Add mention of global techiques Add mention of calculus.
Virtual Vector Machine for Bayesian Online Classification Yuan (Alan) Qi CS & Statistics Purdue June, 2009 Joint work with T.P. Minka and R. Xiang.
Hardware Acceleration Using GPUs M Anirudh Guide: Prof. Sachin Patkar VLSI Consortium April 4, 2008.
"Distributed Computing and Grid-technologies in Science and Education " PROSPECTS OF USING GPU IN DESKTOP-GRID SYSTEMS Klimov Georgy Dubna, 2012.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
GPUs: Overview of Architecture and Programming Options Lee Barford firstname dot lastname at gmail dot com.
Sparse Bayesian Learning for Efficient Visual Tracking O. Williams, A. Blake & R. Cipolloa PAMI, Aug Presented by Yuting Qi Machine Learning Reading.
Tell Me What You See and I will Show You Where It Is Jia Xu 1 Alexander G. Schwing 2 Raquel Urtasun 2,3 1 University of Wisconsin-Madison 2 University.
Paper Reading Dalong Du Nov.27, Papers Leon Gu and Takeo Kanade. A Generative Shape Regularization Model for Robust Face Alignment. ECCV08. Yan.
Boosted Particle Filter: Multitarget Detection and Tracking Fayin Li.
Distinctive Image Features from Scale-Invariant Keypoints
Sudhanshu Khemka.  Treats each document as a vector with one component corresponding to each term in the dictionary  Weight of a component is calculated.
Tracking with dynamics
Presented by: Idan Aharoni
CS Statistical Machine learning Lecture 12 Yuan (Alan) Qi Purdue CS Oct
Canny Edge Detection Using an NVIDIA GPU and CUDA Alex Wade CAP6938 Final Project.
Performed by:Liran Sperling Gal Braun Instructor: Evgeny Fiksman המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory.
S. Pardi Frascati, 2012 March GPGPU Evaluation – First experiences in Napoli Silvio Pardi.
Zhaoxia Fu, Yan Han Measurement Volume 45, Issue 4, May 2012, Pages 650–655 Reporter: Jing-Siang, Chen.
1 Munther Abualkibash University of Bridgeport, CT.
GPU Architecture and Its Application
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Robust and Fast Collaborative Tracking with Two Stage Sparse Optimization Authors: Baiyang Liu, Lin Yang, Junzhou Huang, Peter Meer, Leiguang Gong and.
Parallel Plasma Equilibrium Reconstruction Using GPU
Ioannis E. Venetis Department of Computer Engineering and Informatics
Contents Team introduction Project Introduction Applicability
Tracking Objects with Dynamics
Parallel Density-based Hybrid Clustering
Dynamical Statistical Shape Priors for Level Set Based Tracking
Logistic Regression & Parallel SGD
Parallelization of Sparse Coding & Dictionary Learning
MCMC Inference over Latent Diffeomorphisms
Presentation transcript:

SE263 Video Analytics Course Project Initial Report Presented by M. Aravind Krishnan, SERC, IISc X. Mei and H. Ling, ICCV’09

AIM of the course project is to implement and if possible, improve the work done by Xue Mei and Haibin Ling in visual tracking, as explained in their paper Robust Visual Tracking using l 1 minimization. By ‘improve’ it is meant to ‘accelerate’ the speed of execution using special processing hardware called Graphics Processing Units.

1.I will begin by explaining the work done in the paper, and the various mathematical tools used in achieving the desired results. 1. Bayesian state inference framework, used to predict the affine state of the object. (Called the particle filter) 2. Sparse representation of the Tracking target. 3. Non-negativity constraints 4. l 1 minimization 5. Template update 2.This will be followed by a brief overview of Graphics processing Units, and how they can be used for general purpose computation. 3.Finally the parts of the algorithm most suited for being executed in a GPU is proposed. OVERVIEW

Templates Sample/collection of possible views of the object, whose linear combination can be used to represent the tracked object in the frame. Two types of templates are considered in this paper, Target templates and Trivial templates. Target templates to deal with various lighting conditions, poses, etc. Trivial templates to deal with occlusions, noise, bacckground clutter, etc.

Templates continued Target templates are densely used to represent, and hence are less in number. Trivial templates are sparsely used to represent, and hence can be large in number.

State of object being tracked Xt =Xt = 2D deformation parameters 2D translation parameters

If z t is the observed distribution of the state of the object at time t, then the predicted distribution of the object x t is given by the recursive computation

"filtering" refers to determining the distribution of a latent variable at a specific time, given all observations up to that time; particle filters are so named because they allow for approximate "filtering" using a set of "particles" (differently-weighted samples of the distribution). -Wikipedia

l 1 minimization

Non negativity

Optimization Convex Optimization – Interior point method The method uses the preconditioned conjugate gradients (PCG) algorithm to compute the search direction and the run time is determined by the product of the total number of PCG steps required over all iterations and the cost of a PCG step. This process can be accelerated by GPUs.

Algorithm for template update

Review of Algorithm Frame 1 1.Manually detect object to be tracked 2.Initialize Target Templates with random variations of object Frame 1 1.Manually detect object to be tracked 2.Initialize Target Templates with random variations of object Generate a set of N states around current state X t, with each of the 6 affine parameters being modeled as an independent gaussian variable. Calculate p(X t |Z 1:t ) by determining the Bayesian weights of the importance w i = p(z t |x t ), in turn determined from the errors/residuals in projecting the tracked object onto each of the solutions of 3. Represent each of the N generated states as a sparse linear combination of target and trivial templates by solving the l 1 minimization problem min||Bc-y|| 2 2 +λ||c|| 1 Update templates if the highest similarity of the templates with newly tracked object is less than a threshold. Do by replacing lowest similarity template with the newly tracked object

Working of a GPU Consists of a lot ALUs. Banks of ALUs with shared memory are called cores. An average CPU consists of upto 4 SIMD units. A GPU consists of SIMD units A tesla C1060 unit available in SERC will be used to try and speed up the optimization process, and hence the whole algorithm.

The functionality of GPUs – Data Parallelism GPUs are extremely good at executing the same instruction across bulky data. Eg. Vector addition, Matrix Vector Multiplication, BLAS routines, etc. The major bottle-neck of this algorithm is the convex optimization performed using Interior point method. It involves some matrix vector operations over the same matrix and around N different vectors. This can be readily and trivially parallelized, and great speedup can be achieved if done carefully.

Architecture of GPU

Goals and tasks of project Dividing the minimization algorithm amongst the cores of the GPU, and figuring out optimal grid configuration. Optimizing to perform the whole task with minimal data transfer from CPU to GPU and performing the algorithm in real time using just one kernel invocation, for a long video. Achieve a frame rate > 30 fps on Tesla C1060. Achieve frame rate of 18 fps or more using ATI mobility Radeon HD 5650 graphics processor with 1Gb internal memory available in my laptop. (requires transcription to OpenCL. Under constraints of time)

Thank you