Harris Corner Detector

[Forstner and Gulch, 1987]

Searches for local neighborhoods where the image content has two main directions (eigenvectors of the autocorrelation matrix).

  • Second Moment Autocorrelation Matrix:

Where:

  • is a Gaussian kernel with standard deviation .

  • and represent the image gradients in the x and y directions, respectively.

  • denotes convolution.

  • The Gaussian kernel sums over all the pixels in a circular local neighborhood, weighting them according to a Gaussian distribution.

The autocorrelation matrix, C, can be decomposed and represented as:

Where:

  • and are the eigenvalues of C.

  • R is a rotation matrix.

  • The summation happens on neighborhood of x.

  • Corner Condition: If or is about 0, the point is not a corner.

Harris Corner: Eigen Decomposition Visualization

Feature_Detectors_and_Descriptors_old, p.10

  • Edge: One eigenvalue is much larger than the other ( or ).
  • Corner: Both eigenvalues are large, and . The change in intensity (E) increases in all directions.
  • Flat Region: Both eigenvalues are small.

Harris Corner: Different Approach

Instead of explicitly computing the eigenvalues, the following equivalence is used:

If , then

Define the Harris cornerness measure, :

  • is a sensitivity parameter, typically in the range 0.04 - 0.25 (experimentally verified).
  • Consider points where the Harris measure is greater than threshold. Let, , then
  • For edge: r>>1, say 5,
  • For r = 10:
  • For corners, r = 2:

Harris Corner: Example

  1. Image Derivatives: Compute the image derivatives and .
  2. Square of Derivatives: Calculate the squared derivatives: , , and .
  3. Gaussian Filter: Apply a Gaussian filter to the squared derivatives: , , and .
  4. Cornerness Function: Compute the Harris cornerness function , where both eigenvalues are strong.

Harris Corner: Result

Effect: A very precise corner detector.