Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de...

31
Motivación XSGImgLib Conclusiones Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator Ing. Luis Manuel Garcés Socarrás Tutores: Dr. Santiago Sánchez Solano Dra. Piedad Brox Jiménez Dr. Alejandro José Cabrera Sarmiento Tesis en opción al grado de Máster en Sistemas Digitales Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

description

Ing. Luis Manuel Garcés SocarrásTutores: Dr. Santiago Sánchez Solano Dra. Piedad Brox Jiménez Dr. Alejandro José Cabrera SarmientoTesis en opción al grado de Máster en Sistemas Digitales

Transcript of Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de...

Page 1: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Aceleración de Algoritmos Mediante HardwareReconfigurable

Biblioteca de Procesamiento de Imágenes para System Generator

Ing. Luis Manuel Garcés Socarrás

Tutores:Dr. Santiago Sánchez SolanoDra. Piedad Brox Jiménez

Dr. Alejandro José Cabrera Sarmiento

Tesis en opción al grado de Máster en Sistemas Digitales

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 2: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Índice

1 MotivaciónProcesado de imágenes con FPGADiseño Teórico

2 Biblioteca de Procesado de Imágenes XSGImgLibFlujo de diseño con XSGBloques de procesadoProcesado de imágenes con XSGImgLib

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 3: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

DIP con FPGADiseño Teórico

Aplicaciones del procesado de imágenes (DIP)

CarcterísticasComplejosAlto costocomputacionalEjecución entiempo real

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 4: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

DIP con FPGADiseño Teórico

Aplicaciones del procesado de imágenes (DIP)

CarcterísticasComplejosAlto costocomputacionalEjecución entiempo real

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 5: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

DIP con FPGADiseño Teórico

Realización Software vs realización Hardware (SoC)

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 6: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

DIP con FPGADiseño Teórico

Xilinx System Generator (XSG)

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 7: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

DIP con FPGADiseño Teórico

Objetivo

Biblioteca de procesado de imágenes de XSG1 Basada en convolución de 5×52 Arquitectura MAC de 5 píxeles de entrada3 Configuración ⇒Selección del núcleo (kernel) de convolución

ObjetivoBiblioteca de DIP en escala de grises para XSGConfigurabilidadAgregue otros tipos de procesado

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 8: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

DIP con FPGADiseño Teórico

Objetivo

Biblioteca de procesado de imágenes de XSG1 Basada en convolución de 5×52 Arquitectura MAC de 5 píxeles de entrada3 Configuración ⇒Selección del núcleo (kernel) de convolución

ObjetivoBiblioteca de DIP en escala de grises para XSGConfigurabilidadAgregue otros tipos de procesado

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 9: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Flujo de diseño con XSGSistema de procesado de imágenes

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 10: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Flujo de diseño con XSGSubsistema de entrada/salida

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 11: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Flujo de diseño con XSG para DIPSubsistema de procesado. Unidad de paralelización

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 12: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Flujo de diseño con XSG para DIPSubsistema de procesado. Unidad de procesado

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 13: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Flujo de diseño con XSG para DIPCo-simulación HW

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 14: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

XSGImgLib

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 15: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Procesado lineal de imágenesResultado del procesado lineal de imágenes

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 16: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Procesado lineal de imágenesArquitectura genérica de convolución 2D

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 17: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Procesado lineal de imágenesArquitectura específica de convolución 2D

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 18: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Comparación de arquitecturasConvolución genérica simétrica vs filtro específico

Bloque Conv. Gen. 3×3 Sim.Filtro Sobel X-Y

Optimización Área Velocidad

Slices 125 176 65

DSP48A 6 6 0

Frecuencia 136.054 MHz 181.389 MHz 361.795 MHz

Consumo de recursos

Recursos lógicos: 17%, 60%Comportamiento temporal

Filt. Vel.: 1.33 vecesFilt. Esp.: 3.20 veces

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 19: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Comparación de arquitecturasConvolución de XSG vs convolución genérica simétrica vs filtro específico

Bloque Conv. Gen. Conv. Gen. 5x5 no Sim. Filtro

Optimización XSG 5x5 Área Velocidad Smooth

Slices 381 343 543 318

DSP48A 5 25 25 0

BRAM 5 0 0 0

Frecuencia 27.211 MHz 136.054 MHz 148.214 MHz 210.970 MHz

Consumo de recursos

Recur. lógicos: 10%, 42%, 16%

Multiplicadores: 5 vecesBRAM: 5 bloques

Comportamiento temporal

Filt. Gen: 5 vecesFilt. Smooth: 7 veces

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 20: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Sistema de procesado de imágenesSegmentado de imágenes con XSGImgLib

Consumo de recursos

Recursos lógicos: 7.12%Multiplicadores: 17.26%

Comportamiento temporal

Frec. píxel: 33.612 MHzLatencia: 0.183 ms

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 21: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Sistema de procesado de imágenesSegmentado de imágenes con XSGImgLib

Consumo de recursos

Recursos lógicos: 7.12%Multiplicadores: 17.26%

Comportamiento temporal

Frec. píxel: 33.612 MHzLatencia: 0.183 ms

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 22: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Flujo de diseño con XSGBloques de procesadoDIP con XSGImgLib

Sistema de procesado de imágenesResultado del segmentado de imágenes con XSGImgLib

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 23: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Conclusiones

1 Paralelismo de ejecución del hardware.2 XSG como herramienta de desarrollo basada en modelos.3 XSGImgLib biblioteca con funciones básicas y

parametrizables.1 Definición matemática de la operación de convolución 2D.

1 Simetría.2 Precisión.3 Filtros específicos.

2 Algoritmos de ordenamiento.3 Operadores morfológicos.

4 XSGImgLib para el desarrollo de sistemas DIP complejos.

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 24: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Recomendaciones

Desarrollar nuevos bloques de procesado.Implementar bloques de control para las señales desincronismo de vídeo.Utilizar nuevas arquitecturas de ordenamiento.Desarrollar bloques básicos en HDL.Implementar sistema con procesador embebido.

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 25: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Preguntas del oponentePregunta 1

Pregunta 1

El uso de MATLAB/Simulink con co-simulación hardware medianteXSG genera una latencia en el sistema de procesado de imágenes.¿En qué medida se corresponde esta situación si se utiliza, para elmismo proceso, un DSP y su hardware asociado?

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 26: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Preguntas del oponentePregunta 1

Pregunta 1

El uso de MATLAB/Simulink con co-simulación hardware medianteXSG genera una latencia en el sistema de procesado de imágenes.¿En qué medida se corresponde esta situación si se utiliza, para elmismo proceso, un DSP y su hardware asociado?

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 27: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Preguntas del oponentePregunta 1

Co-simulación HW:

Simulación temporal.

Uso DSP:

Procesado secuencial.Tiempo de instrucción.

Bloques MAC en laALU.

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 28: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Preguntas del oponentePregunta 1

Co-simulación HW:

Simulación temporal.

Uso DSP:

Procesado secuencial.Tiempo de instrucción.

Bloques MAC en laALU.

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 29: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Preguntas del oponentePregunta 2

Pregunta 2¿Que repercusión en el procesamiento de imágenes puede tener eluso de filtros IIR en vez de filtros FIR? ¿Reduciría la latencia delsistema esta sustitución?

Bloques de procesado XSGImgLib ⇒ basados en la definiciónmatemática.

Arquitectura totalmente paralela.

Bloque de procesado XSG ⇒ arquitectura MAC de 5 píxelesde entrada (FIR).Utilización de Filtros IIR:

Recursivo (implementación en HW).Reduce el tiempo de la operación a realizar (τop).

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 30: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Preguntas del oponentePregunta 3

Pregunta 3¿Qué ventajas proporcionan los diseños de la biblioteca XSGImgLibsobre los diseños realizados mediante la programación en lenguajesHDL?

Flujo de diseño basado en modelos:

Desarrollo de sistemas DIP utilizando abstracción de HW.Flujo de diseño rápido.Herramientas para la comprobación funcional de losalgoritmos.

Flujo de diseño convencional:

Optimización de los bloques de procesado.Parametrización de los bloques de procesado.

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib

Page 31: Aceleración de Algoritmos Mediante Hardware Reconfigurable Biblioteca de Procesamiento de Imágenes para System Generator

MotivaciónXSGImgLib

Conclusiones

Agradecimientos

Muchas gracias

Garcés Socarrás, Luis M. [email protected] Biblioteca de Procesado de Imágenes XSGImgLib