Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas...

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

Transcript of Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas...

Page 1: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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 Zarzuela

Francisco 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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

10

GPU ComputingComparativa:GPU:Ejecución:

Page 11: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

12

Procesamiento Frecuencial de Imágenes

Introducción:

Imagen Original

Colores primarios

Colores secundarios

Page 13: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

15256x256 480x320 800x600 1024x1024

0

2

4

6

8

10

12

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

segundos

Mili

segundos

Page 16: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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 CDOC

BYon BYon BYon

Células simples Células complejas Bucle Coop./Comp.

BY impar 45º Escala S Escala S

Page 17: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

18

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

Automatización:

Page 19: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

20

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

Page 21: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

21

Pruebas y ResultadosTiempos:

*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

Page 22: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

22

Pruebas y ResultadosGPU plofiling:

Page 23: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

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: Autor:Mario Enrique Casado García Tutores:Mario Martínez Zarzuela Francisco Javier Díaz Pernas UNIVERSIDAD DE VALLADOLID Proyecto Fin de Carrera Ingeniero.

30

¡Gracias!¡Preguntas….!