Las derivadas de imagen se pueden calcular utilizando pequeños filtros de convolución de tamaño 2 x 2 o 3 x 3, como los operadores Laplacian , 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 de Gauss [2] y los filtros de Gabor . [3] A veces es necesario eliminar el ruido de alta frecuencia y esto puede incorporarse en el filtro para que el kernel 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
dónde 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 el operador de Sobel, se definen de la siguiente manera, para el y direcciones respectivamente:
dónde aquí denota la operación de convolución bidimensional .
Este operador es separable y se puede descomponer como los productos 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 (comparar 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 tomas 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 (wrt Y) Iv = conv2 ( k , d , im , 'mismo' ); % derivado horizontalmente (wrt X)
Cabe señalar que Farid y Simoncelli han derivado 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 la segunda derivada y, por lo tanto, es mejor usarlos si se buscan tanto la primera como la segunda derivada. En el caso opuesto, cuando sólo se desea la primera derivada, deben emplearse los coeficientes óptimos de la primera derivada; se pueden encontrar más detalles en su artículo.
Derivados de Hast
Hast presentó 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 de derivada 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 cae entre píxeles. Esto se resuelve mediante un enfoque de doble filtrado dando filtros de tamaño 7 x 7. La idea es filtrar primero por interpolación para que se obtenga el valor interpolado entre píxeles, después de lo cual se repite el procedimiento usando filtros derivados, donde ahora cae el valor central en los centros de píxeles. Esto puede demostrarse fácilmente mediante la ley asociativa de convolución.
Por lo tanto, el núcleo de convolución para calcular la derivada usando un kernel de interpolación y un núcleo derivado 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 Bezier . Hast demuestra que dicha superficie se puede realizar como una convolución separable
dónde es la matriz de base spline, y son vectores que contienen las variables y , como
Los núcleos de convolución ahora se pueden configurar en
Por tanto, las derivadas de primer orden en el píxel central se calculan como
y
Asimismo, 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
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 ejemplo de abajo en Matlab usa la 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 , 'mismo' ); % de derivada vertical (wrt Y) Iv = conv2 ( conv ( k , k ), conv ( d , k ), im , 'igual' ); % derivada horizontal (wrt X)
Otros enfoques
Se pueden usar filtros orientables para calcular derivadas [10] Además, Savitzky y Golay [11] proponen un enfoque de suavizado de polinomios de mínimos cuadrados, que podría usarse para calcular derivadas y Luo et al [12] discuten 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] discuten con más detalle los principios del diseño de filtros, incluidos los filtros derivados.
Referencias
- ^ Pratt, WK, 2007. Procesamiento de imágenes digitales (4ª ed.). John Wiley & Sons, Inc. págs. 465–522
- ^ 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 1a Conferencia Internacional sobre el Espacio de Escala y Métodos Variacionales en Visión por Computadora, Springer-Verlag , Berlín, Heidelberg, 2007, págs. 406–417.
- ^ P. Moreno, A. Bernardino, J. Santos-Victor, Mejora del descriptor de tamizado con filtros derivados suaves, Pattern Recognition Letters 30 (2009) 18-26.
- ^ JJ Koenderink, AJ van Doorn, Operadores de vecindario genéricos , IEEE Trans. Patrón Anal. Mach. Intell. 14 (1992) 597–605.
- ^ D. Gabor, Teoría de la comunicación, J. Inst. Electr. Ing. 93 (1946) 429–457.
- ^ JG Daugman, Transformaciones de Gabor 2-D discretas completas mediante redes neuronales para el análisis y la compresión de imágenes, IEEE Trans. Acoust. Proceso de la señal del habla. 36 (1988) 1169-1179.
- ^ 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.
- ^ H. Farid y EP Simoncelli, Núcleos derivados direccionales equivariantes de rotación óptima , Análisis informático de imágenes y patrones de Conf Int'l, págs.207-214, septiembre de 1997.
- ^ 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, no 1 de junio, págs. 2014.
- ^ WT Freeman, EH Adelson, El diseño y uso de filtros orientables , IEEE Trans. Patrón Anal. Mach. Intell. 13 (1991) 891–906.
- ^ A. Savitzky, MJE Golay, Suavizado y diferenciación de datos mediante procedimientos simplificados de mínimos cuadrados , Anal. Chem. 36 (1964) 1627-1639.
- ^ J. Luo, K. Ying, P. He, J. Bai, Propiedades de los diferenciadores digitales savitzky-golay, Digit. Proceso de señal. 15 (2005) 122-136.
- ^ 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.
- ^ Scharr, Hanno, 2000, Disertación (en alemán), Operadores óptimos en el procesamiento de imágenes digitales .
- ^ B. Jähne, H. Scharr y S. Körkel. Principios del diseño de filtros. En Manual de Visión por Computador y Aplicaciones. Prensa académica, 1999.
- ^ 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
- derivative5.m Farid y Simoncelli: 5-Tap 1ª y 2ª derivadas discretas.
- derivative7.m Farid y Simoncelli: Derivadas discretas 1a y 2a derivadas de 7-Tap
- kernel.m Hast: 1ª y 2ª derivadas discretas para splines cúbicos, splines Catmull-Rom, splines Bezier, splines B y splines trigonométricos.