There is another approach where feature vectors can be created by using SIFT and GPU. All the stages of
SIFT are optimized for better GPU optimization and on comparing the entire algorithm against original CPU
implementation and manually SSE version, it can be notified that This system is evaluated with two facedetection
applications. Those applications are based on the boosted cascade of classifiers: Multiple Layers
Face Detection (MLFD), and Single Layer Face Detection (SLFD). We show that the SLFD implementation
on GPU performs up to nine times faster than its CPU counterpart. The MLFD, on the other hand, can be
accelerated using the GPU and performs up to three times faster than the CPU [20].
One of the methods is online Feature Extraction method which is used in case of meta-search engine where
we do not maintain any content- based index and so we need to extract the content features during the query
processing [21].Here MPEG-7 visual descriptors and so-called image feature signatures are used. Once a
ranking of images is returned from the other search engines given a keyword query, a feature extraction on
the top images is executed. Since the online feature extraction is needed to be performed faster and without
delays so its GPU based implementation should be used.
Feature extraction also finds its application in medical images classification processes for early skin cancer
detection where the images are classified based upon Haralick features and fractal geometry. The speed and
efficiency of texture and fractal analysis can be improved by taking its parallel implementation on GPU. In
order to parallelize the code and execute it in on the GPU, the previously used Matlab GPU routines are
rewritten using Jacket which is a runtime platform [22] that helps to connect the M language to the GPU. It
offers support for specific data types counterparts to CPU Matlab data types, and a set of GPU functions
ranging from basic implementations to complex arithmetic or signal processing solving methods.
SURF algorithm is another approach which is a multi scale feature detector that comprises three fundamental
steps [23]:
1. Feature detection in scale-space.
2. Orientation assignment.
3. Feature description.
SURF can also be speeded up by using it with GGPU [20] [14] and suSURF[24].
Another technique of feature extraction is GLCM and Haralick Texture features.GLCM is the Gray Level
Co-occurrence Matrices which is a common way to extract the texture features. It contains the second-order
statistical information of spatial relationship of the pixels of an image. Haralick texture features are extracted
using these GLCMs. These techniques can be implemented faster by using different task and data parallelism
[25].The computation of both of these techniques can be accelerated using Graphics Processing Units (GPUs)
for biological applications[25] .Since in biological applications, features are extracted from microscopy
images of cells so, it takes several weeks because of processing a larger number of images. Therefore, GPUs
are used due to its less development time and faster growth.
The implementation of feature extraction on GPU can also be done by mapping each sub-image to one block
each image-block is processed by one thread. Each Image is two-dimensional space that can be mapped to
CUDA threads. There are 16 blocks in grid and also 64 threads in each block. Therefore, feature extraction is
performed in all image-blocks in parallel by CUDA threads [26].
IV. SIMILARITY MATCHING WITH GPU
In this phase the feature vectors of the query image as well as that of the image database is compared for their
similarities and thus the best suitable match is searched for. When dealing with inverse problems such as denoising
or de-convolution of images, a similarity measure is needed to evaluate how well the estimate
explains the observations. Graphical Processors Units (GPU) play important role to speedup processing of
database images matching algorithms because it has more inbuilt execution cores [27]. One of the techniques
is where the feature space as well as similarity on this space is defined. The feature space is based on a global
descriptor of the image in a multi scale transformed domain [28]. After decomposition into a Laplacian
pyramid , the coefficients are arranged in intra-scale/ inter-scale/inter-channel patches which reflect the
dependencies of neighbouring coefficients in presence of specific structures or textures. At each scale, the
probability density function (pdf) of these patches is used as a descriptor of the relevant information [28].
Because of the sparsity of the multi scale transform, the most significant patches, called Sparse Multi-scale
Patches (SMP), describe efficiently these pdfs. The Kullback-Leibler divergence method is used for
statistical measure which is based on the comparison of these probability density functions that quantifies the
closeness between two probability density functions and already shown good performances in the context of
image retrieval. The similarity measure is done by k th nearest neighbour search. To speed up the computation