I have a question. It’s not related to Julia but general image processing. So I am trying to implement SIFT in Julia.
My question is regarding inter-pixel distance. I think after downsampling the number of pixels change but the inter-pixel distance remains the same. But I am reading the paper ‘Anatomy of SIFT’ which states that after downsampling(subsampling) by 2 the inter-pixel distance doubles.
Am I missing something?
This sounds non-controversial to me. If you originally have 100 pixels that cover a distance of 100 meters you would have an inter-pixel distance of 1 meter per pixel. After downsampling by a factor of two you only have 50 pixels that still cover those 100 meters, and you have doubled your inter-pixel distance to 2 meters per pixel. To keep inter-pixel distance the same you would need to crop rather than downsample.
Thanks a lot for the reply. I understand what you are saying.
My doubt is since we represent images as matrices while programming, the downsampling reduces the size itself. So in that situation isn’t the inter-pixel distance considered to be constant?
Can you perhaps explain what you mean by the inter-pixel distance? How would you measure it? What would be the units?
Actually in the paper(link), in page 5 they are taking it to be 1 as a conversion for the actual image and for images of the next octaves, they are considering the inter-pixel distance to be relative to the original image. So no units.
But if I think from the perspective of a matrix representation shouldn’t it remain same?
As far as i can tell from the paper, the inter-pixel distance refers to the distance in the scene (or the image) between pixels, normalized so that the original image has inter-pixel distance of 1. So if we reduce the number of pixels in each dimension by a factor of two, but we cover the same scene (or the same image), then the inter-pixel distance is doubled.
Down-sampling the matrix reduces the size of the matrix, sure, but that’s not what’s being measured. You may have reduced the number of pixels, but you’re still covering the same scene. So the distance in the scene between pixels must increase.
The entire point of introducing an inter-pixel distance is to compensate for the fact that the matrix representation otherwise loses connection to the geometry it represents.