Definition
The Hessian saddle response at a pixel in a Gaussian-smoothed image is
where is the image Hessian and the second derivatives are computed via convolution with differential Gaussian kernels. At a checkerboard X-junction the smoothed intensity has the shape of a saddle: the Hessian is indefinite (, ), so and is strongly negative. At blobs (both eigenvalues same sign) ; at edges or flat regions one eigenvalue vanishes and . X-corners are detected as local minima of — equivalently, local maxima of .
The response is rotation-invariant by construction (both and are invariants of ) and contrast-invariant up to a quadratic scale factor (under , and ).
Mathematical Description
Origin: Chen-Zhang 2005
The operator was introduced as a per-pixel X-corner detector in [chen2005-xcorner], replacing Lucchese-Mitra's morphological-shrinking + intensity-interpolation pipeline with a single Hessian determinant. The model assumes an ideal step-function X-corner smoothed by a Gaussian kernel:
Under this model, has saddle shape and peaks at the X-junction with opposite sign on each diagonal pair of quadrants — making strongly negative at the corner.
Variants in the wild
Different algorithms apply the same operator with different sign conventions, smoothing choices, and refinement strategies:
- Chen-Zhang form. . Negative at corners. Detect minima of .
- Negated form. . Positive at corners. Detect maxima of .
- Harris-penalised form (PuzzleBoard). , with default . Adds a Harris-like trace penalty so the response is suppressed at edges where is large but is small. Inherits eigenvalue extrema ratio close to 6 between corner and noise (PuzzleBoard §4.1).
Once the integer candidate is picked, the Taylor expansion of at the candidate gives a closed-form subpixel offset:
The solve costs Cramer's rule on the Hessian; no window fit, no iteration. This is the Chen-Zhang refinement directly. ROCHADE replaces it with a cone-filtered window quadratic fit (more robust to noise but more expensive); PuzzleBoard uses a grayscale centroid (faster but less precise). The choice trades runtime for noise robustness; the underlying detection operator is the same.
Relation to the structure tensor
The Hessian saddle response is not the same as the structure tensor Harris response, despite the formal similarity in using a matrix and its determinant:
| Structure tensor | Hessian | |
|---|---|---|
| Entries | ||
| Built from | First derivatives, summed over a window | Second derivatives at a single pixel |
| What it measures | Gradient anisotropy in a neighbourhood | Local curvature at a point |
| Sign of | Always (PSD) | Can be negative (indefinite) |
| Saddle response | small at saddles (no dominant gradient) | strongly negative at saddles |
A Harris-style structure-tensor detector responds weakly at X-junctions because the gradient distribution is not anisotropic in any direction — every gradient direction is balanced. The Hessian saddle response is specifically tuned to the X-junction geometry and gives a much stronger response there. PuzzleBoard's experiment (§4.1) reports a 6
ratio favouring the Hessian form on the same image, justifying the dedicated operator for chessboard detection.ChESS as an alternative discriminator
ChESS corners (Bennett-Lasenby 2013) computes a different operator on a Bresenham ring around each pixel — counting sign alternations against a contrast-adaptive threshold pair. Algebraically this approximates the second harmonic of the discrete Fourier transform around the ring, which is also large at 4-quadrant alternation patterns. ChESS and the Hessian saddle response thus serve the same role (discriminate X-junctions from blobs/edges/flat) via different operators: ChESS is intensity-based and contrast-adaptive; the Hessian is curvature-based and requires Gaussian pre-smoothing. The two are computationally comparable on modern hardware; the choice usually follows downstream needs (Hessian refinement composes with the same Hessian; ChESS does not).
Numerical Concerns
Smoothing scale . The Hessian is computed on a Gaussian-smoothed image. If is too small, the second derivatives are noise-dominated and false saddles appear everywhere. If is too large, neighbouring corners contaminate each other's Hessians. Chen-Zhang uses on -pixel checker fields; ROCHADE and PuzzleBoard use scale-pyramid variants. A common heuristic: checker edge length.
Kernel size. With , a Gaussian kernel of size where spans . The convolutions with differential Gaussian kernels for , , dominate the per-pixel cost.
Hessian-determinant numerical stability. The closed-form subpixel solve divides by . Near (weak saddles, small fields), the offset blows up. Practical implementations cap the offset to pixel and reject candidates with below a threshold.
Sign-convention ambiguity in code. Different libraries adopt different sign conventions ( vs ). Wiring a saddle-detector that expects "minima of " to a downstream NMS that expects "maxima" produces silent zero detections. Standardise the sign at the API boundary.
8-bit vs floating-point. Second derivatives of 8-bit images can underflow at low contrast; computing the Hessian in 32-bit float (or computing the differential Gaussian kernels at higher precision and storing the result in float32) avoids the rounding artefacts that produce spurious saddle minima at low-contrast textures.
Edge / blob exclusion. at edges and small along their dominant direction; this is the operator's natural edge suppressor. But ridges (where one principal curvature is large and one is moderate but same sign) can produce a small positive that looks like a weak blob. The Harris-penalised form (PuzzleBoard) explicitly subtracts to push such ridges below threshold.
Where it appears
The Hessian saddle response is the workhorse detection operator across the chessboard X-corner cluster:
- chen2005-xcorner — original publication; introduces both the operator and the Taylor-expansion subpixel solve in one paper. Not yet a standalone atlas page (foundational reference cited from the pages below).
- laureano-topological-chessboard — applies as the subpixel refinement step at vertices that have already passed the topology filter (§5, Eq. 4 of the paper).
- puzzleboard — uses with as the per-pixel saddle response in §4.1; refinement via grayscale centroid rather than Taylor solve.
- rochade — saddle-based detection (§3 of the paper) but with a cone-filtered bivariate quadratic fit for refinement instead of the Chen-Zhang Taylor solve. The detection role is identical; the refinement is more robust to noise at higher cost.
- chess-corners — discriminates X-junctions via the DFT 2nd-harmonic instead of the Hessian. Listed here as the alternative operator playing the same role; consult the page for the trade-off.
References
- D. Chen, G. Zhang. A New Sub-Pixel Detector for X-Corners in Camera Calibration Targets. WSCG Short Paper, 2005. pdf
- L. Lucchese, S. K. Mitra. Using saddle points for subpixel feature detection in camera calibration targets. IEEE Asia-Pacific Conference on Circuits and Systems, 2002. (Direct precursor; uses morphological shrinking + intensity interpolation instead of the Hessian determinant.)
- P. Stelldinger, N. Lanwer. PuzzleBoard: A New Camera Calibration Pattern with Position Encoding. DAGM-GCPR 2024. (Harris-penalised form; eigenvalue extrema 6 ratio.)
- C. Laureano, V. Murino. Chessboard Detection via X-Corners and Topology. (Subpixel via Chen-Zhang Hessian solve at topology-filtered vertices.)
- S. Placht et al. ROCHADE: Robust Checkerboard Advanced Detection. ECCV 2014. (Saddle-based detection; cone-filtered quadratic fit.)