A self-adaptive heterogeneous multi-core architecture for embedded real-time video object tracking

Sequential Monte Carlo (SMC) represents a principal statistical method for tracking objects in video sequences by on-line estimation of the state of a non-linear dynamic system. The performance of individual stages of the SMC algorithm is usually data-dependent, making the prediction of the performance of a real-time capable system difficult and often leading to grossly overestimated and inefficient system designs. Also, the considerable computational complexity is a major obstacle when implementing SMC methods on purely CPU-based resource constrained embedded systems. In contrast, heterogeneous multi-cores present a more suitable implementation platform. We use hybrid CPU/FPGA systems, as they can efficiently execute both the control-centric sequential as well as the data-parallel parts of an SMC application. However, even with hybrid CPU/FPGA platforms, determining the optimal HW/SW partitioning is challenging in general, and even impossible with a design time approach. Thus, we need self-adaptive architectures and system software layers that are able to react autonomously to varying workloads and changing input data while preserving real-time constraints and area efficiency. In this article, we present a video tracking application modeled on top of a framework for implementing SMC methods on CPU/FPGA-based systems such as modern platform FPGAs. Based on a multithreaded programming model, our framework allows for an easy design space exploration with respect to the HW/SW partitioning. Additionally, the application can adaptively switch between several partitionings during run-time to react to changing input data and performance requirements. Our system utilizes two variants of a add/remove self-adaptation technique for task partitioning inside this framework that achieve soft real-time behavior while trying to minimize the number of active cores. To evaluate its performance and area requirements, we demonstrate the application and the framework on a real-life video tracking case study and show that partial reconfiguration can be effectively and transparently used for realizing adaptive real-time HW/SW systems.

[1]  Michael K. Giles,et al.  A Real-Time Video Tracking System , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[2]  Marco Platzner,et al.  A Multithreaded Framework for Sequential Monte Carlo Methods on CPU/FPGA Platforms , 2009, ARC.

[3]  Fatih Murat Porikli,et al.  Achieving real-time object detection and tracking under extreme conditions , 2006, Journal of Real-Time Image Processing.

[4]  Neil J. Gordon,et al.  Editors: Sequential Monte Carlo Methods in Practice , 2001 .

[5]  Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction , 2003, MICRO.

[6]  Gian Luca Foresti,et al.  Cascaded online boosting , 2010, Journal of Real-Time Image Processing.

[7]  T. Başar,et al.  A New Approach to Linear Filtering and Prediction Problems , 2001 .

[8]  R. Koch,et al.  An airborne Bayesian color tracking system , 2005, IEEE Proceedings. Intelligent Vehicles Symposium, 2005..

[9]  Marco Platzner,et al.  ReconOS: Multithreaded programming for reconfigurable computers , 2009, TECS.

[10]  Neil J. Gordon,et al.  A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking , 2002, IEEE Trans. Signal Process..

[11]  Shuvra S. Bhattacharyya,et al.  Parameterized design framework for hardware implementation of particle filters , 2008, 2008 IEEE International Conference on Acoustics, Speech and Signal Processing.

[12]  Dimitrios S. Nikolopoulos,et al.  Online power-performance adaptation of multithreaded programs using hardware event-based prediction , 2006, ICS '06.

[13]  Jae Wook Jeon,et al.  A real-time color feature tracking system using color histograms , 2007, 2007 International Conference on Control, Automation and Systems.

[14]  Usman Ali,et al.  FPGA/soft-processor based real-time object tracking system , 2009, 2009 5th Southern Conference on Programmable Logic (SPL).

[15]  Timothy J. Robinson,et al.  Sequential Monte Carlo Methods in Practice , 2003 .

[16]  M. Platzner,et al.  An adaptive Sequential Monte Carlo framework with runtime HW/SW repartitioning , 2009, 2009 International Conference on Field-Programmable Technology.

[17]  Daniël Paulusma,et al.  Run-time assignment of tasks to multiple heterogeneous processors , 2004 .

[18]  Guisheng Zhai,et al.  Real time object tracking on video image sequence using particle swarm optimization , 2007, 2007 International Conference on Control, Automation and Systems.

[19]  Diederik Verkest,et al.  Run-Time Management of a MPSoC Containing FPGA Fabric Tiles , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[20]  Miguel A. Patricio,et al.  Advanced algorithms for real-time video tracking with multiple targets , 2008, 2008 10th International Conference on Control, Automation, Robotics and Vision.

[21]  Fernando Gehm Moraes,et al.  Heuristics for Dynamic Task Mapping in NoC-based Heterogeneous MPSoCs , 2007, 18th IEEE/IFIP International Workshop on Rapid System Prototyping (RSP '07).

[22]  Andy D. Pimentel,et al.  System-level runtime mapping exploration of reconfigurable architectures , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[23]  Henry Hoffmann,et al.  Self-Aware Adaptation in FPGA-based Systems , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[24]  Ankur Srivastava,et al.  Algorithmic and architectural design methodology for particle filters in hardware , 2005, 2005 International Conference on Computer Design.

[25]  Frank Vahid,et al.  Dynamic hardware/software partitioning: a first approach , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[26]  G.J.M. Smit,et al.  Run-time Mapping of Applications to a Heterogeneous SoC , 2005, 2005 International Symposium on System-on-Chip.

[27]  Frank Vahid,et al.  Dynamic coprocessor management for FPGA-enhanced compute platforms , 2008, CASES '08.