UNIVERSIDAD DE VALLADOLID

Slides:



Advertisements
Presentaciones similares
¿PARA QUE ESTAMOS AQUÍ? LOS OBJETIVOS DE LA ENCARNACIÓN.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
22 3 ¿Qué creen que es? Les doy pistas: Se devora y no se gasta No necesita luz eléctrica Se puede compartir Se lleva a todas partes, facilito Si no.
Capitulo 7: Procesamiento batch y el Job Entry Subsystem (JES)
Paso 1 Portada YO SOY EUROPEO Comisión Europea.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO Resumen. 24 de Junio de 2005.
CREACIÓN DE PÁGINAS WEB CON SHAREPOINT DESIGNER 2007 (Sesión 1) Ricardo Ferrís Castell ( ) Departament D Informàtica.
Procesos matemáticos en la enseñanza/aprendizaje de la geometría
CREACIÓN DE PÁGINAS WEB CON SHAREPOINT DESIGNER 2007 (Sesión 2) Ricardo Ferrís Castell ( ) Departament D Informàtica.
Aranda Fernández, Miguel Ángel García Redondo, Luis Miguel
4. ANÁLISIS FACTORIAL Introducción Modelo factorial ortogonal
Cuestiones y problemas
Los números.
SISTEMA DE NUMEROS NÚMEROS ENTEROS DIVISIBILIDAD NÚMEROS PRIMOS
Resultado 1.3 con actividad 1.3.1
Los Objetos de la Clase Escriban la palabra (the word) en español para los objetos de la clase (#1-20).
CLASE 4 EL ENSAMBLADOR.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Televisión y Multimedia
Los números.
1 XML Extensible Markup Language HTML HyperText Markup Language normas06_01.xml.
Graphics Processing Units (GPUs)
Streaming (Retransmisión de contenidos multimedia en Internet)
Resolución de Problemas
Universidad Nacional Autónoma de Honduras
Gerencia de Programas Federales de Agua Potable y Alcantarillado Evolución del Sistema Informático de Contraloría Social (SICS) Veracruz, Ver. 2 de octubre.
Coincidencia de imagen a través de cadena de triángulos
Sistema operativo Tema: Maquina virtual Alumnos: Eduar peña
Trascendencia de este curso Curso Introducción a la Computación 1
Proyecto ProMéxico Plasmas abril SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
Proyecto ProMéxico Plasmas mayo SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
Proyecto ProMéxico Plasmas marzo SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
RETIRO DE COMALCALCO DIC. 2012
Proyecto para Centros que trabajan una vez por semana.
Expresiones Racionales
Utilización de la plataforma Hadoop para implementar un programa distribuido que permita encontrar las paredes de células de la epidermis de plantas modificadas.
Seguridad de redes empresariales
Investigación Algorítmica
V3D Facultad de Informática - UCM - 6 de Julio de 2009 C. Javier García – Patricia Hernández – Daniel Merchán Visión estereoscópica 1.
Comité Nacional de Información Bogotá, Julio 21 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
Comité Nacional de Información Bogotá, Julio 27 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
Introducción a los Procesadores Digitales de Señal (DSP)
Máquinas con Vectores de Soporte - SVM
INFORME PIPADI HOSPITAL VALL DHEBRON JUNIO 2012 – JUNIO
Aplicación elementos del MECI 1000:2005
Aqui está Señoras y Señores !!!!!
1 Alumno: Javier Insa Cabrera Director: José Hernández Orallo 23 de septiembre de 2010.
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 02 EQUIPO 03 VS EQUIPO 06 EQUIPO 05 VS EQUIPO 10 EQUIPO 07 DESCANSA EQUIPO 08 VS EQUIPO 13.
CULENDARIO 2007 Para los Patanes.
Números enteros.
La transformada de Laplace
BEATRIZ LAFONT VILLODRE
SI QUIERES VERLO DALE AL CLICK
ESTADOS FINANCIEROS A DICIEMBRE DE 2013.
GUIÓN GRÁFICO VALORES EN LA USB
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN UNIVERSIDAD DE MÁLAGA Departamento de Tecnología Electrónica Málaga, 10 de Octubre de 2002 AUTOR:
Agrupamiento de relaciones no lineales entre expresiones de genes
EL RETO DE UN GRANDE Y PROFUNDO LEGADO
Programación 1 (01) Prof. Domingo Hernández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento (GIDyC) Escuela de Ingeniería.
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
“Android – Hola Mundo” Rogelio Ferreira Escutia. 2 Creación del Proyecto.
Algoritmos de ordenación
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
Por: Ernesto Y. Soto Rivas G
Transcripción de la presentación:

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

Í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……….

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……………….

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…….

Í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 -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)

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

Í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 ¿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

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á…….

Í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 -¿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

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

Í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

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

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)

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

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.

Í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 Implementación realizada Autor Tiempo empleado C [Antón Rodríguez-08] 2700000 ms por escala Matlab [PFC de la UV] 180000 ms OpenGL/Cg (GPGPU) [Martínez Zarzuela-09a] 2192 ms en 256x256 C for CUDA Actual PFC *1866,377441 ms

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 ” -Calidad de la segmentación en base a la precisión y el ruido

Í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 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 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

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

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

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

¡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.