Increasingly there are a variety of important applications for image processing on mobile phones. The performance of image processing applications thus becomes one of the focused points of research activities. OpenCV provides APIs to let programmers develop image processing programs with ease. The new OpenCV 3.0 enables OpenCL flow to aim at making the applications developed with OpenCV run fast on heterogeneous multi-core systems. Although OpenCL programs are portable, the performance still needs to be tuned for different architecture models. In this paper, we demonstrate the optimization flow for Gesture Recognition Applications with OpenCV 3.0 on Mali GPUs. In this case study, several optimization techniques are devised for the flow. The techniques include vectorization, the increase of vector width via layout transformation, kernel fusion, etc. Preliminary experimental results show that our scheme is effective to optimize OpenCV 3.0 flow for Gesture Recognition Applications on embedded heterogeneous multi-core systems.
['Hsiang-Wei Sung', 'Yuan-Ming Chang', 'Shao-Chung Wang', 'Jenq Kuen Lee']
OpenCV Optimization on Heterogeneous Multi-core Systems for Gesture Recognition Applications