SIFT Implementation and Optimization for General-Purpose GPU

Heymann,S., Müller,K., Smolic,A., Fröhlich,B., Wiegand,T.

Abstract:
With the addition of free programmable components to modern graphics hardware, graphics processing units (GPUs) become increasingly interesting for general purpose computations, especially due to utilizing parallel buffer process-ing. In this paper we present methods and techniques that take advantage of modern graphics hardware for real-time tracking and recognition of feature-points. The focus lies on the generation of feature vectors from input images in the various stages. For the generation of feature-vectors the Scale Invariant Feature Transform (SIFT) method is used due to its high stability against rotation, scale and lighting condition changes of the processed images. We pre-sent results of the various stages for feature vector generation of our GPU implementation and compare it to the CPU version of the SIFT algorithm.
The approach works well on Geforce6 series graphics board and above and takes advantage of new hardware fea-tures, e.g. dynamic branching and multiple render targets in the fragment processor. With the presented meth-ods feature-tracking with real time frame rates can be achieved on the GPU and meanwhile the CPU can be used for other tasks.