Computing OpenSURF on OpenCL and General Purpose GPU
Computing OpenSURF on OpenCL and General Purpose GPU
复制标题
DOI:
10.5772/57057
复制
发表时间:
2013-10
影响因子:
2.3
通讯作者:
Wanglong Yan;Xiaohua Shi;Xin Yan;Lina Wang
中科院分区:
文献类型:
--
作者:
Wanglong Yan;Xiaohua Shi;Xin Yan;Lina Wang
Speeded-Up Robust Feature (SURF) algorithm is widely used for image feature detecting and matching in computer vision area. Open Computing Language (OpenCL) is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors. This paper introduces how to implement an open-sourced SURF program, namely OpenSURF, on general purpose GPU by OpenCL, and discusses the optimizations in terms of the thread architectures and memory models in detail. Our final OpenCL implementation of OpenSURF is on average 37% and 64% faster than the OpenCV SURF v2.4.5 CUDA implementation on NVidia's GTX660 and GTX460SE GPUs, repectively. Our OpenCL program achieved real-time performance (>25 Frames Per Second) for almost all the input images with different sizes from 320*240 to 1024*768 on NVidia's GTX660 GPU, NVidia's GTX460SE GPU and AMD's Radeon HD 6850 GPU. Our OpenCL approach on NVidia's GTX660 GPU is more than 22.8 times faster than its original CPU version on Intel's Dual-Core E5400 2.7G on average.