implementación hw de algoritmos de tratamiento digital de · pdf filealgoritmos de...

34
Implementación Hw de algoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Upload: lytram

Post on 16-Feb-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Implementación Hw de

algoritmos de Tratamiento Digital de Señal

Máster en CC y Tecnologías de la Computación

Curso 2011-2012

Page 2: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

2 2

Índice 1. Introducción

2. Objetivos

3. Algoritmos en Teledetección y Reconocimiento de Voz

4. Conclusiones. Posibles líneas de trabajo

5. Bibliografía

Page 3: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

3 3

1. Introducción Necesidad de procesado rápido en Teledetección:

Búsquedas offline en grandes archivos de datos Computaciones en tiempo real

Algoritmos con “ciclo interno” con gran número de operaciones básicas susceptibles de ser “aceleradas”. Detectar “cuellos de botella” en velocidad.

Aprovecha el paralelismo inherente en las operaciones básicas de tratamiento de imagen

Page 4: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

4 4

1. Introducción Uso FPGA-”Field Programmable Gate

Array”. Prototipado Rápido Evitar uso HDL: Códigos largos, posibilidad de errores No accesibles para los programadores

Uso L.A.N: C/C++, Java, Matlab

Herramientas S.A.N

Page 5: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

5 5

2. Objetivos

Aumentar la velocidad de cómputo de la información que se extrae en teledetección

Utilizar FPGA, por su tamaño (portabilidad) y relativo bajo coste. Pueden ser utilizados incluso para Co-diseñar

aplicaciones Tecnología que aguanta radiaciones del

entorno donde se encuentran los satélites

Page 6: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

6 6

2. Objetivos

Simulink blockset

Xilinx blockset

Simulink blockset

Entrada Implementación Hw Salida

• Diseñar utilizando la ténica “Hardware in the loop” • Uso del “System Generator” como herramienta-puente, que

traduce el modelo Simulink a un bloque Xilinx. • Cosimulación: Se genera una implementación hardware

(bitstream) y se asocia a un bloque de co-simulación.

Prototipado Virtual

Page 7: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

2. Objetivos

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

7

+

Page 8: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

2. Objetivos

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

8

Page 9: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

9 9

2. Objetivos Dos posibilidades (I): Bloques existentes en Xilinx blockset

Mismos resultados de simulación

Page 10: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

10 10

2. Objetivos Dos posibilidades (II): Codificación en Matlab, mediante M-code Block.

Soporta un subconjunto de Matlab

Mismo resultado de simulación

Page 11: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

2. Objetivos

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

11

Ejemplo utilizando los dos métodos: Maleeha Kiran, Kan Mei War, Lim Mei Kuan, Liang Kim Meng & Lai Weng Kin “Implementing image processing algorithms using ‘Hardware in the loop’ approach for Xilinx FPGA” . IEEE 2008 International Conference on Electronic Design. December 1-3, 2008, Penang, Malaysia

Page 12: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección Funciones de pre-procesado:

Corrección radiométrica Corrección geometrica

Visualización y mejora: Visualización en blanco y negro Visualización en color Mejora de contraste Operaciones algebraicas con imágenes Filtrado espacial Detección de bordes……

Extracción de la información Clasificación supervisada, no supervisada y contextual Análisis de datos e imágenes

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

12

Page 13: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

13

Si definimos A como la imagen original y Gx y Gy son los dos kernels que representan para cada punto las aproximaciones horizontal y vertical de las derivadas de intensidad, el resultado es calculado como:

En cada punto de la imagen, los resultados de las aproximaciones de los gradientes horizontal y vertical pueden ser combinados para obtener la magnitud del gradiente:

ALGORITMO DE SOBEL

Con esta información, podemos calcular también la dirección del gradiente:

donde, por ejemplo, Θ es 0 para bordes verticales con puntos más oscuros al lado izquierdo.

Page 14: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

14

ALGORITMO DE CANNY Primera etapa de reducción de ruido, se realiza la convolución de la imagen con un filtro gaussiano:

Segunda etapa búsqueda de gradientes, se utiliza por ejemplo el algoritmo de Sobel.

Tercera etapa Supresión no máxima al resultado del gradiente El objetivo de este paso es Obtener bordes de 1 pixel de grosor

Cuarta etapa. Histéresis de umbral a la supresión no máxima Permite eliminar máximos procedentes de ruido, etc

Page 15: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección Detección de bordes. Sobel y Canny Sobel y Canny en matlab: satelite = imread(‘satellite.gif'); imshow(satelite); BW1 = edge(satelite,'sobel'); BW2 = edge(satelite,'canny'); figure, imshow(BW1) ; figure, imshow(BW2)

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

15

Page 16: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección sobre FPGA

Construir modelo en Simulink

Analizar y optimizar dicho modelo

Elaborar diseño para implementarlo sobre FPGA

Generar HDL desde Simulink

Verificar (Co-simulación)

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

16

SIMULINK

HDL

FPGA

Page 17: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

17

3. Algoritmos en Teledetección sobre FPGA

Nivel de sistema Verificación de

requerimientos a nivel de comportamiento

Page 18: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección sobre FPGA

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

18

Diseño y Verificación para Implementación

Modificaciones para adaptar diseño a implementación hardware:

Necesidad de estudio previo

ncomparació y u por yu 2

Page 19: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección sobre FPGA

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

19

Punto Fijo

Entrada 9 bits con BS Salida 11 bits con BS Se debe intentar usar el menor número de bits

posible. Necesidad de estudio previo

Page 20: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección sobre FPGA

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

20

Similar a la conversión de entrada (al revés)

Page 21: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección sobre FPGA

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

21

Page 22: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

22

A partir de aquí se puede introducir código generado en ISE….

3. Algoritmos en Teledetección sobre FPGA

Page 23: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección sobre FPGA

Otras formas de implementar para Xilinx con System Generator (Altera-DSPBuilder): Desde los bloques existentes en Simulink:

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

23

Page 24: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección sobre FPGA

Otras formas de implementar para Xilinx con System Generator (Altera-DSPBuilder): Desde el programa en Matlab: function edge_image = sobel(sample) % Convolución de dos matrices diferentes con la señal Kx = [[-1 0 1];[-2 0 2];[-1 0 1]]; Ky = [[-1 -2 -1];[0 0 0];[1 2 1]]; Gx = convn(sample, Kx, 'same'); Gy = convn(sample, Ky, 'same'); edge_image = sqrt(Gx.*Gx + Gy.*Gy); max_val = max(edge_image(:)); edge_image = edge_image ./ max_val; end

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

24

Necesidad de simplificar

En todos los casos

Page 25: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

3. Algoritmos en Teledetección sobre FPGA (Resumen)

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

25

Desde la Idea a la Implementación con Matlab-Simulink

Pasos a seguir: Algoritmo

Conversión a Punto Fijo Generación VHDL Verificación y Refinamiento

programa en matlab

bloques genéricos Simulink

bloques específicos Simulink

System-Generator-DSP Builder

Page 26: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

26 26

3. Reconocedor Robusto de Palabras Aisladas (I)

Entrenamiento

cuantificador

Entrenamiento MOM

Cancelación ruido

Extracción

paramétrica

LC Repositorio

modelos

Palabra de entrada

Preprocesado

Cuantificación Calculo probabilidades

Palabra reconocida

Reconocimiento

Entrenamiento

Codiseño.Cancelador

Page 27: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Codiseño.Cancelador 27 27

3. Reconocedor Robusto de Palabras Aisladas (II)

Cuantificación de vectores

Entrenamiento

Palabra entrenamiento

Cancelación ruido

Extracción

paramétrica

Entrenamiento

cuantificador

Preprocesado

Entrenamiento MOM

LC Repositorio

modelos

Page 28: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

28 28

Palabra a reconocer

Palabra reconocida

Reconocimiento

Preprocesado

3. Reconocedor Robusto de Palabras Aisladas (III)

Cancelación

ruido

Extracción

paramétrica

Cuantificación Calculo

probabilidades

LC Repositorio

modelos

Codiseño.Cancelador

Page 29: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Codiseño.Cancelador 29 29

3. Reconocedor robusto de palabras aisladas (IV) Algoritmo LSL cancelador

Page 30: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

30 30

3. Reconocedor robusto de palabras aisladas (V) Algoritmo LSL cancelador

∑ ∑

Z -1

+

-

+

- +

f m-2 (n) f m-1 (n)

b m -2 (n) b m -1 (n)

e m +1 (n+1)

r m (n) + + - -

(n) r (n) k

f 2 - m

-1 m

1) - (n r (n) k

b i

1 i +

(n) r (n) aux

b 2 - m

2 - m

(n) r (n) aux

b 1 - m

1 - m

Codiseño.Cancelador

Page 31: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

31

4. Conclusiones. Posible línea de trabajo ¿Por qué? Necesidad en ocasiones de portabilidad, velocidad o limitaciones de entorno. ¿Qué dispositivos? FPGA de Xilinx y Altera , versatilidad, rápidez de diseño ¿Cómo? Uso de herramientas CAE. Matlab-Simulink-ISE / Matlab-Simulink-Quartus

Page 32: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

32

Creación de una librería de algoritmos de Tratamiento de Señal (Teledetección, Reconocimiento de voz…) implementables sobre FPGA’s desde Matlab/Simulink.

Implementación con técnicas de Codiseño de aplicaciones de Teledetección (Con DSP+FPGA)

Estudio del conjunto de instrucciones “sintetizables” de Matlab creación de un posible Compilador.

4. Conclusiones. Posible línea de trabajo

Page 33: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

5.-Bibliografía

Máster en CC y Tecnologías de la Computación. Curso 2011/2012

33

1. CRAIG A. LEE, SAMUEL D. GASSTER,, ANTONIO PLAZA, CHEIN-I CHANG,, AND BORMIN HUANG. “Recent Developments in High Performance Computing for Remote Sensing: A Review”. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, Vol. 4, No. 3, September 2011.

2. JAMES THEILER, JAN FRIGO, MAYA GOKHALE, AND JOHN J. SZYMANSKI, “Co-design of Software and Hardware to Implement Remote Sensing Algorithms”. Proc. SPIE (nternational Society for optics, photonics, and imaging engineering.) 4480, 86 (2002); doi:10.1117/12.453328.

3. GONZALO, C., LILLO SAAVEDRA, M., MERINO, F. J., 2008, “Fusión IHS Ponderada Mediante Dimensión Fractal”,La Geomática al servicio de la Geociencia por un desarrollo sostenible (ISBN: 978-959-247--063-7)

4. MALEEHA KIRAN, KAN MEI WAR, LIM MEI KUAN, LIANG KIM MENG & LAI WENG KIN “Implementing image processing algorithms using ‘Hardware in the loop’ approach for Xilinx FPGA” . IEEE 2008 International Conference on Electronic Design. December 1-3, 2008, Penang, Malaysia.

5. http://www.mathworks.es 6. http://www.dmae.upm.es/cursofractales/capitulo8/1.html

Page 34: Implementación Hw de algoritmos de Tratamiento Digital de · PDF filealgoritmos de Tratamiento Digital de Señal Máster en CC y Tecnologías de la Computación Curso 2011-2012

MUCHAS GRACIAS!