Experiences in speeding up computer vision applications on mobile computing platforms

Experiences in speeding up computer vision applications on mobile computing platforms
复制标题

DOI:
10.1109/samos.2015.7363653
复制
发表时间:
2015-07
期刊:
2015 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS)
影响因子:
--
通讯作者:
Luna Backes;Alejandro Rico;Björn Franke
Luna Backes;Alejandro Rico;Björn Franke
中科院分区:
其他
文献类型:
--
作者:
Luna Backes;Alejandro Rico;Björn Franke

文献摘要

被引文献

相似文献

人们普遍认为计算机视觉(CV)将成为移动计算领域的下一个重要技术。移动设备中摄像头和大量传感器的可用性将使CV应用程序能够理解环境,并通过增强现实改善人们的生活。尚待解决的问题之一是如何将要求最高的CV算法(设计用于在具有多个gpu的强大台式计算机上运行)转移到节能但速度较慢的移动设备处理器和gpu上。为了适应性能的不足,目前移动设备上的CV应用程序是更复杂算法的简单版本,通常运行缓慢且不可靠,并且提供较差的用户体验。在本文中,我们研究了如何加快要求高的CV应用程序在移动设备上的运行速度。我们选择了KinectFusion (KF)作为典型的CV应用程序。KF应用程序根据Kinect捕获的图像构建3D模型。在将其移植到ARM平台后,我们使用OpenCL应用了几种优化和并行化技术来利用所有可用的计算资源。我们评估了对性能和功率的影响,并演示了仅增加1.38倍的功率即可实现4倍的加速。我们还通过在不同的平台上运行来评估我们的优化的性能可移植性,并在不同的多核配置和内存系统下评估类似的改进。通过测量处理器温度,我们发现过热是在移动设备上运行这种高性能代码的主要限制因素,而移动设备不是为完全连续使用而设计的。
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 4× speedup with just a 1.38× 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.