You are on page 1of 16

LA TRANSFORMADA DE FOURIER Y SU APLICACIN EN EL PROCESAMIENTO DE IMGENES

PROYECTO INTERNO DE INVESTIGACIN CIENTFICA

Informe

Mauricio Garca Gabriel Pazmio

Quito, Diciembre 2008

LA TRANSFORMADA DE FOURIER Y SU APLICACIN EN EL PROCESAMIENTO DE IMGENES Informe


Mauricio Garca Gabriel Pazmio

Resumen
El presente proyecto comprende la investigacin sobre los fundamentos matemticos, algoritmos y aplicacin prctica en el procesamiento de imgenes de la Transformada de Fourier, y la difusin a travs de la elaboracin de un texto orientado a los estudiantes de Informtica, Sistemas o ramas afines, ya que la implementacin de la Transformada Rpida de Fourier (ms conocida como FFT por sus siglas en ingls) aplicada al procesamiento de imgenes, en la bibliografa especializada, no se encuentra explcitamente bien documentada.

Introduccin
La Transformada de Fourier es una herramienta matemtica que tiene un uso muy amplio en lo referente al tratamiento digital de seales, se encuentra implementada bajo la forma de dispositivos electrnicos de reconocimiento de voz e imagen; puede ser aplicada a varios campos como anlisis espectral, ecuaciones diferenciales, resolucin de problemas elsticos estacionarios y dinmicos, etc. El presente trabajo, enlaza los aspectos tericos con la aplicacin prctica de la Transformada de Fourier en el procesamiento digital de imgenes mediante el desarrollo de aplicaciones que implementan los algoritmos de la Transformada Rpida de Fourier, los mismos que son explicados y analizados de una manera clara y didctica, en un texto de nivel superior orientado a los estudiantes de Informtica, Sistemas y Ciencias de la Computacin el cual se encuentra en construccin. Importancia El desarrollo matemtico de la transformada de Fourier fue explicado por Jean Baptiste Joseph Fourier, en su libro la Teora Analtica del Calor, publicado en 1822; posteriormente, en 1965 Cooley y Tukey publicaron su artculo Un algoritmo para calcular las Series de Fourier Complejas, el cual es conocido como algoritmo FFT (Fast Fourier Transform) y que con el

Pg. 1

desarrollo acelerado de las computadoras digitales ha permitido la aplicacin de la FFT a diferentes campos. Su aplicacin al procesamiento de imgenes se encuentra documentado en los libros especficos sobre la materia a un nivel terico, en los que no se expone directamente, la forma de implementacin de los diferentes algoritmos, y en el mejor de los casos presentan una descripcin narrativa del algoritmo, como ejemplo se puede revisar el libro Digital Image Processing de Gonzlez y Woods. Por otra parte, los libros especficos sobre la Transformada Rpida de Fourier, se centran su aplicacin mayormente a la fundamentacin matemtica y explicacin de los algoritmos, presentando aplicaciones ms orientadas al Procesamiento Digital de Seales, que corresponde al campo de la Electrnica. Objetivo del estudio Con las consideraciones anteriores, el presente proyecto, rene en un documento la fundamentacin matemtica, los algoritmos de la transformada Rpida de Fourier, y la aplicacin de los mismos al procesamiento de imgenes mediante el desarrollo de software que muestra como se implementan dichos algoritmos.

Materiales, Mtodos y Procedimientos


Diseo de Investigacin Para el desarrollo de la investigacin se aplic el mtodo lgico deductivo, el cual permiti desarrollar y explicar los fundamentos matemticos de la FFT, tambin se utiliz el mtodo do experimental, para comprobar los resultados arrojados por los algoritmos implementados al aplicarlos en las imgenes digitales. Para la realizacin del proyecto fue necesario identificar la bibliografa especializada en dos reas: transformada Rpida de Fourier y Procesamiento Digital de Imgenes, la misma que se anexa. La investigacin se dividi en tres fases: Fundamentos matemticos de la Transformada de Fourier Anlisis de los algoritmos de la Transformada Rpida de Fourier Anlisis, desarrollo e implementacin de Aplicaciones utilizando la transformada de Fourier.

Fundamentos matemticos: En esta fase se estudi y analiz los fundamentos matemticos de la Transformada de Fourier, para lo cual se parti de las series de Fourier, llegando hasta la Integral de Fourier; y de acuerdo con los objetivos del proyecto, se desarroll en MatLab la aplicacin que permite

Pg. 2

mostrar en forma didctica el clculo de los coeficientes de Fourier para series peridicas, as como su transformada. Para el desarrollo de esta aplicacin fue necesario estudiar el desarrollo de interfases grficas con el objeto de visualizar los resultados de la implementacin algortmica de la serie de Fourier, el siguiente grfico muestra la pantalla principal de la aplicacin, y cuyo cdigo fuente, debidamente explicado forma parte del documento de la investigacin.

Algoritmos de la Transformada Rpida de Fourier La transformada discreta de Fourier en una dimensin est dada por: ( ) Donde ( )

x(n) es el conjunto de datos original X(u) es la transformada de x(n) N es el nmero de elementos u representa la variable en el dominio de la frecuencia

Y su extensin a dos dimensiones est definida por ( ) ( )


( )

Pg. 3

Partiendo de estas definiciones se analizaron los algoritmos en diferentes fuentes bibliogrficas y se implementaron en Visual Basic.Net los siguientes: Para una dimensin Mtodo directo: el cual implementa directamente la definicin de la transformada discreta en una dimensin. Mtodo recursivo: el cual est basado en el algoritmo FFT propuesto por Cooley y Tukey. Mtodo iterativo, tambin basado en el algoritmo anterior, y que presenta una mayor complejidad, puesto que requiere de la implementacin del algoritmo de reversin de bits de un arreglo.

El prototipo de esta implementacin se muestra a continuacin.

Para la creacin de los prototipos, adems de los algoritmos implementados fue necesario crear el conjunto de funciones y procedimientos que trabajan con nmeros complejos. Para la comprobacin de los resultados, se realizaron varias corridas con diferentes tamaos de arreglos, las cuales fueron contrastadas con los datos arrojados por la herramienta Anlisis de Fourier que implementa Excel. La implementacin de la Transformada discreta bidimensional necesit el anlisis y programacin de los siguientes procedimientos: Transformada directa bidimensional, la cual utiliza la frmula de la transformada discreta bidimensional de Fourier, y cuyos resultados sirvieron para contrastar los datos devueltos por otros mtodos. Pg. 4

FFT-2D, el mismo que implementa la transformada rpida de Fourier en dos dimensiones, utilizando como base la implementacin en una dimensin. El prototipo de esta implementacin se muestra a continuacin:

Implementacin de las aplicaciones de la FFT


En el estado actual del proyecto, se est analizando las aplicaciones de la FFT en el procesamiento digital de imgenes previo a la construccin del software correspondiente, as como la respectiva documentacin explicativa que se integrar al texto.

Discusin de Resultados
Los principales logros alcanzados en la realizacin del proyecto hasta el momento, son: a) Unificar en un documento la fundamentacin matemtica de la Transformada de Fourier, la comprensin de los algoritmos que permiten su implementacin tanto en una como en dos dimensiones mediante software cuyo cdigo fuente es parte del presente trabajo. b) Contar con bibliografa avanzada en el tema de la investigacin. Mediante este proyecto fue posible realizar la importacin de libros de reciente publicacin y de diferentes niveles de complejidad en las reas de tratamiento de imgenes y de la Transformada de Fourier, los cuales sirven para el desarrollo de futuros proyectos en diferentes reas como sera la del tratamiento de imgenes mdicas; en anexo se adjunta el detalle de la bibliografa adquirida. Cabe destacar los siguientes aspectos que durante el desarrollo del proyecto constituyen elementos de inters: a) El desarrollo de la fundamentacin matemtica de la Transformada de Fourier requiere conocimientos de clculo integral y nmeros complejos. Pg. 5

b) La comprensin de los algoritmos involucrados para la implementacin de la Transformada Rpida de Fourier, requiere conocer las herramientas matemticas que subyacen detrs de los mismos, y un buen nivel de programacin en algn lenguaje. c) Es importante que quienes estudian la FFT, a efectos de poder realizar diferentes simulaciones tengan conocimiento de MatLab para poder visulizar grficamente los resultados. d) La revisin de la bibliografa adquirida permiti ver las tendencias actuales en cuanto al procesamiento digital de imgenes, y demuestra que en los libros especializados de procesamiento de imgenes no se encuentra implementaciones prcticas que de carcter didctico demuestren el uso de la FFT, por lo que es necesario recurrir a la bibliografa especializada sobre FFT, en los que si se encuentra la forma de implementar la FFT en lenguajes de programacin como FORTRAN, C o BASIC, pero mencionan muy brevemente o casi nada su aplicacin al procesamiento de imgenes. Especficamente, mediante el desarrollo de los prototipos antes sealados, se demostr, como lo sealan varios autores, que la implementacin directa de la Transformada Discreta de Fourier para un conjunto de N elementos, es de orden N2, lo que la hace impracticable para el manejo de imgenes mayores a 100 x 100 pixeles, y que la mejor alternativa de implementacin constituyen los algoritmos de FFT, los cuales estn basados en el de Cooley y Tukey y cuyo orden es de Nlog2N y que reducen significativamente el tiempo de uso del procesador. Los algoritmos que implementan la FFT, y que se encuentran en la bibliografa especializada, tienen un alto nivel de optimizacin, y son el resultado de los esfuerzos de muchos investigadores durante las ltimas dcadas, lo que ha permitido el uso prctico de la Transformada de Fourier en diferentes reas.

Bibliografa
Gonzalez, C., Woods, R. (2008). Digital Image Processing (3ra. Ed). New Jersey. EE.UU: Prentice Hall Russ, J. (2006). The Image Processing Handbook, (5ta. Ed). EE.UU. CRC Press Burger, W., James,M. (2007). Digital Image Processing: An Algorithmic Introduction using Java. EE.UU.: Springer James , J. (2003). Student's Guide to Fourier Transforms. EE.UU. Cambridge Universty Press Brigham, E. (1988). Fast Fourier Transform and Its Applications. New York. Prentice Hall

James, G. (2002). Matemticas avanzadas para ingeniera. EE.UU.. Prentice Hall

Pg. 6

Anexos Detalle de bibliografa adquirida


TITULO Digital Image Processing (3rd Edition) Algorithms for Image Processing and Computer Vision Practical Algorithms for Image Analysis with CD-ROM The Pocket Handbook of Image Processing Algorithms In C The Image Processing Handbook, Fifth Edition (Image Processing Handbook) Foundations of Image Science (Hardcover) Digital Image Processing: An Algorithmic Introduction using Java (Hardcover) Introduction to Image Processing and Analysis (Hardcover) Computer Vision: A Modern Approach (Hardcover) A Student's Guide to Fourier Transforms (Paperback) Fast Fourier Transform and Its Applications Machine Vision : Theory, Algorithms, Practicalities Understanding the FFT, Second Edition, Revised (Paperback) Fourier Transform and Its Applications (Paperback) Digital Signal Processing Algorithms: Number Theory, Convolution, Fast Fourier Transforms, and Applications (Crc Press Computer Engineering Series) (Hardcover) Fast Fourier Transforms: Second Edition (Studies in Advanced Mathematics) (Hardcover) Handbook of Image and Video Processing AUTOR Rafael C. Gonzalez (Author), Richard E. Woods (Author) J. R. Parker (Author) AREA PDI PDI

Lawrence O'Gorman (Author), PDI Michael J. Sammon (Author), Michael Seul (Author) Harley R. Myler and Arthur R. Weeks John C. Russ Harrison H. Barrett (Author), Kyle Myers (Author) Wilhelm Burger (Author), Mark James Burge (Author) John C. Russ (Author), J. Christian Russ (Author) David A. Forsyth (Author), Jean Ponce (Author) J. F. James (Author) E. Brigham (Author) E. R. Davies (Author) Anders E. Zonst (Author) Ronald Bracewell Hari Krishna (Author) PDI PDI PDI PDI

PDI PDI Transformada de Fourier Transformada de Fourier PDI Transformada de Fourier Transformada de Fourier Tratamiento de seales

James S. Walker

Transformada de Fourier

by Alan C. Bovik (Author)

PDI

Pg. 7

Transformada rpida de Fourier


Para otros usos de este trmino, vase Transformacin (desambiguacin). FFT es la abreviatura usual (del ingls Fast Fourier Transform) de un eficiente algoritmo que permite calcular la transformada de Fourier discreta (DFT) y su inversa. La FFT es de gran importancia en una amplia variedad de aplicaciones, desde el tratamiento digital de seales y filtrado digital en general a la resolucin de ecuaciones en derivadas parciales o los algoritmos de multiplicacin rpida de grandes enteros. El algoritmo pone algunas limitaciones en la seal y en el espectro resultante. Por ejemplo: la seal de la que se tomaron muestras y que se va a transformar debe consistir de un nmero de muestras igual a una potencia de dos. La mayora de los analizadores TRF permiten la transformacin de 512, 1024, 2048 o 4096 muestras. El rango de frecuencias cubierto por el anlisis TRF depende de la cantidad de muestras recogidas y de la proporcin de muestreo. Uno de los algoritmos aritmticos ms ampliamente utilizados es la transformada rpida de Fourier, un medio eficaz de ejecutar un clculo matemtico bsico y de frecuente empleo. La transformada rpida de Fourier es de importancia fundamental en el anlisis matemtico y ha sido objeto de numerosos estudios. La aparicin de un algoritmo eficaz para esta operacin fue una piedra angular en la historia de la informtica. Las aplicaciones de la transformada rpida de Fourier son mltiples. Es la base de muchas operaciones fundamentales del procesamiento de seales, donde tiene amplia utilizacin. Adems, proporciona un medio oportuno para mejorar el rendimiento de los algoritmos para un conjunto de problemas aritmticos comunes.

Contenido
[ocultar]

1 Definicin 2 Algoritmo de diezmado en el tiempo 3 Aplicaciones 4 Enlaces externos

[editar]Definicin
Sean x0, ...., xn-1 nmeros complejos. La transformada discreta de Fourier (DFT, por sus siglas en ingls) se define como

Pg. 8

La evaluacin directa de esa frmula requiere O(n) operaciones aritmticas. Mediante un algoritmo FFT se puede obtener el mismo resultado con slo O(n log n) operaciones. En general, dichos algoritmos dependen de la factorizacin de n pero, al contrario de lo que frecuentemente se cree, existen FFTs para cualquier n, incluso con n primo. La idea que permite esta optimizacin es la descomposicin de la transformada a tratar en otras ms simples y stas a su vez hasta llegar a transformadas de 2 elementos donde k puede tomar los valores 0 y 1. Una vez resueltas las transformadas ms simples hay que agruparlas en otras de nivel superior que deben resolverse de nuevo y as sucesivamente hasta llegar al nivel ms alto. Al final de este proceso, los resultados obtenidos deben reordenarse. Dado que la transformada discreta de Fourier inversa es anloga a la transformada discreta de Fourier, con distinto signo en el exponente y un factor 1/n, cualquier algoritmo FFT puede ser fcilmente adaptado para el clculo de la transformada inversa. Por lo general, tenemos que:

Un algoritmo que es mucho ms eficiente en cuanto al tiempo de cmputo para grandes arreglos de entrada cuya longitud es una potencia entera de dos, recibe el nombre de Transformada de Fourier Rpida (TFR), y dicho algoritmo fue popularizado por Cooley y Tukey en 1965. Se puede ilustrar mediante el siguiente ejemplo, calculando la TFR de un conjunto de cuatro muestras de datos utilizando el algoritmo. Defina el conjunto de muestras de una seal como la seal X[n] en TD de forma que los datos de entrada para el algoritmo sea {X[0],X[1],X[2],X[3]}. La frmula de la TFD es la siguiente:

Se recomienda usar la notacin:

W=e-j(2/NF)

Para este caso de 4 puntos de datos, es posible escribir la TFR en forma de matriz como:

Pg. 9

Efectuar la multiplicacin usual de matrices directa requerira N multiplicaciones complejas y N(N-1) adiciones complejas. Por lo tanto puedes escribirse de la siguiente manera:

Debido a que W n=W n+mNF , donde m es un entero, es posible factorizar la matriz en el producto de dos matrices;

Los elementos 1 y 2 han cambiado de lugar en el vector que se encuentra del lado izquierdo. Cuando se multipliquen las matrices, los renglones 1 y 2, tambin se intercambiarn. Despus se calcula el nmero de multiplicaciones y adiciones que se requieren. Primero se identifica el resultado de multiplicar la segunda matriz cuadrada por el conjunto de datos de entrada como:

Pg. 10

El primer elemento es: X1[0]=X0[0]+W 0X0[2] Como una multiplicacin para llegar a una conclusin general.De manera similar X1[1] requiere una multiplicacin y una adicin. Sin embargo,X1[2] requiere slo una adicin debido a que Este clculo requiere una multiplicacin y una adicin.Aunque W 0 es uno, se dejar esto W 0=-W 2 y el producto ya se ha obtenido en el clculo del primer elemento y puede, en consecuencia, slo almacenarse hasta que se necesite y luego restarse en vez de sumarse. De manera similar,X1[3] slo requiere una adicin ms. Hasta ahora se tienen dos multiplicaciones y cuatro sumas. Apelando a condiciones de simetras similares en la segunda multiplicacin de matrices se encuentra que se requieren dos multiplicaciones y cuatro sumas ms. As, en total, se necesitan cuatro multiplicaciones y ocho adiciones. Puesto que, computacionalmente, las multiplicaciones requieren por lo general mucho ms tiempo de cmputo que las adiciones, el algoritmo de TFR para cuatro puntos es alrededor de cuatro veces ms rpido que la TDF directa.

Pg. 11

[editar]Algoritmo

de diezmado en el tiempo

Es el algoritmo ms famoso para el clculo de una FFT, diseado por J.W. Cooley y John Tukey en 1965. Tomando como entrada una seal discreta x[n] con N muestras, se basa en dividir la seal de entrada en otras dos seales de N/2 muestras (por un lado los coeficientes pares y por otro los impares), y se envan cada una de estas subseales a una FFT de tamao N/2 puntos. Cada uno de los coeficientes de salida de la FFT de las muestras impares se multiplica por , donde k es la posicin del vector

salida, y se suma a las muestras pares. A su vez, las FFT de N/2 puntos se pueden resolver de esta misma manera, realizando esta operacin de manera recursiva hasta obtener una FFT de una seal de tamao 2, cuyo resultado es:

[editar]Aplicaciones

Tratamiento de imagen (JPEG) y audio (MP3)

Pg. 12

Reduccin de ruido en seales, como el ruido blanco Anlisis en frecuencia de cualquier seal discreta Anlisis de materiales y estadstica Sntesis, mediante la transformada inversa IFFT

[editar]Enlaces

externos

Algoritmo FFT de CooleyTukey en Wikipedia Inglesa. Fast Fourier Transform en ingls. "The Scientist and Engineer's Guide to Digital Signal Processing" : se encuentra numerosa informacin relacionada con el tema, concretamente en los captulos 10, 11, 12 y 31.

Ver las calificaciones de la pgina

Evala este artculo


Qu es esto? Confiable Objetivo Completo Bien escrito Estoy muy bien informado sobre este tema (opcional) Enviar calificaciones Categoras:

Transformaciones Procesamiento de seales


Crear una cuenta Ingresar

Artculo Discusin Leer Editar Ver historial

Pg. 13

Portada Portal de la comunidad Actualidad Cambios recientes Pginas nuevas Pgina aleatoria Ayuda Donaciones Notificar un error Imprimir/exportar Crear un libro Descargar como PDF Versin para imprimir Herramientas En otros idiomas Catal esky Dansk Deutsch English Franais Bahasa Indonesia Italiano Nederlands Polski Portugus / srpski Svenska Trke Ting Vit
Esta pgina fue modificada por ltima vez el 8 ene 2012, a las 17:12. El texto est disponible bajo la Licencia Creative Commons Atribucin Compartir Igual 3.0 ; podran ser aplicables clusulas adicionales. Lanse los trminos de uso para ms informacin. Wikipedia es una marca registrada de la Fundacin Wikimedia, Inc., una organizacin sin nimo de lucro.

Contacto

Pg. 14

Pg. 15

You might also like