Hardware Acceleration of Computer Vision Application
Faculty of Electrical Engineering, Mathematics and Computer Science CE MS 2016 11 Demand for computing is growing, especially in the form of digital image processing and computer vision because of their applications in military equipment, industrial environment, automobiles, medical and entertainment products. Edge detection is one of the fundamental steps in digital image processing and computer vision and Canny is the most widely used edge detection algorithm. This algorithm is comprised of computationally intensive stages like smoothing, gradient computation, non maximal suppression etc, which have high processing demands, especially for embedded computing. Hardware/software co design appears to be a promising solution to satisfy the computation demands of many applications, especially image processing and computer vision. It has especially gained popularity due to the tight coupling between reconfigurable hardware and software on a single chip, such as Zynq by Xilinx and the availability of better tools. However, programmability of such devices is still a challenge. In this thesis, we present an efficient mapping of Canny edge detection application on Zedboard which uses Zynq as target processor. The goal is to accelerate the application without losing the accuracy as compared to the original software implementation. We highlight various challenges faced by the developer in the form of detailed memory and communication profiling and careful analysis of applications and the requirement to understand the hardware details. We highlight how tools like MCProf, can be useful to perform intelligent application mapping on processors like Zynq. We back our study with simulation and actual implementation results at kernel and application level to provide a quantitative comparison of various optimizations. We obtained upto 7x and 3.18x speedup at kerneland application level, respectively. Though we have used Canny as case study, the analysis presented in this thesis is also applicable to other image processing and computer vision applications. Hardware Acceleration of Computer Vision Application