Accelerating embedded image processing for real time: a case study

Sol Pedre, Tomáš Krajník, Elías Todorovich, Patricia Borensztejn
2013 Journal of Real-Time Image Processing  
Many image processing applications need realtime performance, while having restrictions of size, weight and power consumption. Common solutions, including hardware/software co-designs, are based on Field Programmable Gate Arrays (FPGAs). Their main drawback is long development time. In this work, a co-design methodology for processor-centric embedded systems with hardware acceleration using FPGAs is proposed. The goal of this methodology is to achieve real-time embedded solutions, using
more » ... acceleration, but achieving development time similar to that of software projects. Well established methodologies, techniques and languages from the software domain-such as Object-Oriented Paradigm design, Unified Modelling Language, and multithreading programming-are applied; and semiautomatic C-to-HDL translation tools and methods are used and compared. The methodology is applied to achieve an embedded implementation of a global vision algorithm for the localization of multiple robots in an e-learning robotic laboratory. The algorithm is specifically developed to work reliably 24/7 and to detect the robot's positions and headings even in the presence of partial occlusions and varying lighting conditions expectable in a normal classroom. The co-designed implementation of this algorithm processes 1,600 9 1,200 pixel images at a rate of 32 fps with an estimated energy consumption of 17 mJ per frame. It achieves a 169 acceleration and 92 % energy saving, which compares favorably with the most optimized embedded software solutions. This case study shows the usefulness of the proposed methodology for embedded real-time image processing applications. Keywords Real-time image processing Á Methodology for hardware/software co-design in FPGA Á High level synthesis Á High level modeling Á Multiple robot localization Á Multithreaded programming Á Hardware acceleration 1 Introduction
doi:10.1007/s11554-013-0353-2 fatcat:kef6ujmg35gunm2cax6bzsr6qq