Structure Tensor definition, what is the point?

168 Views Asked by At

The structure tensor is defined like this enter image description here where $(G^i_x, G^i_y)$ the i’th gradient in a square area around a point.

I know that structure tensors are used in image analysis - here one could use the structure tensor when defining corners in an image. Corners are characterized by having sharply changing gradient orientations at some point(s). Thus, to me, it makes sense to look at the diagonal of the structure tensor(the sums over gradients wrt either x or y).

However, what is the point of having $\sum_{i=1}^{n}{G^i_x, G^i_y}$? Isn't it enough to consider the elements in the diagonal?

So why don't we just use a matrix defined like this:

$$ \mathbf{J} = \left[\begin{array}{r} \sum_{i=1}^{n}{G^i_x}^2\\ \sum_{i=1}^{n}{G^i_y}^2 \end{array}\right] $$ instead ?

1

There are 1 best solutions below

0
On

Consider the central pixel in the following two images:

one edge at 45 degrees two edges at 0 and 90 degrees

At that central pixel, the structure tensors are: $$ \begin{pmatrix} 102.82 & 102.83 \\ 102.83 & 102.82 \end{pmatrix} \qquad \begin{pmatrix} 102.82 & 9.9095 \\ 9.9095 & 102.82 \\ \end{pmatrix} $$

The two diagonal components of the structure tensor are equal in both cases (as you can tell I adjusted the contrast in one of the images to make it so). The only way of distinguishing these two geometries is through the off-diagonal element.