The evolution of high performance computing in today’s smartphones is enabling their use in compute-intensive applications. As the compute requirement increases, the energy required to do the computation cannot increase in proportion because the cost of providing that energy available and cooling would become prohibitive. An alternative, potentially power-reducing approach is to use graphics processing units or special accelerator cores. Today’s smartphones are equipped with systemon-chip (SoC) devices that house many cores such as graphics processing units, digital signal processors, and special multimedia encoder/decoder hardware alongside multi-core central processing units. Their inclusion enables applications that require greater computational power such as real-time computer vision. In this work, we study the capability of the recently introduced general-purpose graphics processing unit (GPU) in a smartphone SoC to enable energy-efficient object detection. This will include understanding the architecture of the recent GPUs that will be used (the Adreno 320 and Adreno 420 from Qualcomm), the implementation and optimization of the object detection algorithm used in the Open Computer Vision library (OpenCV) using these GPUs and measuring the energy consumption of this implementation. We implemented the Viola-Jones based object detection on the GPU in an Android tablet. The implementation is 35% faster on average than the same algorithm running on the CPU on the same device. The implementation also reduces the average energy consumption by 68% compared to the CPU on the same device. An application that utilized the object detector on the mobile GPU to detect Ringworm skin disease was developed. A classifier was trained for this application and it has an accuracy of 75%.
Published Date: 2021-11-28;