La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UNIVERSIDAD DE VALLADOLID

Presentaciones similares


Presentación del tema: "UNIVERSIDAD DE VALLADOLID"— Transcripción de la presentación:

1 UNIVERSIDAD DE VALLADOLID
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN Proyecto Fin de Carrera Ingeniero Técnico de Telecomunicación Sistemas de Telecomunicación Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color - Con el permiso del tribunal me dispongo a defender el proyecto fin de carrera titulado…………… Autor: Mario Enrique Casado García Tutores: Mario Martínez Zarzuela Francisco Javier Díaz Pernas 28 de julio del 2010

2 Índice Introducción Modelo de Segmentación de Imágenes GPU Computing
Procesamiento Frecuencial de Imágenes Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio- Inspirada de Imágenes en Color Pruebas y Resultados Conclusiones y Líneas Futuras Pasemos a ver el índice general del proyecto. Empezaremos con una pequeña introducción. Seguidamente se explicará, muy brevemente, el modelo de segmentación utilizado. Introduciremos el concepto del GPU Computing Se hablará del Procesamiento frecuencial de imágenes en color. Todo lo anterior nos llevará inevitablemente al tema principal del PFC, ya que…. Para finalizar se verán……….

3 Introducción Motivación y objetivos del PFC:
Ejecución sobre arquitecturas heterogéneas del modelo de segmentación propuesto: C for CUDA Procesamiento en el dominio transformado de la frecuencia (Transformada Rápida de Fourier) Conseguir ejecutar el modelo lo más rápido y preciso posible Disminución del tiempo de procesamiento -Son dos, los principales objetivos de este PFC. -Por una parte se desea la ejecución de un modelo de segmentación, propuesto por el grupo de investigación donde se ha desarrollado el presente PFC, sobre GPUs para su paralelización. -Y por otra se desea, además de lo anterior, hacer su procesamiento en el dominio transformado de la frecuencia, a través de la transformada rápida de Fourier (FFT). -Para conseguir……………….

4 Introducción Lenguajes de programación utilizados:
C  Programa escrito en C C++  Organización del código en clases y métodos C for CUDA 2.3 Ejecuciones en GPU HTML  Página web para el visualizado de los resultados obtenidos CSS  Estilo de la página web Batch  Automatización de ejecuciones mediante archivo de procesamiento por lotes Librerías utilizadas: CUFFT 2.3  Transformaciones entre dominio duales; temporal y frecuencial OpenCV 2.0  Tratamiento de imágenes (cargar, salvar, …) -Núcleo del programa está escrito en C. -Organización del código en clases y métodos, gracias a C++, para poder esquematizar fácil e intuitivamente nuestro código. -C for CUDA, que no deja de ser una extensión del lenguaje C, se ha utilizado para las ejecuciones de kernels, o partes de nuestro programa, en GPU. -El lenguaje de marcado HTML, se a utilizado para desarrollar una página web sencilla, en la que poder visualizar los resultados obtenidos del modelo. El estilo de la misma se le ha dado mediante CSS. -Por último, los archivos de procesado por lotes en msdos, batch, se han utilizado para hacer automatizaciones. -La CUFFT en su versión 2.3 se ha utilizado para las pertinentes transformaciones entre dominios duales. -Finalmente la librería OpenCV se ha utilizado para el tratamiento de imágenes ya sea…….

5 Índice Introducción Modelo de Segmentación de Imágenes GPU Computing
ProcesamientoFrecuencial de Imágenes Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio- Inspirada de Imágenes en Color Pruebas y Resultados Conclusiones y Líneas Futuras

6 Modelo de Segmentación de Imágenes
Modelo de segmentación propuesto: COS: Células tipo 1 Células tipo 2 CSS: BCS Color Células simples Células complejas Competición Cooperación FCS Color: CDOC X Difusión X Fusión de escalas -Bueno, aquí podemos ver un esquema general del modelo de segmentación propuesto. Las partes en las que se divide claramente son: sistema cromático segmentador (CSS) sistema de color oponente (COS por sus siglas en inglés) -Las etapas en las que se dividen…………. -Solo se ha implementado las etapas correspondientes a la segmentación de imágenes, no realizando regiones diferenciadas en la imagen (paso previo al reconocimiento de imágenes)

7 Modelo de Segmentación de Imágenes
Etapas: -El esquema muestra las entradas/salidas del modelo de segmentación implementado………………. -Para las entradas de células tipo1 y tipo2 habrá una etapa anterior de pre-procesado, en la que se generaran las señales L, M y S, que son las que se meterán en el modelo, a raíz de las longitudes de onda de las activaciones de los conos (receptores de color del ojo humano) -Destacamos las convoluciones implicadas en cada etapa, ya que ésta operación es la más costosa y la que más veces se tiene que hacer a lo largo de la ejecución del modelo……………………. Células tipo 1  Convoluciones separables Células tipo 2  Convoluciones separables Células simples  Convoluciones bidimensionales Células complejas  Operaciones sobre células simples Competición  Convoluciones bidimensionales Cooperación  Convoluciones bidimensionales CDOC  Convoluciones separables

8 Índice Introducción Modelo de Segmentación de Imágenes GPU Computing
Procesamiento Frecuencial de Imágenes Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio- Inspirada de Imágenes en Color Pruebas y Resultados Conclusiones y Líneas Futuras

9 GPU Computing ¿Qué tiene que cumplir el algoritmo?: Motivación:
Maximizar el paralelismo Poseer elevada intensidad aritmética Minimizar las transferencias CPU/GPU Aprovechar anchos de banda y memoria de la GPU Motivación: -¿Porqué procesar sobre GPU?, con el gráfico expuesto aquí parece evidente. Las operaciones en punto flotante simples ejecutadas por segundo en GPU llegan a ser 6,9 veces mayor que las ejecutadas sobre CPU. -Pero cuidado………….ya que el algoritmo a paralelizar tiene que cumplir una serie de restricciones para que sea eficiente su ejecución en GPU

10 GPU Computing Comparativa: GPU: Ejecución:
-Obsérvese en estas imágenes el espacio dedicado a computación en GPU y CPU. Mientras que la CPU dedica espacio a control y caché, la GPU dedica casi todo el espacio a procesamiento. Lo que nos lleva a que una GPU no puede sustituir a una CPU…………(centros de procesamiento) -En esta otra imagen podemos observar la estructura de una GPU, en la que nos podemos encontrar con………… -La forma de ejecución en una arquitectura heterogénea GPU/CPU será…….

11 Índice Introducción Modelo de Segmentación de Imágenes GPU Computing
Procesamiento Frecuencial de Imágenes Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio- Inspirada de Imágenes en Color Pruebas y Resultados Conclusiones y Líneas Futuras

12 Procesamiento Frecuencial de Imágenes
Introducción: Imagen Original -¿Qué es el color?, según los expertos en la materia el color es una sensación humana, inducida esta de la capacidad de los ojos de captar niveles de radiación en tres frecuencias diferentes. El ojo humano tiene dos tipos de receptores: Bastones  encargados de captar la intensidad Conos  encargados de captar el color en sus diferentes longitudes de onda (LMS) -El modelo de color que se ha tomado como referencia para el proyecto, ya que hay muchos otros, es el RGB como podemos observar en la imagen del cubo representada a la izquierda. En ella distinguimos……….aristas Colores primarios Colores secundarios

13 Procesamiento Frecuencial de Imágenes
Dominio de la frecuencia: Dominio frecuencial GPU  CUFFT Dominio temporal Parte Real FFT -No voy a entrar en detalles de la transformada de Fourier. Lo único decir que se está utilizando la FFT (algoritmo muy eficiente para el cálculo de la DFT) -Los dominios, tanto espacial como frecuencial, tienen la propiedad de la dualidad, lo que nos lleva a que los dos contienen la misma información y el paso de un dominio a otro es unívoco. -Recordando el principio de Fourier: “cualquier señal se puede expresar como una suma de señales sinusoidales”, y obviando que las imágenes son señales bidimensionales, se podrá transformar una imagen del dominio espacial al dominio transformado de la frecuencia sin perder información alguna. -Una vez en frecuencia se podrán hacer los cálculos oportunos sobre la imagen para después, si se desea, pasarla al dominio espacial para ver los resultados de un modo más natural. IFFT Parte Imaginaria

14 Índice Introducción Modelo de Segmentación de Imágenes GPU Computing
Procesamiento Frecuencial de Imágenes Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio- Inspirada de Imágenes en Color Pruebas y Resultados Conclusiones y Líneas Futuras

15 Benchmark de convoluciones sobre GPU:
Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color Benchmark de convoluciones sobre GPU: Implementación de convoluciones en el dominio transformado de la frecuencia Implementación de convoluciones separables en el dominio temporal Milisegundos Multiplicación frecuencial a(u,v) * b(u,v)  A[n,m] x B[n,m] Píxeles -Una de las herramientas más importantes del programa implementado, es la de cálculos de convoluciones, tanto en el dominio temporal como en el frecuencial, debido al alto número de convoluciones presentes en el modelo. Cálculos estos realizados sobre la GPU. -La convolución frecuencial tiene una clara ventaja frente a la especial, ya que una convolución en tiempo se ve en frecuencia como una multiplicación frecuencial de complejos, debido al teorema de la convolución, con el consiguiente ahorro de tiempo ya que es más costoso hacer una convolución que una multiplicación compleja. -También se ha implementado la convolución temporal, para esos cálculos que no sea rentable pasarlos al dominio frecuencial, pero la separable (ya que el modelo lo permite), debido a un menor computo por pixel de salida con respecto a la bidimensional….. Milisegundos Menor computo por pixel n x m (multi.)  n + m (multi.) Píxeles

16 Células simples: Gabor par 45º
Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color Células simples Bucle Coop./Comp. Células simples: Gabor par 45º Cooperación: Right 90º O2 Competición: Fcomp 0º Células tipo 1 Células tipo 2 CDOC BYon Células simples Células complejas Bucle Coop./Comp. BY impar 45º Escala S La etapa de células simples se encarga de extraer los contornos reales de cada uno de los canales. Las células complejas se encargan de fusionar la información procedente de la etapa anterior. Las células del bucle comp/coop se encargan de agrupar, completar y acentuar los contornos de forma consistente, mientras que eliminan activaciones de contornos redundantes y menos importantes, suprimiendo así el ruido de la imagen. Los filtros Gabor están localizadas tanto en el dominio espacial como en el de la frecuencia (envolvente gaussina)

17 Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color
Paralelización del modelo de segmentación propuesto: Clases implementadas en el proyecto: Utilización del código: - Se ha tratado de hacer lo más intuitivo posible

18 Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color
Automatización: -En la siguiente diapositiva tenemos un ejemplo de procesado debido a la automatización del programa. (batch) -En ella se ejecuta una por una el modelo de segmentación sobre todas las imágenes del directorio Automatic. -Generando las pertinentes carpetas de salida que contendrán los resultados del modelo.

19 Índice Introducción Modelo de Segmentación de Imágenes GPU Computing
Procesamiento Frecuencial de Imágenes Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio- Inspirada de Imágenes en Color Pruebas y Resultados Conclusiones y Líneas Futuras

20 Pruebas y Resultados Estructura del programa Ejecución del programa…….

21 Pruebas y Resultados Tiempos: *Con una relación de imagen de 512x256
Implementación realizada Autor Tiempo empleado C [Antón Rodríguez-08] ms por escala Matlab [PFC de la UV] ms OpenGL/Cg (GPGPU) [Martínez Zarzuela-09a] 2192 ms en 256x256 C for CUDA Actual PFC *1866, ms

22 Pruebas y Resultados GPU plofiling:

23 Pruebas y Resultados “La ejecución automatizada del modelo de segmentación sobre las 100 imágenes de test de Berkeley ronda los 8 minutos, guardando todos los canales de todas las escalas a disco duro ” -Calidad de la segmentación en base a la precisión y el ruido

24 Índice Introducción Modelo de Segmentación de Imágenes GPU Computing
Procesamiento Frecuencial de Imágenes Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio- Inspirada de Imágenes en Color Pruebas y Resultados Conclusiones y Líneas Futuras

25 Conclusiones y Líneas Futuras
Buenos resultados de segmentación Tiempos de ejecución muy bajos Segmentación de grandes cantidades de imágenes en poco tiempo (Automatización) Dificultad en el manejo de datos en frecuencia Memoria GPU limitada Difícil optimizado de los parámetros del modelo

26 Conclusiones y Líneas Futuras
Interfaz gráfica Librería NVIDIA CUDA CUFFT Modelo de segmentación Procesamiento en la GPU CUFFT Versión 3.0cufftPlanMany() Manejo de números reales Datos en double -Realizar una interfaz gráfica para el programa, para hacer más llamativa e intuitiva la su utilización -Transformaciones masivas

27 Conclusiones y Líneas Futuras
Interfaz gráfica Librería NVIDIA CUDA CUFFT Modelo de segmentación Procesamiento en la GPU Optimizado de los parámetros del modelo Todos lo cálculos en frecuencia Implementación de la etapa de difusión

28 Conclusiones y Líneas Futuras
Interfaz gráfica Librería NVIDIA CUDA CUFFT Modelo de segmentación Procesamiento en la GPU Optimización y reutilización de memoria en la GPU Depurar y optimizar el código ejecutado en GPU Multi-GPU -A través de OpenMP y MPI para la posible actualización de la aplicación en base a su procesamiento en clúster de GPUs

29 Conclusiones y Líneas Futuras
Todo ello para conseguir una disminución del tiempo de ejecución Segmentación de video en tiempo real o quasi-real

30 ¡Preguntas….! ¡Gracias! -Llegado a este punto doy por concluida la presentación del proyecto, y me pongo a disposición del tribunal para las pertinentes preguntas que pudiera haber.


Descargar ppt "UNIVERSIDAD DE VALLADOLID"

Presentaciones similares


Anuncios Google