¿Cómo funciona el detector de características de Hesse?


8

Sé sobre el detector de esquina Harris, y entiendo la idea básica de su matriz de segundo momento , , bordes y otros puntos inestables se pueden eliminar a través de .

M=[Ix2IxIyIxIyIy2]
M

Pero sobre el detector de Hesse, utiliza la matriz de Hesse para detectar puntos clave y eliminar bordes, , y no entiendo cómo podría eliminar el borde y detectar puntos estables? ¿Cuál es la idea básica intuitiva detrás de esto?

H=[IxxIxyIxyIyy]
H

Respuestas:


11

Trataré de evitar las matemáticas, porque se pueden encontrar fácilmente tutoriales de matemáticas y "cómo hacerlo".

Entonces, comienzo señalando una cosa MUY importante: ¡Uno no calcula Harris para un solo píxel, sino para una vecindad (un parche de imagen) alrededor de ese píxel! Deje que sean sus derivadas para un punto , entonces,I(i)xx,I(i)xy...i0

H=[iVI(i)xxw(ii0)iVI(i)xyw(ii0)iVI(i)xyw(ii0)iVI(i)yyw(ii0)]

El es un núcleo gaussiano. La ecuación anterior le dice que integre los valores derivados sobre la vecindad alrededor del píxel actual. Cada valor de los vecinos se multiplica por un valor que se reduce a medida que aumenta la distancia. La ley de disminución sigue a un gaussiano, porque está centrado en Gauss en . Y eso es todo con las matemáticas.w(t)Vw(t)i0

Ahora, volviendo a las observaciones empíricas. Si usa únicamente las derivadas, y ese píxel es parte de una estructura lineal (borde), obtendrá una respuesta fuerte para las derivadas. Por otro lado, si el píxel está en una esquina (una intersección de dos bordes), las respuestas derivadas se cancelarán por sí mismas.

Dicho esto, el Hessian es capaz de capturar la estructura local en esa vecindad sin efecto de "cancelación". PERO muy importante, tienes que integrarte para obtener un Hessian adecuado.

Tener un Hessian, obtenido mediante el método de Harris o por otros medios, es posible que desee extraer información sobre la vecindad. Existen métodos para obtener valores numéricos sobre la probabilidad de tener una arista en el píxel actual, una esquina, etc. Verifique la teoría de detección de esquinas.

Ahora, sobre "puntos estables" o puntos sobresalientes. Imagine que está en una ciudad extranjera sin GPS y solo con un buen mapa. Si está "teletransportado" en medio de una calle, puede ubicar la calle en el mapa, pero no puede decir exactamente dónde se encuentra en esa calle o en qué dirección debe ir para moverse hacia la izquierda o hacia la derecha (wrt al mapa ) Imagina ahora que estás en una intersección. ¡Entonces, puedes señalar tu posición en el mapa! (Por supuesto, suponga que dos calles no se cruzan más de una vez).

Imagina ahora que debes unir dos imágenes. Uno actúa como un mapa y el otro como la ciudad. Debe encontrar píxeles que puedan describirse de manera única, para que pueda hacer la correspondencia. Verifique las imágenes en esta publicación para ver ejemplos de coincidencias. Estos puntos se llaman puntos sobresalientes. Además, los puntos de esquina tienden a no cambiar sus propiedades de "esquina" cuando la imagen se escala, traduce, gira, sesga, etc. (transformaciones afines) Es por eso que se llaman "estables".

Algunos puntos de la imagen le permiten identificarlos de forma exclusiva. Estos píxeles se encuentran en las esquinas o en la intersección de las líneas. Imagine que su vecindad está en una línea. Excepto por la orientación de la línea, no puede encontrar nada más en esa vecindad. Pero si está en una esquina, entonces, puede encontrar las direcciones de las líneas que se cruzan, tal vez el ángulo, etc.VV

No todos los puntos de esquina son sobresalientes, pero solo los puntos de esquina tienen grandes posibilidades de ser sobresalientes.

¡Espero eso ayude!

ps Cómo saber si un punto es esquina o no, mira el papel de Harris.

pps Más sobre coincidencias, busque SIFT o SURF.

ppps Hay una "generalización" del método Harris, llamada Tensor de estructura. ¡Compruebe el trabajo seminal de Knutsson !


Pequeña corrección: la integración en la vecindad de cada píxel es importante para Harris y los enfoques de tensor de estructura. Para el Hessian no tiene mucho sentido: es equivalente a usar un tamaño de filtro más grande para los filtros derivados de segundo orden.
Niki Estner

@nikie tienes razón, si tienes una señal analítica. Para las imágenes digitales (donde tiene valores discretos en una cuadrícula) el razonamiento no se aplica. Necesita integrar el Hessian, de lo contrario obtendrá una matriz degenerada. Existe una forma de tensor de estructura que no necesita integración y puede funcionar con derivados calculados solo para el píxel actual. Ver el enlace de Knutsson en mi publicación.
visoft

1
@visoft: no estoy seguro de lo que quieres decir. Estrictamente hablando, el Hessian solo se define para funciones diferenciables, no para imágenes. Por lo general, se aproxima por convolución con un núcleo de filtro derivado (por ejemplo, derivado gaussiano). Si haces eso, obtienes una matriz de Hesse para cada píxel que no está degenerado. E integrar sobre estos resultados de filtro tiene el mismo efecto que usar un núcleo más grande. Solo toma más ciclos de CPU.
Niki Estner

Ok, revisaré la literatura y te responderé.
visoft

@nikie Edité la publicación, eliminando las referencias de Hesse.
visoft
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.