Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on a low power, embedded system School of Information Technology & Mathematical.

Slides:



Advertisements
Similar presentations
GPU-accelerated fractal imaging Jeremy Ehrhardt CS 81 - Spring 2009.
Advertisements

SE263 Video Analytics Course Project Initial Report Presented by M. Aravind Krishnan, SERC, IISc X. Mei and H. Ling, ICCV’09.
Christopher McCabe, Derek Causon and Clive Mingham Centre for Mathematical Modelling & Flow Analysis Manchester Metropolitan University MANCHESTER M1 5GD.
Timothy Blattner and Shujia Zhou May 18, This project is sponsored by Lockheed Martin We would like to thank Joseph Swartz, Sara Hritz, Michael.
GI 2006, Québec, June 9th 2006 Implementing the Render Cache and the Edge-and-Point Image on Graphics Hardware Edgar Velázquez-Armendáriz Eugene Lee Bruce.
PACE: An Autofocus Algorithm For SAR
Real-Time Accurate Stereo Matching using Modified Two-Pass Aggregation and Winner- Take-All Guided Dynamic Programming Xuefeng Chang, Zhong Zhou, Yingjie.
A KLT-Based Approach for Occlusion Handling in Human Tracking Chenyuan Zhang, Jiu Xu, Axel Beaugendre and Satoshi Goto 2012 Picture Coding Symposium.
ECE 562 Computer Architecture and Design Project: Improving Feature Extraction Using SIFT on GPU Rodrigo Savage, Wo-Tak Wu.
EFFICIENT RENDERING LARGE TERRAINS USING MULTIRESOLUTION MODELLING AND IMAGE PROCESSING TECHNIQUES Ömer Nebil YAVEROĞLU Department of Computer Engineering.
2009/04/07 Yun-Yang Ma.  Overview  What is CUDA ◦ Architecture ◦ Programming Model ◦ Memory Model  H.264 Motion Estimation on CUDA ◦ Method ◦ Experimental.
Multi Agent Simulation and its optimization over parallel architecture using CUDA™ Abdur Rahman and Bilal Khan NEDUET(Department Of Computer and Information.
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.
Motion Detection And Analysis Michael Knowles Tuesday 13 th January 2004.
Tracking multiple independent targets: Evidence for a parallel tracking mechanism Zenon Pylyshyn and Ron Storm presented by Nick Howe.
Object Detection and Tracking Mike Knowles 11 th January 2005
1 Integration of Background Modeling and Object Tracking Yu-Ting Chen, Chu-Song Chen, Yi-Ping Hung IEEE ICME, 2006.
© 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.
A Performance and Energy Comparison of FPGAs, GPUs, and Multicores for Sliding-Window Applications From J. Fowers, G. Brown, P. Cooke, and G. Stitt, University.
Real-Time Decentralized Articulated Motion Analysis and Object Tracking From Videos Wei Qu, Member, IEEE, and Dan Schonfeld, Senior Member, IEEE.
HPEC_GPU_DECODE-1 ADC 8/6/2015 MIT Lincoln Laboratory GPU Accelerated Decoding of High Performance Error Correcting Codes Andrew D. Copeland, Nicholas.
1 Video Surveillance systems for Traffic Monitoring Simeon Indupalli.
Overview and Mathematics Bjoern Griesbach
1 1 © 2011 The MathWorks, Inc. Accelerating Bit Error Rate Simulation in MATLAB using Graphics Processors James Lebak Brian Fanous Nick Moore High-Performance.
Kalman filter and SLAM problem
Muhammad Moeen YaqoobPage 1 Moment-Matching Trackers for Difficult Targets Muhammad Moeen Yaqoob Supervisor: Professor Richard Vinter.
Ioannis Karamouzas, Roland Geraerts, Mark Overmars Indicative Routes for Path Planning and Crowd Simulation.
GmImgProc Alexandra Olteanu SCPD Alexandru Ştefănescu SCPD.
GPU-accelerated Evaluation Platform for High Fidelity Networking Modeling 11 December 2007 Alex Donkers Joost Schutte.
Predictive Runtime Code Scheduling for Heterogeneous Architectures 1.
Challenges Bit-vector approach Conclusion & Future Work A subsequence of a string of symbols is derived from the original string by deleting some elements.
BraMBLe: The Bayesian Multiple-BLob Tracker By Michael Isard and John MacCormick Presented by Kristin Branson CSE 252C, Fall 2003.
1. Introduction Motion Segmentation The Affine Motion Model Contour Extraction & Shape Estimation Recursive Shape Estimation & Motion Estimation Occlusion.
Course Project Intro IMM-JPDAF Multiple-Target Tracking Algorithm: Description and Performance Testing By Melita Tasic 3/5/2001.
YOU LI SUPERVISOR: DR. CHU XIAOWEN CO-SUPERVISOR: PROF. LIU JIMING THURSDAY, MARCH 11, 2010 Speeding up k-Means by GPUs 1.
Fast Support Vector Machine Training and Classification on Graphics Processors Bryan Catanzaro Narayanan Sundaram Kurt Keutzer Parallel Computing Laboratory,
1 ROBUST VISUAL TRACKING A Brief Summary Gagan Mirchandani School of Engineering, University of Vermont 1 1 And Ben Schilling, Clark Vandam, Kevin Haupt.
Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on an embedded system School of Information Technology & Mathematical Sciences September.
Dense Image Over-segmentation on a GPU Alex Rodionov 4/24/2009.
A New Fingertip Detection and Tracking Algorithm and Its Application on Writing-in-the-air System The th International Congress on Image and Signal.
HQ U.S. Air Force Academy I n t e g r i t y - S e r v i c e - E x c e l l e n c e Improving the Performance of Out-of-Order Sigma-Point Kalman Filters.
Recognizing Action at a Distance Alexei A. Efros, Alexander C. Berg, Greg Mori, Jitendra Malik Computer Science Division, UC Berkeley Presented by Pundik.
Experiences Accelerating MATLAB Systems Biology Applications Heart Wall Tracking Lukasz Szafaryn, Kevin Skadron University of Virginia.
JPEG-GPU: A GPGPU IMPLEMENTATION OF JPEG CORE CODING SYSTEMS Ang Li University of Wisconsin-Madison.
SIGGRAPH 2011 ASIA Preview Seminar Rendering: Accuracy and Efficiency Shinichi Yamashita Triaxis Co.,Ltd.
1 Research Question  Can a vision-based mobile robot  with limited computation and memory,  and rapidly varying camera positions,  operate autonomously.
Adam Wagner Kevin Forbes. Motivation  Take advantage of GPU architecture for highly parallel data-intensive application  Enhance image segmentation.
Efficient Visual Object Tracking with Online Nearest Neighbor Classifier Many slides adapt from Steve Gu.
Crowd Analysis at Mass Transit Sites Prahlad Kilambi, Osama Masound, and Nikolaos Papanikolopoulos University of Minnesota Proceedings of IEEE ITSC 2006.
Developing the Demosaicing Algorithm in GPGPU Ping Xiang Electrical engineering and computer science.
Fast and Robust Algorithm of Tracking Multiple Moving Objects for Intelligent Video Surveillance Systems Jong Sun Kim, Dong Hae Yeom, and Young Hoon Joo,2011.
by Arjun Radhakrishnan supervised by Prof. Michael Inggs
IEEE International Conference on Multimedia and Expo.
Monte Carlo Linear Algebra Techniques and Their Parallelization Ashok Srinivasan Computer Science Florida State University
Target Tracking In a Scene By Saurabh Mahajan Supervisor Dr. R. Srivastava B.E. Project.
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.
An intelligent strategy for checking the annual inspection status of motorcycles based on license plate recognition Yo-Ping Huang a, Chien-Hung Chen b,
Zhaoxia Fu, Yan Han Measurement Volume 45, Issue 4, May 2012, Pages 650–655 Reporter: Jing-Siang, Chen.
Effects of Limiting Numerical Precision on Neural Networks
V4 – Video Tracker for Extremely Hard Night Conditions
GPU Architecture and Its Application
Generalized and Hybrid Fast-ICA Implementation using GPU
San Diego May 22, 2013 Giovanni Saponaro Giampiero Salvi
Contents Team introduction Project Introduction Applicability
Tracking Objects with Dynamics
Texas Instruments TDA2x and Vision SDK
Motion Detection And Analysis
Single Parameter Tuning
Presentation transcript:

Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on a low power, embedded system School of Information Technology & Mathematical Sciences September 2015 David Webb Supervisor: David Kearney

Object Tracking Overview What is object tracking? Object tracking, also referred to as video tracking, is a sub domain of computer vision, concerned with detecting, correlating and tracing the path of an object(or objects) as it travels, relative to the background, over multiple frames of video (or a sequence of images).

Object Tracking Overview How is object tracking used? Real world applications of object tracking include Security and Surveillance  Loitering  Traffic  Suspicious packages  Theft Business intelligence  People counting

Object Tracking Overview How is object tracking used? Military  Situational awareness Robotics  Object manipulation  Environment awareness Human Computer Interaction  Gesture Recognition  Gaze Tracking

Object Tracking Overview What is involved in object tracking? Detection  Determining the existence of an object at a given location (or pixel) in an image Tracking  Associating the location of an object over multiple images Recognition  Classification of the nature of the object being tracked

Object Tracking Overview Classic detection tracking recognition Classic algorithms suffer from ambiguity in measurements due to noise In the presence of noise, classic trackers make hard and fast assumptions about the nature of the target object This can lead to poor robustness, where the tracker is unable to correctly maintain the track of an object

Object Tracking Overview Competitive Attentional Correlation Tracker using Shape (CACTuS) CACTuS is designed to avoid problems associated with measurements taken in the presence of noise by using a Bayesian approach to propagate uncertainty through the tracking chain.

CACTuS Tracker CACTuS Multiple Object Tracker Shape Estimating Filter (SEF)  Each SEF is capable of tracking and describing one object  Describes an object’s location, velocity and shape  Uses a Bayesian approach to propagate uncertainty by representing each state as a 2D array of probabilities The following operations are performed on each SEF  Prediction  Observation  Update

CACTuS Tracker CACTuS Multiple Object Tracker CACTuS Combines Multiple SEFs  SEFs are compelled by a competitive mechanism to focus on different objects Multiple SEFs in Parallel  The computation of each SEF is independent of the other SEFs, allowing for all SEF’s to be computed in parallel, excluding the competition phase

CACTuS Tracker CACTuS Algorithm Computational Complexity  SEFs perform the prediction phase using 2D convolution operations on several 2D matrices  The complexity of the convolution of a 2D matrix A with 2D matrix B is approximately O(MNmn), where A is M x N and B is m x n

CACTuS Tracker Demonstration

CACTuS Tracker CACTuS Algorithm Current Implementations and Performance  In the testing of the current CACTuS implementation, the following performance figures were observed on our test PC Number of SEFs ImplementationTime per frame (ms) (average) Prediction phase time per frame (ms) 16MATLAB C++ CPU C++ OpenMP C++ OpenMP + SSE PC Specs:Intel Core i7 4790K 4.0GHz 16GB DDR RAM NVIDIA GeForce GTX960 2GB DDR5

NVIDIA Jetson Platform NVIDIA Jetson TK1 DevKit Tegra K1 System on Chip (SoC)  4 Plus 1 Quad Core ARM Cortex A15 2.3GHz CPU  Kepler GPU with 192 CUDA Cores 2 GB memory 16GB eMMc storage Ubuntu 14.04

NVIDIA Jetson Platform Why the Jetson? As the majority of computational time is taken by the convolution operations, and the convolution operation is easily parallelised, it is expected that the GPU of the Jetson platform will provide increased performance due to it’s highly parallel nature The Jetson is also a convenient form factor and conforms to a low power budget of only 10W

Tracking on Jetson with CACTuS Project Goals Create an implementation of CACTuS that compiles and runs on the Jetson platform Accelerate the implementation of CACTuS using CUDA Achieve a minimum of 10 frames per second of processing with 2 or more SEFs on the Jetson platform

Performance Enhancement Using CUDA to increase the performance of CACTuS Performance profiling was used to focus efforts. Number of SEFs ImplementationTime per frame (ms) (average) Prediction phase time per frame (ms) 16MATLAB C++ CPU C++ OpenMP + SSE PC Specs:Intel Core i7 4790K 4.0GHz 16GB DDR RAM NVIDIA GeForce GTX960 2GB DDR5 16C++ CUDA Conv C++ CUDA + OMP C++ CUDA Predict2713

Performance on Jetson Benchmarking the performance of CACTuS on Jetson Number of SEFs ImplementationTime per frame (ms) (average) Prediction phase time per frame (ms) 16MATLAB Desktop C++ CPU Desktop C++ CPU Jetson C++ OMP Jetson C++ CUDA Conv C++ CUDA Predict C++ Hybrid19379 A hybrid CPU and GPU approach performed best

Performance on Jetson By reducing the number of SEFs, performance can be gained, this is a trade off that reduces the number of targets that can be tracked and the overall accuracy and track latency of the tracker Number of SEFs ImplementationTime per frame (ms) (average) Prediction phase time per frame (ms) 4MATLAB Desktop4018 4C++ OMP Desktop3533 4C++ OMP Jetson7745 4C++ CUDA Predict8941 4C++ Hybrid6033

Conclusion The performance of the platform is acceptable for marginal usage as a tracking platform. Achieving 16 frames per second with 4 SEFs, the 10 fps goal has been exceeded. As a side note, running CACTuS with CUDA acceleration on the desktop in under 30ms per frame for 16 SEFs, demonstrates Real Time processing of the synthetic video, which has not been previously achieved with this version of the CACTuS algorithm.