38
Escuela Politécnica Superior PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN Alumno: Alberto Monescillo Álvarez Director: Felipe Bertrand Galarza Tutor: Javier Macías Guarasa INGENIERÍA DE TELECOMUNICACIÓN Trabajo Fin de Carrera UNIVERSIDAD DE ALCALÁ 27 de Noviembre de 2009

ÍNDICE

  • Upload
    keziah

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

ÍNDICE. Introducción Tecnología CUDA Reconocimiento de terreno AIPC Calibración absoluta Detección de nubes Deconvolución Reducción de ruido Corregistración Conclusiones. ÍNDICE. Introducción Tecnología CUDA Reconocimiento de terreno AIPC Conclusiones. INTRODUCCIÓN. - PowerPoint PPT Presentation

Citation preview

Page 1: ÍNDICE

Escuela Politécnica Superior

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE

IMÁGENES DE TELEDETECCIÓN

Alumno: Alberto Monescillo ÁlvarezDirector: Felipe Bertrand Galarza

Tutor: Javier Macías Guarasa

INGENIERÍA DE TELECOMUNICACIÓN

Trabajo Fin de Carrera

UNIVERSIDAD DE ALCALÁ

27 de Noviembre de 2009

Page 2: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 2

ÍNDICE

1. Introducción

2. Tecnología CUDA

3. Reconocimiento de terreno

4. AIPC• Calibración absoluta• Detección de nubes• Deconvolución• Reducción de ruido• Corregistración

5. Conclusiones

Page 3: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 3

ÍNDICE

1. Introducción

2. Tecnología CUDA

3. Reconocimiento de terreno

4. AIPC

5. Conclusiones

Page 4: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 4

INTRODUCCIÓN

La teledetección es la observación y medida de objetos situados sobre la superficie terrestre sin estar en contacto con ellos

Se basa en la detección y registro de la energía reflejada desde un objeto, y el procesado, análisis y aplicación de esa información

El dispositivo que detecta esta radiación electromagnética se llama sensor

Usuario final Cartografía Agricultura Conservación de bosques Medioambiental Militar

Page 5: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 5

INTRODUCCIÓN

La cantidad de información capturada por el sensor suele ser muy elevada

Todos los datos deben ser procesados por diferentes algoritmos, lo que implica un tiempo elevado hasta generar la información de salida

Existen diferentes tecnologías que realizan un procesado masivo de los datos Permiten reducir los tiempos de ejecución

Destacan las arquitecturas de sistemas paralelos basadas en tarjetas gráficas GPUs

Este proyecto se basa en la tecnología CUDA de Nvidia.

OBJETIVO Optimizar los algoritmos que intervienen en un sistema de teledetección mediante la tecnología CUDA , para obtener un sistema de baja latencia, es decir, que se aproxime cada vez mas a un sistema de tiempo real

Page 6: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 6

ÍNDICE

1. Introducción

2. Tecnología CUDA

3. Reconocimiento de terreno

4. AIPC

5. Conclusiones

Page 7: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 7

TECNOLOGÍA CUDA

La tecnología CUDA es una arquitectura de computación paralela desarrollada por Nvidia.

Se basa en la utilización de un elevado número de nodos de procesamiento para realizar un procesado masivo de los datos Realiza una misma operación de forma simultánea sobre varios datos de entrada (Arquitectura SIMD)

VENTAJAS Realiza cálculos complejos a gran velocidad y con un coste reducido Está basada en un entorno de desarrollo en C Permite trabajar con sistemas operativos Unix y Windows Software de desarrollo gratuito Numerosa documentación Tecnología en crecimiento

Page 8: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 8

TECNOLOGÍA CUDA

Conceptos característicos de CUDA:

Hilo: Cada hilo de control que ejecuta de forma simultánea una función

Bloque de hilos: Conjunto de hilos lanzados sobre el mismo multiprocesador

Grid: Conjunto de todos los bloques de hilos

Kernel: Cada una de las funciones desarrolladas en C que serán ejecutadas mediante paralelización

Page 9: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 9

ÍNDICE

1. Introducción

2. Tecnología CUDA

3. Reconocimiento de terreno

4. AIPC

5. Conclusiones

Page 10: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 10

RECONOCIMIENTO DE TERRENO

Es una de las principales aplicaciones de un sistema de teledetección

Información del terreno

Suelo Vegetación Nieve Agua

Urbanismo

Medioambiente

Prevención de incendios

Se trabaja con imágenes multiespectrales Varias bandas de frecuencia Información de un mismo píxel en cada banda espectral

Page 11: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 11

RECONOCIMIENTO DE TERRENO

Analizando la información de un píxel en cada banda se puede distinguir el tipo de terreno Firma espectral

Para el proyecto se han usado imágenes capturadas por Landsat 7 bandas de frecuencia (azul, verde, rojo, infrarrojo cercano, infrarrojo medio 1, térmica, infrarrojo medio 2)

Page 12: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 12

RECONOCIMIENTO DE TERRENO

Page 13: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 13

RECONOCIMIENTO DE TERRENO

Procedimiento que se aplica a cada píxel en cada banda de frecuencia:

Nivel digital (Valores entre 0 y 255)

Radiancia

Reflectancia

ÍndicesÍndice de vegetación

Índice de humedad

Temperatura

Detección de nubes Algoritmo de la NASA

Page 14: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 14

RECONOCIMIENTO DE TERRENO

La aplicación desarrollada permite generar cuatro tipos de imágenes a la salida

Page 15: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 15

RECONOCIMIENTO DE TERRENO

Mediante la paralelización de la aplicación se obtienen notables mejoras en los tiempos de ejecución

Tipo de ejecución Reconoc. terreno

Térmica Nubes Todas a la vez

Tiempo sin paralelización (µs)

66.557.177 7.223.686 63.802.480 92.367.944

Tiempo con paralelización (µs)

5.076.326 1.085.745 4.931.752 6.398.222

Tiempo manejo memoria GPU (µs)

4.662.454 1.082.427 4.521.424 5.618.482

Procesado datos GPU (µs)

713 245 618 853

Ahorro relativo (%) 92 85 92 93

Page 16: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 16

RECONOCIMIENTO DE TERRENO

Page 17: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 17

ÍNDICE

1. Introducción

2. Tecnología CUDA

3. Reconocimiento de terreno

4. AIPC

5. Conclusiones

Page 18: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 18

AIPC

AIPC (Autonomous Image Processing Chain) es un proyecto desarrollado por la empresa Deimos Space, que implementa una cadena de procesado genérica para un sistema de teledetección.

Esta cadena está formada por una serie de módulos, donde cada uno de ellos implementa un conjunto de algoritmos para realizar el procesado de la información.

Datos en crudo capturados por el sensor óptico

AIPC Imágenes de salida

Page 19: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 19

AIPC

Datos en crudo capturados por el satélite

Imágenes de salida

Page 20: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 20

CALIBRACIÓN ABSOLUTA

Objetivo Convertir los píxeles de la imagen de entrada de unidades digitales a unidades físicas (radiancias)

Realiza la siguiente operación:

Tiempo sin paralelización (µs) 4.524.435

Tiempo con paralelización (µs) 1.783.729

Tiempo manejo memoria GPU (µs) 1.781.594

Procesado datos GPU (µs) 293

Ahorro relativo (%) 61

Page 21: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 21

DETECCIÓN DE NUBES

Objetivo Detectar nubes sobre la imagen de entrada para generar la correspondiente máscara de salida

Las nubes pueden provocar la generación de datos erróneos en las imágenes de salida Hay que detectarlas y minimizar sus efectos

El algoritmo desarrollado trabaja con reflectancias, las cuales se obtienen a partir de las radiancias:

Tiempo sin paralelización (µs) 507.897

Tiempo con paralelización (µs) 631.214

Tiempo manejo memoria GPU (µs) 629.404

Procesado datos GPU (µs) 87

Ahorro relativo (%) -24

Page 22: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 22

DECONVOLUCIÓN

Objetivo Mejorar la MTF (Función de Transferencia de Modulación) de la imagen de entrada

Se realiza una convolución espacial en 2 dimensiones entre la imagen y un filtro

Se consigue realzar la imagen, reduciendo su nitidez

Tiempo sin paralelización (µs) 293.332.423

Tiempo con paralelización (µs) 13.738.437

Tiempo manejo memoria GPU (µs) 5.795.807

Procesado datos GPU (µs) 241

Ahorro relativo (%) 95

Page 23: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 23

REDUCCIÓN DE RUIDO

Objetivo Reducir el nivel de ruido de la imagen de entrada Para realizar el filtrado se utiliza la transformada Wavelet discreta

en 2 dimensiones El proceso se divide en tres pasos:

Calcular la transformada Wavelet directa Aplicar la reducción de ruido Calcular la transformada Wavelet inversa

Page 24: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 24

REDUCCIÓN DE RUIDO

PASO 1 – TRANSFORMADA WAVELET DIRECTA Descompone la imagen de entrada en 4 tipos de coeficientes:

Aproximaciones Contienen la información mas importante Detalles horizontales Detalles verticales Tienen valores próximos a cero Detalles diagonales

Nivel descomposición Aplicar la transformada sucesivas veces

Page 25: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 25

REDUCCIÓN DE RUIDO

Los coeficientes Wavelet se obtienen mediante el filtrado de la señal a través de filtros paso alto y paso bajo, y un posterior diezmado de orden 2

Page 26: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 26

REDUCCIÓN DE RUIDO

PASO 2 – APLICACIÓN DE UMBRAL DE RUIDO Consiste en aplicar la siguiente expresión sobre cada uno de los

coeficientes Wavelet, excepto sobre los coeficientes de aproximación

Page 27: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 27

REDUCCIÓN DE RUIDO

PASO 3 – TRANSFORMADA WAVELET INVERSA Proceso inverso sobre los coeficientes Wavelet modificados Filtros paso alto y paso bajo inversos, así como interpolación

Page 28: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 28

REDUCCIÓN DE RUIDO

La transformada Wavelet se debe aplicar de forma independiente sobre cada una de las bandas de la imagen de entrada

Para verificar el correcto funcionamiento se ha utilizado una imagen con un cierto nivel de ruido

Page 29: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 29

REDUCCIÓN DE RUIDO

Tiempo sin paralelización (µs)

115.906.683

Tiempo con paralelización (µs)

29.451.241

Tiempo manejo memoria GPU (µs)

23.996.112

Procesado datos GPU (µs)

2.414

Ahorro relativo (%) 75

Carga computacional elevada

Imágenes de gran tamaño (contienen mucha información)

Mediante la paralelización de la aplicación se obtienen buenos resultados

Page 30: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 30

CORREGISTRACIÓN

Objetivo Alinear todas las bandas de una imagen multiespectral respecto a una de ellas, que se toma como banda de referencia

Se debe calcular el desplazamiento de cada una de las bandas respecto a la banda de referencia

A la salida se genera un polinomio que determina este desplazamiento

Existe un desplazamiento teórico debido a la diferente posición de los sensores en el satélite

Page 31: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 31

CORREGISTRACIÓN

Pasos a seguir: Se parte de la imagen de búsqueda (imagen que queremos

corregistrar) y la de referencia Ambas se dividen en subimágenes. Se calcula la correlación cruzada normalizada entre cada par de ellas

Determina la similitud

Page 32: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 32

CORREGISTRACIÓN

Se busca el máximo de correlación, y se comprueba si supera un determinado umbral

Si se supera Hay suficiente similitud entre ambas subimágenes Se almacenan las coordenadas de ambas subimágenes Todo este proceso se repite para cada par de subimágenes Se forma un sistema de ecuaciones lineal Al resolverlo obtenemos el

desplazamiento real entre ambas imágenes

La salida final del módulo es de la forma:

Page 33: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 33

CORREGISTRACIÓN

Las pruebas se han realizado con imágenes formadas por dos bandas de frecuencia, y diferentes desplazamientos.

Imagen con desplazamiento de 100 píxeles en la coordenada X

Imagen con desplazamiento de -20 píxeles en las coordenada X e Y

Ecuación de error en la coordenada x:A00 = -19.6678A01 = -0.0174261A10 = 0.999919

Ecuación de error en la coordenada y:B00 = -20.34B01 = 0.999722B10 = 0.017473

Ecuación de error en la coordenada x:A00 = 100A01 = -8.69669e-16A10 = 1

Ecuación de error en la coordenada y:B00 = 4.12131e-14B01 = 1B10 = -7.59502e-18

Page 34: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 34

CORREGISTRACIÓN

Mediante la paralelización de la aplicación se obtienen muy buenos resultados

En este caso el tiempo de procesado en la GPU es mayor que en los módulos anteriores, ya que la correlación cruzada requiere una carga computacional muy elevada

Tiempo sin paralelización (µs)

12.551.986

Tiempo con paralelización (µs)

1.549.546

Tiempo manejo memoria GPU (µs)

382.510

Procesado datos GPU (µs)

1.159.451

Ahorro relativo (%) 88

Page 35: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 35

ÍNDICE

1. Introducción

2. Tecnología CUDA

3. Reconocimiento de terreno

4. AIPC

5. Conclusiones

Page 36: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 36

CONCLUSIONES

Un sistema de teledetección puede proporcionar una gran cantidad de información aplicable en diversos campos

Los algoritmos empleados para procesar esta información tienen un tiempo de procesado elevado

La tecnología CUDA permite realizar una paralelización de estos algoritmos, consiguiendo reducir considerablemente los tiempos de ejecución

TECNOLOGÍA CUDA: Proporciona una forma óptima y de coste reducido de optimizar los

algoritmos empleados por un sistema de teledetección Cuanto mayor sea el volumen de datos a procesar mayor es el

beneficio que se puede obtener Cuanto mayor sea la carga computacional de las operaciones a

realizar, mayor es el beneficio que proporciona

Page 37: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 37

CONCLUSIONES

TRABAJOS FUTUROS Paralelizar todos los módulos de la cadena AIPC, e integrarlos en

una única aplicación Se conseguiría obtener un sistema de baja latencia,

aproximándose mucho a uno de tiempo real

Page 38: ÍNDICE

PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 38

RUEGOS Y PREGUNTAS

¡Muchas gracias por su atención!