I am trying to write an implementation of SIFT, just as an excercise. However, I'm running into problems that I haven't been able to figure out yet. As far as I can tell, what I'm getting is the opposite of SIFT: it finds uninteresting, flat areas of the image. I'm using the VXL.
Anyway, my understanding of the early stages of SIFT are as follows:
Build a guassian pyramid
Using this pyramid, get a difference-of-gaussians pyramid
Find all local extrema to get potential keypoints
Doesn't matter, since I don't get this far.
I have a pastebin of my code, if someone would be willing to help, I would be eternally grateful. So far, this is what my algorithm spits out, with a magenta pixel at the location of every detected "keypoint".
Finally, standard disclaimer, my apologies if I did something wrong or violated some rules of conduct.