¿Cuál es la diferencia entre la diferencia de Gaussian, Laplace of Gaussian y Mexican Hat Wavelet?

10

Hay tres técnicas utilizadas en CV que parecen muy similares entre sí, pero con diferencias sutiles:

  • Laplaciano de Gauss: 2[sol(X,y,t)F(X,y)]
  • Diferencia de gaussianos: [sol1(X,y,t)F(X,y)]-[sol2(X,y,t)F(X,y)]
  • Convolución con wavelet de Ricker : Ricker(X,y,t)F(X,y)

Según tengo entendido actualmente: DoG es una aproximación de LoG. Ambos se utilizan en la detección de manchas y ambos funcionan esencialmente como filtros de paso de banda. La convolución con una wavelet mexicana de Hat / Ricker parece lograr el mismo efecto.

He aplicado las tres técnicas a una señal de pulso (con la escala necesaria para obtener las magnitudes similares) y los resultados son bastante cercanos. De hecho, LoG y Ricker parecen casi idénticos. La única diferencia real que noté es con DoG, tenía 2 parámetros libres para sintonizar ( y σ 1 ) vs 1 para LoG y Ricker. También encontré que la wavelet era la más fácil / rápida, ya que se podía hacer con una sola convolución (hecha por multiplicación en el espacio de Fourier con FT de un núcleo) vs 2 para DoG, y una convolución más un Laplaciano para LoG. σ1σ1

Resultados de la convolución wavelet de Ricker, laplaciano de Gauss y diferencia de Gauss

  • ¿Cuáles son las ventajas / desventajas comparativas de cada técnica?
  • ¿Existen diferentes casos de uso en los que uno eclipsa al otro?

También tengo la idea intuitiva de que en muestras discretas, LoG y Ricker degeneran en la misma operación, ya que puede implementarse como el núcleo [ - 1 , 2 , - 1 ]2 .

[-1,2,-1]o[0 0-10 0-14 4-10 0-10 0]para imágenes 2D

La aplicación de esa operación a un gaussiano da lugar a la wavelet Ricker / Hat. Además, dado que LoG y DoG están relacionados con la ecuación de difusión de calor, creo que podría hacer que ambos coincidan con suficientes parámetros de violín.

(¡Todavía me estoy mojando los pies con estas cosas para sentirme libre de corregir / aclarar todo esto!)

DeusXMachina
fuente

Respuestas:

6

Laplace de Gauss

F

2(Fsol)=F2sol

sol

F2sol=F(2X2sol+2y2sol)=F2X2sol+F2y2sol

Por lo tanto, es posible calcularlo como la suma de dos convoluciones de la imagen de entrada con segundas derivadas del núcleo gaussiano (en 3D, esto es 3 convoluciones, etc.). Esto es interesante porque el núcleo gaussiano es separable, al igual que sus derivados. Es decir,

F(X,y)sol(X,y)=F(X,y)(sol(X)sol(y))=(F(X,y)sol(X))sol(y)

lo que significa que en lugar de una convolución 2D, podemos calcular lo mismo usando dos convoluciones 1D. Esto ahorra muchos cálculos. Para el núcleo gaussiano más pequeño que se pueda pensar, tendría 5 muestras a lo largo de cada dimensión. Una convolución 2D requiere 25 multiplicaciones y sumas, dos convoluciones 1D requieren 10. Cuanto más grande sea el núcleo, o cuantas más dimensiones haya en la imagen, más significativos serán estos ahorros computacionales.

Por lo tanto, el LoG se puede calcular utilizando cuatro convoluciones 1D. Sin embargo, el núcleo LoG en sí mismo no es separable.

2

La wavelet Ricker o el operador de sombrero mexicano son idénticos al LoG, hasta la escala y la normalización .

Diferencia de gaussianos

F

Fsol(1)-Fsol(2)=F(sol(1)-sol(2))

Entonces, al igual que con el LoG, el DoG puede verse como una sola convolución 2D no separable o la suma (diferencia en este caso) de dos convoluciones separables. Al verlo de esta manera, parece que no hay una ventaja computacional para usar el DoG sobre el LoG. Sin embargo, el DoG es un filtro de paso de banda sintonizable, el LoG no es sintonizable de la misma manera, y debe verse como el operador derivado que es. El DoG también aparece naturalmente en la configuración del espacio de escala, donde la imagen se filtra a muchas escalas (gaussianos con diferentes sigmas), la diferencia entre escalas posteriores es un DoG.

Hay una aproximación al núcleo DoG que es separable, lo que reduce el costo computacional a la mitad, aunque esa aproximación no es isotrópica, lo que lleva a la dependencia rotacional del filtro.

Una vez mostré (para mí) la equivalencia de LoG y DoG, para un DoG donde la diferencia en sigma entre los dos núcleos gaussianos es infinitamente pequeña (hasta escala). No tengo registros de esto, pero no fue difícil de mostrar.

Otras formas de calcular estos filtros

La respuesta de Laurent menciona el filtrado recursivo, y el OP menciona el cálculo en el dominio de Fourier. Estos conceptos se aplican tanto a LoG como a DoG.

El gaussiano y sus derivados se pueden calcular utilizando un filtro IIR causal y anticausal. Por lo tanto, todas las convoluciones 1D mencionadas anteriormente se pueden aplicar en tiempo constante con la sigma. Tenga en cuenta que esto solo es eficiente para sigmas más grandes.

Del mismo modo, cualquier convolución se puede calcular en el dominio de Fourier, por lo que tanto los núcleos DoG como LoG 2D se pueden transformar en el dominio de Fourier (o más bien se pueden calcular allí) y aplicar por multiplicación.

En conclusión

No hay diferencias significativas en la complejidad computacional de estos dos enfoques. Todavía tengo que encontrar una buena razón para aproximar el LoG usando el DoG.

Cris Luengo
fuente
¡Esta es una respuesta fantástica! Voy a actualizar esto como la nueva respuesta, no es que la respuesta de Laurent sea ​​incorrecta o incompleta, pero te tomaste el tiempo de agregar una gran segunda perspectiva a una pregunta respondida de un año.
DeusXMachina
2
DoG y LoG se encuentran en la escala de "ladrido"
Laurent Duval
4

La wavelet Ricker, la wavelet Marr (isotrópica), el sombrero mexicano o el laplaciano de Gaussianos pertenecen al mismo concepto: wavelets continuas admisibles (que satisfacen ciertas condiciones). Tradicionalmente, la wavelet Ricker es la versión 1D. La wavelet de Marr o el sombrero mexicano son nombres dados en el contexto de descomposiciones de imágenes 2D, puede considerar, por ejemplo, la Sección 2.2 de Un panorama sobre representaciones geométricas multiescala, entrelazando selectividad espacial, direccional y de frecuencia , Procesamiento de señal, 2011, L. Jacques et al. Alabama. El laplaciano de Gauss es la generalización multidimensional.

Sin embargo, en la práctica, las personas aceptan diferentes tipos de discretizaciones, en diferentes niveles.

3×33×3

(0 0-10 0-14 4-10 0-10 0)

(-1-1-1-18-1-1-1-1)
5 5×5 5

σ1σ2

Pero se han utilizado otras proporciones, en algunas pirámides de Laplacia, por ejemplo, que convierten DoG más en filtros de paso de banda más genéricos o detectores de bordes.

Última referencia: Coincidencia de imágenes utilizando puntos de interés de espacio de escala generalizados , T. Lindeberg, 2015.

Laurent Duval
fuente
1
Muy esclarecedor, gracias! Entonces, según Fast Gaussian Smoothing, DoG tiene ventajas de cálculo, ya que se puede hacer directamente en el dominio espacial, por lo que imagino, por ejemplo, el procesamiento de señales en chip para CCD / visión por computadora integrada. Además, A Panorama parece una lectura fantástica en general, ¡gracias!
DeusXMachina
Con aproximaciones rápidas, puede hacer una serie de operaciones independientes de la escala
Laurent Duval
1
¿De dónde viene la relación 1.6? Si escribe las matemáticas, puede ver que hay una equivalencia exacta entre la segunda derivada del gaussiano y la diferencia del gaussiano con una diferencia infinitesimal en sigma (hasta la escala).
Cris Luengo
1
De Marr y Hildreth, 1980, apéndice B, lo llaman una "mejor aproximación de ingeniería", con una compensación entre ancho de banda y sensibilidad, basada en curvas de mérito al tiempo que varía la relación de ancho. Conocí algunas obras en el pasado de personas en Delft, con el mismo nombre. ¿Coincidencia?
Laurent Duval
1
@LaurentDuval: hice mi doctorado en Delft. No hay otras personas allí con mi nombre, AFAIK. Puedo ver cómo podría derivar un óptimo (subjetivo) basado en la sensibilidad y el ancho de banda. Si la relación es demasiado pequeña, la respuesta es demasiado baja, probablemente depende más del ruido de discretización que de cualquier otra cosa; Si la relación es demasiado alta, no es un filtro interesante. Tiene sentido. ¡Gracias!
Cris Luengo