1
$\begingroup$

I am using a SIFT algorithm to extract features from an image. I understand that the SIFT descriptor first finds the extrema and then finds the gradient and direction of each of these interest points.

What happens after this part?

$\endgroup$
1
$\begingroup$

First of all, there are two distinct parts to SIFT. The first part is interest point detection algorithm (aka key-point detection), which finds local extrema of the multi-scale difference-of-gaussians function.

The second part is computing the feature descriptor, which is a vector describing the image patch around each key point. SIFT computes this descriptor by taking a 16x16 block of pixels centered at a key point, dividing it into 4x4 cells, and computing an 8-bin histogram of gradient orientations within each cell. This results in a 4*4*8=128-element vector, which is the descriptor.

Finally, the SIFT algorithm normalizes the feature descriptor for rotation. It finds the dominant gradient direction in the patch around the key point and shfits the gradient histograms such that the first orientation bin corresponds to that direction. This makes the descriptors invariant to in-plane rotation.

$\endgroup$
  • $\begingroup$ I don't understand the final part of the paragraph.How does it find the dominant gradient direction in the patch,is it by adding all the same direction gradient vectors in the cells (4X4) and finding the highest magnitude or by some other means?Also how to rotate the first orientation bin to that direction. $\endgroup$ – logamadi Feb 17 '14 at 4:05
  • 1
    $\begingroup$ No, first it adds all gradient vectors in the patch, get the direction, then rotate patch and then calculates description. $\endgroup$ – old-ufo Feb 17 '14 at 4:46
  • $\begingroup$ @old-ufo Thanks.Suppose there are 8-bin orientation histogram,then does it add how many pixels(surrounding key-points) fall into each bin or does it add the magnitude of each gradient that falls into each bin and finally normalize it? $\endgroup$ – logamadi Feb 17 '14 at 18:54
  • 1
    $\begingroup$ It adds magnitude. $\endgroup$ – old-ufo Feb 18 '14 at 6:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.