procesamiento digital de señales mediante la teoría de wavelets
Transcription
procesamiento digital de señales mediante la teoría de wavelets
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL PROYECTO FIN DE CARRERA PROCESAMIENTO DIGITAL DE SEÑALES MEDIANTE LA TEORÍA DE WAVELETS AUTOR: Pablo Márquez Belzunce DIRECTOR: Dr. Francisco Javier Rodríguez Gómez MADRID, Julio de 2013 Autorizada la entrega del proyecto del alumno: Pablo Márquez Belzunce EL DIRECTOR DEL PROYECTO Dr. Francisco Javier Rodríguez Gómez Fdo.: Fecha: ……/……/…… Vº Bº DEL COORDINADOR DE PROYECTOS Prof. Dr. Álvaro Sánchez Miralles Fdo.: Fecha: ……/……/…… Índice de documentos DOCUMENTO I. MEMORIA I. Memoria pág. 25 a 114 90 páginas UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL RESUMEN DEL PROYECTO PROCESAMIENTO DIGITAL DE SEÑALES MEDIANTE LA TEORÍA DE WAVELETS Autor: Márquez Belzunce, Pablo. Director: Rodríguez Gómez, Francisco Javier. Entidad Colaboradora: ICAI - Universidad Pontifica Comillas. RESUMEN DEL PROYECTO Introducción El concepto de análisis wavelet es relativamente reciente, data desde mediados del siglo XX. En su estado actual, la teoría de wavelet surge a finales de los 80’s desde el trabajo de diversos investigadores como Jean Morlet, Alex Grossmann o Ingrid Daubechies. Las wavelets operan de forma análoga al análisis de Fourier en algunas aplicaciones, existen series y transformadas integrales tal y como ocurre con las TF. La diferencia principal que tienen las wavelets con las transformadas de Fourier es que las wavelet realizan análisis locales, lo cual las hace apropiadas para el análisis de señales en el dominio tiempo-frecuencia, mientras que las transformada de Fourier es global. Las técnicas wavelet permiten dividir una función compleja en otras más simples, y estudiarlas así por separado. Esto hace que sean apropiadas para el análisis de imagen, de señales, así como para diagnósticos médicos, procesamiento de señales geodésicas y otros muchos usos. Las wavelets se utilizan también por su eficacia en la representación de señales no estacionarias, así como para el análisis multiresolución, que permite representar señales como una suma finita de componentes con diferentes resoluciones, lo que permite representar señales de forma compacta y en varios niveles. Metodología En el desarrollo del proyecto se va a seguir la siguiente metodología. Estudio del estado del arte de la Teoría de Wavelets. Estudio del procesamiento de señales digitales con Wavelets. I UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL RESUMEN DEL PROYECTO Elaboración de programas en el lenguaje del software MATLAB y empleo de la herramienta ToolBox “Wavemenu” que ilustre las aplicaciones prácticas en el tratamiento digital de señales. Como recursos software en la elaboración de la documentación, gráficos y tablas, se empleará el paquete integrado Microsoft Office®, el software Wolfram Mathematica® 8. y las funciones gráficas de MATLAB®. La arquitectura hardware y software a emplear será una arquitectura PC con las características siguientes: Procesador con velocidad de reloj 2.3 GHz. Memoria RAM de 4 GB. Disco duro de 500 GB. Tarjeta gráfica de 128 MB. Sistema Operativo Windows Vista® o Windows 7®. Software MATLAB® R2012b. Como software de desarrollo y ejecución se utilizará el paquete MATLAB® R2012b. Las razones de utilizar este software tan específico son principalmente las derivadas de sus características. Lenguaje MATLAB MATLAB es un lenguaje técnico de alto nivel y con un entorno de desarrollo interactivo que permite desarrollar algoritmos, realizar análisis de datos, cálculo numérico y representación de gráficos 2D y 3D. Permite resolver problemas técnicos de un modo más rápido que los lenguajes de alto nivel como C, C++, y Fortran. Se emplea en un gran conjunto de aplicaciones como procesado de señal e imagen, comunicaciones, diseño de control y medidas, modelado, y análisis numérico, entre otras. Sus principales ventajas, que lo hacen idóneo para este proyecto son: Lenguaje de alto nivel para cálculo técnico. Entorno de desarrollo integrado que gestiona el código, ficheros y datos. Herramientas interactivas para realizar diseños y ejecutar el código. Funciones matemáticas para el álgebra lineal, optimización, derivación e integración numérica así como funciones para el análisis de Fourier. Funciones gráficas para visualizar datos y funciones en 2-D y 3-D. Herramientas y controles para construir interfaces gráficos de usuario (GUI). II UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL RESUMEN DEL PROYECTO Funciones para integrar el lenguaje con aplicaciones externas y lenguajes como C, C++, Java, Fortran, etc. Dispone de diferentes bibliotecas de funciones específicas denominadas ToolBoox. En particular integra la herramienta ToolBox denominada “Wavemenu”, específica para tratar las Wavelets. Conclusiones y Resultados El objetivo que se perseguía con este PFC era situar las wavelet en el ámbito y usos actuales, estudiar sus características, sus fundamentos y sus algoritmos, además de realizar un análisis completo del procesamiento de imágenes con wavelet. Para el procesamiento de imágenes se han estudiado las diferentes características, se han modelado diferentes programas mediante Matlab y se ha utilizado todas las herramientas que Matlab facilita para el manejo de las wavelets, y se han conseguido datos satisfactorios. La compresión de imágenes mediante wavelet es uno de los grandes éxitos de estas transformadas, mediante el uso de symlets que son las wavelets más utilizadas para la compresión, se han conseguido buenos ratios de compresión manteniendo una energía alta de la imagen y un buen número de ceros. El mayor ejemplo del éxito de las wavelet es la compresión JPEG, la cual demuestra claramente que este tipo de ondas son las más eficaces para la compresión, se obtiene mayores compresiones con mayor calidad de imagen. En el caso de la fusión de imágenes, la detección de bordes y la eliminación de ruido, se ha observado que las wavelets que mejor se adaptan para estas aplicaciones son las biortogonales, debido a que estas permiten una reconstrucción exacta a través de los filtros, lo que proporciona muchas ventajas. En el caso de fusión de imágenes, se ha comprobado su gran eficacia fusionando partes de una misma imagen, y se ha comprobado su potencial para obtener mejores resultados con un estudio más profundo solo en ese campo. Dado que en el caso de disponer de diversas formas de una misma imagen se puede llegar a fusionar de tal manera que se consiga la original perfectamente, lo cual es muy útil para el caso de imágenes antiguas, médicas o imágenes tomadas desde distintas cámaras o ángulos. En las siguienes imágenes se pueden ver un ejemplo de fusión satisfactoria de imágenes complementarias así como el de una buena compresión de imágenes, así como el resultado de una eliminación de ruido. Primero se expone la fusión de imágenes complementarias, donde se puede observar claramente el éxito del proceso, y aun así mejorable. III UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL RESUMEN DEL PROYECTO FIGURA 1. Imágenes complementarias que van a ser fusionadas. FIGURA 2. Resultado de la fusión de las imágenes complementarias de la playa de la Concha. A continuación se muestran dos tipos de eliminación de ruido con dos wavelets diferentes, la primera ha sido tratada con wavelets daubechies 10 para un nivel 5, en la segunda imagen se ha aplicado wavelets reverse biorthogonal 6.8 para un nivel 4. Se observa que las biortogonales en este caso trabajan un poco mejor, y tiene un nivel menor. IV UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL RESUMEN DEL PROYECTO FIGURA 3. Cuatro imágenes, original, con ruido aleatorio, y dos filtradas con dos tipos de wavelets diferentes. El siguiente resultado se puede ver una compresión satisfactoria de imágenes, donde se ha conseguido mantener una alta energía manteniendo alto el número de ceros. V UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL RESUMEN DEL PROYECTO FIGURA 4. Imagen original de Playa a la izquierda, imagen comprimida a la derecha y porcentajes de la energía y el número de ceros y el lugar del umbral abajo. Las wavelets son una herramienta muy potente para el estudio de señales e imágenes, debido a esto, son útiles en un amplio número de aplicaciones en muy diferentes campos, donde muchas veces se obtienen mejores resultados que con otras técnicas, a pesar de ser una herramienta relativamente nueva en el procesamiento de señales. En muchas ocasiones las wavelets proporcionan características diferentes y más eficaces debido a su análisis local que es uno de sus mayores beneficios a la hora del análisis de señales. Por lo tanto, se ha comprobado que las wavelets son una herramienta muy potente y con gran potencial para el trabajo con imágenes, en lo que a compresión, eliminación de ruido y fusión se refiere. Así como su uso para muchas otras aplicaciones en diferentes campos, donde poco a poco ganan terreno a otras aplicaciones. VI UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL RESUMEN DEL PROYECTO Referencias [DAUB92] Daubechies I, “Ten Lectures on Wavelets” Philadelphia 1992. [GROS94] A. Grossmann, J. Morlet “Descomposition of Hardy functions into square integrable wavelets of constant shap” SIAM j. of Match. Anal. 1984 [JAID11] Jaideva C. Goswami, Andrew K. Chan, “Fundamentals of Wavelets” Theory, Algorithms and Applications. 2011. [MALL99] S.Mallat, “A Wavelet tour of Signal Processing” Academic Press, 2nd Edition 1999. http://www.cs.nyu.edu/cs/faculty/mallat/Wavetour_fig/index.html [MARI04] María José Lado, A. J. Méndez, “Algoritmos y Aplicaciones en el Análisis de Gráficos de Interfaz”, Departamento de Informática. Universidad de Vigo. Curso 2003/2004. [MICH07] M. Misiti, Y. Misiti, G. Oppenheim, J. Poggi, “Wavelets and their Applications” ISTE Ltd, 2007. [STRA94] STRANG, G., “Wavelet Tranform versus Fourier Transform”, American Mathematical Society. Abril 1993. [RAUG02] R. Rangarajan, R. Venkataramanan, S. Slah, “Image Denoising Using Wavelets”, Wavelets & Time Frequency. Diciembre 2002. VII UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL RESUMEN DEL PROYECTO VIII UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL ABSTRACT PROCESAMIENTO DIGITAL DE SEÑALES MEDIANTE LA TEORÍA DE WAVELETS Author: Márquez Belzunce, Pablo. Manager: Rodríguez Gómez, Francisco Javier. Collaborating Entity: ICAI - Universidad Pontifica Comillas. ABSTRACT Introduction The concept of wavelet analysis is quite new, comes from middle of the S.XX. His actual state starts at the end of the 80’s, coming from the work of some researchers such as Jean Morlet, Alex Grossmann or Ingrid Daubechies. Wavelet work in similar ways like Fourier analysis, for some applications Wavelets have series and transforms just like FT. The main difference between these two types of analysis is that wavelet perform local analysis while FT perform global analysis. Having this property gives wavelet such an edge analyzing signals in time-frequency domain. Wavelet’s technique is able to divide a complex function into more simple ones, and thus work with those more simple functions. This makes wavelet appropriate for image analysis, signal analysis, medical diagnosis, and others. Wavelets are used, also, because of their efficiency in representing non-stationary signals, as well as their ability to perform multireslolution analysis. With multiresolution analysis wavelets are able to represent signals as a finite sum of components with different resolutions and in different levels. Method This PFC is going to work with the following method. Study of the state of the art of wavelets. Study of image processing with wavelets. Creation of programs in MATLAB language, and the use of the Wavemenu ToolBox for showing the applications on the digital image processing. IX UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL ABSTRACT As software resources for the document elaboration, graphics and tables, Microsoft Office®, Wolfram Mathematica® and Matlab® graphic fucntions. Hardware and software arquitectura will have the following or similar to the following characteristics. Speed processor 2.3 GHz. RAM of 4 GB. Hard drive of 500 GB. Graphic card of 128 MB. OS Windows Vista® o Windows 7®. Software MATLAB® R2012b. Como software de desarrollo y ejecución se utilizará el paquete MATLAB® R2012b. Las razones de utilizar este software tan específico son principalmente las derivadas de sus características. MATLAB language MATLAB is a high level technical language with an interactive environment that allows to develop algorithms, perform data analysis, numeric calculus and graphic representation in 2D and 3D. Allows solving technical problems faster than other programming languages like C, C++ or FORTRAN. Is used in a big group of applications, some like signal processing and image processing, communications, control designs and measurements, modeling, numerical analysis… Its main advantages that make it perfect for this project are: High level language for technical calculations. Indexed environment for codding, files and data. Interactive tools to perform designs and run codes. Mathematical functions for algebra, optimization, numeric derivation and integration, as well as functions to Fourier analysis. Graphic functions for visualizing data and 2D and 3D functions. Tools and controls for developing graphic user interfaces. Functions for interate the language with external aplications and programming languages like C, C++, Java, Fortran, etc. Has diferent librarys with especific functions, called ToolBoox. In particular Wavemenu ToolBox, for working with wavelets. X UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL ABSTRACT Conclusions The objective aimed with this project was to explore wavelet in their actual uses, study their characteristics, fundamentals and algorithms, as well as performing a complete analysis of image processing with wavelet. The characteristics of image processing have been studied, programming in Matlab and with Matlab wavelet tools. Obtaining satisfactory data with them. Image compression with wavelet is a success with this kind of analysis, using symlet wavelet, it was able to achieve good compression ratios maintaining high energy level and a high number of zeros. The most successful application for image compression is the standard JPEG 2000 used nowadays, it is able to perform very high compressions maintaining the quality of image. In the case of image fusion, edge detection and image denoising, it was observed that the best type of wavelets for these applications were the biorthogonal wavelets, because they are able to perform exact reconstructions using filters, this property gives many advantages comparing to other techniques. In the case of image fusion, the efficiency using wavelets was proved, and good results were achieved performing image fusion of 2 parts of the same image, and also realising the fusion of fuzzy images potential. On the following figures, there are shown examples of image fusion, compression and a good denoised image. First it is shown the image fusion of two complementary images. The success on the process can be seen, but is also improvable. XI UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL ABSTRACT FIGURE 5. Image fusion of complementary images. FIGURE 6. Result of the image fusion. Now two types of denoised images are shown, coming from the same image. The first one in the left is performed with daubechies 10 for a level 5 of decomposition, the second on the bottom right is performed with reverse biorthogonal 6.8 for a level 4 of decomposition. It can be appreciated a slightly difference between them, in which biorthogonal wavelets work better. XII UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL ABSTRACT FIGURE 7. Four images, the original one on the upper left, the noisy image on the top right, and the denoised images at the bottom. The following images show a satisfactory image compression where, the retained energy is very high, but also almost all the zeros are maintained. XIII UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL ABSTRACT FIGURE 8. Original image on the top left, and compressed image on the top right. On the bottom it is shown a graphic with the percentages of energy and zeros. Wavelets are a very potent tool for the study of signals and images, thus they are very useful in a variety of applications in different fields, in a lot of them having better performing than other techniques. This is because wavelet make a different approach with different characteristics and more efficiency than other techniques, some of them because of the local characteristic, which is one of the major benefits in signal analysis. In the end, it was proved that wavelets are a powerful technique and with great potential for working with images, in compression, denoising and fusion. And it is was proved, also, a great tool for applications in different fields, and everyday more popular XIV UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL ABSTRACT References: [DAUB92] Daubechies I, “Ten Lectures on Wavelets” Philadelphia 1992. [GROS94] A. Grossmann, J. Morlet “Descomposition of Hardy functions into square integrable wavelets of constant shap” SIAM j. of Match. Anal. 1984 [JAID11] Jaideva C. Goswami, Andrew K. Chan, “Fundamentals of Wavelets” Theory, Algorithms and Applications. 2011. [MALL99] S.Mallat, “A Wavelet tour of Signal Processing” Academic Press, 2nd Edition 1999. http://www.cs.nyu.edu/cs/faculty/mallat/Wavetour_fig/index.html [MARI04] María José Lado, A. J. Méndez, “Algoritmos y Aplicaciones en el Análisis de Gráficos de Interfaz”, Departamento de Informática. Universidad de Vigo. Curso 2003/2004. [MICH07] M. Misiti, Y. Misiti, G. Oppenheim, J. Poggi, “Wavelets and their Applications” ISTE Ltd, 2007. [STRA94] STRANG, G., “Wavelet Tranform versus Fourier Transform”, American Mathematical Society. Abril 1993. [RAUG02] R. Rangarajan, R. Venkataramanan, S. Slah, “Image Denoising Using Wavelets”, Wavelets & Time Frequency. Diciembre 2002. XV UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL AGRADECIMIENTOS AGRADECIMIENTOS AGRADECER A FRANCISCO JAVIER, POR SER CAPAZ DE TRATAR CONMIGO INCLUSO EN LOS MOMENTOS DIFÍCILES. A YELENA PORQUE SIEMPRE CREYÓ EN MÍ Y ME APOYÓ INCONDICIONALMENTE FUERA CUAL FUERA LA SITUACIÓN. A JOSÉ Y ELENA, POR AYUDARME A VER LAS COSAS MÁS BLANCAS CUANDO TODO ESTABA NEGRO. Y A AIDA PORQUE SIN SUS BUENAS COMIDAS Y CHARLAS EN LOS LARGOS DÍAS DE ESTUDIO. A TODOS, GRACIAS. XVI UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL ÍNDICE Índice Capítulo 1. Introducción y Motivación ................................................................. 3 1.1 Introducción ............................................................................................................... 3 1.2 Estado del arte............................................................................................................ 4 1.3 Motivación del proyecto ............................................................................................ 6 1.4 Objetivos ..................................................................................................................... 6 1.5 Metodología ................................................................................................................ 7 Capítulo 2 2.1 Fundamentos del análisis de señales ............................................. 9 Fundamentos Matemáticos ....................................................................................... 9 2.1.1 Espacio Lineal ............................................................................................................................ 9 2.1.2 Vectores y Espacios Vectoriales ................................................................................................ 9 2.1.3 Funciones Básicas, Ortogonalidad y Biortogonalidad ............................................................. 10 2.1.4 Bases Locales y Bases Ries ..................................................................................................... 11 2.1.5 Espacio linear discreto normalizado (normado) ....................................................................... 12 2.1.6 Aproximación por proyección ortogonal ................................................................................. 12 2.1.7 Introducción a Señales Digitales .............................................................................................. 12 Capítulo 3 3.1 Procesamiento digital de señales con wavelets. ........................... 15 Algoritmos que emplean las técnicas sobre Wavelets para el DSP. .................... 15 3.1.1 Algoritmos Wavelet Packet ..................................................................................................... 15 3.1.2 Segmentación ........................................................................................................................... 17 3.1.3 Identificación de fallos a través de sintonías ............................................................................ 18 3.1.4 Wavelets de dos dimensiones y Wavelet Packets .................................................................... 19 3.1.5 Compresión de Imágenes ......................................................................................................... 27 3.1.6 Algoritmos para la detección de Micro-Calcificaciones .......................................................... 31 3.1.7 Sistemas de comunicación con multiportadoras (MCCS) ........................................................ 32 3.1.8 Visualización de imágenes médicas en tres dimensiones......................................................... 36 3.1.9 Aplicaciones Geofísicas ........................................................................................................... 37 Capítulo 4 4.1 Aplicaciones de la transformada wavelet en DSP. ...................... 39 Clasificación de las aplicaciones ............................................................................. 40 Capítulo 5 Procesamiento de imágenes con wavelets .................................... 51 5.1 Introducción ............................................................................................................. 51 5.2 Wavelets para las imágenes .................................................................................... 51 5.3 Detección de bordes ................................................................................................. 52 5.4 Fusión de imágenes .................................................................................................. 59 5.4.1 Fusión de imágenes complementarias ...................................................................................... 59 5.4.2 Fusión de imágenes diferentes ................................................................................................. 62 XVII UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL ÍNDICE 5.5 Eliminación de ruido ............................................................................................... 63 5.6 Compresión de imágenes ......................................................................................... 66 5.6.1 Principios de Compresión ........................................................................................................ 67 5.6.2 Wavelets Y Compresión .......................................................................................................... 68 5.6.3 Compresión Verdadera ............................................................................................................ 73 5.6.4 Estándar JPEG 2000 ................................................................................................................ 74 Capítulo 6 Conclusiones ................................................................................. 77 Capítulo 7 Futuros Desarrollos ...................................................................... 79 Capítulo 8 Bibliografía ................................................................................... 81 XVIII UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA DOCUMENTO I MEMORIA 1 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 2 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA CAPÍTULO 1. INTRODUCCIÓN Y MOTIVACIÓN En este capítulo va a realizar una introducción al empleo de la teoría de Wavelets. 1.1 INTRODUCCIÓN El concepto de análisis wavelet es relativamente reciente, data desde mediados del siglo XX. Se puede considerar que las teorías de Littlewood-Palley y Calderón-Zygmund sobre el análisis de armónicos y la teoría en procesamiento de señales se pueden considerar predecesores del análisis sobre wavelets. Sin embargo, en su estado actual la teoría de wavelet surge a finales de los 80’s con los trabajos de varios investigadores en distintas disciplinas, como son Jean Morlet y Alex Grossmann, J. Strömberg, Stephane Mallat, Yves Meyer, Ingrid Daubechies, y C. K. Chui, entre otros, han contribuido significativamente su desarrollo. En aquéllas aplicaciones que operan sobre un conjunto de datos discretos, las funciones wavelets se pueden considerar funciones generadas por dilatación y traslación de funciones simples. De forma análoga al análisis de Fourier, existe series Wavelets (WS) y transformada integral wavelet (IWT). Estas series y transformadas integrales wavelet están íntimamente relacionadas. La transformada IWT de una función finita de energía en el dominio de los reales y evaluada en ciertos puntos en la escala del tiempo proporciona los coeficientes para la representación de la serie wavelet. Esta relación no existe entre las series de Fourier y la transformada de Fourier. Además el análisis de Fourier es global en el sentido de que cada componente de frecuencia (tiempo) de la función es aplicada influenciada por todas las componentes del tiempo (frecuencia) de la función. En cambio, el análisis wavelet es un análisis local. Esta naturaleza local es apropiada para el análisis de señales en el dominio tiempo-frecuencia. Las técnicas wavelet permiten dividir una función compleja en varias más simples, objeto de estudio por separado. Esta propiedad junto los algoritmos rápidos sobre wavelet que comparativamente son más rápidos que los algoritmos sobre la transformada rápida de Fourier, añaden más ventajas al proceso análisis y síntesis. Se han utilizado diferentes tipos de wavelets como herramienta para resolver problemas relacionadas con el análisis de señales, análisis de imagen, diagnósticos médicos, procesamiento de señales geodésicas, análisis estadístico, problemas del valor en la frontera, y otros. Estas técnicas con wavelets están ganando una enorme popularidad en las citadas áreas, por lo que continúan las investigaciones sobre nuevas aplicaciones. 3 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Una razón por la que se emplean las wavelets es su eficacia en la representación de señales no estacionarias (transitorios). Dado que la mayoría de señales tiene señales transitorias, se usan las diferentes tipos de wavelets para su representación en una gran cantidad de clases de señales, en lugar de representarlas mediante el análisis de Fourier de señales estacionarias. A diferencia del análisis de Fourier que usa funciones senoidales (global) como base, el análisis Wavelet emplea bases que son localizadas en el tiempo y la frecuencia (no local) que son más efectivas en la representación de señales no estacionarias. Como resultado, la representación con Wavelet es más compacta y fácil para su posterior implementación. Con el análisis multiresolución se pueden representar las señales como una suma finita de componentes de diferentes resoluciones de modo que cada componente se pueda procesar de forma adaptativa en los objetivos de la aplicación. Esta capacidad de representar señales de forma compacta y en varios niveles de resolución es la principal ventaja del análisis wavelet. 1.2 ESTADO DEL ARTE Se indica a continuación algunas de las más recientes publicaciones donde se emplea la Teoría de Wavelets en el estudio y tratamiento de diferentes señales. [1] Procesado y Transmisión de Señales Biomédicas para el Diagnóstico de Trastornos y Enfermedades del Sueño. Tesis Doctoral. Daniel Sánchez Morillo. Escuela Técnica Superior de Ingeniería. Universidad de Cádiz. 2008. El autor realiza una propuesta y estudio de viabilidad de un sistema de uso portátildomiciliario y de los procedimientos validados asociados, para el análisis y caracterización de diversas señales biomédicas, de las que se extraen parámetros fundamentales para las más novedosas técnicas de diagnóstico. Trata de reducir el número de sensores y señales relevantes a efectos de diagnosis, respecto de los empleados en la Polisomnografía (PSG), actual estándar de facto para la diagnosis del SAHS. En el caso de la señal electrocardiográfica, el detector de QRS es el punto crítico en lamedida de la serie RR y se basa en la misma descripción del complejo para detectarlo: el complejo QRS es una onda de gran amplitud y con transiciones bruscas. Para ello analiza en su estudio las Wavelets en Transformadas Wavelet y bancos de filtros. [2] Nuevas Metodologías no Invasivas de Diagnosis de Defectos Incipientes en Rodamientos de Bola. Omar José Lara Castro. Tesis Doctoral. Universidad Carlos III de Madrid. 2007. Desarrolla y aplica en su Tesis Doctoral diferentes metodologías de diagnosis de defectos incipientes en rodamientos de bola. Se apoya en un conjunto de señales de un 4 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA banco de ensayos de rodamientos, completando tres tipos de condición defectuosa y una condición normal en rodamientos. Las señales han sido procesadas mediante una herramienta de procesamiento de datos, denominada Transformada Wavelet que, a pesar de su edad temprana, posee una trayectoria amplia en el análisis de señales vibratorias, siendo capaz de extraer información relevante del fenómeno físico en estudio, en dimensiones reducidas. Adicionalmente, esta información ha sido clasificada por medio de tres tipos de redes neuronales, que han demostrado ser capaces de efectuar un diagnóstico automático de la condición de un sistema, al aprender adecuadamente con un conjunto representativo de muestras, e imitar el proceso de aprendizaje humano. Los resultados señalan que hay diversos factores que influyen en la precisión del sistema clasificador, como son, la cantidad de datos utilizados, la complejidad de la red neuronal, y diversas consideraciones de diseño que se explican en detalle para cada red en particular. Finalmente, se introduce la aplicación de Sistemas Híbridos de clasificación para la diagnosis de defectos en componentes mecánicos rotativos, consiguiendo índices de éxito nunca antes alcanzados en este campo. [3] Estudio de métodos para procesamiento y agrupación de señales electrocardiográficas. Tesis Doctoral. David Cuesta Frau. Escuela Politécnica de Valencia. 2001. Describe toda una amplia gama de de técnicas de preprocesamiento de la señal ECG, desde la eliminación del ruido (mediante técnicas clásicas de filtrado, aproximación de funciones, o la transformada wavelet), pasando por la eliminación de la interferencia de la red, la eliminación de las variaciones de la línea base (utilizando diferentes tipos de filtros), la detección de los puntos significativos de una onda ECG (mediante algoritmos de tratamiento digital de las señales, detectando la primera y segunda derivadas, filtrado digital, transformaciones no lineales, etc.), todo ello para conseguir una señal ECG limpia de interferencias y perfectamente segmentada por latidos Tomando como partida las operaciones de preprocesamiento basadas en la transformada wavelet y tomando como fuente los latidos previamente segmentados, se presentan una serie de métodos para el procesado (normalización temporal lineal, alineamiento temporal no lineal, variaciones para la extracción de características) y clustering final de los latidos. Concluye presentado los resultados obtenidos de la aplicación práctica de todos los métodos y algoritmos descritos. [4] Sistema de Reconocimiento de Personas Mediante su Patrón de Iris Basado en la Transformada Wavelet. PFC. Rafael Coomonte Belmonte. Universidad Politécnica Madrid. 2006. Se centra en la técnica de reconocimiento biométrico de iris, presentando unas prestaciones muy propicias para formar parte de un sistema de seguridad altamente fiable. Uno de los fundamentos en los que se basa el diseño del sistema es el uso de la transformada wavelet, que permite el análisis de las señales unidimensionales, obtenidas a partir de las imágenes del iris, y que precisan de una explicación exhaustiva para conocer sus fundamentos. 5 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 1.3 MOTIVACIÓN DEL PROYECTO La motivación del presente proyecto es la de presentar el tratamiento de señales digitales en una dimensión (1D) y en dos dimensiones (2D) con las técnicas de la teoría de Wavelets. Las señales acústicas y los transitorios en las señales eléctricas son susceptibles de ser tratadas con Wavelets 1D, mientras que el tratamiento en 2D involucra principalmente el tratamiento y compresión de imágenes. Se tratarán con diversos ejemplos para demostrar las ventajas y la flexibilidad del uso de las técnicas y algoritmos Wavelets en el procesamiento de imágenes. Se estudiará cómo la descomposición de Wavelets desempeña un papel activo en la separación de la señal en sus componentes antes de que con otras técnicas DSP se puedan aplicar. Se incluirán los algoritmos denominados “wavelet tree” la descomposición “wavelet-packet tree” y las wavelets 2D o la descomposición “waveletpacket tree”. Se discutirá la extensión de los algoritmos wavelets a los algoritmos de descomposición mencionados antes de presenta varias aplicaciones prácticas. 1.4 OBJETIVOS Los objetivos que persigue el PFC se enumeran a continuación: Presentar los conceptos matemáticos y técnicas relativas a la teoría Wavelet. Espacio vectorial, funciones base, ortogonalidad y biortogonalidad, transformada z. Fundamentos del análisis de señales. Estudio del procesamiento de señales digitales con Wavelets. Presentar los paquetes de algoritmos que emplean las técnicas sobre Wavelets para el procesamiento digital de señales. Estudio de los algoritmos de descomposición denominados “wavelet-packet”. Análisis de la compresión de imágenes. 6 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 1.5 METODOLOGÍA En el desarrollo del proyecto se va a seguir la siguiente metodología. Estudio del estado del arte de la Teoría de Wavelets. Estudio del procesamiento de señales digitales con Wavelets. Elaboración de programas en el lenguaje del software MATLAB y empleo de la herramienta ToolBox “Wavemenu” que ilustre las aplicaciones prácticas en el tratamiento digital de señales. Valoración económica: recogida de información de diferentes fuentes (Empresas, Consultoras, etc.) para la elaboración del detalle económico del desarrollo técnico presentado. Como recursos software en la elaboración de la documentación, gráficos y tablas, se empleará el paquete integrado Microsoft Office®, el software Wolfram Mathematica® 8. y las funciones gráficas de MATLAB®. La arquitectura hardware y software a emplear será una arquitectura PC con las características siguientes: Procesador con velocidad de reloj 2.3 GHz. Memoria RAM de 4 GB. Disco duro de 500 GB. Tarjeta gráfica de 128 MB. Sistema Operativo Windows Vista® o Windows 7®. Software MATLAB® R2012b. Como software de desarrollo y ejecución se utilizará el paquete MATLAB® R2012b. Las razones de utilizar este software tan específico son principalmente las derivadas de sus características. Lenguaje MATLAB MATLAB es un lenguaje técnico de alto nivel y con un entorno de desarrollo interactivo que permite desarrollar algoritmos, realizar análisis de datos, cálculo numérico y representación de gráficos 2D y 3D. Permite resolver problemas técnicos de un modo más rápido que los lenguajes de alto nivel como C, C++, y Fortran. Se emplea en un gran conjunto de aplicaciones como procesado de señal e imagen, comunicaciones, diseño de control y medidas, modelado, y análisis numérico, entre otras. Sus principales ventajas, que lo hacen idóneo para este proyecto son: 7 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Lenguaje de alto nivel para cálculo técnico. Entorno de desarrollo integrado que gestiona el código, ficheros y datos. Herramientas interactivas para realizar diseños y ejecutar el código. Funciones matemáticas para el algebra lineal, optimización, derivación e integración numérica así como funciones para el análisis de Fourier. Funciones gráficas para visualizar datos y funciones en 2-D y 3-D. Herramientas y controles para construir interfaces gráficos de usuario (GUI). Funciones para integrar el lenguaje con aplicaciones externas y lenguajes como C, C++, Java, Fortran, etc. Dispone de diferentes bibliotecas de funciones específicas denominadas ToolBoox. En particular integra la herramienta ToolBox denominada “Wavemenu”, específica para tratar las Wavelets. 8 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Capítulo 2 FUNDAMENTOS DEL ANÁLISIS DE SEÑALES 2.1 FUNDAMENTOS MATEMÁTICOS 2.1.1 ESPACIO LINEAL Un espacio funcional 𝑆 es una colección de funciones que satisface una cierta estructura matemática. 1. 2. 3. 4. 5. El espacio S no debe estar vacío. Si 𝑥 ∈ 𝑆 e 𝑦 ∈ 𝑆 entonces 𝑥 + 𝑦 = 𝑦 + 𝑥. 3. Si 𝑧 ∈ 𝑆, entonces (𝑥 + 𝑦) + 𝑧 = 𝑥 + (𝑦 + 𝑥). Existe en dicho espacio un elemento único 0, que verifica 𝑥 + 0 = 𝑥. Existe en dicho espacio otro elemento único (−𝑥) que verifica 𝑥 + (−𝑥) = 0. 2.1.2 VECTORES Y ESPACIOS VECTORIALES Un vector 𝑽 en un espacio Euclídeo tridimensional está definido por tres números complejos {𝑣1 , 𝑣2 , 𝑣3 } asociados con tres vectores unitarios y ortogonales {𝑎1 , 𝑎2 , 𝑎13 }. La suma y la multiplicación escalar de vectores en este espacio está definido por: 𝑼 + 𝑽 = {𝑢1 + 𝑣1 , 𝑢2 + 𝑣2 , 𝑢3 + 𝑣3 }. 𝒌 𝑽 = {𝑘 𝑣1 , 𝑘 𝑣2 , 𝑘 𝑣3 }. Se define la longitud de un vector como: |𝑽| = √𝑣1 2 + 𝑣2 2 + 𝑣3 2 Se define el producto escalar como: 9 (1) UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 𝑢1 𝑇 𝑣1 𝑼. 𝑽 ∶= |𝑼|. |𝑽| cos(∠𝑈, 𝑉) = 𝑢1 𝑣1 + 𝑢2 𝑣2 + 𝑢3 𝑣3 = [𝑢2 ] . [𝑣2 ] 𝑢3 𝑣3 (2) Dos vectores son ortogonales entre sí cuando 𝑼. 𝑽 = 0. Se define proyección de un vector sobre otro como: 𝑼. 𝑽 = 𝑼. 𝒂𝑽 |𝑽| (3) Que es la proyección de 𝑼 en la dirección del vector unitario 𝒂𝑽 . 2.1.3 FUNCIONES BÁSICAS, ORTOGONALIDAD Y BIORTOGONALIDAD Se extiende el concepto de espacio vectorial geométrico Euclídeo a espacios lineales normalizados. Esto quiere decir que se entiende como una colección de funciones en vez de una colección de vectores geométricos. La expansión ortogonal de una función es una herramienta importante para el análisis de señales. Los coeficientes de expansión representan las magnitudes de los componentes de la señal. Siempre tiene sentido descomponer una señal en componentes para su observación antes de procesarla, ya que dado si queremos minimizar ciertos componentes armónicos (𝑥 − 𝐻𝑧) se diseñará simplemente el filtro a dicha frecuencia 𝑥. La descomposición ortorgonal de una señal es directa y la computación de los coeficientes es simple y eficiente. Sea la función 𝑓(𝑡) ∈ 𝐿2 se expande ortonormalmente con la siguiente serie de términos {∅𝑘 (𝑡)}𝑘∈𝑍 ∈ 𝐿2 ∈ L2, se escribe como sigue: ∞ 𝑓(𝑡) = ∑ 𝑐𝑘 𝜙𝑘 (𝑡) (4) 𝑘=−∞ Calculando los coeficientes al hacer el producto escalar de la función con las bases ∞ ⟨𝑓, 𝜙𝑘 ⟩ = ∫ 𝑓(𝑡) ̅̅̅̅̅̅̅ 𝜙𝑘 (𝑡) 𝑑𝑡 −∞ ∞ =∫ ∞ ∞ ∑ 𝑐ℓ 𝜙ℓ (𝑡) ̅̅̅̅̅̅̅ 𝜙𝑘 (𝑡) 𝑑𝑡 = ∑ 𝑐ℓ 𝛿ℓ,𝑘 = 𝑐𝑘 −∞ ℓ=−∞ ℓ=−∞ (5) El cálculo del producto escalar de la imagen superior requiere conocer el valor de 𝑓(𝑡) para todo 𝑡 lo cual no es calculable en tiempo real. 10 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA En una base ortogonal, todas las funciones base pertenecen al mismo espacio. En cambio, en una base biortogonal, la base dual no tiene porqué estar en el espacio original. En el caso de que se cumpliera que están en el mismo espacio (una base biortogonal y su dual) entonces estas bases se denominan semiortogonales. 2.1.4 BASES LOCALES Y BASES RIES Las bases seno y coseno de las series de Fourier están definidas para todo tiempo (−∞, ∞) y, por tanto, se denominan bases globales. Existen muchas bases en el intervalo infinito que satisfacen los requisitos de ortogonalidad y biortogonalidad. Estas se denominan bases locales. La base Haar se considera el ejemplo más simple de base local. 2.1.4.1 Base de Harr Se describe por 𝜙𝐻,𝑘 (𝑡) = 𝜒[0.1) (𝑡 − 𝑘), 𝑘 ∈ 𝑍, donde: 1, 0≤𝑡<1 𝜒[0.1) (𝑡) = 𝑓(𝑥) = { 0, 𝑟𝑒𝑠𝑡𝑜 𝑐𝑎𝑠𝑜𝑠 (6) Es la función característica. La base Haar satisface la condición de ortogonalidad de la siguiente manera. ∞ ⟨𝜙𝐻,𝑗 (𝑡), 𝜙𝐻,𝑘 (𝑡)⟩ = ∫ 𝜒[0.1) (𝑡 − 𝑗) ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝜒[0.1) (𝑡 − 𝑘) 𝑑𝑡 = 𝛿𝑗,𝑘 −∞ (7) 2.1.4.2 Base Shanon La función Shanon se define como: 𝑠𝑒𝑛(𝜋 𝑡) 𝜋𝑡 (8) 𝑠𝑒𝑛(𝜋 (𝑡 − 𝑘)) , 𝑘∈ℤ 𝜋 (𝑡 − 𝑘) (9) 𝜙𝑆𝐻 (𝑡) = Y la base está formada por 𝜙𝑆𝐻,𝑘 (𝑡) = es una base ortonormal y es global. La prueba de su ortonormalidad se muestra mejor en el dominio espectral. Se expande 𝑔(𝑡) ∈ 𝐿2 en una serie de funciones básicas 𝜙𝑘 (𝑡), 𝑘 ∈ ℤ, 𝑔(𝑡) = ∑ 𝑐𝑘 𝜙𝑘 (𝑡) (10) 𝑘 La base ∅𝑘 (𝑡), 𝑘 ∈ ℤ se denomina base Riesz si satisface la siguiente inecuación: 11 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 2 𝑅1 ‖𝑐𝑘 ‖2ℓ2 ≤ ‖𝑔(𝑡)‖2 ≤ 𝑅2 ‖𝑐𝑘 ‖2ℓ2 ≤ ‖∑ 𝑐𝑘 𝜙𝑘 (𝑡)‖ ≤ 𝑅2 ‖𝑐𝑘 ‖2ℓ2 𝑘 (11) 2.1.5 ESPACIO LINEAR DISCRETO NORMALIZADO (NORMADO) Es una colección de elementos que son secuencias discretas de números (reales o complejos) con una norma dada. Para este tipo de espacios son también aplicables las reglas de los vectores analizadas anteriormente. 2.1.6 APROXIMACIÓN POR PROYECCIÓN ORTOGONAL Asumiendo que un vector 𝑢(𝑛) no pertenece al espacio vectorial lineal 𝑽 abarcado por {𝜙𝑘 }, y se desea encontrar la aproximación 𝑢𝑝 ∈ 𝑽. Se utiliza la proyección ortogonal de 𝑢 en el espacio 𝑽 como aproximación. 2.1.7 INTRODUCCIÓN A SEÑALES DIGITALES 2.1.7.1 Muestreo de señal Sea 𝑥(𝑡) una señal de energía limitada y continua en el tiempo. Si se mide la amplitud de la señal y se registran los resultados en un intervalo regular ℎ, se obtiene una señal discreta en el tiempo. 𝑥(𝑛) ≔ 𝑥(𝑡𝑛 ), 𝑛 = 0, 1, … , 𝑁 − 1 𝑡𝑛 = 𝑛ℎ (12) Estos valores discretizados de la muestra constituyen la señal digital. El intervalo ℎ de 𝜋 muestreo ha de ser elegido tal que ℎ ≤ Ω para que la aproximación a una función continua de banda limitada de 𝑥(𝑡) a partir de sus muestras {𝑥(𝑛)} sea buena. 2Ω es el ancho de banda de la función 𝑥(𝑡). La elección de ℎ viene del ratio de muestreo de Nyquist y la formula de recuperación de Shanon: 𝑥(𝑡) = ∑ 𝑥(𝑛ℎ) 𝑛∈ℤ 𝑠𝑒𝑛 (𝜋(𝑡 − 𝑛ℎ)) 𝜋(𝑡 − 𝑛ℎ) 12 (13) UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 2.1.7.2 Sistemas invariantes de movimiento lineal (Linear shift-invariant systems) Considérese un sistema caracterizado por su respuesta al impulse ℎ(𝑛). Se dice que se trata de un sistema invariante de movimiento lineal si la entrada 𝑥(𝑛) y la salida 𝑦(𝑛) satisfacen las siguientes relaciones: 1. Invariabilidad: 𝑥(𝑛) ⇒ 𝑦(𝑛) 𝑥(𝑛 − 𝑛′ ) ⇒ 𝑦(𝑛 − 𝑛´) (14) 𝑥1 (𝑛) ⇒ 𝑦1 (𝑛) 𝑦 𝑥2 (𝑛) ⇒ 𝑦2 (𝑛) 𝑥1 (𝑛) + 𝑚 𝑥2 (𝑛) ⇒ 𝑦1 (𝑛) + 𝑚 𝑦2 (𝑛) (15) { 2. Linealidad: { 2.1.7.3 Convolución Define la relación salida-entrada de un sistema invariante de movimiento lineal. Su definición matemática viene dada por: 𝑦(𝑛) = ℎ(𝑛) ∗ 𝑥(𝑛) = ∑ ℎ(𝑘 − 𝑛)𝑥(𝑘) = ∑ 𝑥(𝑘 − 𝑛)ℎ(𝑘) 𝑘 𝑘 (16) 2.1.7.4 Transformada-z Es una herramienta muy útil para el análisis discreto de señales. Se utiliza en la derivación de wavelets y algoritmos de bancos de filtros. Está definida por la suma infinita: 𝐻(𝑧) = ∑ ℎ(𝑘)𝑧 −𝑘 = ⋯ ℎ(−1)𝑧1 + ℎ(0) + ℎ(1)𝑧 −1 + ℎ(2)𝑧 −2 + ⋯ (17) 𝑛∈ℤ donde 𝑧 −1 indica el retraso de una unidad del intervalo de muestreo. 2.1.7.5 Región de Convergencia La región de convergencia de una transformada-z indica la región en el plano complejo en el cual todos los valores de 𝑧 hacen converger dicha transformada-z. 13 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 14 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Capítulo 3 PROCESAMIENTO DIGITAL DE SEÑALES CON WAVELETS. La introducción de las señales wavelet y el procesamiento de imagen ha implicado un importante avance para los ingenieros, les ha dado una herramienta tremendamente flexible para la resolución de problemas y el procesamiento de señales e imágenes con wavelets. El análisis con wavelet se centra principalmente en señales de una (1D) y dos dimensiones (2D). El procesamiento de una dimensión se hace mayormente de señales acústicas, música y transitorios de señales eléctricas, mientras que el procesamiento de señales de dos dimensiones se basa en su mayoría en compresión de imágenes e identificación. Las áreas más problemáticas del procesamiento de señales con wavelets son la reducción de ruido, la identificación de sintonías, la identificación de objetivos, la compresión de señales e imágenes y la supresión de interferencias. La descomposición wavelet tiene además un papel muy importante: separa la señal en componentes para que luego se puedan aplicar las diferentes técnicas de procesamiento digital. 3.1 ALGORITMOS QUE EMPLEAN LAS TÉCNICAS SOBRE WAVELETS PARA EL DSP. 3.1.1 ALGORITMOS WAVELET PACKET El desarrollo de los paquetes wavelet es un refinamiento de wavelets en el dominio de la frecuencia. Este desarrollo está basado en el teorema matemático probado por Ingrid Daubechies. Los paquetes wavelet son una generalización de wavelets en los cuales cada octava de frecuencia es subdividida de nuevo en dos bandas de frecuencia más finas. El desarrollo de los wavelet packets es un refinamiento de wavelets en el dominio de la frecuencia y está basado en el teorema matemático probado por Daubechies. 15 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Si 𝑓(−𝑘)|𝑘∈ℤ constituye una base ortogonal y las expresiones: 𝐹1 (𝑥) = ∑ 𝑔0 [𝑘]𝑓(𝑥 − 𝑘) (18) 𝑘 𝐹2 (𝑥) = ∑ 𝑔1 [𝑘]𝑓(𝑥 − 𝑘) (19) 𝑘 entonces { 𝐹1(· −2𝑘), 𝐹2(· −2𝑘); 𝑘 ∈ ℤ =} 𝑠𝑝𝑎𝑛{𝑓(−𝑛); 𝑛 ∈ ℤ }. son bases ortonormales de 𝐸 = Una señal puede ser descompuesta en muchas componentes wavelet packet. Se puede representar dicha señal por un grupo seleccionado de wavelet packets sin usar todos los wavelet packets, para un nivel dado de resolución. En los wavelet packets, para cada conjunto de N coeficientes se obtienen dos conjuntos de coeficientes de longitud N/2 tras el procesado del bloque de descomposición. El número de coeficientes es 2𝑚 si el conjunto de coeficientes original es procesado para m resoluciones. Para el procesado de señal mediante wavelet packets, es necesario llevar cuenta del orden de los filtros digitales y de los cambios de ratios de muestreo. Para observarlo de un modo más visual la siguiente figura muestra un árbol de wavelet packet para 𝑚 = 3. FIGURA 1. Diagrama de bloques de la descomposición y reconstrucción del algoritmo wavelets packets. 16 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 3.1.2 SEGMENTACIÓN La segmentación es una de las herramientas más utilizadas en el procesado de señales mediante wavelets. Se utiliza mucho en reducción de ruido, compresión de señales e imágenes y en algunos casos en reconocimiento de señales. Este método utiliza el número de muestras hasta que el valor absoluto de la señal excede el valor del segmento 𝜎. Existen tres métodos de segmentación o umbralización: segmentación Hard, segmentación Soft y por porcentaje. 3.1.2.1 Segmentación hard. En este tipo de segmentación, si el valor de una señal está por debajo de un valor (umbral) preestablecido previamente, esta señal se pone a cero. 𝑦={ 𝑥 |𝑥| ≥ 𝜎 0 |𝑥| < 𝜎 (20) Siendo 𝜎 el valor de segmentación o umbral. 3.1.2.2 Segmentación soft Se define como: 𝑦={ 𝑠𝑔𝑛(𝑥)𝑓(|𝑥| − 𝜎) |𝑥| ≥ 𝜎 |𝑥| < 𝜎 0 (21) Por lo general la función 𝑓(𝑥) es una función linear. Sin embargo, en ocasiones se utilizan curvas spline, (las curvas spline están definidas a trozos mediante polinomios) de tercer y cuarto orden, para valorar la eficacia cuando se tienen valores mucho mayores que 𝜎. En determinadas aplicaciones de compresión el usando curvas splines cuadráticas de orden 𝑚 > 2 puede afectar al ratio de compresión. 17 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 3.1.2.3 Segmentación por porcentaje En aplicaciones como compresión de imagen donde una cuota de bits se asigna al archivo comprimido, es ventajoso asignar un porcentaje de coeficientes wavelets a cero para satisfacer dicha cuota. Por lo tanto el valor de 𝜎 está basado en el histograma del conjunto de coeficientes y el número total de dichos coeficientes. La regla de segmentación que sigue es la misma que para segmentación hard., una vez determinado el parámetro 𝜎. 3.1.2.4 Implementación La implementación de estos tres métodos de segmentación son relativamente simples. Se resta el valor de la magnitud de segmentación de la magnitud de cada coeficiente. Por ejemplo, la implementación de la segmentación soft responde a una función lineal de coeficiente la unidad: 𝑠𝑔𝑛(𝑥)𝑓(|𝑥| − 𝜎) |𝑥| − 𝜎 ≥ 0 𝑦={ |𝑥| − 𝜎 < 0 0 (22) 3.1.3 IDENTIFICACIÓN DE FALLOS A TRAVÉS DE SINTONÍAS El fin básico del reconocimiento de señales acústicas es identificar un patrón de la señal acústica de una librería de sintonías. Prácticamente, todos los patrones de sintonía son estadísticos en la naturaleza y también no estacionarios. El uso de wavelets para extraer características de las señales tiene alto potencial para el éxito del reconocimiento. Para reconocer un patrón acústico, es necesario tener una serie de características distintivas, formando un vector característico para cada patrón. Estos vectores característicos se consiguen mediante la aplicación de muchas muestras de datos a un evento particular, para formar un algoritmo de reconocimiento. En un proceso de reconocimiento (hecho real) se compara la FFT con análisis wavelet. La realización mediante FFT produce aproximadamente los mismos resultados que el análisis wavelet, pero falla en el reconocimiento de las incógnitas que han de ser resueltas con el análisis. FFT carece de la información en el dominio del tiempo y por lo tanto pierde cierta información. 18 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 3.1.4 WAVELETS DE DOS DIMENSIONES Y WAVELET PACKETS 3.1.4.1 Wavelets de dos dimensiones. En aquellos casos donde la señal es 2D, es necesario representar los componentes de la señal por wavelets de dos dimensiones y una función aproximación de dos dimensiones. Para cada función escala 𝜙 con su correspondiente wavelet ψ, se construyen tres wavelets de dos dimensiones diferentes y una función aproximación de dos dimensiones mediante el producto tensor. Las wavelets de dos dimensiones se escriben como: [1] 𝛹𝑖,𝑗 (𝑥, 𝑦) = 𝜙(𝑥 − 𝑖)𝜓(𝑦 − 𝑗) [2] 𝛹𝑖,𝑗 (𝑥, 𝑦) = 𝜓(𝑥 − 𝑖)𝜙(𝑦 − 𝑗) [3] 𝛹𝑖,𝑗 (𝑥, 𝑦) = 𝜓(𝑥 − 𝑖)𝜓(𝑦 − 𝑗) (20) Y la función escala se escribe como: [1] Φ𝑖,𝑗 (𝑥, 𝑦) = 𝜙(𝑥 − 𝑖)𝜙(𝑦 − 𝑗) (21) [1] [2] [3] Las funciones 𝛹𝑖,𝑗 (𝑥, 𝑦), 𝛹𝑖,𝑗 (𝑥, 𝑦), 𝛹𝑖,𝑗 (𝑥, 𝑦) son wavelets dado que satisfacen la identidad: ∞ ∞ [𝑗] ∫−∞ ∫−∞ 𝛹𝑖,𝑗 𝑑𝑥 𝑑𝑦 = 0, 𝑝𝑎𝑟𝑎 𝑗 = 1,2,3. (22) La función aproximada 2D escalado y las correspondientes wavelets ΦD2 se muestran en la siguiente Figura: 19 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Scale function Wavelet function (1) 1 1 0.5 0 0 -1 5 0 0 2 4 5 6 0 0 2 4 6 Wavelet function (3) Wavelet function (2) 1 1 0 0 -1 -1 5 0 0 2 4 5 6 0 0 2 4 6 FIGURA 2. Función escalado y correspondientes Wavelets en 2D. En el dominio espectral cada wavelet y la función escalar ocupan un lugar diferente, como se muestra figura 2. Debido a la disminución de resolución cada imagen se descompone en 4. La distribución espectral de cada una de las cuatro funciones en 2D se puede observar en la figura 3. Las bandas espectrales se denominan como LH (baja-alta), HL (alta-baja) y HH (alta-alta), cada una de ellas se corresponde con el espectro de las wavelets [𝑁] 𝛹𝑖,𝑗 (𝑥, 𝑦), 𝑁 = 1,2,3. La banda LL (baja-baja) se corresponde con la función aproximación de 2D. Alta y baja se refieren al tipo de filtro para el procesado, si se trata de filtros basa-baja o pasa-alta. La descomposición de una señal 2D resulta en una pirámide jerárquizada. Debido a la disminución de la resolución, cada imagen se descompone en 4 subimágenes. El tamaño de cada subimagen es de un cuarto de la original. Como ejemplo y demostración se puede observar la figura 4. 20 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 3. Regiones ocupadas por las wavelets y las funciones escala en el plano espectral de dos dimensiones. FIGURA 4. Descomposición de una imagen con wavelet en 2D. 21 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 3.1.4.2 Wavelets packets de dos dimensiones Los wavelets packets de dos dimensiones son refinamientos de las wavelets de dos dimensiones (2D). Si se representa el k-ésimo wavelet packet por 𝜇𝑘 (𝑥), se aproxima la función 𝜇0 (𝑥) = ∅(𝑥) a producto tensor de dos wavelets packets que genera un wavelet packet de dos dimensiones (2D). 𝜇𝑘,𝑙 (𝑥, 𝑦) = 𝜇𝑘 (𝑥) 𝜇𝑙 (𝑦) (23) Por lo tanto, existen muchos wavelet packets de dos dimensiones que pueden ser elegidos para formar las bases en 𝐿2 para la representación de las señales. Usando el producto tensor entre dos packets cualesquiera, se obtienen 64 wavelet packets diferentes de dos dimensione (2D) incluyendo las funciones aproximación de dos dimensiones. 𝜇0,0 (𝑥, 𝑦) = 𝜇0 (𝑥) 𝜇0 (𝑦) (24) Existen demasiados wavelets packets 2D. Un ejemplo de wavelets packets 2D se muestra en la siguiente Figura. FIGURA 5. Haar wavelet packet para diferentes niveles. 22 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 3.1.4.3 Algoritmos de wavelet de dos dimensiones Como ya se ha visto anteriormente, las wavelets de dos dimensiones son el producto tensor de una función de escala 𝜙 y un wavelet 𝜓 de una dimensión. De esto se obtienen tres wavelets bidimensionales y una función escala también de dos dimensiones en cada nivel de resolución. Un wavelet de dos dimensiones es el algoritmo de una dimensión aplicado tanto en la dirección x como en la dirección y de la señal de dos dimensiones. Supóngase que la señal es una imagen, en este caso, los valores de la señal se denominan PIXEL, y se corresponden con la intensidad de reflexión óptica. Si se considera la señal como una matriz cuadrada de 𝑁 × 𝑁, se debe procesar la señal en una dirección primero, x o y. Esto se realiza descomponiendo cada fila o cada columna (dependiendo la dirección que se haya elegido para procesar primero) usando el algoritmo de descomposición de una dimensión. Debido a la pérdida de resolución, las dos matrices resultantes son rectangulares y de tamaño 𝑁 × 𝑁/2 o 𝑁/2 × 𝑁. El proceso ha de repetirse, (una vez traspuestas las matrices resultantes) para obtener de este modo cuatro matrices 𝑗−1 𝑗−1 cuadradas de 𝑁/2 × 𝑁/2 denominadas 𝑐 𝑗−1 (𝑚, 𝑛), 𝑑1 (𝑚, 𝑛), 𝑑2 (𝑚, 𝑛) y 𝑗−1 𝑑3 (𝑚, 𝑛). El algoritmo de descomposición para dos dimensiones se muestra en la Figura 5. El proceso indicado anteriormente, se puede realizar un número arbitrario de veces. El número de coeficientes tras la descomposición siempre es igual al coeficiente de entrada 𝑁2. FIGURA 6. Diagrama de bloques de descomposición de wavelets de dos dimensiones. 23 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 7. Descomposición jerárquica de una imagen en dos dimensiones. Si los coeficientes no son procesados, la información original puede recuperarse de manera exacta mediante el algoritmo de reconstrucción, por lo tanto si se trataba de una imagen, una vez reconstruida esta imagen será igual a la original. Este es el inverso del algoritmo de descomposición exceptuando las secuencias. 3.1.4.4 Algoritmos wavelet packet Los algoritmos de dos dimensiones para wavelet packet imitan a los de una dimensión. Lo que hace es repetir los algoritmos primero en una dirección y posteriormente en la otra. Todos las componentes wavelet son descompuestos para obtener mayores detalles de la señal. El algoritmo de computación para wavelets packets de dos dimensiones, tiene la misma dificultad que el usado para wavelets de dos dimensiones. Requiere ser cuidadoso con el orden de los filtros y las direcciones que se han utilizado en el procesamiento, dado que para la reconstrucción, es necesario seguir el orden inverso al utilizado. 3.1.4.5 Detección de bordes. Se denomina borde a un grupo de pixeles interconectados que se encuentran en el borde de dos regiones que tienen una intensidad relativamente uniforme. Tiene gran importancia en análisis digital de imagen, ya que es capaz de localizar los límites de la 24 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA imagen se convierte en una herramienta muy útil en la segmentación, identificación de formas y registro de imágenes. A pesar de que existen menExisten dos importantes categorías en los algoritmos de detección de bordes: El enfoque como gradiente (primera derivada) y el enfoque de Laplace (segunda derivada). En este apartado se consideraran estos dos enfoques, así como también los enfoques a partir de wavelets y curvelets. Un borde ideal, debería como una función escalón, pero en la práctica, los bordes son más borrosos y pueden ser modelados como funciones rampa entre dos valores. Un borde borroso puede ser modelado matemáticamente en 𝑥 = 0 por una función error dada por: 𝑓(𝑥) = 𝐼𝑥>0 − 𝐼𝑥<0 𝑥 [𝑒𝑟𝑓 ( ) + 1] + 𝐼𝑥<0 2 √2𝜎 𝑦 (25) 2 Donde la función error 𝑒𝑟𝑓(𝑦) = (2/𝜋) ∫0 𝑒 −𝜃 𝑑𝜃 está limitada por ±1 así como la variable 𝑦 → ±∞. Otro modelo para un borde sería la fórmula 26, la cual tiene un comportamiento parecido a la anterior.: 𝑓(𝑥) = 1 + tanh(𝛽𝑥) (26) Se mostraran ahora los diferentes enfoques. El enfoque como gradiente. Detector de bordes Sobel: Los métodos utilizados, se basan en buscar y calcular el máximo de la derivada de primer orden de la imagen en las dos direcciones. La intensidad del gradiente 𝜕𝑓 2 𝜕𝑓 2 | |∇𝑓 = √( ) + ( ) 𝜕𝑥 𝜕𝑦 (27) indica la nitidez del borde. Esto puede ser aproximado como |∇𝑓| = | 𝜕𝑓 𝜕𝑓 | + | |. 𝜕𝑥 𝜕𝑦 25 (28) UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA El detector de bordes Sobel, aproxima la ecuación del gradiente mediante la creación de un par de filtros de imagen 3x3, para hacer la convolución con la imagen. El enfoque de Laplace. Detector de bordes Laplaciano de Gauss (método de Marr-Hildreth): Este método emplea un filtro Gaussiano para suavizar antes de que el Laplaciano sea operado sobre la imagen. La localización del borde viene indicada por los ceros en la siguiente ecuación: ∇2 [𝑮 ∗ 𝑓(𝑥, 𝑦)] = 0, (29) donde G es la función gaussiana de dos dimensiones definida como: 1 𝑥2 + 𝑦2 𝐆(x, y) = exp ( ). 2𝜋𝜎 2 2𝜎 2 (30) Detector de bordes de Canny: Este detector es una optimización del detector Marr-Hildreth visto anteriormente. Busca la dirección del borde así como también su gradiente. Utiliza la segunda derivada de la imagen a lo largo de la dirección del borde (fórmula 31), y posteriormente el gradiente (fórmula 32). El proceso de la localización del borde tiene los siguientes cuatro pasos: Primero se suaviza la imagen con la función Gaussiana, el siguiente paso es calcular el gradiente tras la suavización de la imagen, en el tercer paso se comprueba el valor del gradiente anterior, si este no es cero se debe calcular la función 𝐷 ∇(𝐺∗𝑓) 𝑓, el ‖∇(𝐺∗𝑓)‖2 último paso es buscar puntos de bordes en los cambios de signo de la función del paso anterior. Fórmula de la segunda derivada a lo largo del borde: 1 𝜕𝑓 2 𝜕 2 𝑓 𝜕𝑓 2 𝜕𝑓 2 𝜕𝑓 2 𝜕 2 𝑓 𝐷 ∇𝑓 𝑓 = {( ) + 2( ) ( ) + ( ) } ‖∇𝑓‖2 𝜕𝑥 𝜕𝑥 2 𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑦 2 ‖∇𝑓‖2 Fórmula del gradiente: 26 (31) UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 1 𝜕𝑓 2 𝜕 2 𝑓 𝜕𝑓 2 𝜕𝑓 2 𝜕𝑓 2 𝜕 2 𝑓 𝐷 ∇⟘𝑓 𝑓 = {( ) − 2( ) ( ) + ( ) } ‖∇𝑓‖2 𝜕𝑥 𝜕𝑥 2 𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑦 2 ‖∇⟘𝑓‖2 (32) 3.1.4.6 Detección de bordes con wavelet. Las wavelets actúan como filtros paso banda, como se mostró anteriormente en las wavelet Haar. La detección de bordes mediante wavelet está basada en la transformada wavelet de dos dimensiones de la imagen. Tal como se mencionó anteriormente en el apartado 3.1.4.2, la transformada wavelet de una imagen para cualquier nivel resolución tiene cuatro componentes; LL que viene de la convolución de las funciones de escala en las direcciones 𝑥 e 𝑦, LH viene de la función de escala en 𝑥 y los wavelets en 𝑦, HL son wavelets en la dirección 𝑥 y función de escala en la dirección 𝑦, por último HH se produce por las wavelets en las dos direcciones. La componente LL representa la imagen en baja resolución, mientras que la combinación de las otras tres proporciona los bordes. Las wavelets son muy eficaces a la hora de identificar puntos de discontinuidad, pero los bordes representan una discontinuidad a lo largo de una línea, por lo tanto las transformadas ridgelet son más eficaces en cuanto a buscar bordes se refiere. 3.1.5 COMPRESIÓN DE IMÁGENES 3.1.5.1 Compresión de Datos Las señales como música, voz, imágenes y películas son almacenadas en la memoria o bien son enviadas por la red. Hoy en día muchas señales ya son generadas en un formato digital para estos propósitos. Resonancias magnéticas, fotografías, música y voz son algunas de ellas. Las señales antiguas producidas analógicamente se pueden convertir a formato digital mediante digitalizadores, cuantificadores y escáneres. El objetivo de manipular los archivos en el dominio digital es porque son mucho más fácil de manejar debido a que el tamaño es menor y es más fácil y eficiente su almacenamiento y transmisión. El ratio de compresión y la distorsión o fidelidad son dos de las medidas más utilizadas para evaluar los algoritmos de compresión. Por lo general los algoritmos utilizados no tienen pérdidas, pero también existen aquéllos donde se pierde cierta información. La mayor compresión sin pérdidas que se puede conseguir es codificar la salida de una fuente de datos con un número medio de bits que sea igual a la entropía de la entrada (la entropía es el promedio de información de la fuente, a mayor entropía, incertidumbre y desorden mayor información). Por lo tanto lo que se busca es reducir la entropía e 27 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA incrementar el ratio de compresión. Como nota, el ratio de compresión conseguido en algoritmos sin pérdidas es normalmente pequeño. Existen numerosos esquemas de compresión de 1D utilizados para voz y música. Por ejemplo el MP3, que viene de MPEG-1capa 3 de audio, y es el formato más común de almacenamiento de música siendo una forma de compresión de datos con pérdidas, lo que hace es, reduce ciertas muestras de la señal que no son perceptibles para la mayoría de la población. El más utilizado para imágenes es el JPEG. A continuación se mostrarán diversos tipos de compresión de datos típicos: Codificación transformada. Las secuencias de entrada son transformadas en otras secuencias, donde la mayor parte de la información se encuentra en unos pocos elementos. En este caso como la mayor parte está contenida en una mitad de datos, si se quita la otra mitad, la información puede ser recuperada con poca distorsión. Algunas de las técnicas de transformaciones que se usan son: Transformada Karhunen-Loéve (KLT), Transformada Discreta del Coseno (DCT), Transformada Discreta de Walsh-Hadmard (DWHT) y Transformada Wavelet. En el caso de la Transformada Wavelet la información perdida es bastante menor que en los otros métodos debido a la propiedad momento de desvanecimiento. La codificación sub-banda es similar a la codificación transformada, la diferencia radica en que se aplica a varias escalas. Unas series de filtros pasabaja y pasa-alta son utilizados para reducir el error de cuantificación y conseguir así un mayor ratio de compresión. Differential Pulse Code Modulation (DPCM). Este algoritmo está basado en que para la mayoría de las imágenes, los valores de los pixeles adyacentes están muy relacionados. Este método requiere predecir el valor de cada pixel y un código para la diferencia entre el valor del pixel y el que se predijo. Con un buen predictor implicará menores errores, y esto implicará un mejor ratio de compresión. Vector cuantificación (VQ). Se trata de un sistema bastante popular para la compresión de imágenes. El proceso puede ser llevado a cabo en el plano de la imagen o después de la transformación. 28 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 3.1.5.2 Codificación wavelet en árbol (wavelet tree) Este tipo de codificación utiliza una estructura en árbol, tal y como su nombre indica. Esto es ventajoso debido a la correlación entre los coeficientes discretos wavelet, utilizados en cada una de las tres direcciones espaciales (HL, LH, y HH), tal como se muestra en la Figura 7. Si un coeficiente wavelet discreto a un nivel de alto de descomposición es más pequeño de la segmentación especificada, es muy probable que sus “hijos” y “nietos” sean más pequeños que el segmento. La codificación de un DWCs (coeficientes discretos wavelet) de gran tamaño puede necesitar muchos bits, mientras que un DWC pequeño puede ser codificado con un solo símbolo. FIGURA 8. Correlación espacial y relación jerárquica en los coeficientes wavelets para diferentes resoluciones. Se ilustra una forma genérica de codificación en árbol: Los DWCs son seleccionados en grupos con segmentos decrecientes para que los DWCs grandes sean codificados más pronto. El primer segmento es seleccionado para ser un integrador 𝑇0 = 2j , donde j es el integrador más cercano menor que log 2 𝑚á𝑥|𝐷𝑊𝐶| y el k-ésimo segmento es 𝑇𝑘 = 𝑇0 /2j que es la cuantificación uniforme. 29 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Eligiendo el segmento 𝑇𝑘 todas las localizaciones de dicho grupo de DWCs, 𝐶𝑖,𝑗 con 𝑇𝑘 ≤ |𝐶𝑖,𝑗 | ≤ 𝑇𝑘−1, son codificadas con una estructura de árbol, y los signos están también adjuntos. (“dominant pass”) Estas locaciones 𝐶𝑖,𝑗 que han sido codificadas en simplificaciones previas están definidas para una mayor precisión al adjuntarles el bit correspondiente al segmento Tk.Subordinate pass) Con simplificaciones decrecientes, los principales zero bits de DWCs codificados son guardados para conseguir la compresión. El número de bits pueden ser reducidos usando una codificación sin pérdida. 3.1.5.3 Codificación EZW (Embedded zerotree wavelet) Este esquema ha probado su eficiencia y flexibilidad en codificación de imágenes en términos de cualidad de la imagen y simplicidad de su computación. El algoritmo EZW para codificación de imagen, genera un “embedded bitstream” donde la información es enviada al decodificador en orden de importancia. La importancia se basa en cuanto, esta información, reduce la distorsión de la imagen reconstruida. Las dos importantes ventajas de esta técnica de codificación son, primero que el ratio de control de los bits permite parar la codificación en cualquier instante, y segundo que la imagen puede ser reconstruida desde el punto donde se paró, incluso con menor calidad. 3.1.5.4 SOT (árbol con orientación espacial) Se descubrieron unos principios de partición por Said y Pearlman, que mejoraba el rendimiento hasta en 1.3dB sobre el EZW. Se basa en el parecido espacial que tienen ciertas subbandas, y se espera que los DWCs estén mejor ordenados en orden de magnitud si se mueven hacia abajo en la pirámide siguiendo la misma orientación espacial. Por lo tanto SOT se utiliza para definir la relación espacial de los DWCs en la estructura jerárquica. Existen tres conceptos principales para obtener un buen rendimiento en la codificación de imágenes con SOT: 1. Ordenamiento parcial de la imagen transformada mediante magnitudes y la transmisión de coordenadas mediante un algoritmo de partición. 2. Transmisión ordenada por plano binario y refinamiento de bits. 3. Explotación de las similitudes de los DWCs en las diferentes escalas. 3.1.5.5 GST (árbol de similitudes generales) Basado en SOT, este algoritmo ha sido construido de tal manera que es capaz de operar con cualquier tamaño de imágenes y a cualquier escala de grises. En este algoritmo se utiliza la descomposición y reconstrucción wavelet con reflexión de bordes, de tal manera que se puede conseguir una reconstrucción perfecta. 30 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 3.1.6 ALGORITMOS PARA LA DETECCIÓN DE MICRO-CALCIFICACIONES A continuación se presenta un método para la detección de Micro-Calcificaciones explicado por partes, mediante el uso de wavelets. 3.1.6.1 Algoritmo de estructura CAD (diagnóstico por computación) El éxito en la detección y reconocimiento de micro-calcificaciones para cáncer, se basa en minimizar o quitar el ruido de fondo y aumentar el objeto a identificar. Para lograr esto, se trabaja con las tradicionales técnicas de procesamiento de imágenes mediante algoritmos de descomposición wavelet. El algoritmo CAD se utiliza para detectar micro-calcificaciones en fondos oscuros y con muchas texturas, este utiliza diferentes técnicas de procesamiento de imagen como; realce no linear de imágenes, wavelet piramidal y descomposición y reconstrucción de imagen direccionalmente, coeficientes wavelet de operación en dominios, supresión de pixeles oscuros, C-FAR para segmentación adaptativa, teoría de resonancia adaptativa para grupos y discriminación de grupos falsos. 3.1.6.2 Partición de imagen y Contraste de realce no lineal Este es otro caso utilizado para el estudio de micro-calcificaciones, más concretamente en mamografías. En esta técnica, se divide la mamografía a analizar en un número de pequeñas imágenes del mismo tamaño. Cada una de estas particiones se separa y se procesa para obtener los detalles significativos de la imagen inicial, esto se realiza mediante el realce de contraste. El paso anterior permite más facilidad para localizar las micro-calificaciones. Además se sabe que no se pierde información al partir la imagen, ya que se están utilizando wavelets. Por último se utiliza mapeado para quitar los pixeles con bajos tonos de grises y realzar los que tengan altas tonalidades de gris. 3.1.6.3 Descomposición wavelet de Sub-imágenes Se descompone cada sub-imagen utilizando el algoritmo de descomposición wavelet, con el fin de que las componentes de alta frecuencia se resalten. Para esta aplicación, se pueden utilizar diferentes tipos de wavelets. Para la descomposición de las sub-imágenes se utilizan tres tipos diferentes de árboles de wavelet MRA simultáneamente. 3.1.6.4 Procesamiento de coeficientes en el dominio wavelet Una vez los coeficientes han sido computados, para solo tener los coeficientes wavelets significativos, que es donde se encuentra las micro-calcificaciones y el resto de información de alta frecuencia. El procesamiento de los coeficientes requiere eliminación, segmentación y amplificación. Para realizar estas operaciones es necesario crear una guía de reglas y parámetros, dado que no tienen interfaz. 31 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Después de las operaciones necesarias, la imagen se reconstruye, y se obtiene una imagen con un fondo oscuro e intensos puntos blancos que representan las microcalcificaciones y en algunos casos el ruido de alta frecuencia. Para diferenciarlos se utiliza un histograma de segmentación y la eliminación de pixeles oscuros. 3.1.6.5 Histograma de segmentación y eliminación de pixeles oscuros. Estos algoritmos se utilizan para filtrar la posible información errónea que existe en las imágenes reconstruidas. El histograma de segmentación necesita el valor de pico de una escala de grises dada. Una vez utilizado el histograma de segmentación, el algoritmo CAD une las dos imágenes (la original y la modificada) para crear una imagen donde se puede observar claramente toda la información referente a las micro-calcificaciones. Es necesario eliminar los pixeles oscuros, y una vez hecho esto las áreas donde potencialmente existen micro-calcificaciones son identificadas en la imagen realzada. Dado que existen muchas zonas se utiliza el algoritmo CFAR, como un detector probabilista que reduce las zonas a solo las de cierto grado de probabilidad que es medido mediante datos estadísticos de la propia imagen. 3.1.6.6 ART2 Las zonas sospechosas se forman utilizando la teoría de resonancia adaptativa (ART), con un factor de vigilancia. Se eligen conjuntos de píxeles de las zonas detectadas, y se examinan para discriminarlos. Los grupos de píxeles elegidos han de tener al menos tres posibles micro-calcificaciones, en el caso de que se elija un grupo que no cumpla las características, este será desechado como falso positivo y eliminado de las zonas sospechosas. Este algoritmo en conjunto se ha utilizado en casos reales, y se ha comprobado que con el uso de las wavelets para CAD es más favorable que el de otros algoritmos CAD, en comparación con las estadísticas reales. 3.1.7 SISTEMAS DE COMUNICACIÓN CON MULTIPORTADORAS (MCCS) La modulación por multcarrier o multiportadoras se utiliza para transmitir conjuntos de datos. La información a transmitir se divide en diferentes trozos de información, de manera que contengan menos bits y sean mucho más fáciles de transmitir. Cada trozo de información se encarga de modular a una portadora, estas partes de información tienen el mismo tamaño. 3.1.7.1 OFDM Se va a realizar una breve introducción de OFDM, dado que es interesante conocerlo para luego entender bien cómo funcionan los sistemas basados en wavelets. 32 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA La Multiplexación por División de Frecuencias Ortogonales (OFDM) es una forma especial de MCCS, con portadoras muy espaciadas y superposición de espectros. La banda de transmisión es dividida en un gran número de subbandas, con portadores ortogonales. Las ondas son elegidas en el dominio del tiempo de modo que sean ortogonales entre sí, a pesar de la superposición de espectros. Este método de modulación elimina prácticamente toda la distorsión que pueda haber ya que en cada banda la atenuación es constante y el retardo es lineal. Las portadoras pueden perder la ortogonalidad a altas frecuencias, debido a los posibles errores que ocurren en estas bandas, por ello este tipo de modulación se realiza a bajas frecuencias. En la figura siguiente se observa el transmisor de un sistema de multiportadora. Se puede apreciar como los datos entran como bits en serie, son divididos y enviados en paralelo a diferentes frecuencias con una portadora en forma de coseno, las frecuencias de cada división son múltiplos de una primera elegida ω, posteriormente son sumadas y enviadas. FIGURA 9. Transmisor de un sistema de comunicación con multiportadora. En esta figura, por otro lado, se muestra el receptor, la señal enviada a diferentes frecuencias es filtrada para las citadas frecuencias en paralelo, y posteriormente cada señal que sale de los filtros es muestreada, por último se ordenan la información que ha salido de los filtros y se pasa de paralelo a serie, de este modo se busca que la señal recibida se parezca lo máximo posible a la señal que fue enviada en un principio. 33 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 10. Receptor de un sistema de comunicación con multiportadora. 3.1.7.2 MCCS con Wavelet En el apartado anterior se realizó una breve descripción del funcionamiento de OFDM, este utiliza funciones seno y coseno para la transmisión de la información, mientras que MCCS con wavelet utiliza diferentes wavelet packet como ondas en el dominio del tiempo. Si la función aproximación ϕ genera un conjunto ortonormal en el espació 𝐿2 , sus wavelet packets correspondientes son ortogonales. Las portadoras son wavelet packets, y por tanto, los filtros que se utilizan en el receptor han de ser diseñados acorde. En una comparativa con el sistema OFDM, a bajas frecuencias la probabilidad de error de bit tanto en OFDM y en MCCS con wavelet es muy similar. Sin embargo a medida que se aumenta el offset en la frecuencia, el sistema mediante wavelet ofrece un rendimiento exponencialmente mejor, cuanto más alto es el offset. En la figura siguiente se puede observar un ejemplo genérico de emisor MCCS con wavelet. Tal y como ocurren en OFDM la señal entra y los datos son divididos en paralelo, en este caso las portadoras son wavelet packets en diferentes dominios del tiempo, después de dividirlo en las diferentes portadoras, las señales se suman y se envían al emisor. 34 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 11. Emisor de un sistema de comunicación con multiportadora mediante wavelet. En esta figura a continuación, se puede observar el receptor de MCCS con wavelet, la señal se pasa por diferentes filtros en paralelo, para los correspondientes wavelet packets, estos filtros están realizados mediante wavelets a diferencia de los de OFDM, la señal es filtrada y muestreada en paralelo, y pasada a serie para obtener la señal lo más parecida a la de entrada. FIGURA 12. Receptor de un sistema de comunicación con multiportadora mediante wavelet. 35 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 3.1.8 VISUALIZACIÓN DE IMÁGENES MÉDICAS EN TRES DIMENSIONES Las imágenes en 3D se utilizan en medicina para plantear tratamientos, hacer diagnósticos y visualizar cirugías. Las imágenes en 3D se consiguen a partir de la reconstrucción de diferentes imágenes en 2D. El problema de estas imágenes en 3D es que, ocupan mucho espacio de memoria, su transmisión es lenta y la reconstrucción de las imágenes es lenta y además necesita complejos algoritmos. Si se utiliza un algoritmo de descomposición y reconstrucción wavelet en 3D se obtienen ciertas ventajas frente a los algoritmos tradicionales, en compresión del volumen de la región de interés: la naturaleza de la transformada en el domino de la frecuencia y el espacio permite una transmisión de datos sólo en la región de interés, además de esto, en la reconstrucción del espectro espacial de una representación de datos 3D, se consigue una visualización más natural, incluso en ratios altos de compresíon. 3.1.8.1 Wavelets y Algoritmos tridimensionales Siendo muy similar a wavelet de 2D, la descomposición de wavelets de 3D se realiza para un volumen discreto de datos, mediante una operación de filtrado. Tras una transformada wavelet de nivel, los datos son divididos en ocho bloques. El volumen 3D se puede aproximar mediante la siguiente función, 𝑗 𝑎 𝑗+1 (𝑥, 𝑦, 𝑧) = ∑ 𝑎𝑛,𝑚,𝑙 𝜙(2𝑗 𝑥 − 𝑛, 2𝑗 𝑦 − 𝑛, 2𝑗 𝑧 − 𝑛) 𝑛,𝑚,𝑙 (33) donde la función 𝜙(𝑥, 𝑦, 𝑧) y 𝑎 𝑗+1 (𝑥, 𝑦, 𝑧) son los coeficientes de la función de escala. Para añadir detalles se pueden añadir funciones wavelet tridimensionales para resolución 2j. 3.1.8.2 Técnicas de renderizado. El renderizado, es el proceso de generar imágenes utilizando ordenadores. La meta es transformar datos numéricos en datos gráficos, para renderizado. En las técnicas tradicionales se asumía que, cuando un objeto es renderizado, las superficies y sus interacciones con la luz eran vistas. No obstante, ciertos objetos translucidos, y para renderizarlos de manera apropiada es necesario cambiar propiedades dentro del mismo objeto, y por lo tanto no solo su superficie sino su volumen entero. 36 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Uno de los desarrollos clave para la visualización volumétrica de datos escalares, fue el algoritmo de Lorsenson y Cline. Este algoritmo, llamado de cubos cerrados, asume que el contorno puede pasar a través de una celda, de un número finito de maneras posibles, y este número es calculable. 3.1.8.3 Región de interés Dado que las wavelets pueden ser localizadas en los dominios del espacio y la frecuencia, el refinamiento de la región de interés se puede conseguir añadiendo los detalles, sólo en las regiones necesarias. Por lo tanto, las wavelets pueden ser una herramienta útil para la compresión, la imagen puede ser aproximada una primera vez por los coeficientes de reconstrucción paso-bajo, y los detalles pueden ser restaurados mediante la transmisión de los coeficientes paso-alto necesarios en las regiones de interés. Por lo tanto, los algoritmos de descomposición y reconstrucción wavelet de 3D, son muy útiles para la visualización de imágenes, ya que mejoran la velocidad, y los ratios de compresión al utilizar la región de interés. 3.1.9 APLICACIONES GEOFÍSICAS Estas aplicaciones incluyen la caracterización de la estructura geológica del subsuelo, la localización e identificación de objetos en el subsuelo, y la estimación, mapeado y monitorización de las propiedades de los materiales. Para ello, existen dos importantes técnicas para escoger datos, sísmica y de registro de pozos. La técnica sísmica genera ondas elásticas y sonoras que se propagan por el terreno, y se recoge la información de las reflexiones. La cantidad de datos que se obtiene, es muy grande. Con la técnica de registro de pozos se obtiene mayor información del entorno y con mayor resolución, en este método se hace una perforación en el suelo de una profundidad que puede llegar a algunos kilómetros, y su diámetro varía entre 15 y 30 cm. El análisis wavelet se ha utilizado mucho para el análisis de datos sísmicos, identificación de fluidos, procesamiento e interpretación de los datos de los pozos, filtrado de ruidos, detección de anormalidades, procesado de señales no estacionarias de presión y muchos otros. La mayor parte de las aplicaciones con wavelets son en análisis de datos geofísicos y su interpretación. Sin embargo, existen trabajos de aplicación de wavelets a problemas del valor de los límites y las inversiones en geofísica. 37 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 38 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Capítulo 4 APLICACIONES DE LA TRANSFORMADA WAVELET EN DSP. Las wavelets son utilizadas en un vasto número de campos, como geofísica, astrofísica, control de calidad, biología, señales en medicina (cómo fue mostrado en el capítulo anterior), representación comprimida de huellas dactilares o fotografías, imágenes de satélite, codificación de señales de video, modelado del tráfico en redes de comunicación (internet) y análisis atmosférico. Todo esto es posible porque las señales con las que se trata son digitales. El campo de las wavelets crece día a día y cada vez en más dominios y resuelven más problemas. Hubbard en su libro, enuncia las razones por las cuales las wavelets se vuelven tan populares y en tantos y diversos niveles: - En primer lugar, se trata de un método relativamente nuevo en el procesamiento de señales. Lo que trae innovaciones técnicas y hace posible la visión de otras informaciones más antiguas a través de herramientas más fáciles y accesibles. Es creado un nuevo diccionario de formas, conectando características de señales de esas transformadas wavelet, permitiendo así entender las propiedades de señales basadas en estructuras de coeficientes. - Las técnicas mediante wavelets, constituyen una herramienta para el análisis local, que como ya se ha mencionado, difiere del análisis de Fourier. Las wavelet pueden enfocarse localmente, mediante la inspección de la información alrededor de un punto. Tras esto la información codificada en coeficientes, viene determinada por los valores de la señal cercana al apoyo del wavelet. - Las wavelets constituyen bases espaciales donde se encuentran las señales. Estas representan todas las señales que se pueden conseguir “jugando” con ellas. Estas bases son normalmente ortogonales. 39 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 4.1 CLASIFICACIÓN DE LAS APLICACIONES En esta clasificación se dividen las aplicaciones en tres campos. Separando las aplicaciones donde predominan los aspectos de escala, de aquellas con aspectos más específicos como tiempo o espacio, y también aquellas aplicaciones que utilizan las representaciones posibles que ofrecen las wavelets. Aspectos de escala para Aspectos señales e imágenes espacio Problemas de tiempo Determinación de patrones. Calculo de aproximaciones, suavizado. Rupturas. Bordes Descomposición, superposición, separación. Rápida evolución: duración, transitorios. o corta Modelado del tráfico de Detección de eventos con un redes de comunicación: mismo patrón. Internet Señales biomédicas: mamografías Campos Intermitencia en físicas: agujeros de presión en un campo. Monitorización industrial para la localización de rupturas en engranajes. Leyes de escala en física: Control no destructivo: turbulencias. detección de disfunciones en profesos de control. Señales subacuáticas. Tabla 1. Clasificación de las aplicaciones wavelets, en función de la escala y aspectos espacio-temporales. En la siguiente tabla se representan las aplicaciones, utilizando las características de las wavelets como un todo, sin hacer ninguna distinción. 40 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Características Problemas Reconocimiento de patrones. Clasificación. Simplificación. Representación económica. Eliminación de ruido en señales e imágenes biomédicas. Codificación de video, codificación de imágenes animadas. Campos Compresión de fotografías, que pertenecen a vídeos. Clasificación de espectros de estrellas. Conducta alimentaria. Detección de barcos y helicópteros mediante el reconocimiento de sintonías. Detección de sacudidas sísmicas. Aproximación numérica de operadores lineales. Tabla 2. Clasificación de aplicaciones con características conjuntas. Para poder observar con mayor facilidad las aplicaciones que se van a tratar a continuación, conviene darles nombres más francos. En los siguientes apartados, se dará una explicación de cada aplicación. Caracterización de ráfagas de viento El objetivo de esta aplicación, es la caracterización de los vientos oceánicos durante la fase de formación, su crecimiento y su periodo de máximo desarrollo. Las medidas se realizan mediante puntos de medida, donde se recogen bases de 10 medidas por segundo. Para el análisis de señales se utiliza el análisis de los espectros. Se adapta al uso mediante wavelets, remplazando la base de los exponenciales complejos, que intervienen en Fourier, con wavelets 𝜓𝑎,𝑏 . La energía de la señal descompuesta, es luego analizada en función de tiempo y escala. Para señales unidimensionales el análisis es el tradicional. Para señales de dos o más dimensiones procesadas simultáneamente, el estudio se realiza sobre multivariables y es más específico. En esta aplicación, las wavelets se utilizan para tres fines: detección de efectos en grupos de ondas, análisis del desarrollo de las ondas debido al viento y rupturas en las ondas. 41 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Detección de sacudidas sísmicas Se busca identificar varios componentes cortos y no estacionarios, de una señal sísmica, utilizando las wavelets como patrón de reconocimiento. Los registros de sismogramas se mueven en tres direcciones; dos en horizontal, y una vertical. Normalmente la localización se basa en varios detectores de tierra. Aunque en ocasiones se utiliza un solo sensor para pequeños sucesos. Las partes características importantes son guardadas sobre varios niveles. El detector localiza la parte primarias o P de la onda, utilizando polarización a lo largo de las escalas. Mientras que el análisis de las partes secundarias o S de la onda, están basadas en la relación entre las amplitudes transversal y radial a lo largo de las escalas. El lugar de medida está localizado en España y cubre un radio de 2500 kilómetros y ha trabajado con más de 23 eventos sísmicos. Para analizar las ondas sísmicas se utilizan wavelet daubechies, pues son las que más se asemejan a la señal de interés. Estudio batimétrico del suelo marino Con esta aplicación se busca mapear el fondo marino, y para ello se buscan áreas bordes cordilleras, y en particular grandes declives escarpados. En la actualidad se realiza en una zona del norte del atlántico, y muestra un valle, en una zona de separación de placas tectónicas. Donde las mide áreas de 100x70 kilómetros y con profundidades que varían entre 1800 y 4000 metros. Para conseguir los datos, se utiliza un ecosonda montado en un barco que se mueve por la zona. Esta técnica utiliza una mejora de imagen y detección de patrones en las formas, utilizando wavelets basadas en B-splines en producto tensor con un filtro. La función se rota en el plano para que de este modo, la dirección principal sea aquella requerida por los bordes. La derivada del cubo B-spline da otra función, la cual localiza las transiciones entre los valles y áreas escarpadas. La descomposición wavelet de datos batimétricos, revela estructuras y patrones que de otro modo pasarían desapercibidos en la señal original. Con las wavelets se consigue una imagen mejorada y un identificador cualitativo de zonas escarpadas, y de este modo ayuda a entender muchos procesos que ocurren en el fondo oceánico a diferentes escalas. 42 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Análisis de turbulencias El estudio realizado por Papanicolaou y Solna trata con la ley de turbulencias de Kolmogorov, la cual conecta energía con escala. Esta proporciona una descripción de los campos de velocidad en términos de fenómenos atmosféricos. Para estos estudios existen dos características básicas: - El espectro de wavelets, que generaliza el espectro normal basado en la transformada de Fourier. El modelado del proceso, llamado fractional Brownian motion, denotado como MBFH (abreviatura francesa) que depende del parámetro H. Los datos para esta aplicación son recogidos mediante un aparato que emite rayos láser, que dan medidas y de las cuales se deducen las temperaturas atmosféricas en las diferentes altitudes. Estas medidas contienen gran cantidad de datos y cubren una zona de 80km en vertical. La técnica utilizada, consiste en encontrar la partición de la línea vertical y calculando las correspondientes estimaciones de H. Para ello se eligen las bandas de valores donde el parámetro puede tomarse como constante, y se realiza una estimación de valores para H, parámetro que varía con el segmento. En este estudio se utilizan solamente Haar wavelets, y no aparecen las funciones de escala. Solo es útil el aspecto multiresolución que aportan las wavelet. Aunque a la vez, las wavelet calculan los incrementos de medida y el filtrado a bajas frecuencias. Electrocardiogramas Debido a las propiedades de las wavelets, y que estas permiten analizar señales muy pesadas en datos, surge la idea de utilizarlas con las señales biomédicas. Para su transmisión y almacenamiento, dado que estas señales son muy pesadas. Las wavelets incrementan el ratio de compresión, frente a otros, y deben mantener la distorsión a un nivel aceptable para permitir un examen médico. Para entender cómo funciona esta aplicación conviene saber que significan las siglas: P (activación eléctrica de las aurículas), QRS (activación eléctrica o impulso de los ventrículos), Tiempo P-QRS (duración de la conducción eléctrica aurícula-ventrículo) y T (repolarización de los ventrículos). Dado que estas siglas son las formas de una señal eléctrica cardiaca. Un electrocardiograma es una señal corta y de rápidas variaciones, que por lo tanto, es apropiada para el análisis wavelet. La amplitud, duración y ritmo dan pistas para la identificación de anomalías. Para esta aplicación se utilizan codificaciones escalares y vectoriales en diferentes bandas de escala. Las codificaciones escalares se utilizan para pequeñas escalas con 43 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA señales cambiando rápidamente, las codificaciones vectoriales son utilizadas para señales largas y que varían lentamente. En esta aplicación la descomposición wavelet va hasta el quinto nivel. Con el uso de wavelets se obtienen resultados con una mejoría significante respecto a los métodos más usuales. Los criterios de evaluación que se siguen son, el ratio de bits por muestra y el error cuadrático de reconstrucción (explicados en el anterior capítulo). Las wavelets Vetterli-Herley producen los mejores resultados. Conducta alimentaria Estos análisis estudian la influencia del tipo de grasa ingerida por un individuo con la grasa almacenada por el cuerpo. La medida básica utilizada es un espectro de resonancia magnética que proporciona información acerca de la composición química de esta grasa. Los picos del espectro representan núcleos en varios lugares moleculares, que están en resonancia a con pequeñas variaciones de frecuencia. El área localizada debajo de cada pico, estima la cantidad de sustancia asociada con el pico. In vitro, los picos están señalados. In vivo, la identificación de los picos es mucho más laboriosa, y por ello se desea evitar. Los datos para esta aplicación se toman de grasa subcutánea de los muslos de los pacientes, con ello se consigue un set de espectros. Para analizar estos datos los espectros se parten en coeficientes wavelet de db20, y son recodificados utilizando los primeros 64 coeficientes. Un análisis factorial discriminatorio clasifica los grupos (o sets) de los espectros, sin necesidad de medidas o de identificar los picos del espectro. La ventaja que aportan las wavelets a esta aplicación, es que, incluso trabajando a ciegas, sin información de la señal para ser analizada, las wavelets seleccionan la información al hacer disminuir su cantidad significativamente. Consiguiendo que los posteriores análisis estadísticos estén mucho más simplificados, y mejorando la cantidad de clasificación, Wavelets fraccionarias y fMRI Las siglas fMRI vienen de functional magnetic resonance imaging, o bien imágenes por resonancia magnética funcional. Estas imágenes señalan las zonas de la corteza cerebral de un paciente, que son activadas por estímulos externos durante una tarea cognitiva o motora. En estas aplicaciones se busca el wavelet que asegure un buen análisis del fMRI. La investigación en la mayoría de los trabajos está estructurada por un diseño experimental, cuyos factores son los sujetos y las condiciones de trabajo. En esta aplicación se considera una familia de wavelets, llamada esplines fraccionarios, estos son una generalización de los B-esplines y fueron introducidos por Unser. Existen de forma causal, no causal, simétrica y ortogonal o biortogonal. Los filtros asociados, 44 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA no tienen una respuesta finita al impulso, pero son simples. Un test estadístico en los coeficientes para, reducir el ruido y luego evaluar la significación de la activación. En un fMRI, la técnica tradicional se denomina SPM (mapeado estadístico de parámetros). Filtra las imágenes antes del test estadístico. El prefiltrado produce ruido en algunos pixeles de la dependencia de la imagen, lo cual complica la situación. Las wavelets aportan a esta aplicación una eficaz detección de formas en los diferentes contenidos de frecuencia, como son las mezclas de zonas con activaciones grandes y pequeñas. Esto es debido a la naturaleza de multiresolución de las wavelets. Wavelets para la biomedicina En el sector biomédico las señales grabadas son normalmente complejas. Mezclas entre señales medidas y ruido, con picos en las señales, como los electroencefalogramas, o fluido de la sangre y el ruido cardíaco. Como ya se ha señalado en el apartado anterior, se tienen dos tipos de aplicaciones, para 1D y para 2D. Los de 1D tratan las señales acústicas, electroencefalogramas (EEG) y electrocardiogramas (ECG). Las aplicaciones 2D tratan con imágenes, como las obtenidas en tomografía, señales núcleo magnéticas, y también con eliminación y reducción de ruido, mejora del contraste de imágenes y detección de malformaciones en las mamografías. En estas aplicaciones todos los tipos de análisis de wavelets tienen una aplicación. (Las de wavelet packets se comentaron en el apartado 3). El trabajo de las wavelets es variado, y cada característica de estas se asocia con uno o varios usos. Los bancos de filtros se utilizan para mejorar el contraste de las imágenes y eliminar el ruido de estas, así como para separar las bandas de frecuencia y evaluar la distribución de energías para reconocer un patrón o distribución (caso de los sonidos del corazón para detectar enfermedades coronarias). Como bases, se utilizan como una herramienta económica de codificación, y para organizar la información de manera jerarquizada. El análisis por nivel de escala, proporciona una técnica de detección de formas y por lo tanto constituye una herramienta de zoom; esta propiedad se utiliza para estudiar los picos en las EEG para los pacientes epilépticos. Las wavelets aseguran un análisis simultáneo de tiempo y escala, que hace frente a las herramientas en tiempofrecuencia. Dado que las wavelets tienen espectro cero en los alrededores de la frecuencia 0, hace posible hacer los ruidos de color más blancos, lo cual es útil para el contraste. 45 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Control de procesos estadísticos Estos procesos son utilizados en controles de calidad, en procesos de desarrollo y para el diseño, control y monitorización industrial y procesos de manufacturación. Están basados en el modelado de operaciones de control, y en la definición de situaciones con operaciones con términos fuera del control. Una estadística de monitorización es calculada y controlada a lo largo de las muestras. Mientras los datos se mantengan en la zona de control, la muestra es correcta, y se continúa con la producción. Cuando se sale del control, se para la producción y se buscan las causas que han provocado esto. Los estadísticos de monitorización normalmente usados, son las t de student. En ciertos casis, diferentes medidas están disponibles, y el problema pasa a ser de multivariables, en estos casos la investigación en las causas es crucial y trabajosa. A pesar de esto, la mayoría de las muestras multidimensionales dependen solamente de un pequeño número de dimensiones, normalmente 2. El principal componente del análisis hace posible reducir el conjunto dimensional, seleccionando las combinaciones más relevantes de las variables iniciales. Cuando las medidas son señales grabadas en el tiempo, las componentes más significativas son propensas a coger ruidos blancos e incluso de color. Las wavelets se utilizan, principalmente para la reducción de ruido, pero también para localizar las señales con errores. La mayoría de los controles de procesos estadísticos tienen una parte significante de know-how. Las wavelets evitan el pre-procesado, lo cual constituye una ventaja substancial. Además de asegurar una diferenciación en el tiempo de las diferentes variables. Compresión online de información industrial El objetivo de esta aplicación es caracterizar y predecir las propiedades de un producto, composición y la distribución. Las wavelets permiten un mejor control estadístico y permiten detectar mejor los errores. Los fallos que se buscan, normalmente ocurren en diferentes escalas, localizados en detalles de los espectros o más globalizados, las wavelets están bien adaptadas para hacer las distinciones convenientes. Transitorios de señales subacuáticas El objetivo de esta aplicación es detectar señales entre el ruido del fondo marino. Estas señales normalmente son un pitido o pequeños intervalos de clicks. Estas señales tienen 46 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA mucha interacción con el fondo, y el uso de wavelets permite detectar mejor la localización en tiempo-frecuencia de los transitorios que las técnicas basadas en Fourier. En estas señales aparece un transitorio en un punto que se diferencia de las características no transitorias de la señal. En este punto, un test estadístico comprueba la energía del bloque con una energía de referencia. Cada bloque es analizado utilizando wavelets a lo largo de 15 niveles. En la fórmula siguiente es posible apreciar una fórmula utilizada, donde cada bloque se denota como t, el nivel de las wavelets como j 𝑗 y el coeficiente de detalle se denota como 𝑑𝑘 . Esta fórmula es la energía media en las siete primeras escalas, donde 𝑥𝑡𝑗 es el ingrediente básico. 𝑥𝑡𝑗 = 1 2(𝑆−𝑗) 2(𝑆−𝑗) 𝑗 ∑ 𝑑𝑘(𝑡) 2 𝑘=1 𝑗 = 1, … . ,7 (34) Normalmente con 3 e incluso en casos con 2 escalas es suficiente, ya que el vector útil no utiliza las partes de baja frecuencia de la señal. El test estadístico estima la densidad de la distribución en la ausencia de fenómenos transitorios y en presencia del ruido de fondo. Se estudian dos señales, una teórica y una real. La señal teórica se construye añadiendo una un sonido a la señal real recreado a partir de las bases de ruido del fondo marino, se hace mediante una transformada de Fourier. El ratio señal ruido se puede ajustar. La técnica basada en wavelets, utiliza solo dos niveles de descomposición, es comparada con la detección basada en transformadas de Fourier short-time. Los datos se dividen en dos ventanas, donde las frecuencias son divididas en dos clases, donde la energía de la distribución es comparada con la media de la señal completa. Se decide si el transitorio está presente en una banda de frecuencia si la energía de dicha banda, sobre pasa un umbral que ha sido decidido previamente. En las pruebas que han sido realizadas, se llega a la conclusión de que las wavelets tienen mejor ratio de acierto que las transformadas de Fourier. Esta técnica de detección basada en wavelets es muy nueva. Codificación de video Existen ciertas aplicaciones wavelets para la codificación de imágenes animadas o video. Una técnica de reordenación permite reducir las redundancias de una secuencia de imágenes, y además la interpolación de texturas mejora la predicción. Se evitan los errores previstos con wavelets utilizando procesos de precodificación PACC (partición, agregación y codificación condicional). 47 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA La técnica utilizada utiliza un proceso bilineal en una cuadricula, basada en un modelo de movimiento continuo. En el proceso se distinguen diferentes etapas: estimación y compensación de movimiento, representación y cuantificación wavelet, precodificación y codificación aritmética. Los resultados obtenidos con wavelets son mejores, y con una clara diferenciación para pequeños ratios donde las codificaciones por bloques presentan efectos de bloqueo. Tomografías asistidas por ordenador En estas aplicaciones un rayo-x es emitido hacia un cuerpo o un objeto para ser analizado. La intensidad medida en el final del punto, codifica una integral ponderada de la densidad del cuerpo. Si se utilizan muchos rayos es posible reconstruir la densidad y distinguir las zonas sanas de las que pueden tener problemas. La transformación integral de Radón constituye una herramienta básica para este tipo de aplicaciones. Para la reconstrucción de un punto, se requiere conocer los valores de las integrales en las rectas alejadas del punto. Las wavelets toman partida en este asunto, la inversión de una transformada puede usar una base wavelet de 2D, donde la localización y los momentos nulos constituyen una importante ventaja. Además, las wavelets aseguran un rápido cálculo de los operadores integrales. Producción y análisis de imágenes o señales irregulare: Una señal puede ser irregular en diferentes maneras, una ruptura presenta una irregularidad y también una señal fractal. Están siendo introducidas nuevas señales en finanzas, modelado de superficies rugosas, en la descripción de bordes de células cancerosas, en el estudio de bordes de nubes y otros de naturaleza similar. Todas estas señales presentan irregularidades con escalas variadas. Las wavelets se utilizan para el análisis y la sintetización de estas señales, así como herramientas para estimar sus características y crear señales y superficies. Los generadores están basados en series aleatorias de representaciones de coeficientes wavelet, las propiedades de estos son relativamente simples. Para la estimación existen dos ideas, la primera se obtiene del comportamiento de las transformadas wavelet a bajas frecuencias (tienden a 0), la segunda idea proviene de la expresión de la varianza de los coeficientes en función del nivel de trabajo. Previsión Existen wavelets que son utilizadas para la predicción de señales grabadas en el tiempo. Las wavelet Haar son herramientas básicas que aseguran la descomposición de SWT (transformadas de translación invariante). Cada escala se prevé independientemente 48 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA después del ajuste de un AR, modelo de ecuación lineal estadística de orden 1. Los coeficientes son previstos primero y posteriormente se reconstruye la señal. Las wavelets son interesantes para este tipo de aplicaciones de predicción, ya que separa bien las señales cuya correlación presenta un efecto de gran rango, y además las wavelet Haar pueden ser utilizadas sin la necesidad de adelantar futuras medidas. Los autores de esta aplicación califican las wavelets como efectivas. 49 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 50 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Capítulo 5 PROCESAMIENTO DE IMÁGENES CON WAVELETS 5.1 INTRODUCCIÓN Las aplicaciones wavelet para el procesamiento de imágenes, se encuentran normalmente centradas en la compresión. En estos días donde se necesitan almacenar grandes cantidades de información, y transmitirlas por la nube, es importante que el almacenamiento y la transmisión sean rápidos y eficaces. Es por ello que la compresión es una herramienta clave hoy en día. Existen dos ejemplos importantes, que han tenido un importante impacto: - El FBI eligió un algoritmo que contiene wavelets para el almacenamiento de huellas dactilares. El estándar de compresión JPEG 2000 ha sido construido alrededor de wavelets. Estas dos aplicaciones fueron han sido un éxito, y propiciaron que las wavelets se hicieran más populares. En el capítulo 5, se estudiarán varios tipos de aplicaciones wavelets con imágenes como son, la detección de bordes, la fusión de imágenes la eliminación y la compresión. 5.2 WAVELETS PARA LAS IMÁGENES El análisis multi-resolución en 2D es una familia de subespacios que tienen varias propiedades relacionadas con aproximación, dilatación y traslación. Estos análisis multi-resolución vienen de construcciones utilizando productos tensores. 51 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Para cada nivel j el espacio aproximación del análisis multi-resolución se obtiene como una suma de cuatro productos tensores de 1D. En este tipo de análisis se tiene también función de escala, además de tres wavelets, en el análisis de 1D se tiene sólo un wavelet y una función de escala. 5.3 DETECCIÓN DE BORDES Las wavelets perciben la fuerza de las frecuencias en la señal, pero lo realizan en un cierto espacio de tiempo. Esta propiedad es lo que hace que con wavelet se pueda obtener un buen método para una buena detección de bordes. En este apartado se podrán observar la eficacia de la detección de bordes que aportan las wavelets en los ejemplos a continuación. En el siguiente ejemplo siguiente se muestra una imagen con diferentes geometrías. Se realiza un análisis wavelet con daubechies 2, a continuación se calcularán las aproximaciones y los detalles hasta nivel 3. FIGURA 13. Imagen original. En la imagen anterior pueden apreciarse cuatro figuras geométricas, que servirán para observar cómo trabajan las wavelets en los coeficientes de detalles. 52 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Coeficientes Nivel 1. FIGURA 14. Coeficientes de aproximación, detalles horizontales, detalles verticales y detalles diagonales de nivel 1. (De izquierda a derecha y de arriba abajo). Para realizar esta descomposición, se ha utilizado el código Descomposición, que se encuentra en el anexo de códigos. Tras realizar el primer nivel del análisis se pueden observar diferentes aspectos del análisis. La aproximación de nivel 1 tiene un gran parecido a la imagen original, apenas se observan variaciones, dado que es una imagen muy simple, en cierto modo esta aproximación es una versión comprimida de la imagen original. A partir de los coeficientes de detalle podemos observar claramente la detección de los bordes. Dada la geometría de las figuras se observa perfectamente como en los cuadrados y los rectángulos los coeficientes de detalle en horizontal y vertical están muy marcados, así como en el círculo y el triángulo están muy marcadas las diagonales. Coeficientes Nivel 2. FIGURA 15. Coeficientes de aproximación, detalles horizontales, detalles verticales y detalles diagonales de nivel 2. (De izquierda a derecha y de arriba abajo). 53 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Coeficientes de nivel 3. FIGURA 16. Coeficientes de aproximación, detalles horizontales, detalles verticales y detalles diagonales de nivel 3. (De izquierda a derecha y de arriba abajo). Los niveles dos y tres, serían como una versión comprimida del nivel anterior, y eso se puede observar en los pixeles, son más grandes cuanto más alto es el nivel y la imagen está más difuminada porque contiene menos información. Aun así, se puede ver como los coeficientes de detalle siguen mostrando a la perfección las diagonales y las líneas horizontales y verticales. Con una fusión de tres imágenes, seríamos capaces de obtener solamente los tres coeficientes en una imagen y mostrar claramente los bordes. Como se ha podido observar claramente, los bordes horizontales verticales y oblicuos se marcan claramente en las zonas regulares. En el siguiente ejemplo se tratara una foto de un paisaje real de A Coruña. 54 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 17. Faro de A Coruña, con la torre de Hércules al fondo. Para este ejemplo se ha decidido hacer un análisis con la herramienta wavemenu de Matlab, se han utilizado wavelet packets con wavelets tipo Haar y a nivel 1. FIGURA 18. Coeficientes de aproximación de la imagen tratada. El análisis fue realizado con la imagen en blanco y negro, y por lo tanto se obtiene una imagen de aproximación en blanco y negro. Esta imagen como se ha mencionado 55 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA anteriormente sería como una compresión de la imagen original, y pierde algo de calidad. A continuación se presentarán los detalles horizontal, vertical y diagonal de la imagen. FIGURA 19. Detalles horizontales de la imagen de A Coruña. En la imagen anterior, se puede observar como los puntos siguen un patrón horizontal, y las zonas realmente verticales no son marcadas, como la antena del faro o el final de la veleta. En la imagen puede intuirse perfectamente la silueta del muro así como la de la cúpula. Que se pueda intuir la forma de la cúpula es debido a que la imagen original es muy pesada y contiene muchos pixeles, y por lo tanto aun tomando pocos puntos, se puede intuir. La forma de la torre de Hércules al fondo de la foto, no es posible intuirla solo con los detalles horizontales. 56 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 20. Detalles verticales de la imagen de A Coruña. Por el contrario a lo mostrado en la figura anterior, en esta figura si se puede intuir perfectamente la silueta de la torre de hércules al fondo así como los bordes de los edificios, y los bordes del faro, así como la antena y la veleta. La forma de la cúpula vuelve a ser observable por lo que se ha dicho anteriormente. 57 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 21. Detalles Diagonales de la imagen de A Coruña. En los detalles diagonales, se observa claramente el entrelazado del murito del faro, así como la cúpula, el resto de bordes son mejor observables en las otras dos imágenes. La imagen analizada contiene ciertos patrones geométricos regulares, como la cúpula, los muros y los bordes de los edificios. Este ejemplo y el anterior muestran, que sin la necesidad de un gran análisis podemos obtener una nueva imagen, la aproximación, y trabajar sobre ella para obtener los bordes. Para mejorar la detección de los bordes se puede cambiar las wavelet de trabajo, el nivel de descomposición e incluso el umbral, y también reprocesar las aproximaciones borrando los puntos negros que estén aislados. 58 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 5.4 FUSIÓN DE IMÁGENES En este apartado se realizaran diversos ejemplos de fusión de imagen donde se podrán observar las diferentes características que nos aportan las wavelet para esta tarea. 5.4.1 FUSIÓN DE IMÁGENES COMPLEMENTARIAS En el siguiente ejemplo se muestra una imagen de una playa situada al norte de las costas gallegas. La imagen original ha sido dividida en dos imágenes, ambas en blanco y negro, donde una es la complementaria de la otra como se puede ver en la figura 23. Estas imágenes se han obtenido mediante recortados y oscurecidos de la imagen original. FIGURA 22. Foto original de la playa de la Concha, Ortigueira. 59 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 23. Imágenes complementarias En la Figura 25, se puede observar el resultado de la fusión. Para realizar la fusión se utiliza la herramienta de Matlab del wavemenu, esta herramienta utiliza tres pasos: primero descompone las imágenes que serán fusionadas en la misma base wavelet, en este caso se han utilizado wavelet daubechies 2 con al nivel 2; como segundo paso se combinan las dos descomposiciones para obtener una nueva; y como último paso se realiza una transformada inversa para obtener una nueva imagen. El primer paso de la fusión es descomponer las imágenes, este paso se muestra en la Figura 24. FIGURA 24. Descomposición de las imágenes complementarias. Ambas imágenes tienen el mismo tamaño, y esto hace que las descomposiciones también tengan un tamaño idéntico. El siguiente paso es mezclar ambas descomposiciones, se construye directamente una nueva descomposición del tamaño requerido, en la cual cada coeficiente es obtenido por la combinación de los coeficientes correspondientes de cada descomposición. 60 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Esta combinación puede realizarse una combinación linear o el máximo, tanto en detalles como aproximaciones. En este ejemplo, al tratarse de imágenes complementarias, se han elegido el máximo tanto para aproximación como para detalles. La propiedad de que aportan las wavelet de un análisis local es perfectamente observable en la figura 24. A continuación se utiliza la transformada inversa para construir una imagen de la mezcla. Esta nueva imagen tiene su propia descomposición, mezcla de las otras dos. La imagen obtenida es casi idéntica a la original, y se puede observar en la Figura 25. Se puede observar la marca de la unión de ambas imágenes, pero aun así se puede apreciar la foto claramente. La razón por la que se aprecia la marca de unión es debido a las herramientas utilizadas para hacer conseguir las imágenes complementarias, si se dispusiera de mejores herramientas la marca no sería visible al ojo, aunque siempre existiría. FIGURA 25. Resultado de la fusión de las imágenes complementarias de la playa de la Concha. El proceso anterior puede llevarse a cabo, con algunos ajustes, con imágenes de diferente tamaño, ajustando cuando sea necesario que tengan el mismo tamaño y realizar cambios de posición. 61 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 5.4.2 FUSIÓN DE IMÁGENES DIFERENTES En el ejemplo anterior se ha presentado una fusión de dos imágenes del mismo tamaño y complementarias, eran versiones de la misma imagen. En este apartado se muestran dos imágenes completamente diferentes, a las que se le ajusta el tamaño. El procedimiento es el mismo que en el ejemplo anterior con la diferencia de que la manera de combinar las descomposiciones puede variar. En este apartado se utilizarán las imágenes con el busto de dos personas. Las imágenes se muestran a continuación en la Figura 26. Estas imágenes han sido modificadas hasta obtener el mismo tamaño, ya que es requerido para trabajar con la herramienta. FIGURA 26. Fotografías adaptadas al tamaño de José y Pablo. Ambas imágenes son tratadas con wavelets biortogonales 6.8 y nivel 2. En este caso se han utilizado el máximo de coeficientes de detalle y el máximo de aproximación. En un principio se tomó la media de ambos coeficientes pero el resultado fue mucho peor de lo previsto, y aunque el resultado obtenido con el máximo de detalles y aproximaciones no es ideal es mejor. Este resultado se muestra en la Figura 27. 62 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 27. Resultado de la fusión de las imágenes de Jose y Pablo. Como se ha podido observar, no se obtiene una imagen perfecta y se observan ciertas irregularidades, pero dado que ambas imágenes tienen ciertos parecidos y facciones la imagen tiende a parecerse mucho a la de José. La elección de máximos detalles ayuda a fortalecer los bordes de la imagen que contenga más información. Existen muchas formas de mezclar coeficientes, y se obtendrían diferentes imágenes, Esta herramienta es útil y con un poco de desarrollo puede servir para encontrar imágenes originales a través de la fusión de una combinación de imágenes borrosas. La estrategia utilizada en este apartado es una estrategia global para la elección del origen de los coeficientes, pero podría realizarse con elecciones locales, y de esta manera obtener más partes de una imagen en una zona y menos partes en otra. En definitiva se podrían fusionar dos imágenes de una forma infinita de posibilidades. 5.5 ELIMINACIÓN DE RUIDO La eliminación de ruido por wavelet trata de eliminar el ruido presente en la señal, perseverando las características de la señal, sin importar las frecuencias de su contenido. La eliminación de ruido se realiza en tres etapas, una primera etapa donde se realiza una transformada wavelet lineal, una segunda etapa donde se realiza la umbralización no 63 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA lineal o elección del umbral a partir del cual se elige la información característica de la imagen. En la tercera y última etapa se realiza la transformada inversa wavelet. El proceso de eliminación de ruido mediante wavelet es un proceso no linear, esto la diferencia sobre los procesos de eliminación lineares. La eficacia de este método de eliminación de ruido mediante wavelets es muy dependiente de la elección de los parámetros para la umbralización (thresholding). No existe un parámetro que sea el mejor, sino que existen diferentes métodos para elegir el parámetro. A continuación se muestran varios ejemplos de eliminación de ruido en imágenes. Este primer método de ha realizado mediante el código Denoising. FIGURA 28. Tres imágenes de Pablo, original con ruido y una tercera a la que se le ha pasado el código. En la figura anterior, se pueden observar tres fotografías. La primera imagen muestra una foto en blanco y negro obtenida con una cámara digital, la foto no es perfecta y es borrosa en algunos puntos. En la siguiente imagen se observa la misma foto a la que se le ha añadido ruido aleatorio. Y por último en la imagen sin ruido, se muestra la foto, 64 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA tras pasarle el código generado, se observa que se obtiene mejor nitidez incluso que la foto original en este caso. En este caso se ha utilizado wavelets reverse biorthogonal 6.8, con un nivel 4. El uso de daubechies y otras wavelets biortogonales es la mejor opción para la eliminación de ruido, debido a que permiten una reconstrucción exacta por filtros, con wavelets ortogonales es imposible excepto con Haar. FIGURA 29. Cuatro imágenes, original, con ruido aleatorio, y dos filtradas con dos tipos de wavelets diferentes. En la figura anterior se observan 4 imágenes diferentes en este caso, la primera se trata de una imagen de alta calidad del norte de Galicia que ha sido pasada a blanco y negro para facilitar su uso. La segunda imagen es la foto anterior a la cual se le añadido ruido aleatorio. Y seguidamente se pueden observar dos imágenes sin ruido, la primera ha sido tratada con wavelets daubechies 10 para un nivel 5, en la segunda imagen se ha aplicado wavelets reverse biorthogonal 6.8 para un nivel 4. A simple vista no se observan diferencias entre las dos, y se puede decir que ambas funcionan igual de bien. Fue comprobado que para grados menores de daubechies las wavelets reverse biorthogonal trabajan menor, manteniendo el mismo nivel. 65 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Las imágenes siguientes, han sido tratadas mediante la herramienta para wavelets estacionarias que aporta Matlab. La primera imagen es la imagen original pasada a blanco y negro, la segunda imagen (imagen a la derecha) es la tratada. La fotografía fue elegida porque era borrosa en un inicio. El resultado de la fotografía tras pasarlo por la herramienta de Matlab se puede observar en la figura. FIGURA 30. Se muestran dos imágenes, una original y la segunda tratada. 5.6 COMPRESIÓN DE IMÁGENES Para una imagen digital, el objetivo esencial de la compresión es minimizar la longitud de las series de bits necesarias para representarla, a la vez que se almacena información de una calidad aceptable. Las wavelets aportan soluciones eficientes a este problema. La cadena completa de compresión incluye etapas de cuantificación, codificación y decodificación, además del procesamiento wavelet propiamente dicho. Lo que se busca con la compresión de imágenes es obtener la representación más escasa posible de la imagen que será comprimida. Esto último quiere decir, adquirir una imagen lo más ligera posible manteniendo una calidad adecuada. En ciertas ocasiones se acepta una débil degradación de la eficacia del rendimiento de la compresión para obtener otros 66 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA objetivos, como pueden ser: la transmisión en tiempo real o la reconstitución ininterrumpida de versiones mejoradas de la misma imagen. 5.6.1 PRINCIPIOS DE COMPRESIÓN Una vez se elige la imagen que va a ser comprimida, se realiza como primer paso una descomposición en una base wavelet, la base ha de ser ortogonal o biortogonal por medio de la transformada discreta. A continuación una parte de los coeficientes son selecicionados por umbralización (thresholding), mientras se mantiene intacto los coeficientes de aproximación de un nivel seleccionado de una manera apropiada. Los coeficientes que se han mantenido, son posteriormente cuantificados, y para terminar, son codificados para su almacenamiento o transmisión. La descompresión consiste en invertir las operaciones que han sido señaladas en el apartado anterior lo más que sea posible. A partir de los coeficientes decodificados y descuantificados se reconstruye una imagen aplicando la transformada discreta inversa. La imagen obtenida es, por lo tanto, la imagen comprimida. En este tipo de compresión se pueden producir pérdidas de información en dos etapas diferentes: en la etapa de umbralización cuando el valor de algunos coeficientes es modificado, en la etapa de cuantización cuando el valor de algunos coeficientes es truncado. El error en la etapa de umbralización se puede evitar no realizando la misma, y el segundo error puede ser evitado utilizando wavelets con coeficientes racionales o integrales. En el diagrama siguiente se pueden observar los pasos a seguir para una compresión. 67 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Compresión 1.Transformada Wavelet 2.Umbral 3.Cuantificación 4.Codificación Almacenamiento o Transmisión Descompresión 1.Descodificación 2.Descuantificación 3.Transformada wavelet Inversa Las wavelets se encuentran en dos importantes etapas, en la primera de compresión y la última de descompresión, las otras operaciones no dependen de wavelets en principio. 5.6.2 WAVELETS Y COMPRESIÓN La eficiencia de este método mediante wavelets, se basa en la capacidad de este método para una representación económica de una amplia gama de clases de imágenes en bases wavelet. Generalmente las imágenes tienen unas descomposiciones wavelets escasas, representaciones donde unos pocos coeficientes tienen valores lejanos al cero. Las imágenes están bien representadas por coeficientes de una aproximación no muy buena, pero apoyados por unos coeficientes de detalles bastante grandes. La compresión consiste por tanto, en mantener los buenos coeficientes y codificarlos en la manera más eficaz posible. La llave para la compresión es mantener los coeficientes de detalle alrededor de cero. Se realizarán tres compresiones en blanco y negro para mostrar los ejemplos. La utilización de un umbral viene dada porque las representaciones en wavelets concentran la energía en un pequeño número de coeficientes. El mayor coeficiente de imagen se corresponde con un 0,01% de la energía, mientras que el mayor coeficiente 68 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA wavelet de descomposición captura el 87,36% de la energía, si se tratase de un solo coeficiente de orden 8 de aproximación. A continuación serán mostrados diferentes ejemplos con fotografías de alta calidad de la costa del norte de Galicia. En los ejemplos se utilizan las wavelet symlet, muy utilizadas en compresión. La elección de los ceros es importante, ya que cuantos más ceros son elegidos más energía es perdida y por lo tanto es conveniente un balance entre ambos, número de ceros y energía, idealmente se busca el mayor número de ceros con la mayor energía posible. Ejemplo 1: En este primer ejemplo se ha descompuesto la imagen de los acantilados gallegos para una wavelet symlets 5 (las que se utilizan normalmente en compresión) para nivel 5 y se ha impuesto el 94% de los ceros en la descomposición con umbral, correspondiendo con un umbral global de 15.59, la entropía utilizada es de shanon. En la Figura 3, la parte baja a la izquierda se puede observar en el diagrama como se ajusta los requerimientos. El resultado de la compresión es bastante satisfactorio y se retiene casi el 100%, 99.95% en este caso, de la energía de la imagen. En la Figura 32 se pueden observar los histogramas de los residuos, donde es posible apreciar un poco la función del umbral. Se pude observar cómo se trata de una muestra prácticamente simétrica. 69 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 31. Imagen original de Acantilados a la izquierda, imagen comprimida a la derecha y porcentajes de la energía y el número de ceros y el lugar del umbral abajo. FIGURA 32. Histogramas con los valores de los residuos de la imagen Acantilados. Ejemplo 2: En el siguiente ejemplo, se trabaja con una imagen de un paisaje rocoso de la costa gallega, se le aplican wavelet packets symlet 8 con un nivel 5 y entropía de Shannon. Se fija el número de ceros en el 98%, lo cual fija el umbral global en 35,08. En esta imagen 70 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA se obtiene una imagen casi idéntica al comprimirla donde se guarda el 99,82% de la energía. Las imágenes con las que se trabajan son de gran calidad y por los requerimientos que se le hacen se pierde muy poca información. En la Figura 34 se observan los histogramas de los residuos, en este caso se trata de una distribución asimétrica, pero no demasiado. FIGURA 33. Imagen original de Roca a la izquierda, imagen comprimida a la derecha y porcentajes de la energía y el número de ceros y el lugar del umbral abajo. FIGURA 34. Histogramas con los valores de los residuos de la imagen Roca. 71 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Ejemplo 3: En el último ejemplo que se ha estudiado, se representa el paisaje de una playa de la costa norte de Galicia, en este caso a la imagen se le aplican wavelets symlet 8 para un nivel 5. El umbral elegido es global. Se fija el número de ceros al 98,5% y se consigue una energía del 99.77%. De nuevo la energía que se ha conseguido guardar de la imagen es más que aceptable y se mantiene aún una alta calidad. El histograma de nuevo es muy parecido al obtenido en los otros dos ejemplos, ya que en todos ellos se consigue un alto nivel de energía. En el caso de que se aumentara en nivel de ceros, aunque fuera solo un poco, esto nos haría perder información de la imagen y los residuos aumentarían. FIGURA 35. Imagen original de Playa a la izquierda, imagen comprimida a la derecha y porcentajes de la energía y el número de ceros y el lugar del umbral abajo. 72 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 36. Histogramas con los valores de los residuos de la imagen Playa. 5.6.3 COMPRESIÓN VERDADERA Además de los algoritmos relacionados con wavelets, DWT e IDWT, o también transformada discreta wavelet y transformada discreta inversa wavelet, es necesario utilizar otros ingredientes para la cuantización y la codificación. La cuantización transforma un dominio con un número infinito o muy grande de valores, a un conjunto finito y pequeño de valores. En esta operación, como se ha mencionado anteriormente, se puede perder información. La codificación consiste en transformar un número finito de símbolos obtenidos después de la cuantización, en una corriente finita de bits. Una codificación aceptable no incluye pérdidas de información. En la siguiente figura se muestra un ejemplo de compresión verdadera realizado con la herramienta de Matlab. 73 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA FIGURA 37. Imagen de la costa gallega tratada con la herramienta de Matlab. Este tipo de compresión requiere de muchas acciones de computación ya que realiza 19 bucles en los que tiene en cuenta cada nivel de descomposición y detecta los puntos que no se acercan al umbral elegido. Se observa que el ratio de compresión en esta imagen es menor del 50% pero la energía de la imagen apenas se ha perdido, con lo cual se obtiene una imagen menos pesada pero casi con la misma cualidad, lo cual nos permite una mejor transmisión y almacenamiento. 5.6.4 ESTÁNDAR JPEG 2000 Además de las operaciones relacionadas con wavelets y los aspectos asociados a la codificación y cuantización, el método JPEG 2000 abarca muchas otras sutilezas técnicas. La efectividad del sistema como un todo, es lo que al JPEG 2000 a ser el estándar para la compresión de imagen. El sistema JPEG 2000 fue diseñado para satisfacer tres metas principales. Primero para ofrecer una universalidad, para una amplia familia de imágenes de colores se buscaban mejores resultados, que los estándares existentes, con fuertes ratios de compresión, pero sin degradarlos para los que tuvieran ratios más bajos. Lo siguiente que se buscaba era habilitar una transmisión progresiva de imágenes comprimidas con buena calidad y aumentando esta hasta que se consiga una compresión sin pérdida de información, y hacer posible la definición de áreas específicas que necesiten ser codificadas con mayor 74 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA precisión. Por último, se buscaba también una seguridad de los datos respecto a los errores que pudieran ocurrir durante la transmisión. Las operaciones seguidas para la codificación de una imagen a color son muchas, pero las más importantes se pueden resumir en las siguientes: Descomposición de la imagen original en componentes de color. Cortar los componentes en zonas rectangulares iguales. Normalizar los coeficientes Aplicación de la transformada discreta de wavelet para cada zona rectangular. Cuantización de los coeficientes de descomposición para cada zona rectangular. Codificación de los coeficientes, esto puede ser diferente en cada zona. 75 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 76 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Capítulo 6 CONCLUSIONES El objetivo que se perseguía con este PFC era situar las wavelet en el ámbito y usos actuales, estudiar sus características, sus fundamentos y sus algoritmos, además de realizar un análisis completo del procesamiento de imágenes con wavelet. Para el procesamiento de imágenes se han estudiado las diferentes características, se han modelado diferentes programas mediante Matlab y se ha utilizado todas las herramientas que Matlab facilita para el manejo de las wavelets, y se han conseguido datos satisfactorios. La compresión de imágenes mediante wavelet es uno de los grandes éxitos de estas transformadas, mediante el uso de symlets que son las wavelets más utilizadas para la compresión, se han conseguido buenos ratios de compresión manteniendo una energía alta de la imagen y un buen número de ceros. El mayor ejemplo del éxito de las wavelet es la compresión JPEG, la cual demuestra claramente que este tipo de ondas son las más eficaces para la compresión, se obtiene mayores compresiones con mayor calidad de imagen. En el caso de la fusión de imágenes, la detección de bordes y la eliminación de ruido, se ha observado que las wavelets que mejor se adaptan para estas aplicaciones son las biortogonales, debido a que estas permiten una reconstrucción exacta a través de los filtros, lo que proporciona muchas ventajas. En el caso de fusión de imágenes, se ha comprobado su gran eficacia fusionando partes de una misma imagen, y se ha comprobado su potencial para obtener mejores resultados con un estudio más profundo solo en ese campo. Dado que en el caso de disponer de diversas formas de una misma imagen se puede llegar a fusionar de tal manera que se consiga la original perfectamente, lo cual es muy útil para el caso de imágenes antiguas, médicas o imágenes tomadas desde distintas cámaras o ángulos. Las wavelets son una herramienta muy potente para el estudio de señales e imágenes, debido a esto, son útiles en un amplio número de aplicaciones en muy diferentes campos, donde muchas veces se obtienen mejores resultados que con otras técnicas, a pesar de ser una herramienta relativamente nueva en el procesamiento de señales. En muchas ocasiones las wavelets proporcionan características diferentes y más eficaces debido a su análisis local que es uno de sus mayores beneficios a la hora del análisis de señales. 77 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Por lo tanto, se ha comprobado que las wavelets son una herramienta muy potente y con gran potencial para el trabajo con imágenes, en lo que a compresión, eliminación de ruido y fusión se refiere. Así como su uso para muchas otras aplicaciones en diferentes campos, donde poco a poco ganan terreno a otras aplicaciones. Frente a esto, dadas las capacidades de los wavelet packets, se ha comprobado que estos funcionan mejor en muchos aspectos, debido a que dividen la imagen en más partes, y aunque necesitan de un mayor gasto computacional, al final resultan más eficaces en muchas ocasiones, como la compresión de imágenes, donde permiten la eliminación de más partes sin que afecte tanto a la energía de la imagen, y pudiendo así adquirir mejor ratio de compresión. 78 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Capítulo 7 FUTUROS DESARROLLOS Para futuros desarrollos de este proyecto, sería considerable centrarse más en un aspecto de wavelets, como puede ser la compresión o la fusión de imágenes, y tratarlo con una amplia gama de wavelets y wavelets packets para observar con más precisión el comportamiento de estas. De esta forma se conseguiría una visión menos amplia, pero más potente de un aspecto. 79 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 80 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Capítulo 8 BIBLIOGRAFÍA [DAUB92] Daubechies I, “Ten Lectures on Wavelets” Philadelphia 1992. [GROS94] A. Grossmann, J. Morlet “Descomposition of Hardy functions into square integrable wavelets of constant shap” SIAM j. of Match. Anal. 1984 [JAID11] Jaideva C. Goswami, Andrew K. Chan, “Fundamentals of Wavelets” Theory, Algorithms and Applications. 2011. [MALL99] S.Mallat, “A Wavelet tour of Signal Processing” Academic Press, 2nd Edition 1999. http://www.cs.nyu.edu/cs/faculty/mallat/Wavetour_fig/index.html [MARI04] María José Lado, A. J. Méndez, “Algoritmos y Aplicaciones en el Análisis de Gráficos de Interfaz”, Departamento de Informática. Universidad de Vigo. Curso 2003/2004. [MICH07] M. Misiti, Y. Misiti, G. Oppenheim, J. Poggi, “Wavelets and their Applications” ISTE Ltd, 2007. [STRA94] STRANG, G., “Wavelet Tranform versus Fourier Transform”, American Mathematical Society. Abril 1993. [RAUG02] R. Rangarajan, R. Venkataramanan, S. Slah, “Image Denoising Using Wavelets”, Wavelets & Time Frequency. Diciembre 2002. 81 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 82 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA Anexos 83 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 84 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA ANEXO I: CÓDIGOS En este capítulo de anexos se encuentran los códigos fuentes de los programas utilizados en el software informático Matlab para la realización del proyecto. 1. Código de eliminación de ruido. % Load original image. I = imread('Piratas.jpg'); I = double(I); Imagen = 0.2990*I(:,:,1) + 0.5870*I(:,:,2) + 0.1140*I(:,:,3); NbColors = 255; X = wcodemat(Imagen,NbColors); map = gray(NbColors); % Se genera ruido aleatorio en la imágen x = X + 15*randn(size(X)); %Se buscan los valores por defecto de la eliminación de ruido. %En este caso por un umbral fijado con una estimación del nivel %de ruido, la umbralización puede ser soft o hard % y se guardan los coeficientes de aproximación. [thr,sorh,keepapp] = ddencmp('den','wv',x); % thr (umbral) es equivalente a la sigma_estimada*sqrt(log(prod(size(X)))) %Se elimina el ruido de la imagen eligiendo una opcion global %de umbralización. xd = wdencmp('gbl',x,'db6',5,thr,sorh,keepapp); xy = wdencmp('gbl',x,'rbio6.8',4,thr,sorh,keepapp); %el uso de daubechies o rbio son las mejores opcions es la mejor opción, %debido a su caracter biortogonal. %Estas ultimas lineas de código sirven para mostrar las diferentes %imágenes por pantalla y elegir el color. colormap(gray(255)), sm = size(map,1); subplot(221), axis off subplot(222), axis off subplot(223), axis off subplot(224), axis off image(wcodemat(X,sm)), title('Imagen Original') image(wcodemat(x,sm)), title('Imagen con Ruido') image(wcodemat(xd,sm)), title('Imagen sin Ruido 1') image(wcodemat(xy,sm)), title('Imagen sin Ruido 2') 85 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 2. Código de descomposición. I = imread('Acoruna.jpg'); I = double(I); Imagen = 0.2990*I(:,:,1) + 0.5870*I(:,:,2) + 0.1140*I(:,:,3); NbColors = 255; X = wcodemat(Imagen,NbColors); map = gray(NbColors); %Las lineas de código anterior son para transformar la imagen a una %escala de grises. figure(1) image(Imagen); %visualizamos la imagen elegida en el matlab. colormap(map); [cA1,cH1,cV1,cD1] = dwt2(X,'db2'); % realizamos una descomposición de la imágen de 1 nivel con wavelets db2 %Este comando nos genera las matrices de coeficientes de primern nivel, de %la aproximación, y los detalles horizontal vertical y diagonal. %---% A1 = upcoef2('a',cA1,'db2',1); H1 = upcoef2('h',cH1,'db2',1); V1 = upcoef2('v',cV1,'db2',1); D1 = upcoef2('d',cD1,'db2',1); %Con estos comandos contruimos la aproximación y los detalles de los %coeficientes adquiridos anteriormente. figure(2) map2 = 1-gray(NbColors); colormap(map2); subplot(2,2,1); image(wcodemat(A1,192)); title('Aproximación A1') subplot(2,2,2); image(wcodemat(H1,192)); title('Detalle Horizontal H1') subplot(2,2,3); image(wcodemat(V1,192)); title('Detalle Vertical V1') subplot(2,2,4); image(wcodemat(D1,192)); title('Detalle Diagonal D1') 86 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 3. Código de Compresión 1. %Código utilizado para el ejmplo 1 de compresión function [XCMP,wptCMP] = func_compress_wp2d(X) % X: matriz de datos % XCMP: matriz de datos comprimidos % wptCMP: descomposción wavelet packet % Parámetros de análisis. Wav_Nam = 'sym4'; Lev_Anal = 5; Ent_Nam = 'shannon'; Ent_Par = 0; % Parámetros de compresión. % meth = 'bal_sn'; sorh = 'h'; % Especificado para umbralización soft o hard, h=hard. thrSettings = {sorh,'nobest',13.352368791793488,1}; roundFLAG = true; % Descomposición mediante la función WPDEC2. wpt = wpdec2(X,Lev_Anal,Wav_Nam,Ent_Nam,Ent_Par); % Proceso de fusión. n2m = []; for j = 1:length(n2m) wpt = wpjoin(wpt,n2m(j)); end %Compresión utilizando la función WPDENCMP. [XCMP,wptCMP] = wpdencmp(wpt,thrSettings{:}); if roundFLAG , XCMP = round(XCMP); end if isequal(class(X),'uint8') , XCMP = uint8(XCMP); end 87 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 4. Código de compresión 2. function [XCMP,wptCMP] = func_compress_wp2d(X) % FUNC_COMPRESS_WP2D Saved Compression Process. % X: matriz de datos % XCMP: matriz de datos comprimidos % wptCMP: descomposción wavelet packet % Parámetros de análisis. Wav_Nam = 'sym8'; Lev_Anal = 5; Ent_Nam = 'shannon'; Ent_Par = 0; % Parámetros de compresión. % meth = 'bal_sn'; sorh = 'h'; % Especificado para umbralización soft o hard, h=hard. thrSettings = {sorh,'nobest',35.079484464674323,1}; roundFLAG = true; % Descomposición utilizando la función WPDEC2. wpt = wpdec2(X,Lev_Anal,Wav_Nam,Ent_Nam,Ent_Par); % Proceso de fusión. n2m = []; for j = 1:length(n2m) wpt = wpjoin(wpt,n2m(j)); end %Compresión utilizando la función WPDENCMP. [XCMP,wptCMP] = wpdencmp(wpt,thrSettings{:}); if roundFLAG , XCMP = round(XCMP); end if isequal(class(X),'uint8') , XCMP = uint8(XCMP); end 88 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 5. Código de compresión 3. function [XCMP,cfsCMP,dimCFS] = func_compress_dw2d(X) % FUNC_COMPRESS_DW2D Proceso guardado de compresión % X: matriz de datos % ----------------% XCMP: matriz de datos comprimidos % cfsCMP: vector de descomposición % dimCFS: guarda el orden de los coeficientes de la matriz % Parámetros de análisis. wname = 'sym8'; level = 5; % Parámetros de Compresión % meth = 'bal_sn'; sorh = 'h'; % Especificado para umbralización soft o hard, h=hard. thrSettings = 49.910209019263782; roundFLAG = true; % Compression using WDENCMP. %-------------------------[coefs,sizes] = wavedec2(X,level,wname); [XCMP,cfsCMP,dimCFS] = wdencmp('gbl',coefs,sizes, ... wname,level,thrSettings,sorh,1); if roundFLAG , XCMP = round(XCMP); end if isequal(class(X),'uint8') , XCMP = uint8(XCMP); end 89 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL MEMORIA 90
Similar documents
Aplicación de wavelets a la protección diferencial de un
perturbación, ya que permite la localización en el dominio tiempo-frecuencia de las características de la señal lo que la hace más conveniente para el análisis de señales de naturaleza transitoria,...
More information