High-Level Synthesis for Hardware/Software Co-Design of Distributed Smart Camera Systems

In this paper, we present a holistic design methodology for embedded smart camera networks consisting of FPGA-based Programmable System-on-Chips (PSoCs). Beginning with a high-level model of a distributed smart camera application specified in Matlab/Simulink, a behavioral data-flow-based SystemC model is automatically generated. In turn, every vertex of the data-flow graph represents a functional task of the application and can be implemented either as a software or a hardware componenton PSoC nodes within the smart camera network. Also, such hardware/software designs for data-intensive camera applications require a sophisticated hardware/software interconnect. These design decisions on mapping tasks and communication influence throughput but also the costs of the distributed smart camera network. Our methodology varies communication routing and task mapping within a camera network to optimize several objectives simultaneously. Particularly, we use Design Space Exploration (DSE) to explore the trade-off between resource costs and throughput in a smart camera application realized as a heterogeneous hardware/software system. In this context, High-Level Synthesis (HLS) constitutes an important mechanism to estimate the functional properties of different hardware design candidates automatically. Furthermore, it enables a semi-automatic synthesis of the smart camera implementation candidate. As a case study, we apply our methodology to a high-bandwidth multi-camera system consisting of PSoC nodes, which apply feature-based image registration techniques to combine multiple images with an overlapping field-of-view to produce a panoramic view.

[1]  Christian Haubelt,et al.  Efficient Representation and Simulation of Model-Based Designs , 2006, FDL.

[2]  Jürgen Teich,et al.  Automatic Conversion of Simulink Models to SysteMoC Actor Networks , 2017, SCOPES.

[3]  Brian Bailey,et al.  ESL Design and Verification: A Prescription for Electronic System Level Methodology , 2007 .

[4]  Euripides G. M. Petrakis,et al.  A survey on industrial vision systems, applications, tools , 2003, Image Vis. Comput..

[5]  Maxime Pelcat,et al.  Preesm: A dataflow-based rapid prototyping framework for simplifying multicore DSP programming , 2014, 2014 6th European Embedded Design in Education and Research Conference (EDERC).

[6]  Soonhoi Ha,et al.  PeaCE: A hardware-software codesign environment for multimedia embedded systems , 2008, TODE.

[7]  Christophe Bobda,et al.  Vision-Based Path Construction and Maintenance for Indoor Guidance of Autonomous Ground Vehicles Based on Collaborative Smart Cameras , 2016, ICDSC.

[8]  Matthew A. Brown,et al.  Automatic Panoramic Image Stitching using Invariant Features , 2007, International Journal of Computer Vision.

[9]  Martin Lukasiewycz,et al.  Efficient symbolic multi-objective design space exploration , 2008, 2008 Asia and South Pacific Design Automation Conference.

[10]  Mac Schwager,et al.  Optimal coverage for multiple hovering robots with downward facing cameras , 2009, 2009 IEEE International Conference on Robotics and Automation.

[11]  Christophe Bobda,et al.  A framework for rapid prototyping of embedded vision applications , 2014, Proceedings of the 2014 Conference on Design and Architectures for Signal and Image Processing.

[12]  Vijay Kumar,et al.  Cooperative air and ground surveillance , 2006, IEEE Robotics & Automation Magazine.

[13]  Aziz Umit Batur,et al.  Trends in camera based Automotive Driver Assistance Systems (ADAS) , 2014, 2014 IEEE 57th International Midwest Symposium on Circuits and Systems (MWSCAS).

[14]  Jürgen Teich,et al.  HIPAcc: A Domain-Specific Language and Compiler for Image Processing , 2016, IEEE Transactions on Parallel and Distributed Systems.

[15]  Christian Haubelt,et al.  SystemCoDesigner—an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications , 2009, TODE.

[16]  Jürgen Teich,et al.  System-Level Synthesis Using Evolutionary Algorithms , 1998, Des. Autom. Embed. Syst..

[17]  Jürgen Teich,et al.  An evolutionary approach to system-level synthesis , 1997, CODES.