300 likes | 496 Views
UNIVERSIDAD DE VALLADOLID. Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio -Inspirada de Imágenes en Color. ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN. Proyecto Fin de Carrera Ingeniero Técnico de Telecomunicación Sistemas de Telecomunicación.
E N D
UNIVERSIDAD DE VALLADOLID Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN Proyecto Fin de CarreraIngeniero Técnico de Telecomunicación Sistemas de Telecomunicación 28 de julio del 2010
Í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
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
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, …)
Í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
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
Modelo de Segmentación de Imágenes • Etapas: 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
Í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
GPU Computing • Motivación: • ¿Qué tiene que cumplir el algoritmo?: • Maximizar el paralelismo • Poseer elevada intensidad aritmética • Minimizar las transferencias CPU/GPU • Aprovechar anchos de banda y memoria de la GPU
GPU Computing • Comparativa: • GPU: • Ejecución:
Í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
Procesamiento Frecuencial de Imágenes • Introducción: Imagen Original Colores primarios Colores secundarios
Procesamiento Frecuencial de Imágenes • Dominio de la frecuencia: Dominio frecuencial GPU CUFFT Dominio temporal Parte Real FFT IFFT Parte Imaginaria
Í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
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 a(u,v) *b(u,v) A[n,m] x B[n,m] Multiplicación frecuencial Píxeles Milisegundos Menor computo por pixel n x m (multi.) n + m (multi.) Píxeles
Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color
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:
Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color • Automatización:
Í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
Pruebas y Resultados • Estructura del programa • Ejecución del programa…….
Pruebas y Resultados • Tiempos: *Con una relación de imagen de 512x256
Pruebas y Resultados • GPU plofiling:
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 ”
Í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
Conclusiones y Líneas Futuras • Conclusiones: • 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
Conclusiones y Líneas Futuras • Líneas futuras: • Interfaz gráfica • Librería NVIDIA CUDA CUFFT • Modelo de segmentación • Procesamiento en la GPU • CUFFT Versión 3.0cufftPlanMany() • Manejo de números reales • Datos en double
Conclusiones y Líneas Futuras • 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
Conclusiones y Líneas Futuras • 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
Conclusiones y Líneas Futuras • 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
¡Gracias! ¡Preguntas….!