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
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
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
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
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
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
2. Objetivos
Máster en CC y Tecnologías de la Computación. Curso 2011/2012
7
+
2. Objetivos
Máster en CC y Tecnologías de la Computación. Curso 2011/2012
8
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
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
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
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
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.
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
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
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
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
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
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
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)
3. Algoritmos en Teledetección sobre FPGA
Máster en CC y Tecnologías de la Computación. Curso 2011/2012
21
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
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
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
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
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
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
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
Codiseño.Cancelador 29 29
3. Reconocedor robusto de palabras aisladas (IV) Algoritmo LSL cancelador
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
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
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
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
MUCHAS GRACIAS!