Effectiveness analysis of hardware implementations of face detection algorithms in digital images

Abstract

W artykule przedstawiono i porównano wyniki implementacji przykładowego algorytmu detekcji twarzy w obrazach cyfrowych na trzech platformach sprzętowych: z użyciem CPU (Matlab), w strukturze programowalnej FPGA z procesorem sprzętowym PowerPC [1], oraz z wykorzystaniem CPU z akceleracją GPU. Powyższe implementacje przebadano eksperymentalnie pod względem złożoności implementacji i szybkości działania poszczególnych fragmentów algorytmu. Porównano je ze sobą oraz przedstawiono najlepsze obszary zastosowań poszczególnych z nich.This paper describes comparison of hardware implementations of a face detection algorithm using three different platforms: (1) classic CPU implementation (Matlab), (2) implementation with use of programmable logic - FPGA with hardware processor PowerPC [1], and (3) CPU based version with GPU acceleration. These tree versions have been experimentally tested and compared in terms of the required hardware resources and operating speed, which is of great importance in most practical applications. We also discuss advantages and drawbacks of these three approaches to hardware implementation of face detection algorithms. In particular, we formulate some important conditions that the analyzed image must meet to obtain the optimum effectiveness of the face detection algorithm implemented on each platform. Finally, we show that use of GPU acceleration can take advantage of the classic CPU and parallel computing accessible to FPGA. The proposed solution of skin color detection time for the CPU with GPU acceleration is over 100 times shorter than that for the solution with the classical CPU. As a programmable device we have used FPGA Virtex-4 chip from Xilinx, and as a GPU accelerator we have utilized graphic card nVidia GeForce 8600 GT

    Similar works