max van kleek
6.869 advances in machine vision
problem set two
march 10, 2005
problem one
derivation a)
the difference-of-gaussian is a function DoG(x, y, sigma, k) where:
- x,y - x,y-coord of point to be evaluated
- sigma - base standard deviation of the gaussian
- k - multiplicative factor for sigma to get the sigma for the next-level gaussian
or, equivalently could be defined as DoG(x, y, sigma1, sigma2):
- x,y - x,y-coord of point to be evaluated
- sigma1 - base standard deviation of the first gaussian
- sigma2 - base standard deviation of the second gaussian
derivation b)
to speed up scale selection, the paper does two things:
- iterative blurring of layers
- Instead of blurring each layer with the appropriate (k^n)*sigma,
which would require a large gaussian (blur) kernel and thus would
be computationally expensive, we perform an iterative blurring,
taking the image at a particular blur and convolving it with sigma_delta
(defined next) to yield the next level. Sigma_delta is effectively much
smaller than (k^n)*sigma, therefore the convolution is efficient.
- downsampling every octave
- Instead of generating the image layers used to make DoG layers at all scales,
the paper only generates image layers corresponding to the levels between a
given sigma to twice that sigma. Then, to generate the next (and successive)
octaves, the existing image layer generated for the current octave corresponding
to 2*sigma is downsampled to half its original resolution - a very fast operation,
and the process repeated.
derivation c)
Using the gaussian semi-group property we want to find an expression for g(sigma_delta):
- g(sigma_delta^2) * g(sigma_cur^2) = g((k*sigma_cur)^2)
since