Jump to content

Scale space implementation

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Tpl (talk | contribs) at 11:21, 8 June 2006 (First outline). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

By definition, the linear scale space representation of an N-dimensional signal is obtained by smoothing with the N-dimensional Gaussian kernel. Using the separability property of the Gaussian kernel, this operation can be decomposed into a set of separable smoothing steps with a one-dimensional kernel along each dimension.

When implementing this smoothing step in practice, there are several approaches that could be taken: The presumably simplest approach is to convolve the discrete signal with a sampled Gaussian kernel:

which in turn is truncated at the ends to give a filter with finite impulse response. A more refined approach is to convolve the original signal by the discrete Gaussian kernel [1].[2]

where $I_n(t)$ denotes the modified Bessel functions of integer order. This filter can be truncated in the spatial domain or be implemented in terms of a closed-form expression for its discrete Fourier transform:

If computational efficiency is a primary criterion, implementation of the Gaussian kernel and Gaussian derivatives in terms of recursive filters is a common option [3][4]. Please, note, however that at fine scales these separable approaches do not always give the best possible approximation to rotational symmetry, so non-separable implementations for two-dimensional images may be considered as an alternative.

References