stringtranslate.com

Derivada de imagen

Las derivadas de imágenes se pueden calcular utilizando pequeños filtros de convolución de tamaño 2 × 2 o 3 × 3, como los operadores laplacianos , Sobel , Roberts y Prewitt . [1] Sin embargo, una máscara más grande generalmente dará una mejor aproximación de la derivada y ejemplos de tales filtros son las derivadas gaussianas [2] y los filtros de Gabor . [3] A veces es necesario eliminar el ruido de alta frecuencia y esto se puede incorporar en el filtro para que el núcleo gaussiano actúe como un filtro de paso de banda. [4] El uso de filtros Gabor [5] en el procesamiento de imágenes ha sido motivado por algunas de sus similitudes con la percepción en el sistema visual humano. [6]

El valor del píxel se calcula como una convolución.

donde es el núcleo derivado y son los valores de píxeles en una región de la imagen y es el operador que realiza la convolución .

Derivados de Sobel

Los núcleos derivados, conocidos como operador de Sobel , se definen de la siguiente manera, para las direcciones y respectivamente:

donde aquí denota la operación de convolución bidimensional .

Este operador es separable y se puede descomponer como el producto de una interpolación y un núcleo de diferenciación, de modo que, por ejemplo, se puede escribir como

Derivados de Farid y Simoncelli

Farid y Simoncelli [7] [8] proponen utilizar un par de núcleos, uno para la interpolación y otro para la diferenciación (compárese con Sobel arriba). Estos núcleos, de tamaños fijos 5 x 5 y 7 x 7, están optimizados para que la transformada de Fourier se aproxime a su relación derivada correcta.

En el código de Matlab , el llamado filtro de 5 toques es

k = [ 0,030320 0,249724 0,439911 0,249724 0,030320 ]; d = [ 0,104550 0,292315 0,000000 - 0,292315 - 0,104550 ]; d2 = [ 0,232905 0,002668 - 0,471147 0,002668 0,232905 ];                  

Y el filtro de 7 grifos es

k = [ 0,004711 0,069321 0,245410 0,361117 0,245410 0,069321 0,004711 ]; d = [ 0,018708 0,125376 0,193091 0,000000 - 0,193091 - 0,125376 - 0,018708 ]; d2 = [ 0,055336 0,137778 - 0,056554 - 0,273118 - 0,056554 0,137778 0,055336 ];                           

Como ejemplo, las derivadas de primer orden se pueden calcular a continuación usando Matlab para realizar la convolución.

 Iu = conv2 ( d , k , im , 'mismo' ); % derivada verticalmente (wrt Y) Iv = conv2 ( k , d , im , 'same' ); % derivada horizontalmente (respecto a X)            

Cabe señalar que Farid y Simoncelli han obtenido coeficientes de primera derivada que son más precisos en comparación con los proporcionados anteriormente. Sin embargo, estos últimos son consistentes con el interpolador de segunda derivada y, por lo tanto, es mejor usarlos si se buscan tanto la primera como la segunda derivada. En el caso contrario, cuando sólo se desea la primera derivada, se deben emplear los coeficientes óptimos de la primera derivada; Se pueden encontrar más detalles en su artículo.

Hast derivados

Hast presentó los filtros derivados basados ​​en splines cúbicos arbitrarios. [9] Mostró cómo las derivadas de primer y segundo orden se pueden calcular más correctamente utilizando splines cúbicos o trigonométricos. Los filtros derivativos eficientes deben tener una longitud impar para que la derivada se calcule para el píxel central. Sin embargo, cualquier filtro cúbico se coloca sobre 4 puntos de muestra, dando un centro que se encuentra entre los píxeles. Esto se resuelve mediante un enfoque de filtrado doble que proporciona filtros de tamaño 7 x 7. La idea es filtrar primero por interpolación para obtener el valor interpolado entre píxeles, luego de lo cual se repite el procedimiento usando filtros derivativos, donde ahora cae el valor central. en los centros de píxeles. Esto puede demostrarse fácilmente mediante la ley asociativa de la convolución.

Por lo tanto, el núcleo de convolución para calcular la derivada utilizando un núcleo de interpolación y un núcleo de derivada se convierte en

También tenga en cuenta que la convolución es conmutativa, por lo que el orden de los dos núcleos no importa y también es posible insertar una derivada de segundo orden así como una derivada de primer orden. Estos núcleos se derivan del hecho de que cualquier superficie spline se puede ajustar sobre una región de píxeles cuadrados, en comparación con las superficies de Bezier . Hast demuestra que dicha superficie se puede realizar como una convolución separable

donde es la matriz base spline y son los vectores que contienen las variables y , como por ejemplo

Los núcleos de convolución ahora se pueden configurar para

Por tanto, las derivadas de primer orden en el píxel central se calculan como

y

Asimismo, con la derivada de segundo orden los núcleos son

y

El filtro spline cúbico se evalúa en su centro y por lo tanto

Asimismo, las derivadas de primer orden se convierten en

Y de manera similar las derivadas de segundo orden son

Se puede aplicar y utilizar cualquier filtro cúbico para calcular las derivadas de la imagen utilizando las ecuaciones anteriores, como Bézier , Hermite o B-splines .

El siguiente ejemplo en Matlab utiliza la spline Catmull-Rom para calcular las derivadas.

 METRO = [ 1 , - 3 , 3 , - 1 ; - 1 , 4 , - 5 , 2 ; 0 , 1 , 0 , - 1 ; 0 , 0 , 2 , 0 ] * 0,5 ; u = [ 0,125 ; 0,25 ; 0,5 ; 1 ]; arriba = [ 0,75 ; 1 ; 1 ; 0 ]; d = arriba '* M ; k = u '* M ; Iu = conv2 ( conv ( d , k ), conv ( k , k ), im , 'mismo' ); % de derivada vertical (wrt Y) Iv = conv2 ( conv ( k , k ), conv ( d , k ), im , 'mismo' ); % derivada horizontal (respecto a X)                             

Otros enfoques

Se pueden usar filtros orientables para calcular derivadas [10] Además, Savitzky y Golay [11] proponen un enfoque de suavizado polinomial de mínimos cuadrados , que podría usarse para calcular derivadas y Luo et al [12] analizan este enfoque con más detalle. Scharr [13] [14] [15] muestra cómo crear filtros derivativos minimizando el error en el dominio de Fourier y Jähne et al [16] analizan con más detalle los principios del diseño de filtros, incluidos los filtros derivativos.

Referencias

  1. ^ Pratt, WK, 2007. Procesamiento de imágenes digitales (4ª ed.). John Wiley & Sons, Inc. págs. 465–522
  2. ^ H. Bouma, A. Vilanova, JO Bescós, BMTH Romeny, FA Gerritsen, Derivadas gaussianas rápidas y precisas basadas en b-splines, en: Actas de la 1ª Conferencia Internacional sobre Espacio de Escala y Métodos Variacionales en Visión por Computadora, Springer-Verlag , Berlín, Heidelberg, 2007, págs. 406–417.
  3. ^ P. Moreno, A. Bernardino, J. Santos-Victor, Mejora del descriptor de tamizado con filtros derivados suaves, Pattern Recognition Letters 30 (2009) 18–26.
  4. ^ JJ Koenderink, AJ van Doorn, Operadores de vecindario genéricos, IEEE Trans. Patrón Anal. Mach. Intel. 14 (1992) 597–605.
  5. ^ D. Gabor, Teoría de la comunicación, J. Inst. eléctrico. Ing. 93 (1946) 429–457.
  6. ^ JG Daugman, Transformaciones Gabor 2-D discretas completas mediante redes neuronales para análisis y compresión de imágenes, IEEE Trans. Acústico. Proceso de señal de voz. 36 (1988) 1169–1179.
  7. ^ H. Farid y EP Simoncelli, Diferenciación de señales multidimensionales discretas, IEEE Trans Image Processing, vol.13(4), págs. 496--508, abril de 2004.
  8. ^ H. Farid y EP Simoncelli, Núcleos derivados direccionales óptimamente equivalentes a la rotación, Análisis informático de imágenes y patrones de Int'l Conf, págs. 207-214, septiembre de 1997.
  9. ^ A. Hast., "Diseño de filtro simple para derivadas de primer y segundo orden mediante un enfoque de filtrado doble", Pattern Recognition Letters, vol. 42, núm. 1 de junio, págs. 65--71. 2014.
  10. ^ WT Freeman, EH Adelson, El diseño y uso de filtros orientables, IEEE Trans. Patrón Anal. Mach. Intel. 13 (1991) 891–906.
  11. ^ A. Savitzky, MJE Golay, Suavizado y diferenciación de datos mediante procedimientos simplificados de mínimos cuadrados, Anal. Química. 36 (1964) 1627–1639.
  12. ^ J. Luo, K. Ying, P. He, J. Bai, Propiedades de los diferenciadores digitales Savitzky-Golay, Digit. Proceso de señal. 15 (2005) 122–136.
  13. ^ H. Scharr, Familias óptimas de filtros derivados de segundo orden para la estimación de movimiento transparente, en: M. Domanski, R. Stasinski, M. Bartkowiak (Eds.), EUSIPCO 2007.
  14. ^ Scharr, Hanno, 2000, Disertación (en alemán), Operadores óptimos en el procesamiento de imágenes digitales.
  15. ^ B. Jähne, H. Scharr y S. Körkel. Principios de diseño de filtros. En Manual de aplicaciones y visión por computadora. Prensa académica, 1999.
  16. ^ B. Jähne, P. Geissler, H. Haussecker (Eds.), Manual de visión por computadora y aplicaciones con Cdrom, 1.ª ed., Morgan Kaufmann Publishers Inc., San Francisco, CA, EE. UU., 1999, págs. 125-151 (Capítulo 6).

enlaces externos