UNIVERSIDAD DE VALLADOLID

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

description

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. - PowerPoint PPT Presentation

Transcript of UNIVERSIDAD DE VALLADOLID

Page 1: UNIVERSIDAD DE VALLADOLID

1

Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de

Imágenes en Color

Autor: Mario Enrique Casado García

Tutores: Mario Martínez ZarzuelaFrancisco Javier Díaz Pernas

UNIVERSIDAD DE VALLADOLID

Proyecto Fin de CarreraIngeniero Técnico de

TelecomunicaciónSistemas de Telecomunicación

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE

TELECOMUNICACIÓN

28 de julio del 2010

Page 2: UNIVERSIDAD DE VALLADOLID

2

ÍndiceIntroducciónModelo de Segmentación de ImágenesGPU ComputingProcesamiento Frecuencial de ImágenesProcesamiento Frecuencial sobre GPU en

CUDA para la Segmentación Bio-Inspirada de Imágenes en Color

Pruebas y ResultadosConclusiones y Líneas Futuras

Page 3: UNIVERSIDAD DE VALLADOLID

3

IntroducciónMotivació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

Page 4: UNIVERSIDAD DE VALLADOLID

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, …)

Page 5: UNIVERSIDAD DE VALLADOLID

5

ÍndiceIntroducciónModelo de Segmentación de ImágenesGPU ComputingProcesamientoFrecuencial de ImágenesProcesamiento Frecuencial sobre GPU en

CUDA para la Segmentación Bio-Inspirada de Imágenes en Color

Pruebas y ResultadosConclusiones y Líneas Futuras

Page 6: UNIVERSIDAD DE VALLADOLID

6

Modelo de Segmentación de Imágenes

Modelo de segmentación propuesto:

o COS: Células tipo 1 Células tipo 2

o CSS:• BCS Color

Células simplesCélulas complejasCompeticiónCooperación

• FCS Color:CDOC

X DifusiónX Fusión de escalas

Page 7: UNIVERSIDAD DE VALLADOLID

7

Modelo de Segmentación de Imágenes

Etapas:

Células tipo 1 Convoluciones separablesCélulas tipo 2 Convoluciones separablesCélulas simples Convoluciones bidimensionalesCélulas complejas Operaciones sobre células simplesCompetición Convoluciones bidimensionalesCooperación Convoluciones bidimensionalesCDOC Convoluciones separables

g gijk ijkg

ijk g gijk ijk

BE CIK

A E I

Page 8: UNIVERSIDAD DE VALLADOLID

8

ÍndiceIntroducciónModelo de Segmentación de ImágenesGPU ComputingProcesamiento Frecuencial de ImágenesProcesamiento Frecuencial sobre GPU en

CUDA para la Segmentación Bio-Inspirada de Imágenes en Color

Pruebas y ResultadosConclusiones y Líneas Futuras

Page 9: UNIVERSIDAD DE VALLADOLID

9

¿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 ComputingMotivación:

Page 10: UNIVERSIDAD DE VALLADOLID

10

GPU ComputingComparativa:GPU:Ejecución:

Page 11: UNIVERSIDAD DE VALLADOLID

11

ÍndiceIntroducciónModelo de Segmentación de ImágenesGPU ComputingProcesamiento Frecuencial de ImágenesProcesamiento Frecuencial sobre GPU en

CUDA para la Segmentación Bio-Inspirada de Imágenes en Color

Pruebas y ResultadosConclusiones y Líneas Futuras

Page 12: UNIVERSIDAD DE VALLADOLID

12

Procesamiento Frecuencial de Imágenes

Introducción:

Imagen Original

Colores primarios

Colores secundarios

Page 13: UNIVERSIDAD DE VALLADOLID

13

Procesamiento Frecuencial de Imágenes

Dominio de la frecuencia:

Dominio temporal

Dominio frecuencial

FFT

IFFT

Parte Real

Parte Imaginaria

2 2logC u v

GPU CUFFT

Page 14: UNIVERSIDAD DE VALLADOLID

14

ÍndiceIntroducciónModelo de Segmentación de ImágenesGPU ComputingProcesamiento Frecuencial de ImágenesProcesamiento Frecuencial sobre GPU en

CUDA para la Segmentación Bio-Inspirada de Imágenes en Color

Pruebas y ResultadosConclusiones y Líneas Futuras

Page 15: UNIVERSIDAD DE VALLADOLID

15256x256 480x320 800x600 1024x102402468

1012

Kernel 7x7Kernel 11x11Kernel 23x23Kernel 35x35

250x250 450x320 800x600 1000x6000

0.10.20.30.40.50.60.70.8

Kernel 7x7Kernel 11x11Kernel 23x23Kernel 35x35

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

Multiplicación frecuencial

Menor computo por pixel

a(u,v) * b(u,v) A[n,m] x B[n,m]

n x m (multi.) n + m (multi.)

Píxeles

Píxeles

Mili

segu

ndos

Mili

segu

ndos

Page 16: UNIVERSIDAD DE VALLADOLID

16

Células simples Bucle Coop./Comp.Células simples: Gabor par 45º Cooperación: Right 90º O2

Bucle Coop./Comp.Competición: Fcomp 0º

Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color

Células tipo 1 Células tipo 2 CDOCBYon BYon BYon

Células simples Células complejas Bucle Coop./Comp.BY impar 45º Escala S Escala S

Page 17: UNIVERSIDAD DE VALLADOLID

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:

Page 18: UNIVERSIDAD DE VALLADOLID

18

Procesamiento Frecuencial sobre GPU en CUDA para la Segmentación Bio-Inspirada de Imágenes en Color

Automatización:

Page 19: UNIVERSIDAD DE VALLADOLID

19

ÍndiceIntroducciónModelo de Segmentación de ImágenesGPU ComputingProcesamiento Frecuencial de ImágenesProcesamiento Frecuencial sobre GPU en

CUDA para la Segmentación Bio-Inspirada de Imágenes en Color

Pruebas y ResultadosConclusiones y Líneas Futuras

Page 20: UNIVERSIDAD DE VALLADOLID

20

Pruebas y ResultadosEstructura del programaEjecución del programa…….

Page 21: UNIVERSIDAD DE VALLADOLID

21

Pruebas y ResultadosTiempos:

*Con una relación de imagen de 512x256

Implementación realizada Autor Tiempo empleadoC [Antón Rodríguez-08] 2700000 ms por escala

Matlab [PFC de la UV] 180000 msOpenGL/Cg (GPGPU) [Martínez Zarzuela-09a] 2192 ms en 256x256

C for CUDA Actual PFC *1866,377441 ms

Page 22: UNIVERSIDAD DE VALLADOLID

22

Pruebas y ResultadosGPU plofiling:

Page 23: UNIVERSIDAD DE VALLADOLID

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 ”

Page 24: UNIVERSIDAD DE VALLADOLID

24

ÍndiceIntroducciónModelo de Segmentación de ImágenesGPU ComputingProcesamiento Frecuencial de ImágenesProcesamiento Frecuencial sobre GPU en

CUDA para la Segmentación Bio-Inspirada de Imágenes en Color

Pruebas y ResultadosConclusiones y Líneas Futuras

Page 25: UNIVERSIDAD DE VALLADOLID

25

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

Page 26: UNIVERSIDAD DE VALLADOLID

26

Conclusiones y Líneas FuturasLí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

Page 27: UNIVERSIDAD DE VALLADOLID

27

Conclusiones y Líneas FuturasLí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

Page 28: UNIVERSIDAD DE VALLADOLID

28

Conclusiones y Líneas FuturasLí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

Page 29: UNIVERSIDAD DE VALLADOLID

29

Conclusiones y Líneas FuturasLíneas futuras:

◦Todo ello para conseguir una disminución del tiempo de ejecución

Segmentación de video en tiempo real o quasi-real

Page 30: UNIVERSIDAD DE VALLADOLID

30

¡Gracias!¡Preguntas….!