Shan  Luo
Shan Luo

Reputation: 63

Why Vlfeat generates same number of descriptors for different images?

I notice that Vlfeat/Sift generates same number of descriptors for different images, why? And what is the aim of orientation assignment? It seems there is a similar process in the descriptor formation process. I am quite new to the SIFT and confused about a lot of stuff in SIFT. Thanks for your help.

Upvotes: 0

Views: 249

Answers (1)

deltheil
deltheil

Reputation: 16121

Vlfeat/Sift generates same number of descriptors for different images, why?

Except if you explicitly pass a file with given input keypoints (*) the number of descriptors is NOT the same and clearly depends on the input image content.

For example, if you compare the Starbucks logo with Lena:

./sift --frames starbucks.pgm; wc -l starbucks.frame
 601 starbucks.frame

./sift --frames lena.pgm; wc -l lena.frame
1769 lena.frame

Here I used 300x300 pixels images. The --frames outputs the keypoints found with one position, scale and orientation per line.

(*) This means you ask VLFeat to describe a set of pre-defined interest points. With the sift VLFeat command line tool, you can do that with the --read-frames option.

What is the aim of orientation assignment?

This is to achieve rotation invariance. If you refer to the original paper:

One or more orientations are assigned to each keypoint location based on local image gradient directions. All future operations are performed on image data that has been transformed relative to the assigned orientation, scale, and location for each feature, thereby providing invariance to these transformations.

Upvotes: 1

Related Questions