1
$\begingroup$

I would have a theoretical question, about the detector part of the SIFT algorithm, which as it is explained by D. Lowe in his paper, used the DoG to detect keypoints in an input image.

Problem formulation: Let $x$ be my original image, and let $y$ be a scaled-by-two version of $x$.

In the SIFT algorithm: I don't understand how the SIFT detector can detect a same given keypoint from image $x$ in image $y$. I don't understand how the "scale space" DoG pyramid is used exactly to achieve this "scale invariance".

Please note that I have watched quite a few videos and read a few tutorials about it. I understand how the DoG pyramid is constructed, by successive blurring of the image. I also understand that keypoints are the maxima or minima from comparing to adjacent images in the DoG pyramid. (I understand that the difference of 2 blurred images with different variances gives an edge-like image.)

However, for me, in every tutorial, they sort of "skip" the fundamental part that would clearly explain why it makes it scale invariant.

In other words, I understand that different gaussian blurs (increasing variance) allow to highlight different types of details in images (blob detector). I'm ok with that, but I don't see any relation or reason intuitively why this has anything to do whith "scale" and why and how that is used to detect a same keypoint in image $x$ and $y$ with for example image $y$ zoomed in twice.

I have essentially the same (unanswered) question as him.

$\endgroup$
1
$\begingroup$

As you know, you find interest point (SIFT points) by finding the local maxima in scale-space, it mean the response of the detector must be maximum regarding the coordinates and also the scale. So knowing the scale you select features from that scale. Now consider the same process for same interest point in the same picture but with different zoom, the detector maxima will be in the same scale, so it will collect the same feature. So in the matching these two same feature will be matched together.

So the scale invariant is a result of finding maxima with respect to scale.

$\endgroup$
0
$\begingroup$

You are asking how scale invariant property is achieved with DoG. In fact, it is not! Scale invariance is not achieved by DoG but only through G part of it, through Gaussian filtering and it has nothing to do with Differencing. Differencing simply is used to locate feature points (extract edges and corners).

The relation to scale formed when blurring is used. Blurring an image is exactly like, down scaling it and then up-scaling it. When you look something from far away it's image is actually shrinks and it's adjacent pixels mix together. After blurring, the neighboring pixels all represent the same values. For computational efficiency the blurred image is down-scaled and hence a pyramid of the image in different scales in formed.

Scale Space

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.