Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on an embedded system School...

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

Transcript of Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on an embedded system School...

PowerPoint Presentation

Tracking with CACTuS on JetsonRunning a Bayesian multi object tracker on an embedded systemSchool of Information Technology & Mathematical Sciences

September 2015

David Webb

Supervisor: David Kearney1Object Tracking OverviewWhat 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 OverviewHow is object tracking used?

Real world applications of object tracking include

Security and SurveillanceLoitering TrafficSuspicious packages Theft

Business intelligencePeople counting

Object Tracking OverviewHow is object tracking used?

MilitarySituational awareness

RoboticsObject manipulation Environment awareness

Human Computer InteractionGesture Recognition Gaze Tracking

Object Tracking OverviewWhat is involved in object tracking?

DetectionDetermining the existence of an object at a given location (or pixel) in an image

TrackingAssociating the location of an object over multiple images

RecognitionClassification of the nature of the object being tracked

Object Tracking OverviewClassic 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 OverviewCompetitive 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 TrackerCACTuS Multiple Object Tracker

Shape Estimating Filter (SEF)Each SEF is capable of tracking and describing one objectDescribes an objects location, velocity and shapeUses a Bayesian approach to propagate uncertainty by representing each state as a 2D array of probabilities

The following operations are performed on each SEFPrediction ObservationUpdate

CACTuS TrackerCACTuS Multiple Object Tracker

CACTuS Combines Multiple SEFsSEFs are compelled by a competitive mechanism to focus on different objects

Multiple SEFs in ParallelThe each phase of each SEF is independent of each other SEF, allowing for SEFs to be computed in parallel, excluding the competition phase

CACTuS TrackerCACTuS Algorithm

Computational ComplexitySEFs perform the prediction phase using 2D convolution operations on several 2D matricesThe 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 TrackerDemonstration

CACTuS TrackerCACTuS Algorithm

Current Implementations and PerformanceIn the testing of the current CACTuS implementation, the following performance figures were observed on our test PC

Number of SEFsImplementationTime per frame (ms) (average)Prediction phase time per frame (ms)16MATLAB1506916C++ CPU70757216C++ OpenMP13910716C++ OpenMP + SSE129107 PC Specs:Intel Core i7 4790K 4.0GHz16GB DDR3-1600 RAMNVIDIA GeForce GTX960 2GB DDR512NVIDIA Jetson PlatformNVIDIA Jetson TK1 DevKit

Tegra K1 System on Chip (SoC)4 Plus 1 Quad Core ARM Cortex A15 CPUKepler GPU with 192 CUDA Cores

2 GB memory16GB eMMc storageRuns custom Ubuntu 14.04

NVIDIA Jetson PlatformWhy 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 its 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 CACTuSProject 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 platformPerformance EnhancementUsing CUDA to increase the performance of CACTuS

Profiling was used along side existing timing code to gauge the impact of specific functions.Number of SEFsImplementationTime per frame (ms) (average)Prediction phase time per frame (ms)16MATLAB1506916C++16C++ OpenMP + SSE12910716C++ CUDA Conv291516C++ CUDA Predict2713 PC Specs:Intel Core i7 4790K 4.0GHz16GB DDR3-1600 RAMNVIDIA GeForce GTX960 2GB DDR516Jet