public class DescribePointSift
extends java.lang.Object
Detects SIFT features inside the provided SIFT scale-space. SIFT features work by sampling the image in a grid. For each grid element, a histogram of the gradient's orientation is computed. From this histogram the descriptor is computed. See [1] for the details and below for algorithmic changes.
DESCRIPTOR INTERPOLATION: Instead of using trilinear interpolation a Gaussian weight is used instead. Both methods were tried and Gaussian weight produced slightly better results. Same results had been found by others with regard to SURF descriptors.
[1] Lowe, D. "Distinctive image features from scale-invariant keypoints". International Journal of Computer Vision, 60, 2 (2004), pp.91--110.
| Constructor and Description |
|---|
DescribePointSift(int gridWidth,
int numSamples,
int numHistBins,
double weightSigma,
double sigmaToRadius)
Configures detector
|
| Modifier and Type | Method and Description |
|---|---|
int |
getDescriptorLength() |
void |
process(double c_x,
double c_y,
double scale,
double orientation,
int imageIndex,
double pixelScale,
SurfFeature desc)
Compute the descriptor with information on which level in the scale-space to use.
|
void |
process(double c_x,
double c_y,
double scale,
double orientation,
SurfFeature desc) |
void |
setScaleSpace(SiftImageScaleSpace ss) |
public DescribePointSift(int gridWidth,
int numSamples,
int numHistBins,
double weightSigma,
double sigmaToRadius)
gridWidth - Number of grid elements along a side. Typically 4numSamples - Number of samples along a grid. Typically 8numHistBins - Number of bins in the orientation histogram. Typically 8weightSigma - Adjusts descriptor element's weighting from center. Typically 0.5sigmaToRadius - Conversation from scale space to pixels. Typically 2.5public void setScaleSpace(SiftImageScaleSpace ss)
public void process(double c_x,
double c_y,
double scale,
double orientation,
SurfFeature desc)
public void process(double c_x,
double c_y,
double scale,
double orientation,
int imageIndex,
double pixelScale,
SurfFeature desc)
c_x - Location of feature in input imagec_y - Location of feature in input imagescale - Size of the feature in the input imageorientation - Orientation of the featureimageIndex - Which octave contains the featurepixelScale - The scale of a pixel in the octavedesc - (Output) storage for the descriptorpublic int getDescriptorLength()