MinhNguyen
MinhNguyen

Reputation: 856

What do scale invariance and orientation invariance mean?

I have come across these terms when I study SIFT method to detect features on an image. I got confused. Does that mean if a feature gets scaled up and rotated, this method still can detect the feature?

Upvotes: 0

Views: 484

Answers (1)

gfkri
gfkri

Reputation: 2179

Basically Yes!

You can separate between the feature detection and description here. The feature detector (using SIFT it is Difference of Gaussian) searches features of different scales. If a feature is found it looks up at which scale the feature response ("how distinct is this feature") has its maximum. The scale describes the size of the area around the feature center which is considered during the computation of the descriptor.

Additionally, the dominant orientation of the gradients within this area/image patch is computed. Then, the image patch is rotated such that the dominant orientation always points into the same direction (e.g. upwards). Due to that, the image patch is sort of normalized before the computation the actual feature description. This means, that the feature detector sort of adapts to the feature in terms of rotation and scale (I sometimes read about "covariant" instead of "invariant" considering just the detector).

Summing it up, the detector specifies how to compute the feature descriptor to provide the same result (for SIFT usually 128 floating point numbers) for the same objects with different rotation and scale.

Upvotes: 2

Related Questions