Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on an embedded system School...
-
Upload
margaretmargaret-spencer -
Category
Documents
-
view
213 -
download
0
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