Local image descriptors
AssigneeMicrosoft Corporation
InventorsSimon Winder, Matthew Brown
Life of this patent
Estimating the term…
Abstract
A local image descriptor generation technique that produces a descriptor for an image patch is presented. The technique generally involves smoothing the pixels of the image patch, followed by employing a transformation to produce a transform vector for each of a set of sample points spaced across the image patch. The transform vectors are weighted and spatially accumulated to produce a prescribed number of linearly summed vectors. The linearly summed vectors are concatenated to form a raw local image descriptor, which is normalized to produce a finalized descriptor for the image patch.
Claims20
A computer-implemented process for generating a local image descriptor for an image patch, comprising using a computer to perform the following process actions:
- smoothing values of pixels of the image patch;
- employing a transformation to produce a transform vector for each of a set of sample points spaced across the image patch, wherein each transform vector produced has a prescribed number of elements k and numerically represents the smoothed values of a pixel or pixels in the vicinity of the sample point associated with the transform vector;
- employing a spatial pooling technique to spatially accumulate weighted versions of the transform vectors to produce N linearly summed vectors each having k elements, which are concatenated to form a raw local image descriptor having kN elements, wherein each linearly summed vector is computed by summing the transform vectors associated with sample points found within a local pooling region centered on a pooling point which is part of a pattern of pooling points located across the image patch, and wherein each transform vector used to produce a linearly summed vector is weighted prior to the summing using a normalized Gaussian weighting function associated with the local pooling region of the linearly summed vector;
- and
- normalizing the raw local image descriptor using a prescribed normalization technique.
A computer-implemented process for generating a local image descriptor for an image patch, comprising using a computer to perform the following process actions:
- smoothing the image patch, said smoothing comprising convolving the pixels of the image patch with a Gaussian kernel having a prescribed standard deviation;
- employing a transformation to produce a transform vector for each pixel of the image patch, wherein each transform vector produced has a prescribed number of elements k;
- spatially accumulating weighted versions of the transform vectors to produce N linearly summed vectors each having k elements, which are concatenated to form a raw local image descriptor having kN elements, wherein each linearly summed vector is computed by summing the transform vectors associated with pixels located within a local pooling region centered on a pooling point which is part of a pattern of pooling points located across the image patch, and wherein each transform vector used to produce a linearly summed vector is weighted prior to the summing using a normalized Gaussian weighting function associated with the local pooling region of the linearly summed vector;
- normalizing the raw local image descriptor to produce a finalized local image descriptor for the image patch.
A system for generating a local image descriptor for an image patch, comprising:
- a general purpose computing device;
- and
- a computer program comprising program modules executable by the computing device, wherein the computing device is directed by the program modules of the computer program to,
- smooth values of pixels of the image patch using a Gaussian kernel having a prescribed standard deviation,
- produce a transform vector for each of a set of sample points spaced across the image patch, wherein each transform vector produced has a prescribed number of elements k and represents the smoothed values of a pixel or pixels in the vicinity of the sample point associated with the transform vector,
- spatially accumulate weighted versions of the transform vectors to produce N linearly summed vectors each having k elements, which are concatenated to form a raw local image descriptor having kN elements, wherein each linearly summed vector is computed by summing the transform vectors associated with sample points found within a local pooling region centered on a pooling point which is part of a pattern of pooling points located across the image patch, and wherein each transform vector used to produce a linearly summed vector is weighted prior to the summing using a normalized Gaussian weighting function associated with the local pooling region of the linearly summed vector,
- normalize the raw local image descriptor to a unit vector,
- clip all descriptor elements that exceed a prescribed threshold to the value of the threshold, and
- re-normalize the clipped descriptor to a unit vector to produce a finalized local image descriptor for the image patch.
Dependencies are inferred from the claim text.