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 Answer 1

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$
4
  • $\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
    Commented Feb 17, 2014 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
    Commented Feb 17, 2014 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
    Commented Feb 17, 2014 at 18:54
  • 1
    $\begingroup$ It adds magnitude. $\endgroup$
    – old-ufo
    Commented Feb 18, 2014 at 6:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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