Experiences in Speeding Up Computer Vision Applications on Mobile Computing Platforms
Barcelona Supercomputing Center, Barcelona, Spain
Barcelona Supercomputing Center, 2015
@article{backes2015experiences,
title={Experiences in Speeding Up Computer Vision Applications on Mobile Computing Platforms},
author={Backes, Luna and Rico, Alejandro and Franke, Bj{"o}rn},
year={2015}
}
Computer vision (CV) is widely expected to be the next big thing in mobile computing. The availability of a camera and a large number of sensors in mobile devices will enable CV applications that understand the environment and enhance people’s lives through augmented reality. One of the problems yet to solve is how to transfer demanding state-of-the-art CV algorithms – designed to run on powerful desktop computers with several GPUs – onto energy-efficient, but slow, processors and GPUs found in mobile devices. To accommodate to the lack of performance, current CV applications for mobile devices are simpler versions of more complex algorithms, which generally run slowly and unreliably and provide a poor user experience. In this paper, we investigate ways to speed up demanding CV applications to run faster on mobile devices. We selected KinectFusion (KF) as a representative CV application. The KF application constructs a 3D model from the images captured by a Kinect. After porting it to an ARM platform, we applied several optimisation and parallelisation techniques using OpenCL to exploit all the available computing resources. We evaluated the impact on performance and power and demonstrate a 4x speedup with just a 1.38x power increase. We also evaluated the performance portability of our optimisations by running on a different platform, and assessed similar improvements despite the different multi-core configuration and memory system. By measuring processor temperature, we found overheating to be the main limiting factor for running such high-performance codes on a mobile device not designed for full continuous utilisation.
July 28, 2015 by hgpu