Structure tensor explained

In mathematics, the structure tensor, also referred to as the second-moment matrix, is a matrix derived from the gradient of a function. It describes the distribution of the gradient in a specified neighborhood around a point and makes the information invariant to the observing coordinates. The structure tensor is often used in image processing and computer vision.[1] [2] [3]

The 2D structure tensor

Continuous version

For a function

I

of two variables, the structure tensor is the 2×2 matrix

S_w(p) =\begin\int w(r) (I_x(p-r))^2\,dr & \int w(r) I_x(p-r)I_y(p-r)\,dr \\[10pt]\int w(r) I_x(p-r)I_y(p-r)\,dr & \int w(r) (I_y(p-r))^2\,dr\endwhere

Ix

and

Iy

are the partial derivatives of

I

with respect to x and y; the integrals range over the plane

R2

; and w is some fixed "window function" (such as a Gaussian blur), a distribution on two variables. Note that the matrix

Sw

is itself a function of .

The formula above can be written also as S_w(p) = \int w(r) S_0(p-r) \, dr, where

S0

is the matrix-valued function defined byS_0(p)=\begin(I_x(p))^2 & I_x(p)I_y(p) \\[10pt]I_x(p)I_y(p) & (I_y(p))^2\end

\nablaI=(Ix,I

T
y)
of

I

is viewed as a 2×1 (single-column) matrix, where

()T

denotes transpose operation, turning a row vector to a column vector, the matrix

S0

can be written as the matrix product

(\nablaI)(\nablaI)T

or tensor or outer product

\nablaI\nablaI

. Note however that the structure tensor

Sw(p)

cannot be factored in this way in general except if

w

is a Dirac delta function.

Discrete version

In image processing and other similar applications, the function

I

is usually given as a discrete array of samples

I[p]

, where p is a pair of integer indices. The 2D structure tensor at a given pixel is usually taken to be the discrete sum

S_w[p] =\begin\sum_r w[r] (I_x[p-r])^2 & \sum_r w[r] I_x[p-r]I_y[p-r] \\[10pt]\sum_r w[r] I_x[p-r]I_y[p-r] & \sum_r w[r] (I_y[p-r])^2\end

Here the summation index r ranges over a finite set of index pairs (the "window", typically

\{-m\ldots+m\} x \{-m\ldots+m\}

for some m), and w[''r''] is a fixed "window weight" that depends on r, such that the sum of all weights is 1. The values

Ix[p],Iy[p]

are the partial derivatives sampled at pixel p; which, for instance, may be estimated from by

I

by finite difference formulas.

The formula of the structure tensor can be written also as S_w[p]=\sum_r w[r] S_0[p-r], where

S0

is the matrix-valued array such thatS_0[p] =\begin(I_x[p])^2 & I_x[p]I_y[p] \\[10pt]I_x[p]I_y[p] & (I_y[p])^2\end

Interpretation

The importance of the 2D structure tensor

Sw

stems from the fact eigenvalues

λ1,λ2

(which can be ordered so that

λ1\geqλ2\geq0

) and the corresponding eigenvectors

e1,e2

summarize the distribution of the gradient

\nablaI=(Ix,Iy)

of

I

within the window defined by

w

centered at

p

.[1] [2] [3]

Namely, if

λ1>λ2

, then

e1

(or

-e1

) is the direction that is maximally aligned with the gradient within the window.

In particular, if

λ1>0,λ2=0

then the gradient is always a multiple of

e1

(positive, negative or zero); this is the case if and only if

I

within the window varies along the direction

e1

but is constant along

e2

. This condition of eigenvalues is also called linear symmetry condition because then the iso-curves of

I

consist in parallel lines, i.e there exists a one dimensional function

g

which can generate the two dimensional function

I

as

I(x,y)=g(dTp)

for some constant vector

d=(dx,d

T
y)
and the coordinates

p=(x,y)T

.

If

λ1=λ2

, on the other hand, the gradient in the window has no predominant direction; which happens, for instance, when the image has rotational symmetry within that window. This condition of eigenvalues is also called balanced body, or directional equilibrium condition because it holds when all gradient directions in the window are equally frequent/probable.

Furthermore, the condition

λ1=λ2=0

happens if and only if the function

I

is constant (

\nablaI=(0,0)

) within

W

.

More generally, the value of

λk

, for k=1 or k=2, is the

w

-weighted average, in the neighborhood of p, of the square of the directional derivative of

I

along

ek

. The relative discrepancy between the two eigenvalues of

Sw

is an indicator of the degree of anisotropy of the gradient in the window, namely how strongly is it biased towards a particular direction (and its opposite).[4] [5] This attribute can be quantified by the coherence, defined as

c_w=\left(\frac\right)^2

if

λ2>0

. This quantity is 1 when the gradient is totally aligned, and 0 when it has no preferred direction. The formula is undefined, even in the limit, when the image is constant in the window (

λ1=λ2=0

). Some authors define it as 0 in that case.

Note that the average of the gradient

\nablaI

inside the window is not a good indicator of anisotropy. Aligned but oppositely oriented gradient vectors would cancel out in this average, whereas in the structure tensor they are properly added together.[6] This is a reason for why

(\nablaI)(\nablaI)T

is used in the averaging of the structure tensor to optimize the direction instead of

\nablaI

.

By expanding the effective radius of the window function

w

(that is, increasing its variance), one can make the structure tensor more robust in the face of noise, at the cost of diminished spatial resolution.[7] The formal basis for this property is described in more detail below, where it is shown that a multi-scale formulation of the structure tensor, referred to as the multi-scale structure tensor, constitutes a true multi-scale representation of directional data under variations of the spatial extent of the window function.

Complex version

The interpretation and implementation of the 2D structure tensor becomes particularly accessible using complex numbers. The structure tensor consists in 3 real numbers

S_w(p) =\begin\mu_ & \mu_ \\[10pt]\mu_ & \mu_\end

where \mu_ =\int (w(r) (I_x(p-r))^2\,dr, \mu_ =\int (w(r) (I_y(p-r))^2\,dr and \mu_ =\int w(r) I_x(p-r)I_y(p-r)\,dr in which integrals can be replaced by summations for discrete representation. Using Parseval's identity it is clear that the three real numbers are the second order moments of the power spectrum of

I

. The following second order complex moment of the power spectrum of

I

can then be written as

\kappa_ = \mu_-\mu_+i2\mu_=\int w(r) (I_x(p-r)+i I_y(p-r))^2 \, dr =(\lambda_1-\lambda_2)\exp(i2\phi)

where

i=\sqrt{-1}

and

\phi

is the direction angle of the most significant eigenvector of the structure tensor

\phi=\angle{e1}

whereas

λ1

and

λ2

are the most and the least significant eigenvalues. From, this it follows that

\kappa20

contains both a certainty

|\kappa20|1-λ2

and the optimal direction in double angle representation since it is a complex number consisting of two real numbers. It follows also that if the gradient is represented as a complex number, and is remapped by squaring (i.e. the argument angles of the complex gradient is doubled), then averaging acts as an optimizer in the mapped domain, since it directly delivers both the optimal direction (in double angle representation) and the associated certainty. The complex number represents thus how much linear structure (linear symmetry) there is in image

I

, and the complex number is obtained directly by averaging the gradient in its (complex) double angle representation without computing the eigenvalues and the eigenvectors explicitly.

Likewise the following second order complex moment of the power spectrum of

I

, which happens to be always real because

I

is real,

\kappa_ = \mu_+\mu_ = \int w(r) |I_x(p-r)+i I_y(p-r)|^2 \, dr = \lambda_1+\lambda_2

can be obtained, with

λ1

and

λ2

being the eigenvalues as before. Notice that this time the magnitude of the complex gradient is squared (which is always real).

However, decomposing the structure tensor in its eigenvectors yields its tensor components as

S_w(p) =\lambda_1 e_1e_1^\text+\lambda_2 e_2e_2^\text =(\lambda_1 -\lambda_2)e_1e_1^\text+\lambda_2(e_1e_1^\text+e_2e_2^\text)= (\lambda_1 -\lambda_2)e_1e_1^\text+\lambda_2 E

where

E

is the identity matrix in 2D because the two eigenvectors are always orthogonal (and sum to unity). The first term in the last expression of the decomposition,

(λ12)e1e

T
1
, represents the linear symmetry component of the structure tensor containing all directional information (as a rank-1 matrix), whereas the second term represents the balanced body component of the tensor, which lacks any directional information (containing an identity matrix

E

). To know how much directional information there is in

I

is then the same as checking how large

λ1-λ2

is compared to

λ2

.

Evidently,

\kappa20

is the complex equivalent of the first term in the tensor decomposition, whereas \tfrac 1 2 (|\kappa_|-\kappa_) = \lambda_2is the equivalent of the second term. Thus the two scalars, comprising three real numbers,

\begin\kappa_ &=& (\lambda_1-\lambda_2)\exp(i2\phi) &= w*(h*I)^2 \\\kappa_ &=& \lambda_1+\lambda_2&=w*|h*I|^2 \\\endwhere

h(x,y)=(x+iy)\exp(-(x2+y2)/(2\sigma2))

is the (complex) gradient filter, and

*

is convolution, constitute a complex representation of the 2D Structure Tensor. As discussed here and elsewhere

w

defines the local image which is usually a Gaussian (with a certain variance defining the outer scale), and

\sigma

is the (inner scale) parameter determining the effective frequency range in which the orientation

2\phi

is to be estimated.

The elegance of the complex representation stems from that the two components of the structure tensor can be obtained as averages and independently. In turn, this means that

\kappa20

and

\kappa11

can be used in a scale space representation to describe the evidence for presence of unique orientation and the evidence for the alternative hypothesis, the presence of multiple balanced orientations, without computing the eigenvectors and eigenvalues. A functional, such as squaring the complex numbers have to this date not been shown to exist for structure tensors with dimensions higher than two. In Bigun 91, it has been put forward with due argument that this is because complex numbers are commutative algebras whereas quaternions, the possible candidate to construct such a functional by, constitute a non-commutative algebra.[8]

The complex representation of the structure tensor is frequently used in fingerprint analysis to obtain direction maps containing certainties which in turn are used to enhance them, to find the locations of the global (cores and deltas) and local (minutia) singularities, as well as automatically evaluate the quality of the fingerprints.

The 3D structure tensor

Definition

The structure tensor can be defined also for a function

I

of three variables p=(x,y,z) in an entirely analogous way. Namely, in the continuous version we have S_w(p) = \int w(r) S_0(p-r) \, dr, whereS_0(p) =\begin(I_x(p))^2 & I_x(p)I_y(p) & I_x(p)I_z(p) \\[10pt]I_x(p)I_y(p) & (I_y(p))^2 & I_y(p)I_z(p) \\[10pt]I_x(p)I_z(p) & I_y(p)I_z(p) & (I_z(p))^2\endwhere

Ix,Iy,Iz

are the three partial derivatives of

I

, and the integral ranges over

R3

.

In the discrete version,S_w[p] = \sum_r w[r] S_0[p-r], whereS_0[p] =\begin(I_x[p])^2 & I_x[p]I_y[p] & I_x[p]I_z[p] \\[10pt]I_x[p]I_y[p] & (I_y[p])^2 & I_y[p]I_z[p]\\[10pt]I_x[p]I_z[p] & I_y[p]I_z[p] & (I_z[p])^2\endand the sum ranges over a finite set of 3D indices, usually

\{-m\ldots+m\} x \{-m\ldots+m\} x \{-m\ldots+m\}

for some .

Interpretation

As in the two-dimensional case, the eigenvalues

λ1,λ2,λ3

of

Sw[p]

, and the corresponding eigenvectors

\hat{e}1,\hat{e}2,\hat{e}3

, summarize the distribution of gradient directions within the neighborhood of p defined by the window

w

. This information can be visualized as an ellipsoid whose semi-axes are equal to the eigenvalues and directed along their corresponding eigenvectors.[9]

In particular, if the ellipsoid is stretched along one axis only, like a cigar (that is, if

λ1

is much larger than both

λ2

and

λ3

), it means that the gradient in the window is predominantly aligned with the direction

e1

, so that the isosurfaces of

I

tend to be flat and perpendicular to that vector. This situation occurs, for instance, when p lies on a thin plate-like feature, or on the smooth boundary between two regions with contrasting values.

If the ellipsoid is flattened in one direction only, like a pancake (that is, if

λ3

is much smaller than both

λ1

and

λ2

), it means that the gradient directions are spread out but perpendicular to

e3

; so that the isosurfaces tend to be like tubes parallel to that vector. This situation occurs, for instance, when p lies on a thin line-like feature, or on a sharp corner of the boundary between two regions with contrasting values.

Finally, if the ellipsoid is roughly spherical (that is, if

λ1 ≈ λ2 ≈ λ3

), it means that the gradient directions in the window are more or less evenly distributed, with no marked preference; so that the function

I

is mostly isotropic in that neighborhood. This happens, for instance, when the function has spherical symmetry in the neighborhood of p. In particular, if the ellipsoid degenerates to a point (that is, if the three eigenvalues are zero), it means that

I

is constant (has zero gradient) within the window.

The multi-scale structure tensor

The structure tensor is an important tool in scale space analysis. The multi-scale structure tensor (or multi-scale second moment matrix) of a function

I

is in contrast to other one-parameter scale-space features an image descriptor that is defined over two scale parameters.One scale parameter, referred to as local scale

t

, is needed for determining the amount of pre-smoothing when computing the image gradient

(\nablaI)(x;t)

. Another scale parameter, referred to as integration scale

s

, is needed for specifying the spatial extent of the window function

w(\xi;s)

that determines the weights for the region in space over which the components of the outer product of the gradient by itself

(\nablaI)(\nablaI)T

are accumulated.

More precisely, suppose that

I

is a real-valued signal defined over

Rk

. For any local scale

t>0

, let a multi-scale representation

I(x;t)

of this signal be given by

I(x;t)=h(x;t)*I(x)

where

h(x;t)

represents a pre-smoothing kernel. Furthermore, let

(\nablaI)(x;t)

denote the gradient of the scale space representation.Then, the multi-scale structure tensor/second-moment matrix is defined by[7] [10] [11] \mu(x; t, s) =\int_(\nabla I)(x-\xi; t) \, (\nabla I)^\text(x-\xi; t) \,w(\xi; s) \, d\xiConceptually, one may ask if it would be sufficient to use any self-similar families of smoothing functions

h(x;t)

and

w(\xi;s)

. If one naively would apply, for example, a box filter, however, then non-desirable artifacts could easily occur. If one wants the multi-scale structure tensor to be well-behaved over both increasing local scales

t

and increasing integration scales

s

, then it can be shown that both the smoothing function and the window function have to be Gaussian.[7] The conditions that specify this uniqueness are similar to the scale-space axioms that are used for deriving the uniqueness of the Gaussian kernel for a regular Gaussian scale space of image intensities.

There are different ways of handling the two-parameter scale variations in this family of image descriptors. If we keep the local scale parameter

t

fixed and apply increasingly broadened versions of the window function by increasing the integration scale parameter

s

only, then we obtain a true formal scale space representation of the directional data computed at the given local scale

t

.[7] If we couple the local scale and integration scale by a relative integration scale

r\geq1

, such that

s=rt

then for any fixed value of

r

, we obtain a reduced self-similar one-parameter variation, which is frequently used to simplify computational algorithms, for example in corner detection, interest point detection, texture analysis and image matching.By varying the relative integration scale

r\geq1

in such a self-similar scale variation, we obtain another alternative way of parameterizing the multi-scale nature of directional data obtained by increasing the integration scale.

A conceptually similar construction can be performed for discrete signals, with the convolution integral replaced by a convolution sum and with the continuous Gaussian kernel

g(x;t)

replaced by the discrete Gaussian kernel

T(n;t)

:\mu(x; t, s) =\sum_(\nabla I)(x-n; t) \, (\nabla I)^\text(x-n; t) \,w(n; s)When quantizing the scale parameters

t

and

s

in an actual implementation, a finite geometric progression

\alphai

is usually used, with i ranging from 0 to some maximum scale index m. Thus, the discrete scale levels will bear certain similarities to image pyramid, although spatial subsampling may not necessarily be used in order to preserve more accurate data for subsequent processing stages.

Applications

The eigenvalues of the structure tensor play a significant role in many image processing algorithms, for problems like corner detection, interest point detection, and feature tracking.[12] [13] [14] [15] [16] [17] [18] The structure tensor also plays a central role in the Lucas-Kanade optical flow algorithm, and in its extensions to estimate affine shape adaptation;[10] where the magnitude of

λ2

is an indicator of the reliability of the computed result. The tensor has been used for scale space analysis,[7] estimation of local surface orientation from monocular or binocular cues,[11] non-linear fingerprint enhancement,[19] diffusion-based image processing,[20] [21] [22] [23] and several other image processing problems. The structure tensor can be also applied in geology to filter seismic data.[24]

Processing spatio-temporal video data with the structure tensor

The three-dimensional structure tensor has been used to analyze three-dimensional video data (viewed as a function of x, y, and time t).If one in this context aims at image descriptors that are invariant under Galilean transformations, to make it possible to compare image measurements that have been obtained under variations of a priori unknown image velocities

v=(vx,

T
v
y)
\begin x' \\ y' \\ t' \end = G \begin x \\ y \\ t \end = \begin x - v_x \, t \\ y - v_y \, t \\ t \end,it is, however, from a computational viewpoint preferable to parameterize the components in the structure tensor/second-moment matrix

S

using the notion of Galilean diagonalization[25] S' = R_\text^ \, G^ \, S \, G^ \, R_\text^ = \begin \nu_1 & \, & \, \\ \, & \nu_2 & \, \\ \, & \, & \nu_3 \end where

G

denotes a Galilean transformation of spacetime and

Rspace

a two-dimensional rotation over the spatial domain,compared to the abovementioned use of eigenvalues of a 3-D structure tensor, which corresponds to an eigenvalue decomposition and a (non-physical) three-dimensional rotation of spacetime S = R_\text^ \, S \, R_\text^ = \begin \lambda_1 & & \\ & \lambda_2 & \\ & & \lambda_3 \end .To obtain true Galilean invariance, however, also the shape of the spatio-temporal window function needs to be adapted,[25] [26] corresponding to the transfer of affine shape adaptation[10] from spatial to spatio-temporal image data.In combination with local spatio-temporal histogram descriptors,[27] these concepts together allow for Galilean invariant recognition of spatio-temporal events.[28]

See also

References

  1. J. Bigun and G. Granlund (1986), Optimal Orientation Detection of Linear Symmetry. Tech. Report LiTH-ISY-I-0828, Computer Vision Laboratory, Linkoping University, Sweden 1986; Thesis Report, Linkoping studies in science and technology No. 85, 1986.
  2. J. Bigun . G. Granlund . amp . Optimal Orientation Detection of Linear Symmetry. Piscataway. First int. Conf. on Computer Vision, ICCV, (London) . IEEE Computer Society Press, Piscataway. 433–438. 1987 .
  3. H. Knutsson. Representing local structure using tensors. Oulu. Proceedings 6th Scandinavian Conf. on Image Analysis. Oulu University. 244–251. 1989.
  4. Book: B. Jahne. Spatio-Temporal Image Processing: Theory and Scientific Applications. Berlin. Springer-Verlag. 751. 1993.
  5. Book: G. Medioni, M. Lee . C. Tang . amp . A Computational Framework for Feature Extraction and Segmentation. Elsevier Science. March 2000.
  6. T. Brox . J. Weickert . B. Burgeth . P. Mrazek . amp . Nonlinear Structure Tensors. Universität des Saarlandes. 113. 2004.
  7. T. Lindeberg (1993), Scale-Space Theory in Computer Vision. Kluwer Academic Publishers, (see sections 14.4.1 and 14.2.3 on pages 359–360 and 355–356 for detailed statements about how the multi-scale second-moment matrix/structure tensor defines a true and uniquely determined multi-scale representation of directional data).
  8. J. Bigun . G. Granlund . J. Wiklund . amp . Multidimensional Orientation Estimation with Applications to Texture Analysis and Optical Flow. IEEE Transactions on Pattern Analysis and Machine Intelligence. 13. 8. 775–790. 1991 . 10.1109/34.85668.
  9. Westin. C.-F. . Maier. S.E. . Mamata. H. . Nabavi. A. . Jolesz. F.A. . Kikinis. R. . June 2002 . Processing and visualization for diffusion tensor MRI . Medical Image Analysis . en . 6 . 2 . 93–108 . 10.1016/S1361-8415(02)00053-1 . 12044998.
  10. T. Lindeberg . J. Garding. amp. Shape-adapted smoothing in estimation of 3-D depth cues from affine distortions of local 2-D structure. Image and Vision Computing. 1997. 15. 415–434. 10.1016/S0262-8856(97)01144-X. 6.
  11. J. Garding and T. Lindeberg (1996). "Direct computation of shape cues using scale-adapted spatial derivative operators, International Journal of Computer Vision, volume 17, issue 2, pages 163–191.
  12. M. Nicolescu . G. Medioni . amp . Motion Segmentation with Accurate Boundaries – A Tensor Voting Approach. Proc. IEEE Computer Vision and Pattern Recognition. 1. 382–389. 2003.
  13. W. Förstner. A Feature Based Correspondence Algorithm for Image Processing. International Archives of Photogrammetry and Remote Sensing. 26. 150–166. 1986.
  14. C. Harris . M. Stephens . amp . A Combined Corner and Edge Detector. Proc. of the 4th ALVEY Vision Conference. 147–151. 1988.
  15. K. Rohr. On 3D Differential Operators for Detecting Point Landmarks. Image and Vision Computing. 15. 3. 219–233. 1997 . 10.1016/S0262-8856(96)01127-4.
  16. I. Laptev . T. Lindeberg . amp . Space–time interest points. International Conference on Computer Vision ICCV'03. http://kth.diva-portal.org/smash/record.jsf?pid=diva2%3A442088&dswid=2038 . 10.1109/ICCV.2003.1238378. 432–439. I. 2003.
  17. B. Triggs. Detecting Keypoints with Stable Position, Orientation, and Scale under Illumination Changes. Proc. European Conference on Computer Vision. 4. 100–113. 2004.
  18. C. Kenney, M. Zuliani . B. Manjunath . amp . An Axiomatic Approach to Corner Detection. Proc. IEEE Computer Vision and Pattern Recognition. 191–197. 2005.
  19. A. Almansa and T. Lindeberg (2000), Enhancement of fingerprint images using shape-adaptated scale-space operators. IEEE Transactions on Image Processing, volume 9, number 12, pages 2027–2042.
  20. http://www.mia.uni-saarland.de/weickert/book.html J. Weickert (1998), Anisotropic diffusion in image processing, Teuber Verlag, Stuttgart.
  21. D. Tschumperle . R. Deriche. amp . Diffusion PDEs on Vector-Valued Images. IEEE Signal Processing Magazine. 16–25. 19. 5. 10.1109/MSP.2002.1028349 . September 2002. 2002ISPM...19...16T.
  22. S. Arseneau . J. Cooperstock . amp . An Asymmetrical Diffusion Framework for Junction Analysis. British Machine Vision Conference. 2. 689–698. September 2006.
  23. S. Arseneau . J. Cooperstock . amp . An Improved Representation of Junctions through Asymmetric Tensor Diffusion. International Symposium on Visual Computing. November 2006.
  24. Yang. Shuai. Chen. Anqing. Chen. Hongde. 2017-05-25. Seismic data filtering using non-local means algorithm based on structure tensor. Open Geosciences. 9. 1. 151–160. 10.1515/geo-2017-0013. 2391-5447. 2017OGeo....9...13Y. 134392619. free.
  25. T. Lindeberg . A. Akbarzadeh . I. Laptev . amp . Galilean-corrected spatio-temporal interest operators. International Conference on Pattern Recognition ICPR'04. http://kth.diva-portal.org/smash/record.jsf?pid=diva2%3A441205&dswid=-545 . 10.1109/ICPR.2004.1334004. August 2004. I. 57–62.
  26. I. Laptev . T. Lindeberg . amp . Velocity adaptation of space–time interest points . International Conference on Pattern Recognition ICPR'04 . 10.1109/ICPR.2004.971. August 2004. I. 52–56.
  27. I. Laptev . T. Lindeberg . amp . Local descriptors for spatio-temporal recognition. ECCV'04 Workshop on Spatial Coherence for Visual Motion Analysis (Prague, Czech Republic) Springer Lecture Notes in Computer Science. 10.1007/11676959. May 2004. 3667. 91–103.
  28. I. Laptev . B. Caputo . C. Schuldt . T. Lindeberg . amp . Local velocity-adapted motion events for spatio-temporal recognition . Computer Vision and Image Understanding. http://kth.diva-portal.org/smash/record.jsf?pid=diva2%3A335153&dswid=7950 . 10.1016/j.cviu.2006.11.023. 2007. 108. 207–229.

Resources