I am trying to implement the SIFT feature extraction algorithm. I have a few questions which are not very clear from the paper:
When interpolating the extrema with 2nd order functions, do we upscale the downscaled images directly from DoG or interpolate in the original downsampled image then upscale for the subpixel accuracy pixel positions?
At the description step, it is stated that "In order to achieve orientation invariance, the coordinates of the descriptor and the gradient orientations are rotated relative to the keypoint orientation". I think the rotated thing is not the keypoint locations and it should be the window of descriptor and gradient orientations that are rotated after rotating the window. Do you think this is true?
Should the image size stay the same after convolving with the Gaussian? This will affect the keypoint locations.
Vevaldi provided a great implementation. Because it is in .mex format i can't see what is going on inside. Other open source codes' solutions also haven't satisfied me. Hence I am asking for your help.