La Transformada de Fourier Informe

19
LA TRANSFORMADA DE FOURIER Y SU APLICACIÓN EN EL PROCESAMIENTO DE IMÁGENES PROYECTO INTERNO DE INVESTIGACIÓN CIENTÍFICA Informe F ( u,v )= n=0 N1 m=0 M1 f ( n,m) e j2 π ( un N + vm m ) Mauricio García Gabriel Pazmiño Quito, Diciembre 2008

Transcript of La Transformada de Fourier Informe

Page 1: La Transformada de Fourier Informe

LA TRANSFORMADA DE FOURIER Y SU APLICACIÓN EN EL PROCESAMIENTO DE IMÁGENES

PROYECTO INTERNO

DE INVESTIGACIÓN CIENTÍFICA

Informe

F (u , v )=∑n=0

N−1

∑m=0

M−1

f (n ,m)e− j2π (unN + vm

m )

Mauricio García

Gabriel Pazmiño

Quito, Diciembre 2008

Page 2: La Transformada de Fourier Informe

LA TRANSFORMADA DE FOURIER Y SU APLICACIÓN EN EL PROCESAMIENTO DE IMÁGENES

Informe

Mauricio García

Gabriel Pazmiño

Resumen

El presente proyecto comprende la investigación sobre los fundamentos matemáticos, algoritmos y aplicación práctica en el procesamiento de imágenes de la Transformada de Fourier, y la difusión a través de la elaboración de un texto orientado a los estudiantes de Informática, Sistemas o ramas afines, ya que la implementación de la Transformada Rápida de Fourier (más conocida como FFT por sus siglas en inglés) aplicada al procesamiento de imágenes, en la bibliografía especializada, no se encuentra explícitamente bien documentada.

Introducción

La Transformada de Fourier es una herramienta matemática que tiene un uso muy amplio en lo referente al tratamiento digital de señales, se encuentra implementada bajo la forma de dispositivos electrónicos de reconocimiento de voz e imagen; puede ser aplicada a varios campos como análisis espectral, ecuaciones diferenciales, resolución de problemas elásticos estacionarios y dinámicos, etc.

El presente trabajo, enlaza los aspectos teóricos con la aplicación práctica de la Transformada de Fourier en el procesamiento digital de imágenes mediante el desarrollo de aplicaciones que implementan los algoritmos de la Transformada Rápida de Fourier, los mismos que son explicados y analizados de una manera clara y didáctica, en un texto de nivel superior orientado a los estudiantes de Informática, Sistemas y Ciencias de la Computación el cual se encuentra en construcción.

Importancia

El desarrollo matemático de la transformada de Fourier fue explicado por Jean Baptiste Joseph Fourier, en su libro la Teoría Analítica del Calor, publicado en 1822; posteriormente, en 1965 Cooley y Tukey publicaron su artículo “Un algoritmo para calcular las Series de Fourier Complejas”, el cual es conocido como algoritmo FFT (Fast Fourier Transform) y que con el

Pág. 1

Page 3: La Transformada de Fourier Informe

desarrollo acelerado de las computadoras digitales ha permitido la aplicación de la FFT a diferentes campos.

Su aplicación al procesamiento de imágenes se encuentra documentado en los libros específicos sobre la materia a un nivel teórico, en los que no se expone directamente, la forma de implementación de los diferentes algoritmos, y en el mejor de los casos presentan una descripción narrativa del algoritmo, como ejemplo se puede revisar el libro Digital Image Processing de González y Woods. Por otra parte, los libros específicos sobre la Transformada Rápida de Fourier, se centran su aplicación mayormente a la fundamentación matemática y explicación de los algoritmos, presentando aplicaciones más orientadas al Procesamiento Digital de Señales, que corresponde al campo de la Electrónica.

Objetivo del estudio

Con las consideraciones anteriores, el presente proyecto, reúne en un documento la fundamentación matemática, los algoritmos de la transformada Rápida de Fourier, y la aplicación de los mismos al procesamiento de imágenes mediante el desarrollo de software que muestra como se implementan dichos algoritmos.

Materiales, Métodos y Procedimientos

Diseño de Investigación

Para el desarrollo de la investigación se aplicó el método lógico deductivo, el cual permitió desarrollar y explicar los fundamentos matemáticos de la FFT, también se utilizó el método do experimental, para comprobar los resultados arrojados por los algoritmos implementados al aplicarlos en las imágenes digitales.

Para la realización del proyecto fue necesario identificar la bibliografía especializada en dos áreas: transformada Rápida de Fourier y Procesamiento Digital de Imágenes, la misma que se anexa.

La investigación se dividió en tres fases:

Fundamentos matemáticos de la Transformada de Fourier Análisis de los algoritmos de la Transformada Rápida de Fourier Análisis, desarrollo e implementación de Aplicaciones utilizando la transformada de

Fourier.

Fundamentos matemáticos:

En esta fase se estudió y analizó los fundamentos matemáticos 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 aplicación que permite

Pág. 2

Page 4: La Transformada de Fourier Informe

mostrar en forma didáctica el cálculo de los coeficientes de Fourier para series periódicas, así como su transformada.Para el desarrollo de esta aplicación fue necesario estudiar el desarrollo de interfases gráficas con el objeto de visualizar los resultados de la implementación algorítmica de la serie de Fourier, el siguiente gráfico muestra la pantalla principal de la aplicación, y cuyo código fuente, debidamente explicado forma parte del documento de la investigación.

Algoritmos de la Transformada Rápida de Fourier

La transformada discreta de Fourier en una dimensión está dada por:

X (u )=∑n=0

N−1

x (n)e− j2 πunN

Donde x(n) es el conjunto de datos original

X(u) es la transformada de x(n)

N es el número de elementos

u representa la variable en el dominio de la frecuencia

Y su extensión a dos dimensiones está definida por

F (u , v )=∑n=0

N−1

∑m=0

M−1

f (n ,m)e− j2π (unN + vm

m )

Pág. 3

Page 5: La Transformada de Fourier Informe

Partiendo de estas definiciones se analizaron los algoritmos en diferentes fuentes bibliográficas y se implementaron en Visual Basic.Net los siguientes:

Para una dimensión

Método directo: el cual implementa directamente la definición de la transformada discreta en una dimensión.

Método recursivo: el cual está basado en el algoritmo FFT propuesto por Cooley y Tukey.

Método iterativo, también basado en el algoritmo anterior, y que presenta una mayor complejidad, puesto que requiere de la implementación del algoritmo de reversión de bits de un arreglo.

El prototipo de esta implementación se muestra a continuación.

Para la creación de los prototipos, además de los algoritmos implementados fue necesario crear el conjunto de funciones y procedimientos que trabajan con números complejos.

Para la comprobación de los resultados, se realizaron varias corridas con diferentes tamaños de arreglos, las cuales fueron contrastadas con los datos arrojados por la herramienta Análisis de Fourier que implementa Excel.

La implementación de la Transformada discreta bidimensional necesitó el análisis y programación de los siguientes procedimientos:

Transformada directa bidimensional, la cual utiliza la fórmula de la transformada discreta bidimensional de Fourier, y cuyos resultados sirvieron para contrastar los datos devueltos por otros métodos.

Pág. 4

Page 6: La Transformada de Fourier Informe

FFT-2D, el mismo que implementa la transformada rápida de Fourier en dos dimensiones, utilizando como base la implementación en una dimensión.

El prototipo de esta implementación se muestra a continuación:

Implementación 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 imágenes previo a la construcción del software correspondiente, así como la respectiva documentación explicativa que se integrará al texto.

Discusión de Resultados

Los principales logros alcanzados en la realización del proyecto hasta el momento, son:

a) Unificar en un documento la fundamentación matemática de la Transformada de Fourier, la comprensión de los algoritmos que permiten su implementación tanto en una como en dos dimensiones mediante software cuyo código fuente es parte del presente trabajo.

b) Contar con bibliografía avanzada en el tema de la investigación. Mediante este proyecto fue posible realizar la importación de libros de reciente publicación y de diferentes niveles de complejidad en las áreas de tratamiento de imágenes y de la Transformada de Fourier, los cuales sirven para el desarrollo de futuros proyectos en diferentes áreas como sería la del tratamiento de imágenes médicas; en anexo se adjunta el detalle de la bibliografía adquirida.

Cabe destacar los siguientes aspectos que durante el desarrollo del proyecto constituyen elementos de interés:

a) El desarrollo de la fundamentación matemática de la Transformada de Fourier requiere conocimientos de cálculo integral y números complejos.

Pág. 5

Page 7: La Transformada de Fourier Informe

b) La comprensión de los algoritmos involucrados para la implementación de la Transformada Rápida de Fourier, requiere conocer las herramientas matemáticas que subyacen detrás de los mismos, y un buen nivel de programación en algún lenguaje.

c) Es importante que quienes estudian la FFT, a efectos de poder realizar diferentes simulaciones tengan conocimiento de MatLab para poder visulizar gráficamente los resultados.

d) La revisión de la bibliografía adquirida permitió ver las tendencias actuales en cuanto al procesamiento digital de imágenes, y demuestra que en los libros especializados de procesamiento de imágenes no se encuentra implementaciones prácticas que de carácter didáctico demuestren el uso de la FFT, por lo que es necesario recurrir a la bibliografía especializada sobre FFT, en los que si se encuentra la forma de implementar la FFT en lenguajes de programación como FORTRAN, C o BASIC, pero mencionan muy brevemente o casi nada su aplicación al procesamiento de imágenes.

Específicamente, mediante el desarrollo de los prototipos antes señalados, se demostró, como lo señalan varios autores, que la implementación 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 imágenes mayores a 100 x 100 pixeles, y que la mejor alternativa de implementación constituyen los algoritmos de FFT, los cuales están basados en el de Cooley y Tukey y cuyo orden es de Nlog 2N y que reducen significativamente el tiempo de uso del procesador.

Los algoritmos que implementan la FFT, y que se encuentran en la bibliografía especializada, tienen un alto nivel de optimización, y son el resultado de los esfuerzos de muchos investigadores durante las últimas décadas, lo que ha permitido el uso práctico de la Transformada de Fourier en diferentes áreas.

Bibliografía

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). Matemáticas avanzadas para ingeniería. EE.UU.. Prentice Hall

Pág. 6

Page 8: La Transformada de Fourier Informe

Anexos

Detalle de bibliografía adquirida

TITULO AUTOR AREA

Digital Image Processing (3rd Edition) Rafael C. Gonzalez (Author), Richard E. Woods (Author)

PDI

Algorithms for Image Processing and Computer Vision

J. R. Parker (Author) PDI

Practical Algorithms for Image Analysis with CD-ROM

Lawrence O'Gorman (Author), Michael J. Sammon (Author), Michael Seul (Author)

PDI

The Pocket Handbook of Image Processing Algorithms In C

Harley R. Myler and Arthur R. Weeks

PDI

The Image Processing Handbook, Fifth Edition (Image Processing Handbook)

John C. Russ PDI

Foundations of Image Science (Hardcover)

Harrison H. Barrett (Author), Kyle Myers (Author)

PDI

Digital Image Processing: An Algorithmic Introduction using Java (Hardcover)

Wilhelm Burger (Author), Mark James Burge (Author)

PDI

Introduction to Image Processing and Analysis (Hardcover)

John C. Russ (Author), J. Christian Russ (Author)

PDI

Computer Vision: A Modern Approach (Hardcover)

David A. Forsyth (Author), Jean Ponce (Author)

PDI

A Student's Guide to Fourier Transforms (Paperback)

J. F. James (Author) Transformada de Fourier

Fast Fourier Transform and Its Applications

E. Brigham (Author) Transformada de Fourier

Machine Vision : Theory, Algorithms, Practicalities

E. R. Davies (Author) PDI

Understanding the FFT, Second Edition, Revised (Paperback)

Anders E. Zonst (Author) Transformada de Fourier

Fourier Transform and Its Applications (Paperback)

Ronald Bracewell Transformada de Fourier

Digital Signal Processing Algorithms: Number Theory, Convolution, Fast Fourier Transforms, and Applications (Crc Press Computer Engineering Series) (Hardcover)

Hari Krishna (Author) Tratamiento de señales

Fast Fourier Transforms: Second Edition (Studies in Advanced Mathematics) (Hardcover)

James S. Walker Transformada de Fourier

Handbook of Image and Video Processing

by Alan C. Bovik (Author) PDI

Pág. 7

Page 9: La Transformada de Fourier Informe

Transformada rápida de FourierPara otros usos de este término, véase Transformación (desambiguación).

FFT es la abreviatura usual (del inglés 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 señales y filtrado digital en general a la

resolución de ecuaciones en derivadas parciales o los algoritmos de multiplicación rápida de grandes

enteros. El algoritmo pone algunas limitaciones en la señal y en el espectro resultante. Por ejemplo: la

señal de la que se tomaron muestras y que se va a transformar debe consistir de un número de

muestras igual a una potencia de dos. La mayoría de los analizadores TRF permiten la transformación

de 512, 1024, 2048 o 4096 muestras. El rango de frecuencias cubierto por el análisis TRF depende de la

cantidad de muestras recogidas y de la proporción de muestreo.

Uno de los algoritmos aritméticos más ampliamente utilizados es la transformada rápida de Fourier, un

medio eficaz de ejecutar un cálculo matemático básico y de frecuente empleo. La transformada rápida

de Fourier es de importancia fundamental en el análisis matemático y ha sido objeto de numerosos

estudios. La aparición de un algoritmo eficaz para esta operación fue una piedra angular en la historia

de la informática.

Las aplicaciones de la transformada rápida de Fourier son múltiples. Es la base de muchas operaciones

fundamentales del procesamiento de señales, donde tiene amplia utilización. Además, proporciona un

medio oportuno para mejorar el rendimiento de los algoritmos para un conjunto de problemas aritméticos

comunes.

Contenido

[ocultar]

1 Definición

2 Algoritmo de diezmado en el tiempo

3 Aplicaciones

4 Enlaces externos

[editar]Definición

Sean x0, ...., xn-1 números complejos. La transformada discreta de Fourier (DFT, por sus siglas en inglés)

se define como

Pág. 8

Page 10: La Transformada de Fourier Informe

La evaluación directa de esa fórmula requiere O(n²) operaciones aritméticas. Mediante un algoritmo

FFT se puede obtener el mismo resultado con sólo O(n log n) operaciones. En general, dichos

algoritmos dependen de la factorización 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 optimización es la descomposición de la transformada a tratar en otras

más 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 más simples hay que agruparlas en otras de

nivel superior que deben resolverse de nuevo y así sucesivamente hasta llegar al nivel más alto. Al

final de este proceso, los resultados obtenidos deben reordenarse.

Dado que la transformada discreta de Fourier inversa es análoga a la transformada discreta de

Fourier, con distinto signo en el exponente y un factor 1/n, cualquier algoritmo FFT puede ser

fácilmente adaptado para el cálculo de la transformada inversa. Por lo general, tenemos que:

Un algoritmo que es mucho más eficiente en cuanto al tiempo de cómputo para grandes

arreglos de entrada cuya longitud es una potencia entera de dos, recibe el nombre de

Transformada de Fourier Rápida (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 señal

como la señal X₀[n] en TD de forma que los datos de entrada para el algoritmo sea

{X₀[0],X₀[1],X₀[2],X₀[3]}. La fórmula de la TFD es la siguiente:

Se recomienda usar la notación:

W=e-j(2π/NF)

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

Pág. 9

Page 11: La Transformada de Fourier Informe

Efectuar la multiplicación usual de matrices directa requeriría N² multiplicaciones

complejas y N(N-1) adiciones complejas. Por lo tanto puedes escribirse de la siguiente

manera:

Debido a que Wn=Wn+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, también se

intercambiarán. Después se calcula el número 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:

Pág. 10

Page 12: La Transformada de Fourier Informe

El primer elemento es:

X1[0]=X0[0]+W0X0[2]

Como una multiplicación para llegar a una conclusión general.De manera similar X1[1]

requiere una multiplicación y una adición. Sin embargo,X1[2] requiere sólo una adición

debido a que Este cálculo requiere una multiplicación y una adición.Aunque W0 es uno, se

dejará esto W0=-W2 y el producto ya se ha obtenido en el cálculo del primer elemento y

puede, en consecuencia, sólo almacenarse hasta que se necesite y luego restarse en vez

de sumarse. De manera similar,X1[3] sólo requiere una adición más. Hasta ahora se tienen

dos multiplicaciones y cuatro sumas. Apelando a condiciones de simetrías similares en la

segunda multiplicación de matrices se encuentra que se requieren dos multiplicaciones y

cuatro sumas más. Así, en total, se necesitan cuatro multiplicaciones y ocho adiciones.

Puesto que, computacionalmente, las multiplicaciones requieren por lo general mucho más

tiempo de cómputo que las adiciones, el algoritmo de TFR para cuatro puntos es alrededor

de cuatro veces más rápido que la TDF directa.

Pág. 11

Page 13: La Transformada de Fourier Informe

[editar]Algoritmo de diezmado en el tiempo

Es el algoritmo más famoso para el cálculo de una FFT, diseñado por J.W. Cooley y John

Tukey en 1965. Tomando como entrada una señal discreta x[n] con N muestras, se basa

en dividir la señal de entrada en otras dos señales de N/2 muestras (por un lado los

coeficientes pares y por otro los impares), y se envían cada una de estas subseñales a

una FFT de tamaño N/2 puntos. Cada uno de los coeficientes de salida de la FFT de las

muestras impares se multiplica por  , donde k es la posición 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 operación de manera recursiva hasta

obtener una FFT de una señal de tamaño 2, cuyo resultado es:

[editar]Aplicaciones

Tratamiento de imagen (JPEG) y audio (MP3)

Pág. 12

Page 14: La Transformada de Fourier Informe

Reducción de ruido en señales, como el ruido blanco

Análisis en frecuencia de cualquier señal discreta

Análisis de materiales y estadística

Síntesis , mediante la transformada inversa IFFT

[editar]Enlaces externos

Algoritmo FFT de Cooley–Tukey   en Wikipedia Inglesa.

Fast Fourier Transform   en inglés.

"The Scientist and Engineer's Guide to Digital Signal Processing"  : se

encuentra numerosa información relacionada con el tema, concretamente en

los capítulos 10, 11, 12 y 31.

Ver las calificaciones de la página

Evalúa este artículo

¿Qué es esto?

Confiable

Objetivo

Completo

Bien escrito

Estoy muy bien informado sobre este tema (opcional)

Enviar calificaciones

Categorías: 

Transformaciones

Procesamiento de señales

Crear una cuenta

Ingresar

Artículo

Discusión

Leer

Editar

Ver historial

Pág. 13

Page 15: La Transformada de Fourier Informe

Portada

Portal de la comunidad

Actualidad

Cambios recientes

Páginas nuevas

Página aleatoria

Ayuda

Donaciones

Notificar un error Imprimir/exportar

Crear un libro

Descargar como PDF

Versión para imprimir HerramientasEn otros idiomas

العربية

Català

Česky

Dansk

Deutsch

English

فارسی

Français हि�न्दी�

Bahasa Indonesia

Italiano

日本語 한국어 Nederlands

Polski

Português

Русский

Српски / srpski

Svenska தமி�ழ்

Türkçe

Українська

Tiếng Việt

中文

Esta página fue modificada por última vez el 8 ene 2012, a las 17:12.

El texto está disponible bajo la Licencia Creative Commons Atribución Compartir Igual   3.0  ;

podrían ser aplicables cláusulas adicionales. Léanse los términos de uso para más

información.

Wikipedia® es una marca registrada de la Fundación Wikimedia, Inc., una organización sin

ánimo de lucro.

Contacto

Pág. 14

Page 16: La Transformada de Fourier Informe

Pág. 15