Structure tensor: Difference between revisions

Content deleted Content added
Alter: journal. | You can use this tool yourself. Report bugs here.
m task, replaced: Open Geoscienes → Open Geosciences
Line 32:
</math>
 
If the [[gradient]] <math>\nabla I = (I_x,I_y)^\text{T}</math> of <math>I</math> is viewed as a 2×1 (single-column) matrix, where <math>(.)^\text{T}</math> denotes [[transpose]] operation, turning a row vector to a column vector, the matrix <math>S_0</math> can be written as the [[matrix product]] <math>(\nabla I)(\nabla I)^\text{T}</math>, also known as an outer product, or tensor product. Note however that the structure tensor <math>S_w(p)</math> cannot be factored in this way in general except if <math>w</math> is a [[Dirac delta function]].
 
===Discrete version===
Line 59:
The importance of the 2D structure tensor <math>S_w</math> stems from the fact [[eigenvalue]]s <math>\lambda_1,\lambda_2</math> (which can be ordered so that <math>\lambda_1 \geq \lambda_2\geq 0</math>) and the corresponding [[eigenvector]]s <math>e_1,e_2</math> summarize the distribution of the [[gradient]] <math>\nabla I = (I_x,I_y)</math> of <math>I</math> within the window defined by <math>w</math> centered at <math>p</math>.<ref name=bigun86/><ref name=bigun87/><ref name=knutsson89/>
 
Namely, if <math>\lambda_1 > \lambda_2</math>, then <math>e_1</math> (or <math>-e_1</math>) is the direction that is maximally aligned with the gradient within the window.
 
In particular, if <math>\lambda_1 > 0, \lambda_2 = 0</math> then the gradient is always a multiple of <math>e_1</math> (positive, negative or zero); this is the case if and only if <math>I</math> within the window varies along the direction <math>e_1</math> but is constant along <math>e_2</math>. This condition of eigenvalues is also called linear symmetry condition because then the iso-curves of <math>I</math> consist in parallel lines, i.e there exists a one dimensional function function <math>g </math> which can generate the two dimensional function <math>I</math> as <math>I(x,y)=g(d^\text{T} p)</math> for some constant vector <math>d=(d_x,d_y)^T </math> and the coordinates <math>p=(x,y)^T </math>.
 
If <math>\lambda_1 = \lambda_2</math>, 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 <math>\lambda_1 = \lambda_2 = 0</math> happens if and only if the function <math>I</math> is constant (<math>\nabla I = (0,0)</math>) within <math>W</math>.
Line 101:
</math> and <math display="inline">
\mu_{11} =\int w(r) I_x(p-r)I_y(p-r)\,d r
</math> in which integrals can be replaced by summations for discrete representation. Using Parseval relationship it is clear that the three real numbers are the second order moments of the power spectrum of <math>I</math>. The following second order complex moment of the power spectrum of <math>I</math> can then be written as
 
<math display="inline">
Line 115:
</math>
 
can be obtained, with <math>\lambda_1</math> and <math>\lambda_2</math> 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
Line 127:
</math>
 
where <math>E</math> 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, <math>(\lambda_1 -\lambda_2)e_1e_1^\text{T}</math>, 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 <math>E</math>). To know how much directional information there is in <math>I</math> is then the same as checking how large <math>\lambda_1-\lambda_2 </math>is compared to <math>\lambda_2</math>.
 
Evidently, <math>\kappa_{20}</math> is the complex equivalent of the first term in the tensor decomposition, whereas <math display="block">(|\kappa_{20}|-\kappa_{11})/2=\lambda_2</math>is the equivalent of the second term. Thus the two scalars, comprising three real numbers,
 
:<math>
Line 140:
 
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 <math>\kappa_{20}</math> and <math>\kappa_{11}</math> 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.<ref name=bigun91>
{{cite journal|author1=J. Bigun |author2=G. Granlund |author3=J. Wiklund |lastauthoramp=yes |title=Multidimensional Orientation Estimation with Applications to Texture Analysis and Optical Flow| journal= IEEE Transactions on Pattern Analysis and Machine Intelligence|volume=13|number=8|pages=775–790|year=1991 |doi=10.1109/34.85668}} </ref>
 
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.
Line 269:
</ref><ref>
{{cite conference|author1=S. Arseneau |author2=J. Cooperstock |last-author-amp=yes |title=An Improved Representation of Junctions through Asymmetric Tensor Diffusion|booktitle=International Symposium on Visual Computing|date=November 2006}}
</ref> and several other image processing problems. The structure tensor can be also applied in [[geology]] to filter [[Seismology|seismic]] data.<ref>{{Cite journal|last=Yang|first=Shuai|last2=Chen|first2=Anqing|last3=Chen|first3=Hongde|date=2017-05-25|title=Seismic data filtering using non-local means algorithm based on structure tensor|journal=Open GeoscienesGeosciences|volume=9|issue=1|pages=151–160|doi=10.1515/geo-2017-0013|issn=2391-5447|bibcode=2017OGeo....9...13Y}}</ref>
 
===Processing spatio-temporal video data with the structure tensor===