Clusters frente a GPUs para Detección Automática de Objetivos en Imágenes Hiperespectrales de la Superficie Terrestre



Documentos relacionados
Electrónica Digital II

4. Programación Paralela

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores

Gnu-LinEx. Aplicaciones del Software Libre en Computación de Altas Prestaciones. Sé legal... copia LinEx

UNIVERSIDAD DE SALAMANCA

Capítulo 5: METODOLOGÍA APLICABLE A LAS NORMAS NE AI

GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS

Gestión de la Configuración

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

Guía de uso del Cloud Datacenter de acens

Cálculo Simbólico también es posible con GeoGebra

Cuándo y qué virtualizar? Cuándo y qué virtualizar? 1

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

Este documento se distribuye bajo los términos de la licencia Creative Commons by sa. sa/2.

UN ENTORNO A MEDIDA PARA EL DISEÑO Y LA SIMULACIÓN DE MAQUINARIA POR COMPUTADOR

WINDOWS : TERMINAL SERVER

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking

Test de intrusión (Penetration Test) Introducción

Arquitectura de sistema de alta disponibilidad

CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK.

Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala

Subespacios vectoriales en R n

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

MODELOS DE DATOS EN UN SIG: RÁSTER Y VECTORIAL. Los datos espaciales refieren a entidades o fenómenos que cumplen los siguientes principios básicos:

Gestión de Oportunidades

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

e-netcamanpr INDICE: Manual de Instalación


CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO

Conclusiones. Particionado Consciente de los Datos

MODELOS DE RECUPERACION

ADT CONSULTING S.L. PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS

soluciones en Fotogrametría Digital El software de análisis más potente basado en objetos de datos geoespaciales. Fotogrametría Digital

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico.

Resumen del trabajo sobre DNSSEC

18. Camino de datos y unidad de control

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570

1. Introducción. Universidad de Cantabria 1-1

Manual de Palm BlueChat 2.0

Introducción a las redes de computadores

Capítulo 4. Implementación del lenguaje multitáctil

Matrices Invertibles y Elementos de Álgebra Matricial

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

forma de entrenar a la nuerona en su aprendizaje.

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Ahorro de energía visualizando páginas Web en dispositivos móviles heterogéneos

Capítulo 2 Silueta. Figura 2.1 Tetera capturada por la cámara con la silueta resaltada

E 1 E 2 E 2 E 3 E 4 E 5 2E 4

Estructuras de datos: Proyecto 2

Base de datos en Excel

Manual Operativo Sistema de Postulación Online

Análisis de aplicación: Virtual Machine Manager

GUÍA DE USUARIO: GOOGLE DRIVE

Con esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis.

Capítulo 5. Cliente-Servidor.

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

Grupo de Trabajo sobre el Servicio de Acceso Digital a los Documentos de Prioridad

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Versión final 8 de junio de 2009

Tecnología IP para videovigilancia... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el

Sistemas Operativos Windows 2000

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos.

Gestión de proyectos

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

EL MODELO DE DATOS RASTER

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

RESUMEN CUADRO DE MANDO

3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE EL PLC 5. EJEMPLO DE RECEPCIÓN DE SMS EN EL PLC

ANTENAS: Teledistribución y televisión por cable

Mantenimiento de Sistemas de Información

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Introducción a la Firma Electrónica en MIDAS

Capa Física. Ing. Camilo Zapata Universidad de Antioquia

Sistemas de Información Geográficos (SIG o GIS)

Movimiento a través de una. José San Martín

Volumen TECNOLOGÍA DE ADMINISTRACIÓN EMPRESARIAL SIMI EVOLUTION (9.0) Guía de usuario

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

efactura Online La fibra no tiene competencia

Vicerrectorado de Planificación, Calidad, Responsabilidad Social y Comunicación

1.- Introducción y objetivos

Adaptadores de Interfaz de Red. Ing. Camilo Zapata Universidad de Antioquia

CAPITULO II CARACTERISTICAS DE LOS INSTRUMENTOS DE MEDICION

INTRODUCCION A LA PROGRAMACION DE PLC

Título: Experiencias docentes con tecnología cloud computing y los agregadores de información en asignaturas de carácter financiero

CAPITULO I. Introducción. En la actualidad, las empresas están tomando un papel activo en cuanto al uso de sistemas y

En este ebook te vamos a contar todo lo que necesitas saber para descubrir las claves para detectar si tu empresa necesita innovar y escalar.

Capítulo 12: Indexación y asociación

Tema 2. Espacios Vectoriales Introducción

ESQUEMAS DE SISTEMAS VOIP CON ALTA DISPONIBILIDAD Y ALTO RENDIMIENTO

Práctica 5. Curso

Relación entre formación y empleo

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.

SISTEMAS Y MANUALES DE LA CALIDAD

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

Transcripción:

Clusters frente a GPUs para Detección Automática de Objetivos en Imágenes Hiperespectrales de la Superficie Terrestre Abel Paz Grupo Computación Hiperespectral (HYPERCOMP) Dept. Tecnología de Computadores y Comunicaciones Universidad de Extremadura, Excuela Politécnica Avenida de la Universidad s/n, E-10071 Cáceres apazgal@unex.es Antonio Plaza Grupo Computación Hiperespectral (HYPERCOMP) Dept. Tecnología de Computadores y Comunicaciones Universidad de Extremadura, Excuela Politécnica Avenida de la Universidad s/n, E-10071 Cáceres aplaza@unex.es Resumen El núcleo del presente trabajo viene dado por la propuesta de nuevos algoritmos paralelos para detección de targets o anomalías en imágenes hiperespectrales. Una vez introducida la base teórica del estudio se presentan los nuevos algoritmos paralelos desarrollados, comentando en detalle cada uno de los pasos que se han seguido en su desarrollo y comentando las decisiones de diseño adoptadas. Tras presentar los nuevos algoritmos paralelos desarrollados con motivo del presente trabajo, realizamos un detallado estudio cuantitativo y comparativo de su rendimiento en dos tipos de arquitecturas paralelas específicas: el cluster Thunderhead del centro NASA Goddard Space Flight Center en Maryland, Estados Unidos, y una tarjeta gráfica programable de NVidia (modelo 9800 GX2). Los resultados experimentales han sido obtenidos en el contexto de una aplicación real de gran relevancia social, consistente en la detección de los incendios que se propagaron en los días posteriores al atentado terrorista del World Trade Center en Nueva York. 1. Introducción El ser humano siempre ha deseado poder observar la Tierra de forma remota, y para realizar esa labor ha conseguido desarrollar instrumentos de medida de muy elevada resolución espacial y espectral. El resultado de un proceso de observación remota es una imagen hiperespectral. [1]. Los sensores hiperespectrales que se utilizan permiten adquirir imágenes digitales con una gran cantidad de canales espectrales muy cercanos entre sí, obteniendo para cada porción de la escena o píxel, una firma espectral característica de cada material [2]. Si intentamos representar una imagen hiperespectral de forma gráfica obtendríamos un cubo cuyas dos primeras dimensiones representarían la ubicación en el espacio de un píxel determinado de la imagen y una tercera dimensión que representaría la singularidad espectral de cada píxel según diferentes longitudes de onda [3] (ver Figura 1). La mayoría de las técnicas de análisis hiperespectral desarrolladas hasta la fecha presuponen que la medición obtenida por el sensor en un determinado píxel viene dada por la contribución de diferentes materiales que residen a nivel sub-píxel y que interactúan según un modelo lineal (ver Figura 2) o no lineal [4]. El fenómeno de la mezcla puede venir ocasionado por una insuficiente resolución espacial del sensor, pero lo cierto es que este fenómeno ocurre de forma natural en el mundo real, por lo que el diseño de técnicas capaces de modelar este fenómeno de manera adecuada resulta imprescindible. Las técnicas de desmezclado, detección de targets y análisis de imágenes hiperespectrales son muy costosas desde el punto de vista computacional, debido a que se basan en la realización de operaciones matriciales. Como posible ventaja, muchas de estas operaciones tienen un carácter repetitivo que hacen posible paralelizar [5] al menos parte de estos algoritmos, con el consiguiente aumento significativo en el rendimiento y consiguiendo en algunos casos la posibilidad de obtener respuestas en tiempo real. La reciente introducción de las GPUs en el mundo de la supercomputación abre un nuevo abanico de posibilidades para este tipo de algoritmos [5]. En el presente trabajo, describimos nuevas implementaciones paralelas de algoritmos de detección de objetivos o targets en imágenes hiperespectrales de la superficie terrestre, utilizando para ello GPUs de NVIDIA. Estas tarjetas son susceptibles de ser utilizadas para procesamiento a bordo.

Figura 1. Concepto de imagen hiperespectral. Comportamiento lineal 2. Algoritmos En este apartado se detalla paso a paso el procedimiento que sigue cada algoritmo para encontrar los targets en la imagen hiperespectral. 2.1. RX Figura 2. El modelo lineal de mezcla. El trabajo se organiza de la siguiente forma. En la sección 2 se describen los métodos de detección de targets utilizados. En la sección 3 presenta el diseño de las implementaciones paralelas de los métodos descritos. En la sección 4 se presentan los resultados obtenidos introduciendo en primer lugar las arquitecturas utilizadas. Finalmente, en la sección 5 se resumen las aportaciones y se esbozan las líneas futuras de trabajo. El algoritmo RX ha sido ampliamente utilizado en procesamiento de imágenes y de la señal [4]. Este algoritmo implementa un filtro, denominado RXF que viene definido por la siguiente expresión: Donde es un píxel hiperespectral n-dimensional (vector); es la media y K es la matriz de covarianza de los datos. Las imágenes resultado generadas por el algoritmo RX son imágenes en escala de gris [6] que indican probabilidad de encontrar un target.

2.2. ATGP El algoritmo ATGP [4] fue desarrollado para encontrar targets que puedan utilizarse para generar una matriz de firmas, utilizada en una proyección de un subespacio ortogonal (OSP). Este algoritmo realiza las siguientes operaciones: 1. Calcular el píxel más brillante de la imagen,, utilizando la siguiente ecuación, dónde es el píxel (vector) en las coordenadas espaciales (x,y) de la imagen. El píxel más brillante es el máximo producto vectorial entre el vector asociado a un píxel y su traspuesto. 2. Asignar el primer target encontrado a una matriz ]. 3. Aplica el operador de proyección ortogonal dado por la siguiente expresión a todos os píxeles de la imagen hiperespectral: 4. Se amplía la matriz U con el píxel (vector) cuyo resultado de aplicarle la ecuación (3) sea mayor, de forma que y se vuelve a aplicar la proyección ortogonal para el nuevo valor de U. 5. Este procedimiento se repite hasta encontrar un número de targets especificado como parámetro de entrada. Este algoritmo también se ha implementado utilizando otras medidas además de la proyección ortogonal [4]. unidad mínima de procesamiento para los algoritmos, sería necesario incluir más operaciones de comunicación para cada cálculo de la medida empleada. Desde el punto de vista de la paralelización del algoritmo, el cual se basa en aplicar de forma repetitiva cualquiera de las medidas planteadas, este tipo de particionamiento tiene un coste elevadísimo en cuanto a comunicaciones se refiere. A diferencia del esquema de particionamiento anterior, el particionamiento espacial, considera que una misma firma espectral o píxel, no puede estar particionada en diferentes unidades de proceso de la arquitectura paralela. Este esquema plantea una ventaja, las unidades mínimas de cómputo, que en este caso son la aplicación de una de las medidas descritas en el apartado anterior, podrían realizarse de forma local en cada procesador, eliminando gran parte de la carga de comunicación del algoritmo. De esta forma, sólo tendríamos que realizar comunicaciones a nivel global para sincronizar los procesos o conseguir resultados en cada iteración de los algoritmos, de forma global. Los algoritmos aquí descritos utilizan particionamiento espacial. De esta forma, cada nodo carga una determinada porción de la imagen, operación que puede gestionarse fácilmente indicando a cada nodo participante desde dónde tiene que empezar a leer y el número de líneas asociado al nodo. 3. Implementación paralela 3.1. Particionamiento de los datos El particionamiento o división de datos previa al procesamiento de una imagen hiperespectral, puede hacerse fundamentalmente de dos formas diferenciadas. El particionamiento espectral considera que diferentes procesadores de la arquitectura paralela pueden contener partes no solapadas de una misma firma espectral (píxel). Este esquema tiene la desventaja de que, al considerarse la firma espectral (vector) como Figura 3. Particionamiento espacial de la imagen. 3.2. Implementaciones en clusters Para poder paralelizar los algoritmos ATGP y RX, es necesario incluir una serie de modificaciones en el código que nos permitan realizar la comunicación entre los diferentes nodos así como asignar una porción de la imagen a cada uno de los nodos que van a procesarla.

El esquema de paralelismo sigue en todo caso la funcionalidad de los algoritmos secuenciales ATGP y RX, salvo que en este caso se calcula una matriz de valores intermedios en cada una de los nodos y posteriormente se realiza una puesta en común global sobre quién tiene el valor máximo. 3.3. Implementaciones en GPUs La implementación del algoritmo ATGP en GPU se ha llevado a cabo pensando especialmente en aprovechar la ventaja de no tener que invertir demasiado tiempo en comunicación para notificarse los diferentes resultados entre los nodos. En la GPU, esto no es necesario ya que toda la información está en la memoria compartida del dispositivo [7]. En el caso del algoritmo ATGP, se define una matriz para almacenar los valores de brillo de cada uno de los píxeles de la imagen. Esta matriz es procesada por tantos hilos como píxeles hay en la imagen hiperespectral (ver Figura 4). De esta forma se procesan todos los píxeles en el tiempo que en una CPU podría procesarse uno. Para ello se define un Grid que procesa la imagen de forma totalmente paralela (ver Figura 5). lineal se utiliza para determinar las soluciones de un sistema de ecuaciones lineales, y puede utilizarse para calcular la inversa de una matriz. Este método ha sido aplicado para optimizar las operaciones de inversa de matrices aplicadas en los métodos serie y paralelo descritos anteriormente. Figura 5. Grid de procesamiento de la matriz de brillos y del algoritmo ATGP. Figura 4. En el algoritmo ATGP, cada píxel de la matriz de brillo es procesado por un hilo de la GPU. Por el contrario, en el caso del algoritmo RX se define un Grid de tantos bloques y tantos hilos como número de bandas haya como muestran respectivamente las Figuras 6 y 7. Para finalizar el presente apartado, destacamos que en todos los desarrollos presentados que requieren este cálculo se ha implementado un proceso eficiente para obtener la inversa de la matriz, se ha implementado un algoritmo basado en el método de eliminación de Gauss-Jordan (o eliminación Gaussiana). Este algoritmo de álgebra Figura 6. Bloque de procesamiento en implementación GPU del algoritmo RX. Un sistema de ecuaciones se resuelve por el método de Gauss cuando se obtienen sus soluciones mediante la reducción del sistema dado a otro equivalente en el que cada ecuación tiene una incógnita menos que la anterior. Para el cálculo de la matriz, este método se basa en utilizar la matriz aumentada, añadiendo la matriz identidad a la matriz de la que se desea calcular su inversa. El objetivo del mismo es obtener la matriz escalonada reducida de la matriz aumentada realizando operaciones simples sobre las filas de la matriz aumentada.

núcleo con 2 GHz de fibra óptica Myrinet. Las pruebas llevadas a cabo se han realizado en uno de los nodos, llamado thunder1. Figura 7. Grid de procesamiento de la matriz de brillos y del algoritmo RX. 4. Resultados 4.1. Descripción de los datos La imagen en la que centraremos los estudios llevados a cabo en este trabajo fue tomada por el sensor AVIRIS, lanzado por el Laboratorio de propulsión a chorro de la ASA ( ASA s Jet Propusion Laboratory) sobre la zona del World Trade Center (comúnmente conocido como Las Torres Gemelas ) el día 16 de septiembre del año 2001, justo cinco días después de los ataques terroristas que derrumbaron las dos torres principales y otros edificios del complejo del WTC [8]. 4.2. Arquitecturas paralelas consideradas Las arquitecturas seleccionadas para este estudio constituyen ejemplos representativos de clusters de computadores y GPUs [9]. A continuación simplemente procedemos a detallar las características técnicas de ambas arquitecturas. Thunderhead es el nombre que recibe el cluster ubicado en el Goddard Space Flight Center de la NASA en Maryland. Se trata de un cluster masivamente paralelo de tipo Beowulf. Thunderhead posee varios nodos adjuntos al Figura 8. Mapa térmico de la zona del WTC con los focos de incendio (targets) destacados La GPU utilizada es una BFG NVIDIA 9800GX2, cuya característica principal es que fue una de las primeras tarjetas duales (con 2 GPUs) del mercado. En este estudio se utiliza una sóla de las 2 GPUs, la cual cuenta con 128 stream processors a una frecuencia de 1500 MHz y 512 MB de memoria de vídeo. 4.3. Resultados experimentales Antes que nada, hemos de aclarar que los resultados de precisión obtenidos para las versiones serie y las versiones paralelas son idénticos, ya que, a pesar del cambio de arquitectura en la que se ejecuta el algoritmo, se ha respetado en la mayor medida posible el funcionamiento de los mismos. La Figura muestra los resultados de escalabilidad de ATGP y RX utilizando diferentes medidas. Como puede comprobarse, la medida empleada afecta significantivamente a los resultados de escalabilidad, que dan como resultado tiempos de procesamiento en torno a 12 segundos (utilizando 32 procesadores) para la imagen considerada.

Figura 9. Escalabilidad de los algoritmos ATGP (izquierda) y RX (derecha) en el cluster Thunderhead de NASA. Por otra parte, la Tabla 1 muestra los tiempos serie y paralelo obtenidos utilizando una GPU 9800GX2 con Pentium IV 3.00 GHz. Finalmente, la Tabla 2 muestra los factores de aceleración o speedups asociados a la Tabla 1. Como puede apreciarse, las implementaciones GPU resultan en factores de aceleración muy destacados, del orden de 14 unidades para cada algoritmo. ATGP- SAD RX GPU 9800GX2 9,061 139,178 CPU 133,637 1995,152 Tabla 1. Tiempos de ejecución de ATGP y RX en diferentes arquitecturas (GPU y CPU). ATGP-SAD RX GPU 9800GX2 14,747698 14,047813 Tabla 2. Factores de aceleración obtenidos en la GPU. A partir de los resultados obtenidos, es posible realizar una serie de consideraciones referentes a las características de las arquitecturas de computación paralela consideradas en el estudio. Teniendo en cuenta que cada uno de los nodos del cluster Thunderhead puede tener un valor estimado de 1000 además de la infraestructura de red de alta velocidad para conectarlos, hablamos de un coste estimado de 40.000. Si utilizando 32 nodos del Thunderhead obtenemos un speedup de 12 unidades (aproximadamente) a coste de 40.000, y utilizando una sola GPU cuyo coste no supera los 500, obtenemos un speedup superior, no parece rentable invertir en clusters pudiendo obtener resultados similares y mejores utilizando GPUs, si bien es cierto que los clusters siguen representando una alternativa de bajo coste para almacenar y procesar grandes volúmenes de datos hiperespectrales que ya han sido transmitidos a tierra, en especial, aquellos clusters que permiten incorporar sistemas altamente heterogéneos y por tanto aprovechar diferentes capacidades de cómputo de equipos ya disponibles, colaborando para la consecución de un mismo fin. Aun así, hemos de tener en cuenta que en el presente estudio sólo se ha utilizado una GPU de las dos con las que cuenta la tarjeta 9800GX2, cuyo uso se intentará explotar en futuras versiones. Por otro lado, algunas de estas tarjetas cuentan con la posibilidad de trabajar de manera conjunta con otras tarjetas, pudiendo introducir en un ordenador personal hasta un máximo de 3 tarjetas idénticas utilizando la tecnología denominada SLI (Scalable Link Interface). En un cluster las posibilidades de ampliación se reducen a cambiar los procesadores o ampliar la cantidad de memoria, procedimientos cuyo resultado se traduciría en una mejora insignificante. En futuros estudios se intentará implementar estos algoritmos para que puedan ejecutarse en equipos que cuenten con esta tecnología, ampliando las posibilidades y disparando la capacidad de procesamiento hasta límites insospechados. Por otro lado, no hemos de olvidar la diferencia notable en cuanto al peso, portabilidad y consumo eléctrico de ambas arquitecturas. Incluso utilizando varias GPUs a modo de cluster de GPUs con la tecnología comentada anteriormente, necesitaríamos muchos menos requisitos, ya que todas las GPUs irían dentro de

un mismo equipo. Los factores asociados a la portabilidad de la arquitectura tienen un valor fundamental de cara a poder incorporarlas a abordo dispositivo que captura las imágenes, evitando tener que enviarlas a la tierra para ser procesadas, con el retraso que eso supone. En este sentido, el potencial de esta nueva tecnología se traduce en la posibilidad de procesar los datos a bordo del sensor hiperespectral a medida que van siendo adquiridos, pudiendo obtener respuestas en tiempo real. En aplicaciones del tipo a las estudiadas en esta memoria, como pueden ser la detección de incendios, esto supone una revolución en cuanto a la velocidad y precisión con que pueden ser detectadas, pudiendo poner en marcha mecanismos de actuación en el preciso instante en que se esté iniciando el incendio. 5. Conclusiones y líneas futuras En el presente trabajo memoria se ha realizado un estudio comparativo de diferentes algoritmos paralelos para detección de targets y anomalías en imágenes hiperespectrales. En concreto, se han propuesto nuevas versiones paralelas de dos algoritmos ampliamente utilizados en la literatura (ATGP para detección de targets y RX para detección de anomalías). Estas implementaciones suponen contribuciones innovadoras con respecto a la literatura reciente en el área de estudio, que carece de trabajos relacionados con la implementación eficiente de algoritmos de detección de targets y anomalías. Para llevar a cabo dicho estudio comparativo, se han aplicado las técnicas desarrolladas a un caso de estudio concreto en el que la necesidad de obtener resultados en tiempo casi real es patente. En concreto, el estudio se ha centrado en la detección de incendios en la zona del World Trade Center de Nueva York, días después del atentado terrorista del 11 de Septiembre de 2001, utilizando para ello una imagen hiperespectral obtenida por el sensor AVIRIS de NASA. En este sentido, es importante destacar que las prestaciones de los algoritmos desarrollados han sido demostradas desde la perspectiva de aplicaciones reales de gran actualidad, quedando patentes las posibilidades de explotación de las técnicas propuestas con motivo del presente trabajo en el contexto específico de dichas aplicaciones. Entre las posibles líneas futuras de trabajo destacamos las siguientes: Optimizar las versiones GPU actuales adaptando el código a un nivel más bajo, centrándose en conseguir la ocupación máxima de los multiprocesadores. Utilizar las 2 GPUs con las que cuenta la tarjeta 9800GX2 y obtener resultados comparativo utilizando otras GPUs de gamas superiores (GTX285, GTX295, Quadro, Teslas, etc.) Optimizar los algoritmos para funcionar en SLI de 2 y 3 vías, utilizando varias GPUs y comparar su rendimiento con el actual. Evaluar la capacidad de los algoritmos desarrollados de ofrecer una respuesta en tiempo real. Implementar algoritmos de análisis hiperespectral adicionales, susceptibles de ser utilizados en aplicaciones de clasificación, desmezclado y compresión a bordo de datos hiperespectrales. Referencias [1] A. F. H. Goetz, G. Vane, J. E. Solomon, and B. N. Rock, Imaging spectrometry for Earth remote sensing, Science, vol. 228, pp. 1147 1153, 1985. [2] R. O. Green, M. L. Eastwood, C. M. Sarture, T. G. Chrien, M. Aronsson, B. J. Chippendale, J. A. Faust, B. E. Pavri, C. J. Chovit, M. Solis et al., Imaging spectroscopy and the airborne visible/infrared imaging spectrometer (AVIRIS), Remote Sensing of Environment, vol. 65, no. 3, pp. 227 248, 1998. [3] A. Plaza, J. A. Benediktsson, J. Boardman, J. Brazile, L. Bruzzone, G. Camps-Valls, J. Chanussot, M. Fauvel, P. Gamba, J. Gualtieri, J. C. Tilton, and G. Trianni, Recent advances in techniques for hyperspectral image processing, Remote Sensing of Environment, vol. 113, pp. 110 122, 2009. [4] C.-I. Chang, Hyperspectral Imaging: Techniques for Spectral Detection and Classification. Norwell, MA: Kluwer, 2003. [5] A. Plaza and C.-I. Chang, High performance computing in remote sensing. Boca Raton: CRC Press, 2007. [6] R. A. Schowengerdt, Remote Sensing: Models and Methods for Image Processing, 2nd ed. Academic Press: New York, 1997.

[7] J. Setoain, M. Prieto, C. Tenllado, A. Plaza and F. Tirado, Parallel morphological endmember extraction using commodity graphics hardware, IEEE Geosci. Remote Sensing Letters, vol. 43, pp. 441-445, 2007. [8] A. Plaza and C.-I Chang, Clusters versus FPGA for parallel processing of hyperspectral imagery, International Journal of High Performance Computing Applications, vol. 22, pp. 366-385, 2008. [9] A. Paz and A. Plaza, Clusters versus GPUs for parallel automatic target detection in hyperspectral images, EURASIP Journal on Advances in Signal Processing, aceptado.