Provided are an STFT parallelization
system and method based on
recursion Gaussian filtering on a
CUDA platform. The method comprises the steps that first, original images are transmitted to a GPU end for conducting a series of
Gaussian filtering and downsampling to establish a
Gaussian pyramid, Gaussian filtering is conducted through a
recursion Gaussian filter, and then substraction is conducted on the adjacent images to obtain a Gaussian difference
pyramid; second, a thread block is used as a unit to load in an image, each thread is used for
processing one pixel, and the pixel is compared with the adjacent 26 pixels to obtain local extreme points; third, each thread is used for
processing one local extreme point, and positioning and selecting of key points are conducted; fourth, one thread block is used for calculating the direction of one key point, one thread is used for calculating the direction and the amplitude value of one pixel in the neighbourhood of the key point, the direction and the amplitude valve are accumulated to a gradient
histogram through an atomic addition provided by a
CUDA, and the information such as the coordinates and the directions of the key points are transmitted to a host end according to the directions of the key points obtained by the gradient
histogram; fifth, one thread block is used for calculating one key point descriptor, then a calculating result is transmitted to the host end, and SIFT
feature extraction is achieved. The STFT parallelization
system and method based on the
recursion Gaussian filtering on the
CUDA platform improve the calculating speed of an SIFT
algorithm.