Transformada de Fourier Transformada Inversa de Fourier Estas ecuaciones existen si f(x) es continua e integrable y si F(u) es integrable (casi siempre se cumplen en la práctica).
Espectro de Fourier La Trasformada de Fourier de una función real f(x) es generalmente compleja
Potencia Espectral Fórmula de Euler
Ejemplo: Se multiplica el lado derecho por e πu2 e πu2 = 1
Ejemplo:
Transformada de Fourier en 2D Transformada Inversa de Fourier en 2D
Transformada Discreta de Fourier Funciones de una Variable
Transformada Discreta Inversa
DFT en 2D DFT Inversa en 2D u y v son las Variables de Frecuencia x y y son las Variables Espaciales o de la Imagen
Espectro de Fourier Potencia Espectral
Inversión del Espectro de Fourier Es común multiplicar la imagen de entrada por (-1) x+y antes del cálculo de la transformada de Fourier. Debido a las a las propiedades de los exponenciales se puede demostrar que: Haciendo esta multiplicación se logra que el origen de la Transformada de Fourier de f(x,y) (-1) (x+y), que es F(0,0), este localizada en u=m 2 y v=n 2. DFT 2D crea un rectángulo de área MxN al cual se le llama Rectángulo de Frecuencia.
Propiedades de la Transformada de Fourier Simetría Una función que no tiene simetría par o impar se puede descomponer en componentes par e impar por medio de: donde
Si se expresa f(x) como una suma de componentes pares e impares El segundo y tercer término son integrales infinitas del producto de una función par por un impar, lo que da cero como resultado, entonces:
1. Un componente par de una función produce un componente par en la transformada. 2. Un componente impar de una función produce un componente impar en la transformada. 3. Un componente impar de una función introduce el coeficiente j. 4. Un componente par de una función no introduce el coeficiente j. Una función real (ej. una imagen) produce una transformada que contiene una parte real par y una parte imaginaria impar, a esto se le llama función Hermitiana, la cual posee la propiedad del conjugado simétrico
Linealidad
Desplazamiento en el Tiempo
Convolución Por la propiedad de desplazamiento en el tiempo
Similaridad Escalamiento
Teorema de Rayleigh La integral existe para señales transitorias y la energía es un parámetro que refleja el tamaño total de la función. El teorema de Rayleigh dice que Lo que significa que la transformada tiene la misma energía que la función.
Propiedades de la Transformada de Linealidad Fourier en 2D Similaridad - Escalamiento Desplazamiento en el Tiempo
Convolución Diferenciación Laplaciano
Rotación Teorema de Rayleigh Separabilidad
Filtrado en el Dominio de la Frecuencia
La multiplicación se hace elemento por elemento. Los filtros más comunes son reales, en este caso la parte real de H multiplica a la parte real e imaginaria de F. A esto se le llama Filtro de Cero Desplazamiento de Fase (Zero-Phase-Shift), es decir, no alteran la fase de la transformada. La transformada Inversa es generalmente compleja, por lo que se toma solo la parte real.
Los valores de magnitud obtenidos en el Espectro de Fourier se encuentran dispersos sobre un rango muy amplio, para visualizar este espectro se requiere realizar una cuantificación para representarlos en una escala de 0 a 255. Otra forma de visualizar el espectro de magnitud es tomando el logaritmo base 10 y luego realizar la cuantificación.
Ideal (ILPF) Filtro Pasa Bajas
Butterworth (BLPF) orden n
Gaussiano (GLPF)
Ideal (IHPF) Filtro Pasa Altas
Butterworth (BHPF) orden n
Gaussiano (GHPF)
Laplaciano
Transformada Rápida de Fourier FFT Fast Fourier Transform DFT- NxM multiplicaciones y NxM sumas FFT se aplica a imágenes cuadradas de tamaño N donde N=2 P La función exponencial es periódica en el producto nxi. La matriz ω puede ser factorizada en un producto de NxN matrices que contienen valores repetidos incluyendo muchos ceros y unos. Si N=2 P entonces ω se puede factorizar en p matrices de manera que el total de operaciones es
TRANSFORMADA DISCRETA LINEALES DE 1D X es un vector de Nx1. T es una matriz de transformación de NxN (Matriz Kernel) para i=0,, N-1. Ejemplo: Rotación de un vector X de dos dimensiones por un ángulo ѳ Transformada Inversa
Transformada Unitaria T debe ser una matriz unitaria. * - Complejo conjugado de T t - Transpuesta de T Si T solo tiene componentes reales entonces se le denomina Matriz ortogonal. Las filas de T son un conjunto de vectores ortogonales.
Ejemplo: DFT 1D es una transformada unitaria Donde ω es una matriz unitaria (pero no ortogonal) con elementos complejos
Normalmente la matriz de transformación es nosingular (rango (T)=N) para hacer la transformada invertible. Las filas de T forman un conjunto de vectores base ortonormales o vectores unitarios del espacio de vectores N-dimensionales de todos los vectores de Nx1. Cualquier secuencia de Nx1 puede ser interpretada como un vector del origen a un punto en el espacio N-dimensional.
TRANSFORMADAS DISCRETAS LINEALES EN 2D F matriz original de NxN G - matriz transformada de NxN J i, k, m, n - matriz Kernel Si se puede separar en el producto de funciones componentes por renglones y columnas, entonces se le llama Transformada Separable.
Por lo tanto, la operación de transformación se puede realizar en dos partes Además si las funciones componente son iguales, la transformada es simétrica y la operación de transformación se expresa como o simplemente
Si T es una matriz unitaria la transformada inversa se escribe como: Ejemplo: DFT 2D es una transformada unitaria, simétrica y separable: Si T es ortogonal entonces F = T t GT t y si T es simétrica entonces G = TFT y F= TGT. Esto sucede generalmente cuando T es real.
FUNCIONES BASE Los renglones de la matriz kernel forman un conjunto de vectores base para un espacio de vectores N-dimensional. Los renglones son ortonormales. donde (j, k) es la función Delta de Kronecker (función impulso discreto). Cualquier vector en el espacio transformado se puede expresar como la sumatoria de vectores base de longitud unitaria con diferentes pesos. Cualquier transformada unitaria unidimensional corresponde entonces a la rotación de un vector en un espacio de vectores N-dimensional. Cualquier transformada unitaria, separable y simétrica en 2 dimensiones corresponde a la rotación de un vector en el espacio de N 2 dimensiones.
IMÁGENES BASE La transformada inversa 2D puede interpretarse como la reconstrucción de la imagen por la sumatoria de un conjunto de imágenes base con pesos apropiados. Cada elemento en la matriz transformada G es el coeficiente por el cual la imagen base correspondiente es multiplicada en la sumatoria. Una imagen base puede generarse transformando inversamente una matriz de coeficientes que contenga solo un elemento diferente de cero, el cual se hace igual a 1. Existen N 2 de esas matrices y estas producen N 2 imágenes base, una de estas matrices de coeficientes sería: donde (i, j) son los índices de las columnas y (p, q) indican la posición específica del elemento diferente de cero. La transformada inversa es:
TRANSFORMADAS SENUSOIDALES Transformada Discreta de Fourier (DFT) donde F es una matriz de una imagen y G es la matriz espectro.
TRANSFORMADA DISCRETA DE COSENO (DCT) Los coeficientes son: α 0 = 1 N ; α m = 2 N para 1 < m N y α n = 2 N. La Transformada Discreta del Coseno (DCT) puede expresarse como: donde: DCT consiste de solo valores reales se usa en compresión de imágenes.
TRANSFORMADA DISCRETA DEL SENO (DST) La Transformada Discreta del Seno (DST) puede expresarse como: donde: DST es más eficientemente si es calculada para N=2 p -1.
TRANSFORMADA DE HARTLEY (DHT) Función base casθ = cosθ + senθ = 2 cos θ + π 4 coseno trasladado 45 a la derecha Elementos de la matriz kernel de DHT DHT solo tiene elementos reales.
TRANSFORMADAS DE ONDA RECTANGULAR TRANSFORMADA DE HADAMARD Es una transformada unitaria, separable y simétrica que solo tiene +1 y -1 en su matriz kernel. Existe para N=2 n. En el caso de una matriz de 2x2 y para matrices mayores de tamaño N
La columna de la derecha indica el número de cambios de signo de la fila y es llamada la secuencia de la fila. La matriz se puede reordenar de forma que la secuencia sea ascendente.
TRANSFORMADA DE WALSH Las funciones base de la transformada de Hadamard son realmente funciones de Walsh, por lo que la transformada de Hadamard se le conoce también como transformada de Walsh.
TRANSFORMADA DE SLANT Diseñada para tener una primera función base constante y una segunda función base lineal. Esta segunda función base corresponde a los cambios graduales del fondo de muchas imágenes. La matriz kernel unitaria para la transformada Slant se obtiene a partir de la matriz kernel de Hadamard y Haar de 2x2:
Y se itera de acuerdo al siguiente esquema: I es la matriz identidad de tamaño N 2 2
TRANSFORMADA DE HAAR La transformada de Haar es unitaria, separable y simétrica y usa funciones Haar como funciones base. Existe para N = 2 n. Las funciones base de DFT varían solo en frecuencia, las funciones de Haar varían en escala (ancho) y posición. Esto le da a la transformada de Haar una naturaleza dual de posición y escala. Esta característica la distingue de las otras transformadas y es el punto de inicio para la Transformada Wavelet. Transformada Wavelet Análisis de Multiresolución
TRANSFORMADAS BASADAS EN EIGENVALORES Y EIGENVECTORES Eigenvalores y Eigenvectores Valores y vectores propios Valores y vectores característicos Eigenanálisis.- Cálculo de Eigenvalores y Eigenvectores Eigenvalores: Para una matriz A de N por N existen N escalares λ k donde k=1,, N, tal que A λ k I = 0. Estos escalares λ k son un conjunto único de eigenvalores o valores característicos de la matriz A. Cada eigenvalor puede ser visto como una cantidad la cual al ser sustituida en cada elemento de la diagonal principal hace que la matriz A sea singular. Por definición, no existe un orden para los eigenvalores, pero es común ordenarlos de mayor a menor, esto es, λ k λ k+1. Si la matriz es singular, entonces cuando menos uno de sus N eigenvalores será cero.
El rango de la matriz A (rank(a)) es el número de eigenvalores diferentes de cero. El número de condición de la matriz A es la diferencia que existe entre su mayor y menor eigenvalor, si este número es grande, pero finito, entonces la matriz A tiene mala condición (ill conditioned) y tratar de encontrar su inversa puede ser un proceso numéricamente muy difícil. Ax = B x = A 1 B Eigenvectores: Existen N vectores V k de Nx1 tal que AV k = λ k V k los vectores V k son llamados eigenvectores o vectores característicos de la matriz A. Cada eigenvector corresponde a un eigenvalor. Si A es real y simétrica, entonces los λ k eigenvalores son reales.
ANALISIS DE COMPONENTES PRINCIPALES (PCA) Harold Hotelling desarrolló una transformación lineal que remueve la correlación entre los elementos de un vector aleatorio y la llamó Método de Componentes Principales. Karhunen y Loéve desarrollaron una transformada similar para señales continuas, la cual se denomina K-L Transform. Sea X un vector aleatorio de Nx1, esto es, cada elemento X i de X es una variable aleatoria. El vector medio de X se puede estimar de una muestra de L de esos vectores por medio de: y su matriz de covarianza por m x 1 L C X = E (X m X ) (X m X ) t = 1 X L l X t t l m X m X l=1 La matriz de covarianza C X es real y simétrica de tamaño NxN. Sus elementos diagonales son las varianzas de las variables aleatorias individuales, mientras que los demás elementos son covarianzas. L l=1 X l L
Vector promedio: Matriz de Covarianza:
Considere que la matriz A define una Transformación Lineal que genera un vector Y a partir de cualquier vector X por medio de la ecuación: Y = A(X m x ) donde A es construida a partir de los eigenvectores de C x. Por conveniencia se ordenan los renglones de A en forma descendiente de acuerdo a la magnitud de sus eigenvalores correspondientes. El vector transformado Y es un vector aleatorio con media cero y su matriz de covarianza se relaciona con la de X por: C Y = AC X A t
Ya que los renglones de A son eigenvectores de C X,C Y será una matriz diagonal que tiene los eigenvalores de C X a lo largo de su diagonal C Y = λ 1 0 0 λ N Y los λ k son también los eigenvalores de C Y. Note que la transformada Y = A X m X es invertible, esto es, se puede reconstruir un vector X a partir de su vector transformado Y por: X = A 1 (Y + m X ) = A t (Y + m X ) Ya que la matriz A es unitaria y real (ortogonal).
REDUCCIÓN DE DIMENSIONES Se puede reducir la dimensionalidad de un vector ignorando uno o más de sus eigenvectores que tengan valores pequeños. Sea B una matriz de MxN, donde M<N, formada al descartar los (N-M) renglones más bajos de A, asumiendo que m X =0 (media cero) para simplificar, entonces los vectores transformados son más pequeños (Mx1) y están dados por: Aun así, los vectores x se pueden reconstruir (aproximadamente) por medio de: El error cuadrático medio de esta aproximación esta dado por que equivale a la suma de los eigenvalores descartados.
TRANSFORMADA WAVELET La transformada de Fourier utiliza ondas senusoidales como funciones base. Estas funciones base se extienden hacia el infinito en ambas direcciones y solo varían en frecuencia. La transformada Wavelet usa funciones base con duración limitada. Estas funciones base varían tanto en posición como en frecuencia y son llamadas Wavelets u Onduletas.
La transformada Haar tiene vectores base generados por translaciones y escalamientos de una sola función. La función de Haar que es un par de pulsos rectangulares impares, es la onduleta más antigua y simple. Funciones base de la Trasformada Haar.
TRANSFORMADA WAVELET CONTINUA (GROSSMAN Y MORLET) Definición Si ψ x es una función de valores reales con espectro de Fourier ψ s, satisface el criterio de admisibilidad Entonces ψ x es llamada onduleta básica o basic wavelet. Note que debido al denominador s de la integral será necesario que Además, ya que ψ = 0, podemos observar que el espectro de amplitud de una onduleta admisible es similar a la función de transferencia de un filtro pasa bandas.
Un conjunto de funciones onduleta base (wavelet basic functions) ψ a,b (x), se puede generar trasladando y escalando la función onduleta base, ψ x, de la siguiente forma: donde a>0 y b son números reales. La variable a refleja la escala (ancho) de una función base particular, mientras b especifica su posición de traslación a lo largo del eje x. Normalmente ψ x está centrada en el origen, de manera que ψ a,b x estará centrada en x=b.
La transformada wavelet continúa de f(x) con respecto a ψ x es: Transformada directa (CWT) Los coeficientes de la transformada wavelet están dados por los productos internos de la función a transformar con cada una de las funciones básicas. La transformada wavelet inversa para funciones continuas es: Transformada inversa (icwt)
TRANSFORMADA WAVELET CONTINUA EN 2D (CWT) Si f(x,y) es una función continua en 2D, su transformada wavelet es: donde bx y by especifican las traslaciones en 2D. La CWT inversa en 2D es: donde: y ψ x, y es una onduleta base en 2D.
TRANSFORMADA WAVELET DISCRETA (DWT) Existen 3 técnicas básicas para el desarrollo de la Transformada Wavelet Discreta (DWT): 1. Teoría de banco de filtros 2. Análisis Multi-resolución o análisis tiempo-escala (pirámides de imágenes) 3. Codificación por sub bandas
DISEÑO DE LA TRASFORMADA WAVELET F s esto significa que: = 2 1 2 G 0 s H 0 s + 1 2 G 1 s H 1 s = 2 1 2 F s H 0 S H 0 s + 1 2 F s H 1 s H 1 s F(s) = F s H 0 2 s + H 1 2 s y las funciones de transferencia de los dos filtros deben cumplir la condición: para 0 s S N. H 0 2 s + H 1 2 s = 1 Suponga que H 0 (s) es una función de transferencia pasa bajas con bordes suavizados que se desea usar en una transformada wavelet. Claramente, la función H 1 (s) correspondiente está dada por H 1 2 = 1 H 0 2 s Por lo tanto, para el diseño de una transformada wavelet discreta se requiere hacer una buena selección de un filtro pasa bajas.
VECTOR DE ESCALAMIENTO - h o (k) k h o k = 2 k h o k h o k + 2l = (l) Con el Vector de Escalamiento se obtiene la Función de Escalamiento: φ t = h o k φ 2t + k k Si se tiene la Función de Escalamiento, entonces se obtiene el Vector de Escalamiento: h o k = φ 1,0 t, φ 0,k t φ j.n t = 2 j 2φ(2 i t k) para j=0,1, y k= 0, 1, 2 j -1.
VECTOR WAVELET h 1 k = 1 k h 0 k + 1 Onduleta básica: ψ t = h 1 k φ 2t k k Conjunto de onduletas ortonormales: ψ j,k t = 2 j 2φ 2 j t + k
CÁLCULO DE LA TRASFORMADA WAVELET La Trasformada Wavelet de una función continua f(t) es: C j,k = f t ψ j,k t dt f t = C j,k ψ j,k t La Trasformada Wavelet Discreta de una función muestreada es: C j,k = f i t ψ j,k i t i j,k f i t = C j,k φ j,k i t j,k
Ejemplo 1: Construcción de DWT usando filtros ideales pasabajas y pasabandas Esto nos da una trasformada wavelet discreta basada onduletas tipo sinc (sinc wavelets). Ejemplo 2: Si hacemos Entonces ψ t es la función Haar, esto nos llevaría a la trasformada Haar.
Transformada Wavelet Discreta (DWT) en 2D Tiene una función de escalamiento en 2 dimensiones que es separable, como en cualquier transformada unitaria φ x, y = φ x φ y ψ 1 indice no exp. x, y = φ x ψ y ψ 2 x, y = ψ x φ y ψ 3 x, y = ψ x ψ y ψ l j,m,n x, y = 2j ψ l (x 2 j m, y 2 j n j 0, l = 1,2,3 donde j, l, m, n son enteros. ψ l j,m,n x, y es un conjunto base ortonormal para L2 (R 2 ).
TRANSFORMADA DIRECTA Se inicia con una imagen de NxN, f 1 (x, y), con N = 2 n, j = 0, la escala es 2 j = 2 0 = 1 que es la escala de la imagen original. Cada valor mayor de j dobla la escala y reduce la resolución a la mitad. La imagen puede ser expandida en términos de onduletas en 2D de la siguiente manera: 1) En cada etapa de la transformada la imagen se descompone en 4 imágenes de un cuarto de tamaño. 2) Cada una de las 4 imágenes es formada por productos internos con una de las imágenes de onduletas base. 3) Se realiza un submuestreo de columnas y reglones por un factor de 2.
TRANSFORMADA DIRECTA
Para la primera etapa j = 1 f 0 2 m, n = f 1 x, y, φ x 2m, y 2n f 1 2 m, n = f 1 x, y, ψ 1 x 2m, y 2n f 2 2 m, n = f 1 x, y, ψ 2 x 2m, y 2n f 3 2 m, n = f 1 x, y, ψ 3 (x 2m, y 2n) Para las etapas subsecuentes j > 1, f 2 j 0 (x, y) es descompuesta de la misma forma para generar 4 imágenes más pequeñas a una escala 2 j+1. Los productos internos se pueden escribir como convoluciones: 0 f 2 j+1 1 f 2 j+1 2 f 2 j+1 3 f 2 j+1 m, n = f 2 j x, y φ x, y 2m, 2n m, n = f 2 j x, y ψ 1 ( x, y) 2m, 2n m, n = f 2 j x, y ψ 2 ( x, y) 2m, 2n m, n = f 2 j x, y ψ 3 ( x, y) 2m, 2n Además se requieren las cuatro operaciones de submuestreo en cada etapa.
Tanto las funciones de escalamiento como las onduletas base son separables, entonces cada convolución se puede dividir en convoluciones por columnas y renglones de f 2 j 0 (x, y).
Si se utilizan Sinc Wavelets, en cada escala f 2 j 0 (x, y) contendrá la información de baja frecuencia de la etapa previa, mientras que f 1 2 j(x, y),f 2 2 j(x, y), f 2 j 3 (x, y) contendrán la información de los bordes horizontales, verticales y diagonales respectivamente. La descomposición de DWT en el dominio de la frecuencia sería:
TRANSFORMADA INVERSA
APLICACIONES DE LA TRANSFORMADA WAVELET Compresión de Imágenes.- DWT descompone una imagen en un conjunto sucesivo de imágenes ortonormales más pequeñas. Es posible cuantificar o eliminar los coeficientes que tienen valores pequeños y reconstruir la imagen con el resto de los coeficientes. Mejoramiento de Imágenes.- DWT descompone la imagen en componentes de diferentes tamaños, posiciones y orientaciones. Así como el filtrado lineal en el dominio de la frecuencia, se puede manipular la amplitud de los coeficientes en el dominio de la trasformada wavelet antes de obtener la transformada inversa. De esta forma se pueden acentuar componentes interesantes de forma selectiva.