Harris Corner Detection — Structure Tensor Visualization

Hanbyul Joo  |  Visual Computing Lab, Seoul National University
Image — Drag the blue window or use sliders
200
200
18
Image:
Iₓ, Iᵧ Scatter — Gradient distribution inside window
Each dot = (Iₓ, Iᵧ)
of one pixel in window

Ellipse = covariance
(eigenvectors of M)

Corner: circular → λ₁≈λ₂ (large)
Edge: elongated → λ₁≫λ₂
Flat: near origin → both small
low weight high weight
Structure Tensor M and Eigenvalues
M = Σ w(x,y) · [∇I][∇I]ᵀ
[
Σ Iₓ²
0
Σ IₓIᵧ
0
Σ IₓIᵧ
0
Σ Iᵧ²
0
]
FLAT
λ₁
0
λ₂
0
min λ
0
Harris R = det − k·tr²
0
λ₁ / λ₂
Eigenvalue Ellipse — Geometric meaning of M
Major axis = eigenvector of λ₁, length ∝ √λ₁
Minor axis = eigenvector of λ₂, length ∝ √λ₂
Corner: λ₁ ≈ λ₂ (large) → nearly circular ellipse
Edge: λ₁ ≫ λ₂ → very flat ellipse (perpendicular to edge)
Flat: λ₁ ≈ λ₂ (small) → tiny circle near origin
Harris cornerness: R = λ₁λ₂ − k(λ₁+λ₂)² (k ≈ 0.04)