Accelerating a Computer Vision Algorithm on a Mobile SoC Using CPU GPU Co processing A Case Study on Face Detection
Recently, mobile devices have become equipped with sophisticated hardware components such as a heterogeneous multi core SoC that consists of a CPU, GPU, and DSP. This provides opportunities to realize computationally intensive computer vision applications using General Purpose GPU (GPGPU) programming tools such as Open Graphics Library for Embedded System (OpenGL ES) and Open Computing Language (OpenCL) As a case study, the aim of this research was to accelerate the Viola Jones face detection algorithm which is computationally expensive and limited in use on mobile devices due to irregular memory access and imbalanced workloads resulting in low performance regarding the processing time. To solve the above challenges, the proposed method of this study adapted CPU GPU task parallelism, sliding window parallelism, scale image parallelism, dynamic allocation of threads, and local memory optimization to improve the computational time. The experimental results show that the proposed method achieved a 3.3~6.29 times increased computational time compared to the well optimized OpenCV implementation on a CPU. The proposed method can be adapted to other applications using mobile GPUs and CPUs.
2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)