la transformada de fourier informe
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
[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
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
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
Pág. 15