I am using the MATLAB interface to the VLFeat toolbox in order to calculate a SIFT descriptor for image patches extracted around key points. Due to the greater framework of what I'm doing, I cannot rely on the SIFT (DoG) feature point detector, but rather have to be flexible and calculate the descriptor for any given pixel and the given surrounding patch (currently of fixed size).

The difficulty I am currently facing is that (VL_)SIFT usually needs not only the position for which the descriptor should be extracted, but also scale and orientation, which usually comes from the DoG feature detection step. Since I don't have these, how can I still proceed? Or in other words: What are reasonable choices for scale and orientation in that case? The purpose eventually is calculation of the similarity of two given patches rather than object recognition or classification, if that is of importance.

And, as a side question: How big is the neighborhood VLFeat's SIFT implementation considers for descriptor extraction? Is my whole patch used?

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.