User:KYN/Structure tensor
From Wikipedia, the free encyclopedia
In computer vision and image processing the structure tensor is a feature descriptor computed from a local image region, which holds information about the region's structure, for example in terms of orientation or intrinsic dimension. It has been developed by several authors and to be used for different applications. In the literature, the structure tensor is sometimes referred to as interest operator or second moment matrix.
Formally, the structure tensor is computed as a local weighted average of the outer product of the image gradient with itself:
where is the weighting function,
is the image intensity function and
is the gradient of that function.
An important fact about the structure tensor is that it can be defined for image data of arbitrary outer dimension, not only for 2D images.
Contents |
[edit] How the structure tensor is computed
Here, the function is the image intensity which in practice is a function of discrete image coordinates. Typically,
represents the intensity of a gray value image, but the exact interpretation of
in terms of what it actually is an intensity of is not necessary in order for
to be well-defined. The outer dimension, or the number of image coordinates, is here denoted
According to the formal definition given above, the structure tensor can be computed by first estimating the local gradient of at each point in the image. Since the image intensity normally has been sampled without strict compliance to the sampling theorem, and since a truncated operator has to be used for computing the gradient, only an estimate of the intensity gradient can be obtained. There are several proposals for implementing such a gradient estimate, ranging from very small filters which are computationally efficient but in general produce poor estimates, to larger filters which give a more accurate estimate but at higher computational cost. Either way, the result of this operation is a new image which at each image point holds an n-dimensional vector, the local gradient.
Next, at each point in the gradient image, the gradient is multiplied with self in an outer product. The result of this operation is a new image which at each image point holds an symmetric matrix. Due to the symmetry, if necessary it is possible to reduce the data by storing only the n(n + 1) / 2 linearly independent elements of this matrix.
Finally, this matrix is filtered by using the function w as a filter. In all applications for which the structure tensor has been developed, w is assumed to represent some type of low-pass filter, typically truncated approximation of an isotropic Gaussian function of suitable size. For non-Gaussian w, the isotropy is still important, as is discussed below. A practical implementation of this filtering operation implies that each of the elements of the previous matrix has to be filtered independently. However, due to the symmetry it is possible to reduce the number of filtering operations to n(n + 1) / 2.
As a result of this computation, it should be clear that the concept of the structure tensor referres to a specfic tensor which has been computed from a specific but arbitrary image region. The size of this region is determined by the sizes of the operators which are used to estimate the gradient and the filter w.
[edit] Interpretation of the structure tensor
Most applications which use the structure tensor describe the corresponding local region from where it has been computed in terms of the eigenvalues and eigenvectors of the structure tensor. This implies that once the tensor has been computed, the next step is to analyze each and every tensor by first decomposing it into eigenvalues and eigenvectors. In some applcations, however, certain information about the local image structure is derived by applying some simpler computations directly on the elements of the structure tensor.
In general, the eigenvalues of the structure tensor describe the intrinsic dimensionality of the local image region from where the tensor is computed. More precisely, if the region is intrinsic i-dimensional, then the structure tensor has i non-zero eigenvalues. In this context, it is worth pointing out that the construction of the structure tensor assures that it is positive semi-definite.
The eigenvectors, on the other hand, are in general providing information about the dominant orientation of the region. More specifically, the eigenvector corresponding to non-zero eigenvalues (or to zero eigenvalues) describe the orientation of region in terms of a subspace which can be descibed as the one that produce the largest possible variation of the local image when image coordinates are changed
However, the concept of orientation is only well-defined if the intrinsic dimensionality is 0 < i < n. Also, only
[edit] Applications
The construction of a tensor or matrix corresponding to the structure tensor has been proposed independently by several authors which have been working on rather different applications and the derivation of the tensor is therefore made from different initial assumptions.