Detección de esquinas Harris
Un algoritmo para detectar esquinas en imágenes analizando los valores propios de la matriz de autocorrelación del gradiente local, identificando puntos con cambios significativos de intensidad en dos direcciones.
La detección de esquinas Harris, propuesta por Chris Harris y Mike Stephens en 1988, identifica puntos de interés en imágenes donde la intensidad cambia significativamente en múltiples direcciones. Una esquina se distingue de un borde (cambio en una sola dirección) y una región plana (sin cambio) examinando cómo varía la intensidad de un parche local bajo pequeños desplazamientos en todas las direcciones.
El algoritmo se centra en el tensor de estructura (matriz de autocorrelación) M, una matriz 2x2 construida a partir de sumas ponderadas por gaussiana de productos de gradientes Ix e Iy dentro de una ventana local. Cuando ambos valores propios λ1 y λ2 de esta matriz son grandes, el punto exhibe fuerte variación en dos direcciones independientes y califica como esquina.
- Función de respuesta de esquina: En lugar de calcular valores propios directamente, Harris usa
R = det(M) - k * trace(M)^2, donde k típicamente se establece entre 0.04 y 0.06. Los puntos con R por encima de un umbral son candidatos a esquina - Supresión de no máximos: Entre valores de respuesta vecinos, solo se retienen los máximos locales dentro de una ventana (comúnmente 3x3 o 5x5), eliminando detecciones duplicadas en proximidad cercana
- Invariancia a la rotación: Dado que los valores propios del tensor de estructura son invariantes bajo rotación, las esquinas Harris permanecen estables cuando la imagen se rota. Sin embargo, el detector no es inherentemente invariante a la escala
En OpenCV, cv2.cornerHarris() implementa este algoritmo con parámetros para tamaño de bloque, tamaño del kernel Sobel y la constante k. El detector Harris sigue siendo ampliamente utilizado en seguimiento en tiempo real, calibración de cámaras y como paso de preprocesamiento para pipelines de emparejamiento de características debido a su eficiencia computacional y estabilidad de detección.