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
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
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
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
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
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
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
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
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
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
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
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)
PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 12
RECONOCIMIENTO DE TERRENO
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
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
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
PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 16
RECONOCIMIENTO DE TERRENO
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
PARALELIZACIÓN DE ALGORITMOS PARA EL PROCESADO DE IMÁGENES DE TELEDETECCIÓN 38
RUEGOS Y PREGUNTAS
¡Muchas gracias por su atención!