• No se han encontrado resultados

Implementación de la transformada wavelet discreta para imágenes en un FPGA

N/A
N/A
Protected

Academic year: 2021

Share "Implementación de la transformada wavelet discreta para imágenes en un FPGA"

Copied!
5
0
0

Texto completo

(1)

Implementación de la transformada wavelet discreta para

imágenes en un FPGA

Madeleine León

1

, Carlos A. Murgas

1

, Lorena Vargas

2

, Leiner Barba

2

, Cesar Torres

2

1

Estudiantes de pregrado de la Universidad Popular del Cesar,

mader73@hotmail.com

2

Laboratosio de óptica e informática de la Universidad Popular del Cesar

vargas.quintero@yahoo.com, torres.cesar@caramail.com

Valledupar, Colombia

RESUMEN

Este trabajo presenta un sistema hardware de procesamiento digital de imágenes utilizando la transformada wavelet discreta en dos dimensiones a través de la familia wavelet Daubechies orden 2 (db2). El algoritmo de descomposición de dicha transformada se implementa en un dispositivo lógico programable (FPGA), aprovechando las propiedades de paralelismo que esta nos brinda y garantizándonos así mayor velocidad en el procesamiento. El sistema se edita y simula en lenguaje de descripción hardware VHDL.

Palabras claves: FPGA, procesamiento de imágenes, transformada wavelet, VHDL.

ABSTRACT

This paper presents a hardware system of digital image processing using the two dimensional discrete wavelet transform through the wavelet family Daubechies order 2, (db2). The decomposition algorithm of this transform is implemented into a programmable logic device (FPGA), exploiting the properties of parallelism in order to get a bigger processing speed. The system is done and simulated by using hardware description language – VHDL.

Key words: FPGA, image processing, wavelet transform, VHDL.

1.

INTRODUCCIÓN

El procesamiento digital de imágenes es una de las actividades que involucra más dificultades debido a la gran cantidad de información que puede contener una imagen. Por tanto, la implementación en hardware tiene en cuenta características importantes como la rapidez de procesamiento y la cantidad de elementos de almacenamiento requerida.

En la actualidad la transformada wavelet se está implementando en el procesamiento digital de imágenes, aprovechando las características que estás presentan computacionalmente frente a otras técnicas de programación. La transformada Wavelet discreta (DWT) es capaz de proporcionar información temporal y frecuencial simultáneamente (ver Ref.1). La imagen se filtra mediante una serie de filtros paso-bajo y pasa-alto, obteniéndose así porciones de alta frecuencia y de baja frecuencia de la imagen.

El interés en la transformada wavelet ha incrementado notablemente en los últimos años, por su gran número de aplicaciones que incluyen análisis de señales, compresión de señales y análisis numérico. Si bien en el país se han realizado diferentes proyectos referentes a estos temas, pero estos llevan únicamente implementaciones tipo software.

En este artículo se presenta la implementación de la transformada wavelet discreta utilizando la herramienta de diseño de hardware FPGA (dispositivo lógico programable), el cual puede reducir el tiempo de desarrollo considerablemente, aprovechando las propiedades de paralelismo que esta nos brinda, es decir, pueden agilizar el tiempo de procesos de muchas aplicaciones en comparación con implementaciones en herramientas de software. Debido a su naturaleza reconfigurable, los FPGAs pueden implementar múltiples tareas en tiempos diferentes, por lo que los sistemas pueden ser escalables (ver Ref.2), siendo de gran interés debido a su potencial de aplicación en sistemas de comunicación, específicamente para compresión de audio y video.

(2)

En la sección II se describe la transformada wavelet discreta utilizada; la sección III ilustra la arquitectura hardware de los algoritmos implementados; la sección IV resume la implementación FPGA. La sección V muestra los resultados y la sección VI las conclusiones.

2. ANÁLISIS WAVELET

El análisis wavelet consiste en la descomposición de una señal arbitraria en versiones escaladas y trasladadas de la wavelet original, es decir, la idea básica de esta transformada consiste en representar cualquier función arbitraria como una superposición de un conjunto de dichas wavelets o funciones bases, además de adoptar un prototipo de función llamado wavelet madre, tal como se muestra en la Ref.3.

2.1. Análisis wavelet en dos dimensiones

El análisis wavelet descompone la señal o imagen en un conjunto jerárquico de aproximaciones y detalles. Desde un punto de vista de análisis de señales, esto consiste de una descomposición de la señal en una familia de señales de análisis, las cuales son usualmente un método de función ortogonal. Este trabajo emplea la transformada wavelet discreta en dos dimensiones, la cual se define como:



 

Z x y Z k j

x

y

g

y

x

f

k

j

C

b

a

C

(

,

)

(

,

)

(

,

)

,

(

,

)

(1)

con

a

2

j

,

b

k

2

j

,

j

N

,

j

N

donde f es la imagen original, g es la función wavelet, a es el factor de escala de la función wavelet, b es un parámetro de traslación de la función wavelet y C(a,b) son los coeficientes obtenidos. El proceso inverso se obtiene por medio de la ecuación:



 

Z j k Z k j

x

y

k

j

C

y

x

f

(

,

)

(

,

)

,

(

,

)

(2)

donde ψ es la función wavelet. Una completa explicación de este proceso se encuentra en la Ref.4.

2.2.

Proceso de descomposición wavelet en dos dimensiones

El proceso de descomposición wavelet entrega cuatro imágenes para un nivel de descomposición: una subbanda de aproximación (cA) que muestra la información de baja de frecuencia de la imagen, y tres subbandas de detalles (cDV, cDH, cDD) que muestran la información de alta frecuencia de la imagen. Estas cuatro de salida tienen la mitad del tamaño de la imagen de entrada. Los pasos para calcular la transformada wavelet discreta (en dos dimensiones) aplicada a una imagen se muestra en la figura 1.

(3)

El proceso de reconstrucción de la imagen se realiza con las cuatro imágenes de descomposición resultantes. El algoritmo completo para obtener la descomposición wavelet puede ser visto en la Ref.4.

En la literatura existen diferentes tipos de familias wavelet, entre ellas se tienen Haar, Daubechies (dbN), Symlets (symN), Meyer (meyr). En este trabajo fue empleada la familia Daubechis de orden 2 (db2).

3. ARQUITECTURA HARDWARE

En la figura 2 se ilustra el diagrama de bloques general de la arquitectura hardware digital implementada para calcular la transformada wavelet discreta en dos dimensiones utilizando dispositivos FPGAs. En el algoritmo se utilizó una metodología de diseño descendente (Top Down), en la cual todos los bloques son implementados y analizados individualmente para luego unirlos en un solo sistema.

Figura 2. Descripción de la arquitectura

hardware implementado la transformada

wavelet discreta.

La imagen de entrada a ser procesada es almacenada en una memoria RAM externa. Se trata de una imagen en escala de grises con niveles de intensidad que varían entre 0 (color negro) y 255 (color blanco). Asimismo se almacenan en la FPGA los cuatro coeficientes de la wavelet madre discreta de la familia daubechies, utilizando para ello los bloques de memorias internas del FPGA, y posteriormente se convoluciona con los datos de la imagen de entrada ya adquirida. Cabe notar que las operaciones son realizadas empleando una representación binaria para datos de punto flotante definida por el estándar IEEE 754.

El proceso de control determina cuando se activa cada bloque del sistema generando así una supervisión y sincronización. El programa fue desarrollado en VHDL (VHSIC Hardware Description Languaje) combinando todos los estilos de programación descritos en la Ref.5.

Análogamente, las cuatro imágenes resultantes de la descomposición son almacenadas utilizando una memoria RAM imagen de salida

4. IMPLEMENTACIÓN FPGA

El sistema ha sido mapeado en un dispositivo FPGA de Xilinx de la familia Spartan IIIE, de referencia XC3S1200E a través de la tarjeta de desarrollo Digilab NEXYS 2 distribuida por Digilent. La arquitectura fue implementada usando el software ISE de Xilinx, versión 9.1, la cual suministra varias herramientas para síntesis del diseño, técnicas de configuración, análisis de desempeño, incluyendo recursos, velocidad y consumo de potencia.

(4)

5. RESULTADOS

Para evaluar los resultados de la arquitectura hardware implementado se elaboró una interfaz gráfica en Matlab®, con la cual se cargan las imágenes a procesar y se envían hasta la memoria de almacenamiento serialmente. La figura 3 muestra una imagen original que fue procesada.

Figura 3. Imagen original a ser procesada

Luego de aplicar el algoritmo de la transformada wavelet (para un solo nivel de descomposición) implementado en el FPGA se obtuvo la descomposición mostrada en la figura 4. Claramente se observan las cuatro componentes obtenidas.

Figura 4. Resultado de aplicar el algoritmo implementado en el FPGA sobre la imagen de la figura 3.

6. CONCLUSIONES

Se desarrolla un sistema de aplicación en la cual se implementa la transformada wavelet discreta en dos dimensiones sobre dispositivos lógicos programables como son los FPGA. La arquitectura fue probada con imágenes de diferentes características y en cada caso presentó un buen resultado. Este sistema puede ser utilizado para aplicaciones donde se necesita procesar imágenes en representaciones multiresolución desde plataformas hardware, aprovechando los beneficios que ellas ofrecen en comparación con las plataformas de software.

(5)

7. REFERENCIAS

1. R. Bopardikar, “A. Wavelet Transforms”. Addison-Wesley, 1998

2. G. Wall, F. Iqbal, J. Isaacs, L. Xiuwen, S. Foo, “Real time texture classification using field programmable gate arrays”. Applied Imagery Pattern Recognition Workshop, 2004, Proceedings. 33rd, pp.130 - 135. Oct. 2004.

3. Amara Graps, “An introduction to wavelets”, IEEE Computational Science and Engineering,

Volume 2, Issue 2, Summer 1995 Page(s):50 – 61.

4. Pajares Gonzalo, De La Cruz Jose, “Visión por computador – Imágenes digitales y aplicaciones”, Alfaomega, pages 47-56, 2004.

Referencias

Documento similar

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

Las probabilidades de éxito de este procedimiento serán distintas en función de la concreta actuación del reclamante antes de que se produjera la declaración de incons-.. En caso

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)