MACHINE VISION GROUP Accelerating image recognition on mobile devices using GPGPU Miguel Bordallo 1 , Henri Nykänen 2 , Jari Hannuksela 1 , Olli Silvén 1 and Markku Vehviläinen 3 1 University of Oulu, Finland 2 Visidon Ltd. Oulu, Finland 3 Nokia Research Center, Tampere, Finland Jari Hannuksela, Olli Silvén Machine Vision Group, Infotech Oulu Department of Electrical and Information Engineeering University of Oulu, Finland
22
Embed
Accelerating image recognition on mobile devices using GPGPU
Accelerating image recognition on mobile devices using GPGPU. Jari Hannuksela, Olli Silvén Machine Vision Group, Infotech Oulu Department of Electrical and Information Engineeering University of Oulu, Finland. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
MACHINE VISION GROUP
Accelerating image recognition on mobile devices using GPGPU
Miguel Bordallo1, Henri Nykänen2, Jari Hannuksela1, Olli Silvén1 and Markku Vehviläinen3
1 University of Oulu, Finland2 Visidon Ltd. Oulu, Finland
3 Nokia Research Center, Tampere, Finland
Jari Hannuksela, Olli SilvénMachine Vision Group, Infotech Oulu
Department of Electrical and Information EngineeeringUniversity of Oulu, Finland
MACHINE VISION GROUP
Contents
IntroductionMobile Image Recognition
• Local Binary PatternGraphics processor as a computing
engineGPU accelerated image recognition
• LBP Fragment Shader implementation
• Image preprocessingExperiments and results
• Speed• Power Consumptions
MACHINE VISION GROUP
Motivation
• Face detection and recognition is a key component of future multimodal user interfaces
• Mobile computation power still not harnessed properly for real-time computer vision
• High demand computations compromise battery life.
• Need for energy and computationally efficient solutions
MACHINE VISION GROUP
Face analysis using local binary patterns
• Face analysis is one of the major challenges in computer vision
• LBP method has already been adopted by many leading scientists
• Excellent results in face recognition and authentication, face detection, facial expression recognition, gender classification
MACHINE VISION GROUP
Local Binary Pattern
MACHINE VISION GROUP
GPU as a computing engine
• Newer phones include a GPU chipset• OpenGL ES as a highly optimized and attractive
accelerator interface• Emerging platforms (OpenCL EP) will facilitate
using the GPU as a computing resource• Compatible data formats for graphics and
camera sub-systems desirable
GPU can be treated aan independent
entity
MACHINE VISION GROUP
Fixed pipeline (OpenGL ES 1.1) vs. programmable pipeline (OpenGL ES 2.0)
MACHINE VISION GROUP
Stream processing (OpenGL) vs. shared memory processing (CUDA)
MACHINE VISION GROUP
OpenCL (Embedded Profile)
• Emerging platforms will offer needed flexibility• OpenCL Embedded Profile is a subset of OpenCL• Supports data and task parallel programming
models• Code executed concurrently on CPU & GPU (& DSP)
– Other current and future resources are compatible – Easier programming in a heterogeneous processor
environment
• High parallelization on image processing computations -> High efficiency
MACHINE VISION GROUP
GPU assisted face analysis process
MACHINE VISION GROUP
GPU-accelerated image recognition
• Open GL ES 2.0:– Image features (LBP,...) extraction:– Image preprocessing– Image scaling– Displaying
• C code:– Camera control– Classification
• c
MACHINE VISION GROUP
LBP fragment shader implementation
•Access the image via texture lookup•Fetch the selected picture pixel•Fetch the neighbours values•Compute binary vector•Multiply by weighting factor
• Two versions:– Version 1: calculates LBP map in one grayscale channel– Version 2: calculates 4 LBP maps in RGBA channels
MACHINE VISION GROUP
Preprocessing
Create quad
Divide texture &Convert to grayscale
Render each piecein one channel
MACHINE VISION GROUP
Experiments setup
• OMAP 3 family (OMAP3530)– ARM Cortex A8 CPU– Power VRSGX535 GPU