# Why is it necessary to implement octaves in sift

I've been studying sift very hard for two weeks. I found much materials about scale space. It is very hard to understand scale space depthly.

What I've found and confusing things are that

'scale' in scale space means the sigma of gaussian function. 'octave' is used to represent images that are reduced.

In paper by Lowe, for each octave, images are represented. Is it not necessary? In other words, is only scale space sufficient?

I've seen many web sites as well as here, but scale space is very hard. Is there anyone who can explain in detail?

I don't know if I completely understand your question, but I will have a go at clarifying the scale space, multi-resolution ocataves and why they are important for SIFT.

To understand the scale space it is helpful to consider how you recognise images at different distances (e.g far away you may be able to distinguish the shape of a person. As that person moves closer more specific details may become apparent and thus you may recognise them). So, the spacial scale is important when attempting to recognise features in an image.

However, when we are processing an image we do not know the spacial scale at which the important features for recognition will be present. Therefore by blurring the image with a Gaussian filter, each image represents a different spacial scale. It is important to note that when a distinctive feature appears at a given scale, it will persist in images that have been smoothed with a smaller kernel. An interesting question is then if we can identify which spatial scale a given feature presents itself at. This can be done by taking the difference of two Gaussian filters. This is termed the difference of Gaussians (DOG). This is precisely what is done in the SIFT algorithm - and is thought to approximate the human visual system to some degree. SIFT achieves scale invariance by looking for extrema across different spatial bands.

It is here the multi-resolution pyramid comes into play. Because blurred images represent lower frequency information it is computationally more concise to downscale the image at each frequency band. This allows for a uniform method to explore the spacial scale of the information. Remember, the purpose of SIFT is to find features which are as invariant as possible across different scales. So being able to explore the spacial scales at which features occur is important.

I hope this helps. You may also find http://www.aishack.in/2010/05/sift-scale-invariant-feature-transform/ useful.

• Updated link is here: aishack.in/tutorials/…
– Meep
Commented Apr 11, 2015 at 18:07
• This does not explain clearly why we need multiple octaves.
– user40095
Commented Jun 17, 2020 at 17:05

Yes, only scale space is sufficient, but at some point when you are scaling it down, instead of creating new Gaussian filters, it's more efficient to just resize the image and use the same/old filters (ie, don't need to keep increasing sigma, but rather decrease image size) this has the same effect as just increasing the scale (σ^2 = scale)