Vista previa del material en texto
Introducción al Análisis de Fourier Aplicaciones en imágenes digitales Dr. Wilfrido Gómez Flores Filtrado de imágenes 1/38 Aplicaciones en imágenes digitales FIC-07 Filtrado paso bajo paso alto Filtrado se re�ere a pasar, modi�car o rechazar componentes de frecuencia especí�cas de una señal o imagen. D0 es la frecuencia de corte y b es el ancho de banda del �ltro. 2/38 Aplicaciones en imágenes digitales FIC-07 Filtrado espacial El �ltrado espacial modi�ca una imagen reemplazando el valor de cada píxel por una función de los valores de el píxel y sus vecinos. Un �ltro espacial utiliza una ventana (máscara o kernel) que se desplaza píxel por píxel generando una imagen �ltrada. El origen del �ltro se ubica sobre la coordenada (x, y) del píxel que será modi�cado. 3/38 Aplicaciones en imágenes digitales FIC-07 Filtrado espacial • La convolución en dos dimensiones se de�ne como: g (x, y) = (h ∗ f) (x, y) , = a∑ i=−a b∑ j=−b h (i, j) f (x− i, y − j), (1) para x = 0, 1, . . . ,M − 1 y y = 0, 1, . . . , N − 1, donde f y g son imágenes de tamaño M ×N , h es un �ltro de tamaño m × n, y a = (m−1)/2 y b = (n−1)/2, asumiendo que m y n son enteros impares. • Si la imagen es de tamaño M ×N y el �ltro es de tamaño m×n, se deben realizar MNmn operaciones para �ltrar la imagen. 4/38 Aplicaciones en imágenes digitales FIC-07 Filtrado espacial Un �ltro lineal realiza una suma de productos entre una imagen f y una ventana de �ltro h mediante el operador de convolución. ○ 5/38 Aplicaciones en imágenes digitales FIC-07 Ejemplos �ltrado espacial Suavizado (filtro paso bajo) 6/38 Aplicaciones en imágenes digitales FIC-07 Ejemplos �ltrado espacial Detección de bordes (filtro paso alto) 7/38 Aplicaciones en imágenes digitales FIC-07 Filtrado en frecuencia El �ltrado en el dominio de la frecuencia se basa en el teorema de convolución: g (x, y) = (h ∗ f) (x, y) = F−1 [H (u, v)F (u, v)] , (2) donde F (u, v) es la DFT de f(x, y) y H(u, v) es una función de �ltrado; todos los arreglos son de tamaño M ×N . f(x,y) (−1)x+y Transformada de Fourier F(u,v) Función de filtro H(u,v) Transformada inversa de Fourier |g(x,y)| Proceso de �ltrado de imágenes en el dominio de la frecuencia. 8/38 Aplicaciones en imágenes digitales FIC-07 Filtrado en frecuencia Filtro paso bajas Gaussiano con frecuencia de corte D0: Hlp (u, v) = exp { − 1 2D20 [( u− M 2 )2 + ( v − N 2 )2]} , (3) y el �ltro paso altas se obtiene como: Hhp (u, v) = 1−Hlp (u, v). (4) 9/38 Aplicaciones en imágenes digitales FIC-07 Filtrado en frecuencia Filtros Gaussianos con diferentes frecuencias de corte D0. Renglón superior: �ltros paso bajos. Renglón inferior: �ltros paso altos. 10/38 Aplicaciones en imágenes digitales FIC-07 Ejemplos �ltrado en frecuencia Filtrado paso bajo en frecuencia para reducción de ruido. ○ 11/38 Aplicaciones en imágenes digitales FIC-07 Ejemplos �ltrado en frecuencia Filtrado paso bajo en frecuencia para detección de bordes. ○ 12/38 Aplicaciones en imágenes digitales FIC-07 Segmentación de imágenes 13/38 Aplicaciones en imágenes digitales FIC-07 Segmentación (a) (b) Segmentación es la tarea de dividir una imagen R en n regiones disjuntas R1, R2, . . . , Rn, donde cada región corresponde con una zona u objeto de interés: (a) imagen con cinco regiones de texturas y (b) imagen segmentada. 14/38 Aplicaciones en imágenes digitales FIC-07 Textura T e x tu ra M a g n it u d Textura: patrón de variaciones de intensidad locales y repetitivas, que se relaciona con armónicos de alta energía en el espectro de Fourier. Para caracterizar los patrones de textura, se utilizan �ltros paso ban- da que cubren una banda de frecuencias especí�ca del espectro. 15/38 Aplicaciones en imágenes digitales FIC-07 Filtro de Gabor espacial El �ltro de Gabor es un �ltro paso banda multiescala con orientación selectiva, cuya máscara de convolución es una función Gaussiana modulada por una onda sinusoidal: h(s, t) = exp ( − ŝ 2 + γt̂2 2σ2 ) exp ( j ( 2π ŝ λ + φ )) , (5) donde ŝ = s cos θ + t sin θ y t̂ = t cos θ − s sin θ son las coordenadas (s, t) rotadas un ángulo θ ∈ (0, π), λ es la longitud de onda, φ es el ángulo de fase, σ2 es la varianza, y γ es la relación de aspecto. 16/38 Aplicaciones en imágenes digitales FIC-07 Filtro de Gabor espacial Los coe�cientes del �ltro de Gabor son números complejos, donde la parte real es la modulación de una onda coseno (izquierda) y la parte imaginaria es la modulación de una onda seno (derecha). ○ 17/38 Aplicaciones en imágenes digitales FIC-07 Filtro de Gabor en frecuencia • En el dominio de la frecuencia, el �ltro de Gabor es: H(u, v) = exp { − 1 2 [ (û− uk)2 σ2u + v̂2 σ2v ]} + exp { − 1 2 [ (û+ uk) 2 σ2u + v̂2 σ2v ]} , (6) donde û = u cos θ+v sin θ y v̂ = v cos θ−u sin θ son coordenadas rotadas un ángulo θ ∈ (0, π), y σu = σv = 12πσb son la escala del �ltro en función del parámetro de ancho de banda b: σb = 1 2uk √ ln 2 2 2b + 1 2b − 1 . (7) • En un banco de �ltros, las frecuencias radiales (uk) se determinan a partir del ancho de la imagen (Nc): uk ∈ { 20 √ 2, 21 √ 2, 22 √ 2, . . . , 2⌊log2(Nc/4)⌋ √ 2 } . (8) 18/38 Aplicaciones en imágenes digitales FIC-07 Filtro de Gabor en frecuencia Un �ltro de Gabor está compuesto de dos funciones Gaussianas des- plazadas simétricamente del origen a las frecuencias radiales uk y −uk. Cada escala σb y orientación θ realza un patrón de textura que se �sintoniza� con estos parámetros. ○ 19/38 Aplicaciones en imágenes digitales FIC-07 Segmentación de texturas Pasos principales para la segmentación de texturas basado en �ltros de Gabor. La segmentación de la imagen se realiza mediante aprendi- zaje no supervisado usando el algoritmo k-medias para crear grupos de píxeles que presenten similitud en los patrones de textura local. 20/38 Aplicaciones en imágenes digitales FIC-07 Segmentación de texturas Paso 1 � Se utiliza un banco de �ltros de Gabor para cubrir diferentes localidades del espectro, variando la orientación y la frecuencia radial de los �ltros, lo cual genera mapas de características. 21/38 Aplicaciones en imágenes digitales FIC-07 Segmentación de texturas • Los mapas de características son preprocesados para homogeneizar regiones de textura similares. • Paso 2 � Crear un banco de �ltros Gaussianos usando la expresión en (3), donde la frecuencia de corte D0 depende de la frecuencia radial uk: D0 = κ Nc u k donde κ es una constante que controla el ancho del �ltro. • A mayor frecuencia radial, menor es la frecuencia de corte del �ltro Gaussiano. • Un canal de textura para la frecuencia uk se suaviza con su co- rrespondiente �ltro Gaussiano en el dominio de la frecuencia. 22/38 Aplicaciones en imágenes digitales FIC-07 Segmentación de texturas 23/38 Aplicaciones en imágenes digitales FIC-07 Segmentación de texturas Paso 3 � El valor de cada píxel (x, y) de todos los canales de textura es extraído y concatenado en un vector de características, incluyendo su propia coordenada en x e y. Los vectores de características de todos los píxeles de la imagen forman un espacio de características. 24/38 Aplicaciones en imágenes digitales FIC-07 Segmentación de texturas Paso 4 � Agrupamiento de texturas similares: 1. Normalizar los valores de cada columna de la matriz de carac- terísticas: z′i = zi − µi σi , para i = 1, 2, . . . , d+ 2, (9) donde µi y σi son la media y desviación estándar de la i-ésima columna de la matriz Z. 2. Agrupar el espacio de características normalizado con k-medias, de�niendo un número k de grupos. 25/38 Aplicaciones en imágenes digitales FIC-07 Segmentación de texturas Paso 5 � La salida del algoritmo k-medias es un vector de etiquetas, donde cada elemento es un valor entero que indica la pertenencia del píxel (x, y) a un grupo. Entonces, asignar a cada píxel de la imagen la etiqueta de grupo que le corresponde. 26/38 Aplicaciones en imágenes digitales FIC-07Segmentación de texturas 27/38 Aplicaciones en imágenes digitales FIC-07 Reconocimiento de objetos 28/38 Aplicaciones en imágenes digitales FIC-07 Forma de los objetos • Reconocimiento de objetos � técnica de visión por computadora para comprender lo que contiene una imagen. • Distinguir diferentes tipos de objetos a partir de sus rasgos distin- tivos, e.g., la forma de los objetos. La forma de un objeto se abstrae en una imagen binaria f(x, y) ∈ {0, 1} que representa la extensión del objeto sobre el plano de la imagen y se obtiene usando un método de segmentación. 29/38 Aplicaciones en imágenes digitales FIC-07 Forma de los objetos • Los rasgos de forma son extraídos y almacenados en un vector de características: x = [x1, x2, . . . , xd], (10) donde d es la cantidad de rasgos extraídos del objeto. • El vector x se asocia con una etiqueta de clase y ∈ Ω = {1, . . . , c}, donde c es el número clases de objetos que se desean reconocer. • El reconocimiento de objetos es el resultado de un algoritmo de aprendizaje supervisado que realiza el mapeo: g(x) → ŷ ∈ Ω, (11) donde g(·) es una función discriminante e ŷ es la etiqueta estimada. 30/38 Aplicaciones en imágenes digitales FIC-07 Descriptores de Fourier • Descriptores de Fourier � coe�cientes del espectro de Fourier que se extraen del borde de los objetos para describir su forma. • Un píxel del borde tiene al menos un píxel vecino del fondo. El borde se extrae con un algoritmo de seguimiento de contorno que devuelve la lista de coordenadas de los píxeles del borde ordenados en sentido horario: s(k) = [x(k), y(k)], para k = 0, 1 . . . , np−1, donde np es el número de píxeles del borde. ○ 31/38 Aplicaciones en imágenes digitales FIC-07 Descriptores de Fourier 0 50 100 150 200 250 300 350 400 Eje real 0 50 100 150 200 250 E je i m a g in a ri o La secuencia s(k) = [x(k), y(k)] en 2D se transforma a una señal 1D usando una representación de números complejos: s(k) = x(k) + jy(k), para k = 0, 1, . . . , np − 1. (12) 32/38 Aplicaciones en imágenes digitales FIC-07 Descriptores de Fourier • Los descriptores de Fourier se obtienen de la DFT de la secuencia compleja s(k): a(u) = np−1∑ k=0 s(k)e − j2πuk np , para u = 0, 1, . . . , np − 1. (13) • Los primeros p coe�cientes de Fourier aproximan la forma del ob- jeto usando la transformada inversa DFT: ŝ(k) = 1 np np−1∑ u=0 φp [a(u)] e j2πuk np , donde φp [a(u)] = a(u) si u < p,0 otro caso, (14) para k = 0, 1, . . . , np − 1. 33/38 Aplicaciones en imágenes digitales FIC-07 Descriptores de Fourier 50% 10% 5%100% Contorno de la cebra reconstruido para diferentes porcentajes de co- e�cientes de Fourier usando (14). Las frecuencias altas contienen detalles �nos y ruido del contorno del objeto, mientras que las fre- cuencias bajas contienen la información global de la forma del objeto. En todos los casos, la señal original s(k) y la reconstruida ŝ(k) tienen el mismo número de puntos. 34/38 Aplicaciones en imágenes digitales FIC-07 Descriptores de Fourier • Los descriptores de Fourier son los coe�cientes complejos a(u) normalizados para hacerlos invariantes a cambios de escala, tras- lación y rotación de los objetos: 1. Invianza a traslación: colocar el primer coe�ciente a(0) (i.e., componente DC) en cero, i.e., a(0) = 0. 2. Invarianza a escalamiento: dividir a(u) sobre la magnitud del segundo coe�ciente a(1), i.e., a(u) = a(u)||a(1)|| , u ≥ 0. 3. Invarianza a rotación: calcular la magnitud de los coe�cien- tes a(u), i.e., a(u) = ||a(u)||, para u ≥ 0. • Obtener los coe�cientes normalizados para formar el vector de características x = [a(2), a(3), . . . , a(p+ 2)]. • Los coe�cientes normalizados a(0) = 0 y a(1) = 1; por lo tanto, son removidos. 35/38 Aplicaciones en imágenes digitales FIC-07 Descriptores de Fourier 0 100 200 300 400 Eje real 0 100 200 300E je i m a g in a ri o 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 Características 0 0.1 0.2 0.3 0.4 0.5 A m p lit u d (a) 0 100 200 300 400 Eje real 0 100 200 300E je i m a g in a ri o 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 Características 0 0.1 0.2 0.3 0.4 0.5 A m p lit u d (b) 0 100 200 300 400 Eje real 0 100 200 300E je i m a g in a ri o 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 Características 0 0.1 0.2 0.3 0.4 0.5 A m p lit u d (c) 0 100 200 300 400 Eje real 0 100 200 300E je i m a g in a ri o 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 Características 0 0.1 0.2 0.3 0.4 0.5 A m p lit u d (d) Descriptores de Fourier para diferentes transformaciones geométricas del objeto: (a) original, (b) escalamiento con α = 0.5, (c) rotación con θ = π/6, y (d) escalamiento con α = 0.5, rotación con θ = π/6 y traslación con t = 150 + j100. Todas las �rmas espectrales son similares, es decir, invariantes a transformaciones geométricas. 36/38 Aplicaciones en imágenes digitales FIC-07 Descriptores de Fourier 0 100 200 300 400 Eje real 0 100 200 300 400 E je i m a g in a ri o 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 Características 0 0.1 0.2 0.3 0.4 0.5 A m p lit u d 0 100 200 300 400 500 Eje real 0 100 200 300 400 500 E je i m a g in a ri o 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 Características 0 0.1 0.2 0.3 0.4 0.5 A m p lit u d 0 100 200 300 Eje real 0 100 200 E je i m a g in a ri o 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 Características 0 0.1 0.2 0.3 0.4 0.5 A m p lit u d Los descriptores de Fourier son discriminantes para objetos de clases diferentes, es decir, las �rmas espectrales presentan distribuciones distintas. 37/38 Aplicaciones en imágenes digitales FIC-07 Reconocimiento de objetos 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Para el reconocimiento de objetos se obtienen los p descriptores de Fourier de las clases de objetos que se desean clasi�car (i.e., se crea un conjunto de entre- namiento). Después, se puede utilizar el algoritmo de los k-vecinos más cercanos (kNN) para determinar la etiqueta de clase de un patrón de prueba xtest. 38/38 Aplicaciones en imágenes digitales FIC-07 Filtrado Filtrado espacial Ejemplos filtrado espacial Filtrado en frecuencia Ejemplos filtrado en frecuencia Segmentación Textura Filtro de Gabor espacial Filtro de Gabor en frecuencia Segmentación de texturas Forma de los objetos Descriptores de Fourier Reconocimiento de objetos anm5: 5.29: 5.28: 5.27: 5.26: 5.25: 5.24: 5.23: 5.22: 5.21: 5.20: 5.19: 5.18: 5.17: 5.16: 5.15: 5.14: 5.13: 5.12: 5.11: 5.10: 5.9: 5.8: 5.7: 5.6: 5.5: 5.4: 5.3: 5.2: 5.1: 5.0: anm4: 4.19: 4.18: 4.17: 4.16: 4.15: 4.14: 4.13: 4.12: 4.11: 4.10: 4.9: 4.8: 4.7: 4.6: 4.5: 4.4: 4.3: 4.2: 4.1: 4.0: anm3: 3.11: 3.10: 3.9: 3.8: 3.7: 3.6: 3.5: 3.4: 3.3: 3.2: 3.1: 3.0: anm2: 2.5: 2.4: 2.3: 2.2: 2.1: 2.0: anm1: 1.5: 1.4: 1.3: 1.2: 1.1: 1.0: anm0: 0.8: 0.7: 0.6: 0.5: 0.4: 0.3: 0.2: 0.1: 0.0: