Hessian Detector

The problem of detecting distinctive points that can be easily recognized in two images was initially addressed by reformulating it as the problem of detecting corners in the image, that is, by discarding image regions without texture or containing 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, searches for image regions that exhibit strong derivatives in orthogonal directions. This algorithm is based on analyzing the matrix of second derivatives, namely 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)

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

\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)

becomes maximal. This search is normally performed on the image of the Hessian determinant, to which Non-Maxima Suppression is applied over a window $3 \times 3$. The maxima of the Hessian determinant response are generally located at corners and in strongly 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 through a Gaussian filter is used.

Paolo medici
2026-10-01