Hessian Detector

The problem of detecting distinctive points that can be readily matched between two images was initially addressed by seeking corners in the image, that is, by discarding regions with no texture or only edges.

The Hessian operator (Hessian detector) (Bea78), based on the Hessian matrix derived from the Taylor series expansion in the neighborhood of the point to be described, seeks image regions with large derivatives along orthogonal directions. The algorithm is based on analysis of the matrix of second derivatives, that is, the Hessian:

\begin{displaymath}
\mathbf{H}(\mathbf{x}, \sigma)=\begin{bmatrix}
I_{xx}(\mat...
...thbf{x}, \sigma) & I_{yy}(\mathbf{x}, \sigma)\\
\end{bmatrix}\end{displaymath} (6.1)

For each image point, the algorithm computes the second derivatives of the image $I_{xx}$, $I_{xy}$, $I_{yy}$ and identifies points at which the Hessian determinant

\begin{displaymath}
\det \left(\mathbf{H}(\mathbf{x}, \sigma) \right) = I_{xx}(...
...a) I_{yy}(\mathbf{x}, \sigma) - I_{xy}^{2}(\mathbf{x}, \sigma)
\end{displaymath} (6.2)

is maximal. This search is usually performed on the Hessian determinant image, to which Non-Maxima Suppression is applied over a window $3 \times 3$. The maximum Hessian determinant responses are usually located at corners and in highly textured image regions. Using the Hessian determinant makes this algorithm rotation invariant.

In practical applications, the original image is never used; instead, a low-pass-filtered version obtained with a Gaussian is used.

Paolo medici
2026-10-06