stringtranslate.com

Derivado 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 Laplaciano , 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 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 los 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 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 los productos de un núcleo de 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 de modo 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 toques 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 utilizando Matlab para realizar la convolución.

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

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

Derivados de Hast

Los filtros derivados basados ​​en splines cúbicos arbitrarios fueron presentados por Hast [9] . Demostró cómo las derivadas de primer y segundo orden pueden calcularse de manera más correcta utilizando splines cúbicos o trigonométricos. Los filtros derivados eficientes deben tener una longitud impar para que la derivada se calcule para el píxel central. Sin embargo, cualquier filtro cúbico se ajusta sobre 4 puntos de muestra, lo que da un centro que cae entre los píxeles. Esto se resuelve mediante un enfoque de filtrado doble que da filtros de tamaño 7 x 7. La idea es filtrar primero por interpolación para obtener el valor interpolado entre píxeles, después se repite el procedimiento utilizando filtros derivados, donde el valor central ahora cae en los centros de los píxeles. Esto se puede demostrar fácilmente mediante la ley asociativa para 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 hay que tener 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 un núcleo derivado de segundo orden, así como un núcleo derivado 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 Bézier . Hast demuestra que una superficie de este tipo se puede realizar como una convolución separable.

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

Ahora se pueden configurar los núcleos de convolución para

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

y

De la misma manera, con los núcleos derivados de segundo orden son

y

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

Del mismo modo, 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 ejemplo que se muestra a continuación en Matlab utiliza el spline Catmull-Rom para calcular las derivadas.

 M = [ 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 , 'igual' ); % derivada vertical (con respecto a Y) Iv = conv2 ( conv ( k , k ), conv ( d , k ), im , 'igual' ); % derivada horizontal (con respecto a X)                             

Otros enfoques

Los filtros orientables se pueden utilizar para calcular derivadas [10]. Además, Savitzky y Golay [11] proponen un enfoque de suavizado polinomial de mínimos cuadrados , que podría utilizarse para calcular derivadas y Luo et al [12] analizan este enfoque con más detalle. Scharr [13] [14] [15] muestra cómo crear filtros derivados 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 derivados.

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 artificial, 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 vecindarios genéricos, IEEE Trans. Patrón Anal. Mach. Intel. 14 (1992) 597–605.
  5. ^ D. Gabor, Teoría de la comunicación, J. Inst. Electr. Eng. 93 (1946) 429–457.
  6. ^ JG Daugman, Transformadas de Gabor 2-D discretas completas mediante redes neuronales para análisis y compresión de imágenes, IEEE Trans. Acoust. Speech Signal Process. 36 (1988) 1169–1179.
  7. ^ H. Farid y EP Simoncelli, Diferenciación de señales multidimensionales discretas, IEEE Trans Image Processing, vol.13(4), pp. 496--508, abril de 2004.
  8. ^ H. Farid y EP Simoncelli, Núcleos derivados direccionales de rotación óptimamente equivariantes, Int'l Conf Computer Analysis of Images and Patterns, 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.º 1, junio, págs. 65-71. 2014.
  10. ^ WT Freeman, EH Adelson, El diseño y uso de filtros orientables, IEEE Trans. Pattern Anal. Mach. Intell. 13 (1991) 891–906.
  11. ^ A. Savitzky, MJE Golay, Suavizado y diferenciación de datos mediante procedimientos de mínimos cuadrados simplificados, Anal. Chem. 36 (1964) 1627–1639.
  12. ^ J. Luo, K. Ying, P. He, J. Bai, Propiedades de los diferenciadores digitales de Savitzky-Golay, Digit. Signal Process. 15 (2005) 122–136.
  13. ^ H. Scharr, Familias de filtros derivados óptimos de segundo orden para estimación de movimiento transparente, en: M. Domanski, R. Stasinski, M. Bartkowiak (Eds.), EUSIPCO 2007.
  14. ^ Scharr, Hanno, 2000, Tesis (en alemán), Operadores óptimos en el procesamiento de imágenes digitales .
  15. ^ B. Jähne, H. Scharr y S. Körkel. Principios del diseño de filtros. En Handbook of Computer Vision and Applications. Academic Press, 1999.
  16. ^ B. Jähne, P. Geissler, H. Haussecker (Eds.), Handbook of Computer Vision and Applications with Cdrom, 1.ª ed., Morgan Kaufmann Publishers Inc., San Francisco, CA, EE. UU., 1999, págs. 125-151 (Capítulo 6).

Enlaces externos