Publication:
Implementaciones paralelas del algoritmo FastSepNMF para la identificación de endmembers en el procesamiento de imágenes hiperespectrales

Research Projects
Organizational Units
Journal Issue
Abstract
Durante las últimas décadas, el uso de imágenes hiperespectrales se ha expandido a diversos sectores. Gracias a los avances en los sensores encargados de producir estas imágenes y al estudio de diversas técnicas para procesarlas, las imágenes hiperespectrales se han incorporado a actividades como la extracción minera, detección de objetivos en el ámbito militar o la detección y seguimiento de catástrofes ambientales. La obtención del resultado en un tiempo aceptable es clave en ciertas actividades, convirtiéndose en un objetivo principal el procesamiento de estas imágenes a tiempo real o próximo a este. El principal uso de las imágenes hiperespectrales es el análisis de la composición de una superficie, mediante un proceso de desmezclado espectral en el que intervienen distintos algoritmos. En primer lugar se ha de identificar la cantidad de materiales presentes en la imagen. Posteriormente se extraen sus firmas espectrales, llamadas endmembers, para finalmente generar un mapa con la abundancia de estos endmembers. Este trabajo se centra en mejorar el rendimiento del algoritmo FastSepNMF, “Fast and robust recursive algorithm for separable NMF”, cuya implementación permite la extracción de las firmas espectrales de los endmembers a partir de píxeles puros de una imagen. A lo largo de este proyecto se han implementado distintas versiones del algoritmo haciendo uso de varios lenguajes de programación paralela: OpenMP, OpenCL y CUDA. Tras obtener estas versiones, se ha estudiado su rendimiento al compararlas con una implementación secuencial del algoritmo. Además, se ha analizado la eficiencia de las versiones paralelas en las dos plataformas presentes (CPUs multicore y GPUs) en un sistema HPC heterogéneo.
During the last decades, hyperspectral imaging has been introduced into several fields. Thanks to the development of more capable hyperspectral sensors and the study of various processing techniques, hyperspectral images have been incorporated into activities such as mining extraction, target detection for military purposes and monitoring of environmental disasters. Some of these activities have time constraints for delivering a response, making real-time processing one of the most important goals to achieve. The main use of hyperspectral imaging is analyzing the composition of a surface through a spectral unmixing process that involves several steps. Firstly, the amount of materials present in the image must be identified. Then, the spectral signatures (the endmembers)of those materials are extracted. Finally, using the endmembers, it is possible to map the distribution of materials present in the studied surface. This paper focuses on improving the performance of the FastSepNMF algorithm (Fast and robust recursive algorithm for separable NMF), which allows extracting the spectral signatures of the endmembers by selecting pure pixels in an image. Throughout this project, different versions of the algorithm have been implemented using three parallel programming languages: OpenMP, OpenCL and CUDA. The performance of these implementations has been studied and compared with a sequential implementation of FastSepNMF. Additionally, the efficiency of the parallel versions when executed on the two platforms (multicore CPUs and GPUs) present in an heterogeneous HPC system has been analyzed.
Description
Trabajo de Fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2019/2020.
Unesco subjects
Keywords
Citation