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
- Image Derivatives: Compute the image derivatives and .
- Square of Derivatives: Calculate the squared derivatives: , , and .
- Gaussian Filter: Apply a Gaussian filter to the squared derivatives: , , and .
- Cornerness Function: Compute the Harris cornerness function , where both eigenvalues are strong.
Harris Corner: Result
Effect: A very precise corner detector.