# Floating point Descriptor evaluation

I have come up with a new descriptor(floating point). I want to evaluate this descriptor against SIFT, GLOH, etc etc. I am using the K. Mikolajczyk, C. Schmid, approach. The method is described in the link http://www.robots.ox.ac.uk/~vgg/research/affine/descriptors.html. They have provided the binaries and the data set. I extract the patches(41x41) and apply my descriptor on these patches. But the problem is, these patches are not rotational normalized.

SIFT achieves rotation in-variance by rotating the patch in the direction of the dominant angle of the patch. My query is ,how to rotate the patch or achieve rotation normalization? I want the original patch(41x41) and the rotated patch to have the same dimension (41x41). For example, If i use the matlab function imrotate and rotate the original patch by 60 degrees. The rotated patch has a dimension bigger than (41x41). And there are blank spaces in the border of the rotated image. I think applying my descriptor on these rotated and enlarged patches gives wrong results.

M question is, How do i rotate the patches or rotational normalize the patch(Such that the original patch and the rotated patch have the same size 41x41) to apply my descriptor?

## 2 Answers

You don't. Only circles can be rotated by an arbitrary degree and still have the same shape. A 41x41 image is an axis-aligned square, and only 90 degree rotations keep the shape.

And so rotating over 60 degrees means that the width and height needed to fit the square have increased by sqrt(3/2)..

• Thanks for the reply :). But, i am a bit confused. Can you please tell me how SIFT achieves rotation in-variance? As far as i know, SIFT calculate the dominant angle and rotate the 16x16 square patch by that angle. How does they rotate the 16x16 patch if the dominant angle is for example 60? – demonferrari Jul 26 '14 at 10:46

Approximate rotational invariance is obtained by weighting the features with a 2D Gaussian of appropriate $\sigma$ in a square window, so that the influence of the corners vanishes. [You can make it as accurate as you want by reducing $\sigma$, at the expense of a smaller scale.]