UNIVERSIDAD DE EXTREMADURA Escuela Politécnica MÁSTER UNIVERSITARIO EN INVESTIGACIÓN EN INGENIERÍA Y ARQUITECTURA (MUIT) ESPECIALIDAD EN: TECNOLOGÍAS INFORMATICAS Y DE LAS COMUNICACIONES (TINC) Trabajo Fin de Máster MUIT-TINC HyperMix: Una nueva herramienta libre para el desmezclado de imágenes hiperespectrales de la superficie terrestre Luis Ignacio Jiménez Gil Septiembre 2012 MÁSTER UNIVERSITARIO EN INVESTIGACIÓN EN INGENIERÍA Y ARQUITECTURA (MUIT) ESPECIALIDAD EN: TECNOLOGÍAS INFORMATICAS Y DE LAS COMUNICACIONES (TINC) Trabajo Fin de Máster MUIT-TINC HyperMix: Una nueva herramienta libre para el desmezclado de imágenes hiperespectrales de la superficie terrestre Autor: Luis Ignacio Jiménez Gil Fdo: Director: Antonio J. Plaza Miguel Fdo: Tribunal Calificador Presidente: Fdo: Secretario: Fdo: Vocal: Fdo: CALIFICACIÓN: FECHA: Tabla de contenido ÍNDICE DE IMÁGENES ................................................................................. 3 ÍNDICE DE EXPRESIONES Y TABLAS ........................................................ 6 RESUMEN ..................................................................................................... 8 CAPÍTULO 1. Motivaciones y objetivos ....................................................... 10 1.1. Motivaciones ................................................................................... 10 1.2. Objetivos ......................................................................................... 12 CAPÍTULO 2. Antecedentes ........................................................................ 14 2.1. Análisis hiperespectral ....................................................................... 14 2.2 El problema de la mezcla ................................................................... 18 2.3. Firmas espectrales puras. ................................................................. 21 2.4. Análisis del software disponible para el tratamiento de imágenes hiperespectrales ....................................................................................... 24 2.4.1. Software comercial existente para el análisis hiperespectral ...... 24 2.4.2. Software libre existente para el análisis hiperespectral ............... 27 2.4.4. Ventajas del software libre para el tratamiento de imágenes hiperespectrales. ................................................................................... 30 CAPÍTULO 3. Algoritmos implementados ................................................... 32 3.1. Estimación del número de endmembers ........................................... 34 3.1.1. VD ............................................................................................... 34 3.1.2. HYSIME....................................................................................... 35 3. 2. Reducción de componentes ............................................................. 37 3.2.1. PCA ............................................................................................. 38 3.2.2. SPCA........................................................................................... 39 3. 3. Extracción de endmembers .............................................................. 40 1 3.3.1. OSP ............................................................................................. 40 3.3.2. N-FINDR...................................................................................... 42 3.4. Unmixing ............................................................................................ 45 3.4.1. LSU ............................................................................................. 46 3.4.2 ISRA ............................................................................................. 46 CAPÍTULO 4. La herramienta HyperMix ...................................................... 48 CAPÍTULO 5. Resultados experimentales ................................................... 56 5.1. Descripción de imágenes hiperespectrales ....................................... 56 5.1.1. Sintética (Fractal) ........................................................................ 56 5.1.2. Real (Cuprite) .............................................................................. 60 5.2. Comparativa de resultados ................................................................ 63 5.2.1. Tiempo computacional ................................................................ 63 5.2.2. Precisión de los algoritmos de extracción de endmembers frente al ruido ...................................................................................................... 65 5.2.3. Influencia del ruido en la imagen reconstruida a partir de los datos extraídos................................................................................................ 67 CAPÍTULO 6. Conclusiones y líneas futuras ............................................... 70 6.1. Conclusiones ..................................................................................... 70 6.2. Líneas futuras .................................................................................... 71 REFERENCIAS BIBLIOGRÁFICAS............................................................. 73 APÉNDICE I: PUBLICACIONES RELACIONADAS ..................................... 78 Congresos: ............................................................................................... 78 2 ÍNDICE DE IMÁGENES Figura 2.1: Ejemplo de imagen multi-espectral de cuatro bandas. Figura 2.2: Procedimiento de análisis hiperespectral. Figura 2.3: Firmas espectrales de vegetación obtenidas por el sensor multiespectral Landsat TM (7 bandas) y el sensor hiperespectral AVIRIS (224 bandas). Figura 1.4: Tipos de píxels en las imágenes hiperespectrales. Figura 2.5: Mezcla macroscópica Figura 2.6: Mezcla íntima. Figura 2.7: modelo lineal de mezcla. Figura 2.8: Interpretación gráfica del modelo lineal de mezcla. Figura 2.9: Interfaz proporcionada por el software ENVI ITT. Figura 2.10: Captura de pantalla de la herramienta PCI Geomatica. Figura 2.11: Captura de una aplicación basada en ORFEO Toolbox para el tratamiento de imágenes. Figura 2.12: Aplicación basada en OTB para segmentación de imágenes. Figura 3.1: Cadena completa de desmezclado o unmixing de imágenes hiperespectrales. Figura 3.2: Ilustración gráfica de la transformación PCA. Figura 3.3: Funcionamiento del algoritmo N-FINDR. Figura 3.4: Representación de la mezcla de tres endmembers. 3 Figura 4.1: Pantalla principal de la versión anterior de la herramienta HyperMix. Figura 4.2: Pantalla inicial de la herramienta HyperMix en la nueva versión. Figura 4.3: De izquierda a derecha las distintas paletas de colores que usa HyperMix. Grey, Envi, Hot, Cold, Bio y Jet. Figura 4.4: Ventana de descarga de imágenes por FTP de la herramienta HyperMix desde Hyperspectral Repository. Figura 4.5: Ventana de selección de imágenes de la herramienta HyperMix desde Hyperspectral Repository. Figura 4.6: Imagen de la pestaña de estadísticas donde se pueden ver los tiempos de ejecución y la diferencia entre las firmas extraídas y las de referencia. Figura 4.8: Foros creados para la consulta de dudas y proponer sugerencias sobre HyperMix. Figura 4.7: Vista general de la página web creada para la difusión de la herramienta Hypermix. Actualmente solo está disponible la versión anterior de la aplicación. Figura 5.1: Imagen Fractal 1 usada para crear la imagen sintética (izquierda). Fractal 1 dividida en clusters (derecha). Figura 5.2: Firmas insertadas en la imagen Fractal 1. Figura 5.3: Verdad terreno del Fractal 1 en escala de grises. Figura 5.4: Imagen hiperespectral AVIRIS sobre la región Cuprite en Nevada, Estados Unidos. Figura 5.5: Mapa de minerales obtenidos por el U.S. Geological Survey a través del algoritmo Tetracorder en la región Cuprite en Nevada, Estados Unidos. 4 Figura 5.6: Firmas espectrales puras correspondientes a los minerales más representativos en la región Cuprite en Nevada, Estados Unidos. Figura 5.7: Representación visual del error de reconstrucción de la imagen original a partir de las firmas extraídas y los mapas de abundancia. Las imágenes están ordenadas, de izquierda a derecha, de mayor señal de ruido a menor señal de ruido. Los colores fríos están más cerca del valor mínimo de error y los más cálidos del máximo. 5 ÍNDICE DE EXPRESIONES Y TABLAS Expresión 2.1: Expresión de un píxel como combinación lineal de las firmas espectrales puras. Expresión 3.1: Cálculo de la matriz de correlación de la imagen. Expresión 3.2: Cálculo de la matriz de covarianza de la imagen. Expresión 3.3: Estimación de la matriz de ruido contenido en la imagen. Expresión 3.4: Expresiones de la matriz de correlación de ruido y de la matriz de correlación de la señal. Expresión 3.5: Descomposición de valores singulares (SVD). Expresión 3.6: Operador de proyección ortogonal utilizado por el algoritmo OSP. Expresión 3.7: Expresión de la abundancia de un conjunto de firmas espectrales puras en un píxel para el algoritmo LSU. Expresión 3.8: Expresión de la abundancia de un conjunto de firmas espectrales puras en un píxel para el algoritmo ISRA. Expresión 5.1: Expresión representativa de una imagen sintética. Expresión 5.2: Definición de la inclusión de ruido en una imagen dada por de Harsanyi y Chang. Tabla 5.1: Resultados experimentales de cada uno de los algoritmos de la herramienta HyperMix en segundos. Tabla 5.2: Resultados obtenidos por la herramienta HyperMix comparando los endmembers extraídos con las firmas de referencia por el método del mínimo en la imagen Fractal1. 6 Tabla 5.3: Resultados obtenidos con la herramienta HyperMix para la image de Cuprite por el método del mínimo con cinco endmembers. Tabla 5.4: Resultados obtenidos por la herramienta HyperMix al reconstruir la imagen a partir de los endmember y los mapas de abundancia. 7 RESUMEN El análisis hiperespectral constituye una nueva técnica en observación remota de la Tierra que permite obtener imágenes con gran resolución espectral (cientos de bandas) para una misma zona de la superficie terrestre. El modelo lineal de mezcla constituye una aproximación clásica al análisis de datos hiperespectrales. Esta técnica generalmente consta de dos partes: 1) la extracción de firmas espectrales puras de materiales presentes en una escena hiperespectral (denominados endmembers en la literatura), y 2) la descomposición de las escenas en fracciones de abundancia relativas a dichos endmembers. Opcionalmente, se pueden añadir otras dos partes que son la estimación de los denominados endmembers presentes en la escena y la reducción de la dimensionalidad de la imagen. En el presente trabajo se ha desarrollado una nueva herramienta que permite realizar todas las etapas del proceso de análisis hiperespectral, tratando, en la medida de lo posible, de presentar dichas etapas de una forma sencilla e intuitiva. Para el desarrollo de la herramienta se ha optado por el lenguaje C++ utilizando para definir la interfaz de usuario, los procesos de entrada-salida y las comunicaciones la biblioteca Qt e incluir los algoritmos implementados por el grupo de investigación de “Computación Hiperespectral” (HyperComp). Los algoritmos incluidos permiten trabajar en todas las etapas de la cadena de demezclado. Además la herramienta contiene otras funciones útiles para el procesamiento de las imágenes hiperespectrales, entre las cuales la más novedosa sea el acceso a un repositorio de imágenes que el grupo tiene a su disposición. En este trabajo también se incluye una comparativa analítica de los métodos usados para la extracción de endmembers y generación de mapas de abundancia en base a los resultados obtenidos por la propia herramienta en dichas etapas. 8 La memoria del trabajo se encuentra organizada de la siguiente forma. En el primer capítulo se describen las motivaciones y objetivos del trabajo. A continuación, se presentan los antecedentes y trabajos previos sobre análisis, así como un resumen sobre el software existente y las ventajas del software libre. En el siguiente capítulo se describen los algoritmos disponibles en esta versión de la herramienta. A continuación se trata sobre la herramienta y los cambios respecto a la versión anterior. El siguiente capítulo expone los resultados obtenidos por la herramienta en dos supuestos, uno sintético y otro real, utilizando imágenes hiperespectrales de referencia. En el último capítulo se exponen las conclusiones obtenidas del trabajo y se proponen las líneas futuras de trabajo sobre este campo. 9 CAPÍTULO 1. Motivaciones y objetivos 1.1. Motivaciones El trabajo desarrollado en este Trabajo Fin de Máster (TFM) se enmarca dentro de las líneas de trabajo del grupo de investigación de “Computación Hiperespectral” (HyperComp) de la Universidad de Extremadura, entre las cuales se encuentra el desarrollo de nuevas técnicas para demezclado de imágenes hiperespectrales de la superficie terrestre basadas en la extracción de referencias espectrales puras o endmembers [1]. El presente trabajo se ha centrado en el desarrollo de una herramienta de software libre capaz de manejar algunas de dichas técnicas de forma eficiente con vistas a la utilidad que para un investigador esto pueda significar, y de forma sencilla para ampliar la difusión de este campo de la teledetección a posibles nuevos investigadores. Dichos algoritmos se encontraban disponibles de forma pública únicamente en forma de software propietario, por ejemplo en paquetes como el conocido Research Systems ENVI de ITTVisual Solutions1. Así el presente Trabajo Fin de Máster pretende el desarrollo de una aplicación que englobe una serie de algoritmos para el tratamiento de imágenes hiperespectrales junto con un conjunto de funcionalidades útiles para la representación y la medición de los resultados ofrecidos por dichos algoritmos. Como ya se ha comentado, la gran ventaja de esta herramienta es que es software libre, permitiendo su libertad de uso, modificación, ampliación y redistribución. Por otro lado, esta característica de la herramienta nos permite pensar en el desarrollo y ampliación por parte del grupo a largo plazo basándose en la colaboración con otros centros dedicados al mismo tipo de investigación. Con todo se eliminan las 1 http://www.ittvis.com/language/en-us/productsservices/envi.aspx 10 restricciones de uso que imponen las licencias de software propietario y los problemas que pueden surgir con actualizaciones no controladas. Es pretensión también del presente trabajo que los principales fundamentos a la hora de desarrollar la aplicación sean el manejo sencillo, óptimo y útil de dichos algoritmos así como de las funcionalidades que se crean necesarias para complementar este manejo utilizando para ello la biblioteca Qt. En concreto, los algoritmos incluidos en la comparativa que abarca la presente memoria son: VD (Virtual Dimensionality), HYSIME, PCA (Principal Component Analysis), SPCA (Spatial Principal Component Analysis), OSP (Orthogonal Subspace Proyections) [2], N-FINDR, LSU (Linear Spectral Unmixing) [1] e ISRA (Image Space Reconstruction Algorimth). 11 1.2. Objetivos Como se ha comentado en el anterior apartado el principal objetivo de este trabajo es el desarrollo de una aplicación para el manejo de algoritmos de procesamiento de imágenes hiperespectrales de forma gráfica y amigable, sin perder de vista la eficiencia y utilidad de los algoritmos que se usan, así como la creación de una plataforma que aglutine el conjunto de trabajos desarrollados por el Grupo de Investigación son los objetivos generales de este Trabajo Fin de Máster. De forma más específica los objetivos que se han ido planteando son los siguientes: Aprender a desarrollar aplicaciones utilizando la biblioteca Qt así como el entorno de desarrollo propio de esta biblioteca (QtCreator) y la extensión de complementos gráficos Qwt en consonancia a distintas tecnologías usadas a este fin. Crear una aplicación de complejidad mínima pretendiendo mejorar la presentación de los resultados y la eficiencia de los algoritmos incluidos, junto con herramientas útiles para el estudio y comparación de los resultados ofrecidos. Reducir al mínimo el número de dependencias que la herramienta pueda tener de cara a una distribución mayor y una difusión positiva de la valoración de esta. Implementar en el lenguaje de programación C++ los algoritmos utilizados en la presente memoria: VD, HYSIME, PCA, SPCA, anteriormente OSP, las NFINDR, versiones LSU de e estos ISRA. Ya algoritmos que se encontraban implementadas en C y las versiones que la 12 herramienta incluía, a pesar de estar en C++, utilizan la librería ORFEO ToolBox, que como se explicará más adelante, ha dejado de utilizarse en el desarrollo de la herramienta. Crear una plataforma abierta a la integración de nuevas tecnologías entre las cuales podemos mencionar CUDA y ejecución de algoritmos y visualización de resultados de forma remota. 13 CAPÍTULO 2. Antecedentes El este capítulo se presentan los principales conceptos básicos que se van a utilizar a lo largo del documento. En primer lugar se describe el concepto de imagen hiperespectral, detallando las particularidades y características propias de este tipo de imágenes de alta dimensionalidad. A continuación se explica el problema de la mezcla que se presenta en este tipo de imágenes así como los diferentes modelos de mezcla que se pueden utilizar, con particular énfasis en la extracción de firmas espectrales puras o endmembers. Por último se realizará un análisis del software actualmente disponible para el procesamiento de las imágenes hiperespectrales. 2.1. Análisis hiperespectral En la actualidad, existe un amplio conjunto de instrumentos o sensores capaces de medir singularidades espectrales en diferentes longitudes de onda a lo largo de áreas espaciales extensas [3]. La disponibilidad de estos instrumentos ha motivado una redefinición del concepto de imagen digital a través de la extensión de la idea de píxel. Así en una imagen en escala de grises podemos decir que un píxel está constituido por un único valor discreto, mientras que, en una imagen hiperespectral, un píxel consta de un conjunto amplio de valores. Estos valores pueden ser entendidos como vectores N-dimensionales [4], siendo N el número de bandas espectrales en las que el sensor mide información. La ampliación del concepto de píxel da lugar a una representación en forma de cubo de datos, tal y como aparece en la Figura 2.1. En este caso el orden de magnitud de N permite realizar una distinción a la hora de hablar de imágenes multidimensionales. Así, cuando el valor de N es reducido, típicamente unas cuantas bandas espectrales [5] se habla de imágenes 14 multi-espectrales, mientras que, cuando el orden de magnitud de N es de cientos de bandas [6] se hablad de imágenes hiperespectrales. Figura 2.1: Ejemplo de imagen multi-espectral de cuatro bandas En este sentido, el análisis hiperespectral se basa en la capacidad de los sensores hiperespectrales para adquirir imágenes digitales en una gran cantidad de canales espectrales muy cercanos entre sí, obteniendo, para cada píxel, una firma espectral característica de cada material [3]. Este proceso facilita la identificación y cuantificación de los materiales en la escena [7,8]. 15 Figura 2.2: Procedimiento de análisis hiperespectral. Tal y como hemos comentado anteriormente, el resultado de la toma de datos por parte de un sensor hiperespectral sobre una determinada escena puede ser representado en forma de cubo de datos, con dos dimensiones para representar la ubicación espacial de un píxel, y una tercera dimensión para representar la singularidad espectral de cada píxel en diferentes longitudes de onda. La Figura 2.2 ilustra el procedimiento de análisis hiperespectral mediante un sencillo diagrama, en el que se ha considerado como ejemplo descriptivo el sensor Airbone Visible Infrared Imaging Spectometer (AVIRIS) de NASA Jet Propulsion Laboratory. La capacidad de observación de este sensor es mucho más avanzada que la de otros dispositivos similares, en particular en términos de relación señal-ruido (SNR) del sensor [6], y permite la obtención de píxels formados por doscientos veinticuatro valores espectrales, a partir de los cuales puede 16 obtenerse una firma espectral característica que será utilizada en el proceso de análisis. Para concluir este subapartado, la Figura 2.3 muestra un ejemplo de dos firmas espectrales asociadas a una cubierta vegetal, utilizada en este caso como un sencillo ejemplo ilustrativo. La primera de ellas (izquierda) fue adquirida por un sensor multiespectral, en concreto, Landsat Thematic Mapper [9], que dispone de un total de siete bandas en el rango 0.48 – 2.21 . La segunda (derecha) fue obtenida por el sensor hiperespectral AVIRIS, anteriormente comentado. Como puede apreciarse en la Figura 2.3, la firma espectral obtenida mediante un sensor hiperespectral se asemeja a un espectro continuo de valores, mientras que la firma proporcionada por un sensor multiespectral es mucho menos detallada. Figura 2.3: Firmas espectrales de vegetación obtenidas por el sensor multiespectral Landsat TM (7 bandas) y el sensor hiperespectral AVIRIS (224 bandas). 17 2.2 El problema de la mezcla Como se ha mencionado en el apartado anterior, la capacidad de observación de sensores hiperespectrales como AVIRIS permite la obtención de una firma espectral detallada para cada píxel de la imagen, dada por los valores de reflectancia adquiridos por el sensor en diferentes longitudes de onda, lo cual permite una caracterización muy precisa de la superficie de nuestro planeta. Conviene destacar que, en este tipo de imágenes, es habitual la existencia de mezclas a nivel de subpíxel, por lo que a grandes rasgos podemos encontrar dos tipos de píxels en estas imágenes: píxels puros y píxel mezcla. Se puede definir un píxel mezcla como aquel en el que cohabitan diferentes materiales [2, 10-12]. Este tipo de píxels son los que constituyen la mayor parte de la imagen hiperespectral, en parte, debido a que este fenómeno es independiente de la escala considerada ya que tiene lugar incluso a niveles microscópicos [13]. La Figura 2.4 muestra un ejemplo del proceso de adquisición de píxels puros (a nivel macroscópico) y mezcla en imágenes hiperespectrales. Figura 2.4: Tipos de píxels en las imágenes hiperespectrales. 18 Los píxels mezcla constituyen la mayor parte de los píxels de una imagen hiperespectral, y su existencia se debe a una de las dos razones que mencionamos a continuación: Mezcla macroscópica. Si el tamaño de píxel no es lo suficientemente grande para separar diferentes materiales, dichos elementos ocuparan el espacio asignado al píxel, con lo que el espectro resultante obtenido por el sensor será en realidad un espectro correspondiente a una mezcla de componentes [14]. Esta situación aparece ilustrada mediante un ejemplo en la Figura 2.5. Figura 2.5: Mezcla macroscópica Mezcla íntima. Pueden obtenerse píxels mezcla cuando diferentes materiales se combinan, dando lugar a lo que se conoce como mezcla intima entre materiales [15,16]. Podemos observar esta situación en la Figura 2.6. 19 Figura 2.6: Mezcla íntima. 20 2.3. Firmas espectrales puras. Un píxel mezcla puede ser descompuesto en una colección de espectros "puros" o "característicos" (denominados endmembers en la terminología) y en un conjunto de valores denominados abundancias que indican la proporción o contribución individual de cada uno de los espectros puros en el píxel mezcla [17]. El modelo utilizado para describir la situación anteriormente comentada es el denominado “modelo de mezcla”, el cual considera que cualquier escena está constituida por un conjunto de endmembers con propiedades espectrales características y diferentes entre sí, y que aparecen mezclados en distintas proporciones [18,19]. Dentro del modelo de mezcla, se consideran dos posibilidades diferentes: lineal y no lineal. El modelo lineal de mezcla supone que cada haz de radiación solar incidente solamente interactúa con un único componente o endmember, de forma que la radiación total reflejada por un píxel mezcla se puede descomponer de forma proporcional a la abundancia de cada uno de los endmembers en el píxel [20,21]. El modelo lineal proporciona resultados adecuados en gran cantidad de aplicaciones [22], y se caracteriza por su simplicidad [23]. Por su parte, el modelo no lineal ha sido utilizado con gran éxito en determinadas aplicaciones de carácter específico, especialmente en aplicaciones orientadas a estudiar las propiedades de cubiertas vegetales (Zarco-Tejada y col., 2001). Este modelo aparece ilustrado gráficamente en la Figura 2.7. 21 Figura 2.7: modelo lineal de mezcla. Como aparece reflejado en la Figura 2.7 el modelo lineal de mezcla presupone que la proporción de componentes o endmembers que se mezclan en un determinado píxel de la imagen sigue un proceso lineal. Sea s la firma espectral obtenida por un sensor hiperespectral en un determinado píxel. Este espectro puede ser considerado como un vector N-dimensional, donde N es el número de bandas espectrales del sensor. El vector s puede modelarse en términos de una combinación lineal de vectores endmembers, , i=1. Y, de acuerdo con la expresión 2.1 que se muestra a continuación. ∑ (2.1) Donde E es el número total de endmembers, que representa la abundancia del endmember es un valor escalar en el píxel , y es un vector de error que debe ser lo más reducido posible. El modelo lineal de 22 mezcla puede interpretarse de forma gráfica utilizando un diagrama de dispersión entre dos bandas poco correlacionadas de la imagen, tal y como se muestra en la Figura 2.8. En la misma, puede apreciarse que todos los puntos de la imagen quedan englobados dentro del triángulo formado por los tres puntos más extremos (elementos espectralmente más puros). Los vectores asociados a dichos puntos constituyen un nuevo sistema de coordenadas con origen en el centroide de la nube de puntos, de forma que cualquier punto de la imagen puede expresarse como combinación lineal de los puntos más extremos, siendo estos puntos son los mejores candidatos para ser seleccionados como endmembers. El paso clave a la hora de aplicar el modelo lineal de mezcla consiste en identificar de forma correcta los elementos extremos de la nube de puntos N-dimensional. Figura 2.8: Interpretación gráfica del modelo lineal de mezcla. 23 2.4. Análisis del software disponible para el tratamiento de imágenes hiperespectrales 2.4.1. Software comercial existente para el análisis hiperespectral En la actualidad existen varios software comerciales dedicados al tratamiento de imágenes hiperespectrales. En este apartado del trabajo vamos a analizar dos de ellos: ENVI y PCI Geomatics. ENVI es un software para el procesamiento y análisis de imágenes geoespaciales utilizado por profesionales GIS, científicos, investigadores y analistas de imágenes propuesto por ITT Visual Information Solutions. ENVI combina procesamientos de las imágenes espectrales más recientes con tecnología de análisis de imagen mediante una interfaz intuitiva y fácil de usar que ayuda a obtener información significativa de las imágenes tratadas. Como programa está constituido sobre lenguaje (IDL) especializado en el manejo de datos multidimensionales y su visualización. Se diferencia de otros programas similares en que contiene funciones especialmente adaptadas al trabajo con información territorial o geográfica. ENVI se caracteriza por ser multiplataforma, existiendo versiones para Windows, Linux y varias versiones de UNIX, lo que lo hace muy versátil, además es el primer software totalmente compatible con ArcGIS [24]. A continuación podemos ver una imagen de ENVI (Figura 2.9). 24 Figura 2.9: Interfaz proporcionada por el software ENVI ITT. El software PCI Geomatics para Procesamiento Digital de Imágenes Satelitales de todo tipo de sensor aeroespacial se ofrece con dos niveles de funciones: o Geomatica Core con todo lo necesario para clasificar imágenes multiespectrales (paquete básico). o Geomatica Prime que ofrece muchas funciones analíticas de geoprocesamiento Raster (paquete ampliado). PCI Geomatica integra en un solo entorno, las herramientas comúnmente utilizadas en la teledetección y análisis espacial [25]. En la Figura 2.10 vemos un ejemplo de esta herramienta. 25 Figura 2.10: Captura de pantalla de la herramienta PCI Geomatica. Ambas herramientas proporcionan un amplio número de funcionalidades de forma sencilla y amigable. Por supuesto, el hecho de que sean software propietario provoca que su uso y las funcionalidades aportadas dependan del soporte dado por las respectivas compañías que los desarrollan. 26 2.4.2. Software libre existente para el análisis hiperespectral En este apartado hablaremos de las herramientas para imágenes hiperespectrales en MATLAB (Hyperspectral Image Analysis Toolbox, HIAT) y de la librería de C++ ORFEO ToolBox, estando este conjunto de herramientas previstas para el análisis de datos hiperespectrales y multiespectrales. HIAT es una colección de funciones que amplían las capacidades del entorno informático numérico MATLAB. Se ha implementado para los sistemas Macintosh y PC con Windows utilizando MATLAB. El propósito de esta caja de herramientas es proporcionar al usuario un entorno en el que pueden utilizar diferentes métodos de imágenes de datos funciones hiperespectrales proporcionan los métodos procesamiento de y multiespectrales. Además estas estándar de procesamiento de imágenes tales como el análisis discriminante, componentes principales, la distancia euclídea, y de máxima verosimilitud. En comparación con las aplicaciones del apartado anterior estos métodos ofrecen algunas de las mismas funcionalidades particularmente útiles para el tratamiento de imágenes hiperespectrales en código libre. Por el contrario, este mismo hecho, al ser código MATLAB, hace que su eficiencia sea, en comparación, bastante reducida. Por otro lado, CNES decide desarrollar ORFEO ToolBox (OTB) como un conjunto encapsulado de algoritmos en una librería de software [26]. El objetivo que se plantean para OTB es establecer una metodología savoir faire (“don de gentes”) para adoptar un enfoque de desarrollo incremental con el objetivo de explotar, de manera eficiente, los resultados obtenidos en el marco de los estudios I + D. Todos los avances desarrollados están basados en FLOSS (Free Open Source Software) o en desarrollos previos por parte del CNES. OTB es distribuido bajo licencia CéCILL (http://www.cecill.info/licences/Licence_CeCILL_V2- 27 en.html). En la figura 2.11 podemos ver un ejemplo de aplicación usando la librería ORFEO. OTB está implementado en C++ y se basa principalmente en ITK (Insight Toolkit). ITK es una librería desarrollada por US National Library of Medicine of the National Institutes of Health. Es usada como elemento principal de OTB, por esa razón, muchas las clases de OTB heredan sus funcionalidades de algunas de las clases de ITK. Para establecer una continuidad en el aprendizaje, la documentación de OTB, sigue las mismas líneas de organización y diseño que la documentación de ITK, de tal manera que, para el usuario, la navegación por los distintos métodos y clases de las dos librerías se hace mucho más sencilla. Figura 2.11: Captura de una aplicación basada en ORFEO ToolBox para el tratamiento de imágenes. OTB fue creado desde su inicio (y hasta ahora) de forma colaborativa. La enseñanza, la investigación y los usos comerciales, de este conjunto de herramientas son algunos de los objetivos previstos que se tenían para esta 28 librería. Los desarrolladores proponen, que de usarse, se colabore en su mejora mediante el reporte de errores, la contribución con nuevas clases y su difusión mediante cursos para llegar al mayor número posible de colaboradores, siendo debido a su facilidad de uso, algo realmente factible. De estas sugerencias se observa una clara disposición al mantenimiento a largo plazo y al aumento de nuevas funcionalidades de la librería, el cual, puede ser un punto a tener en cuenta en futuros proyectos. Figura 2.12: Aplicación basada en OTB para segmentación de imágenes. Como conclusión podemos decir que la librería ORFEO ToolBox provee de un conjunto de recursos (como los ofrecidos por software comerciales) para el tratamiento de imágenes hiperespectrales, tanto en la línea que este trabajo trata como en otras como puede ser segmentación (ver Figura 2.12) o clasificación de imágenes, bastante útiles, como pueden ser los métodos de lectura y escritura de imágenes en distintos formatos o la extracción de un píxel concreto, además de las ventajas que supone ser software libre en la investigación y el estudio, así como, en el desarrollo de nuevas funcionalidades. Por añadido provee de estas funcionalidades en código C por lo que su eficiencia, en comparación a otros toolboxes, es mucho mayor. 29 2.4.4. Ventajas del software libre para el tratamiento de imágenes hiperespectrales. En este apartado se comentarán las ventajas del desarrollo mediante software libre de una aplicación en general, y para el tratamiento de imágenes hiperespectrales en particular, frente a herramientas de código propietario como puede ser ENVI. Entre ellas destacaremos las siguientes: Libertad para el usuario para que pueda utilizar el software como más le convenga en cuestiones de modificación y difusión. Estas dos cuestiones son muy importantes para aplicaciones de investigación ya que las aplicaciones se mantienen más actualizadas en el ámbito de nuevos avances en la materia que se trate. La apuesta por el bien común hace que se pueda mejorar aplicaciones o algoritmos de otros desarrolladores teniendo en el mismo tiempo más y mejores aplicaciones ya que no se tiene que partir de cero. En la cuestión económica simplemente hacer hincapié en el bajo o nulo coste de los productos libres con la consiguiente rebaja en los gastos en licencias de uso de software propietario. Esto permite y motiva a tener un mayor número de desarrolladores e investigadores ya que la limitación de puestos de trabajo es menor. El soporte y compatibilidad a largo plazo, más que una ventaja del software libre es una desventaja del software propietario. A un vendedor, una vez alcanzado el número máximo de ventas, le interesa sacar un nuevo producto más que mejorar el presente para 30 que los usuarios sigan trabajando con él. Esto obliga al vendedor a intentar en la medida de lo posible hacer obsoleto el producto anterior. Con el uso de software libre se pretende centrar la atención el uso de la aplicación en sí, teniendo estas vidas más largas ya que se van solucionando los fallos a medida que se descubre y aportando nuevas funcionalidades sin necesidad de aprender un nuevo entorno de trabajo. Por contra un software como ENVI ofrece una garantía de calidad que el software libre no puede asegurar. 31 CAPÍTULO 3. Algoritmos implementados En esta sección describimos los algoritmos de extracción de endmembers y desmezclado espectral que se han incluido en la herramienta desarrollada. Antes de describir las soluciones disponibles Como puede apreciarse en la figura 3.1, la metodología parte de una imagen preprocesada, es decir, corregida geométricamente [27] y atmosféricamente [28]. A continuación, se efectúan los siguientes pasos: 1. Reducción dimensional. Este paso es opcionalmente utilizado por ciertos algoritmos con objeto de reducir la carga computacional de pasos sucesivos mediante la eliminación de ruido e información redundante en la imagen. 2. Identificación de endmembers. En este paso se identifican las firmas espectrales puras que se combinan para dar lugar a pixels mezcla en la imagen. 3. Estimación de abundancias. La abundancia de las firmas espectrales puras o endmembers es estimada en cada pixel de la imagen. 32 Imagen pre-procesada Imagen reducida dimensionalmente PCA, MNF, ICA Reducción dimensional LSU, FCLSU Estimación de abundancias Extracción de endmembers endmembers Reflectancia (%*100) 5000 4000 3000 2000 1000 0 300 600 900 1200 1500 1800 2100 2400 Longitud de onda (nm) Mapas de abundancia Figura 3.1: Cadena completa de desmezclado o unmixing de imágenes hiperespectrales. A partir del conjunto de pasos anteriormente descrito, el paso de identificación de endmembers y el paso de estimación de abundancias pueden ser considerados problemas separados. Existe un paso previo opcional que es la estimación del número de endmembers presentes en la imagen a procesar. Este paso proporciona el número teórico de firmas espectrales puras en la imagen. Así los resultados obtenidos por la cadena de demezclado estarán enfocados al caso óptimo. 33 3.1. Estimación del número de endmembers En este paso de la cadena de demezclado los algoritmos proveen de un valor numérico de estimación de las firmas espectrales puras que contiene la imagen hiperespectral que se esta procesando. Dependiendo de la complejidad y la dimensionalidad de la imagen procesada, estos algoritmos pueden ser demasiado costosos en aplicaciones donde el tiempo sea crítico, debido a ello, no se considera una etapa obligatoria de la cadena de demezclado. Dos de los algoritmos más extendidos son Virtual Dimensionality y Hyperspectral Signal Identification by Minimum Error. 3.1.1. VD En el algoritmo Virtual Dimensionality a la imagen hiperespectral de vez son vectores de bandas. (VD) se denota píxeles, los cuales a su En primer lugar el algoritmo calcula los autovalores de la matriz de correlación (3.1) y la matriz de covarianza (3.2) para cada una de las bandas espectrales de la imagen original . ̅ ̅ ̅̅̅̅ (3.1) (3.2) Si una firma espectral en particular hace una contribución al valor propio representado en la señal de energía de una banda espectral, ocurre que su valor propio de correlación asociado será mayor que su valor propio de covarianza correspondiente en esta banda particular. Por otro lado, si el valor propio de correlación estuviera muy cerca del valor propio de 34 covarianza, en ese caso, lo único que habría presente en esa banda sería ruido. Aplicando este concepto, un detector Neyman-Pearson [29] es introducido para la cuestión de si una firma distintiva está presente o no en cada una de las bandas espectrales como un problema de hipótesis binaria donde se genera un determinado detector Neyman-Pearson para la toma de decisiones en base a (probabilidad de falsa alarma) dada. Con todo el problema se reduce pues a establecer un valor de la apropiada estimación de las adecuado para obtener firmas espectrales. 3.1.2. HYSIME El algoritmo Hysime se establece en dos pasos [30]. En primer lugar hacer una estimación del ruido presente en la imagen , ̂ hiperespectral original. Siendo ̂ y calculamos la matriz de estimación de ruido ̂ iterativamente mediante la expresión 3.3. ̂ ̂ Donde desde (3.3) ̂ [̂] siendo en una iteración . En segundo lugar calcular la matriz de correlación del ruido matriz de correlación de la señal ∑( ̂ ̂ ) . ∑ 35 ̂ ( ̂ ) (3.4) y la Sea los autovalores de ordenados de forma ascendente las firmas espectrales estimadas son aquellas donde 36 . 3. 2. Reducción de componentes El método de análisis de componentes principales o Principal Component Analysis (PCA) aprovecha la elevada correlación existente entre bandas consecutivas de una imagen hiperespectral para reducir su dimensionalidad [31]. La transformación PCA permite obtener un conjunto reducido de bandas (denominadas autovectores) poco correlacionadas entre sí, (ortogonales, en el caso ideal) que contienen la mayor parte de la información presente en la imagen original. Así, el primer autovector contiene el mayor porcentaje de la varianza de la imagen original; el segundo contiene mayor porcentaje de varianza que el tercero, y así sucesivamente. Las últimas bandas de la descomposición suelen venir caracterizadas por un escaso contenido en cuanto a información relevante, estando en su mayor parte compuestas por el ruido presente en la imagen original). De esta forma, la transformación PCA permite separar ruido de información útil [32]. Es importante destacar que el conjunto de bandas resultante de la transformación PCA es obtenido a partir de combinaciones lineales de las bandas originales de la imagen [33]. Esta transformación sirve para reducir la dimensionalidad del conjunto de datos, en el caso de las imágenes hiperespectrales, el número de componentes por píxel. Por ejemplo el algoritmo de extracción de endmembers N-FINDR utiliza los resultados de este algoritmo para extraer dichos endmembers a partir una imagen dimensionalmente “reducida”. La etapa de reducción dimensional no es, en sí misma, necesaria para el análisis de imágenes hiperespectrales [34]. Sin embargo, se trata de un paso que muchos algoritmos incorporan, debido a la alta dimensionalidad de los datos analizados. La transformación PCA aparece ilustrada de forma gráfica en la Figura 3.1. Como puede apreciarse en la figura, esta transformación permite 37 obtener un nuevo sistema de coordenadas sobre el que se proyectan los datos. Banda Y Componente 1 Componente 2 Banda X Figura 3.2: Ilustración gráfica de la transformación PCA. 3.2.1. PCA El algoritmo comienza creando una matriz a partir de los píxels de la imagen hiperespectral. De esta matriz se extraen los autovectores mediante una descomposición SVD o Singular Value Descomposition, que es una factorización de una matriz real o compleja tal y como se ve en la expresión 3.5. (3.5) Donde es una matriz unitaria de , es una matriz diagonal con números reales no negativos en la diagonal, y transpuesta de que es una matriz unitaria de es la conjugada . Estos autovectores se multiplican por la matriz para obtener la matriz PCA que será base para la imagen de salida. Esta imagen de salida tendrá 38 el mismo número de píxels que la original pero con el número de componentes deseadas. 3.2.2. SPCA O Simple Principal Component Analysis [35] es una versión del algoritmo anterior donde no hace falta calcular la SVD. El método consiste en calcular iterativamente los autovectores de la imagen original de tal manera que en cada iteración se le resta la influencia del mayor autovector. Las condiciones de terminación de esta iteración es la convergencia de los autovectores en base a un valor de margen proporcionado o la finalización del número de iteraciones introducido en la ejecución del algoritmo. 39 3. 3. Extracción de endmembers Estos algoritmos están pensados para calcular, a partir de la imagen hiperespectral y un número deseado o estimado de posibles firmas espectrales puras, los valores de dichas firmas. 3.3.1. OSP El algoritmo OSP fue inicialmente desarrollado para encontrar firmas espectrales utilizando el concepto de proyecciones ortogonales. El algoritmo hace uso de un operador de proyección ortogonal que viene dado por la expresión 3.6. 𝐏 ┴ 𝐄 𝐈 𝐄 𝐄 𝐄 𝐄 (3.6) Donde 𝐄 es una matriz de firmas espectrales, 𝐄 es la traspuesta de dicha matriz, e 𝐈 es la matriz identidad. El algoritmo utiliza el operador mostrado anteriormente de forma repetitiva hasta encontrar un conjunto de píxels ortogonales a partir de un píxel inicial. El proceso iterativo efectuado por este algoritmo puede resumirse en los siguientes pasos: 1. Calcular 𝐞 , el píxel más brillante de la imagen hiperespectral, utilizando la siguiente expresión: 𝐞 donde 𝑎𝑟𝑔 𝑗 es el píxel en las coordenadas 𝑎𝑥 𝑗 𝑗 𝑗 , 𝑗 de la imagen. Como puede comprobarse, el píxel más brillante es aquel que resulta en mayor valor al realizarse el producto vectorial entre el vector asociado a dicho píxel y su transpuesto primera del píxel. 40 𝑗 o lo que es lo mismo, la norma 2. Aplicar un operador de proyección ortogonal que denotamos como ┴ 𝐏 , basado en la expresión anterior, con 𝐄 𝐄 𝐞 . Este operador se aplica a todos los píxels de la imagen hiperespectral. 3. A continuación, el algoritmo encuentra un nuevo endmember con el mayor valor en el espacio complementario <𝐞 .>┴ , ortogonal a 𝐞 ., de la siguiente forma: 𝐞 . 𝑎𝑟𝑔 𝑎𝑥 𝑗 𝐏𝐄┴ 𝑗 𝐏𝐄┴ 𝑗 . En otras palabras, el algoritmo busca el píxel con mayor ortogonalidad con respecto a 𝐞 . 4. El siguiente paso es modificar la matriz 𝐸 añadiendo el nuevo endmember encontrado, es decir 𝐄 𝐞 𝐞 . 5. Seguidamente el algoritmo encuentra un nuevo endmember 𝐞 con el mayor valor en el espacio complementario<𝐞 𝐞 >┴ , ortogonal tanto a 𝐞 como a 𝐞 Y 𝑡 , de la siguiente forma: 𝐞 𝑗 𝐏𝐄┴ 𝑗 𝑎𝑥 𝑗 𝐏𝐄┴ . Es preciso tener en cuenta que, a diferencia del paso 3) en el que 𝐄 basa en la matriz 𝐄 𝑎𝑟𝑔 𝐞 en este punto el trabajo ortogonal se 𝐞 𝐞 . 6. El proceso se repite, de forma iterativa hasta encontrar el número de endmembers que deseemos. Como puede comprobarse en los experimentos realizados, este algoritmo es efectivo a la hora de identificar un conjunto de endmembers espectralmente diferenciados gracias a la condición de ortogonalidad impuesta en el proceso de búsqueda. Como característica negativa, tal y como se muestra en los resultados experimentales el algoritmo puede ser sensible a outliers y píxels anómalos, los cuales podrían ser descartados mediante un proceso capaz de incorporar información espacial de forma previa. 41 3.3.2. N-FINDR El algoritmo N-FINDR utiliza una técnica basada en identificar los endmembers como los vértices del simplex de mayor volumen que puede formarse en el conjunto de puntos. N-FINDR no trabaja con todo el cubo de datos sino con una simplificación del mismo a tantas bandas como endmembers se deseen encontrar. Para este tipo de reducciones se suele utilizar la técnica PCA (Principal Component Analysis) o MNF (Minimum Noise Fraction). El único parámetro que tiene este algoritmo es el número de endmembers a identificar. El funcionamiento del algoritmo se describe en los siguientes pasos: 1. Realizar una reducción de la imagen a un número de bandas igual al número de endmembers que se desean extraer mediante PCA o MNF (en nuestro caso PCA). Seleccionar un número aleatorio de píxels que se etiquetan como endmembers. Ésta selección inicial será refinada de forma iterativa. 2. El segundo paso consiste en seleccionar un píxel de la imagen original. Este píxel se va intercambiando de forma sucesiva a cada uno de los endmembers inicialmente seleccionados. 3. A medida que el píxel se va intercambiando con los endmembers iniciales se calcula el volumen del hiperpolígono formado con el nuevo punto considerado. 4. Si el volumen obtenido tras el intercambio es mayor que el que había antes del intercambio, el nuevo punto trae como consecuencia un reemplazamiento en el conjunto de endmembers y el nuevo píxel 42 pasa a formar parte del conjunto de endmembers. En caso contrario, se deshace el intercambio. 5. Los pasos 3-5 se repiten de forma iterativa hasta comprobar todos los píxels de la imagen. De tal forma que al final del proceso tendremos un conjunto de endmembers tal que su volumen es el mayor posible. Conviene destacar que, en el primer paso del algoritmo, se establece de forma aleatoria un conjunto inicial de endmembers. Si la estimación inicial es adecuada, el algoritmo llegará a la solución óptima. Por el contrario, una estimación inicial errónea puede dar como resultado que no se llegue a la solución óptima sino que nos quedemos en un máximo local de la función de crecimiento del hiperpolígono. El algoritmo presupone que un aumento en el volumen del hiperpolígono definido al incorporar un nuevo píxel en el conjunto de endmembers conlleva una mayor calidad de los mismos. Sin embargo, la Figura 3.3 muestra que el hecho de utilizar un polígono de mayor volumen no asegura una mejor descripción del conjunto de puntos. Un parámetro más fiable es el aumento en el número de píxels que pueden describirse utilizando el nuevo conjunto de endmembers. 43 Figura 3.3: Funcionamiento del algoritmo N-FINDR. Para concluir la descripción de este método, es importante destacar que los endmembers identificados por el algoritmo N-FINDR corresponden a píxels pertenecientes al conjunto de datos original. Utilizando este algoritmo, no es posible generar endmembers artificiales, pues los reemplazamientos se realizan siempre utilizando puntos existentes en el conjunto de muestras disponibles. De este modo, puede ocurrir que los endmembers seleccionados no sean los más puros. Además, el método es sensible a outliers (entendidos como píxels con ruido), situación que puede remediarse en parte al incorporar la información espacial en el proceso de búsqueda. Una vez descritas dos aproximaciones clásicas al problema de extracción de endmembers basadas en información espectral, procedemos a describir métodos que también incorporan información espacial en el proceso. 44 3.4. Unmixing Los píxeles de una imagen, representan áreas de uno a varios metros cuadrados. Estos píxeles, generalmente están compuestos por mezclas de materiales, lo cual nos lleva a la conclusión de que los píxeles puros no son muy frecuentes. Así la firma espectral medida por la mayoría de los sensores en un determinado punto es una mezcla de materiales que puede expresarse como una combinación lineal de los espectros "puros" o endmembers y sus pesos en la combinación lineal dependen de la fracción de área que ocupan. Los píxeles mezcla, pueden analizarse usando un modelo matemático donde el espectro observado es el resultado de la suma de los productos entre el espectro puro del material “extremo” por el porcentaje de abundancia correspondiente. La Figura 3.4 ilustra lo descrito anteriormente. Figura 3.4: Representación de la mezcla de tres endmembers. 45 3.4.1. LSU A partir de los datos de la imagen hiperespectral, obtener un conjunto de datos según la expresión 3.7. 𝐄 𝐄 𝐄 Donde 𝐄 𝐄 𝑗 (3.7) la abundancia de ese conjunto de endmembers en ese píxel, 𝐄 es la matriz con los valores de los endmembers y 𝑗 es un vector con los valores para un píxel determinado de la imagen. Aplicando esta operación a cada píxel de la imagen podemos obtener imágenes que representan la concentración de un endmember en la imagen (mapas de abundancia). 3.4.2 ISRA O Image Space Reconstruction Algorimth se basa en la expresión 3.8. 𝑗 Donde ∑ 𝑗 ∑ 𝐄 𝐄 𝐄 ̂ es el número de píxels, ̂ (3.8) 𝑎𝑟𝑔 𝐄 y𝑗 . En base a esta expresión podemos decir que si los valores iniciales del vector de abundancias son positivos las abundancias finales son positivas y si llega a ser cero se mantiene en cero. 46 Este algoritmo iterativo termina cuando la estimación de la siguiente abundancia calculada en comparación con la anterior es muy similar en base a un valor de error establecido de antemano. El ratio de convergencia de este algoritmo es lento aunque pueden utilizarse distintos métodos para acelerar esta convergencia. La ventaja de este algoritmo es que resulta más simple de implementar tanto en software como en hardware. 47 CAPÍTULO 4. La herramienta HyperMix En este capítulo trataremos más en profundidad acerca de la herramienta en si, así como de los cambios realizados respecto a la versión anterior [36,37] y las razones en particular que nos han llevado a ello. En primer lugar señalar que el desarrollo de esta herramienta tiene una serie de objetivos que son: Desarrollo de una aplicación que facilite el manejo y la visualización de los algoritmos para el tratamiento de imágenes hiperespectrales. Difusión mediante una plataforma de los algoritmos desarrollados e implementados por el grupo de investigación en código abierto. Como método de iniciación en la temática de la cadena de demezclado, mediante el uso de algoritmos de una forma gráfica sencilla. Como plataforma donde poder integrar nuevos avances y funcionalidades útiles para el trabajo del grupo de investigación. Por otro lado aunque hay cambios que se pueden percibir a simple vista (Figura 4.1 y 4.2) entre las dos versiones detallaremos una lista de las modificaciones que la herramienta ha sufrido: 1. Se ha sustituido la librería de desarrollo de interfaces de usuario Fast Ligth ToolKit (FLTK) por Qt que es una biblioteca multiplataforma aplicaciones ampliamente tanto con interfaz usada gráfica para como desarrollar sin ella, herramientas para línea de comandos y consolas para servidores. Esta biblioteca es desarrollada como software libre y código abierto, por lo que mantiene la ideología base de la herramienta, donde participa tanto la comunidad como desarrolladores de Nokia (desarrolladores originales) y otras 48 empresas. La razón principal de este cambio radica en que tanto la versión utilizada, como las más recientes de FLTK no ofrecían la posibilidad de trabajar con programación concurrente y paralela. Aunque en esta versión no existe esa necesidad se trataba de sentar las bases para que en el futuro la inserción de estos algoritmos no fuera un contratiempo excesivo. 2. Otra de las librerías fundamentales de la versión anterior de la herramienta era ORFEO ToolBox, que es una librería software libre desarrollada por el CNES (Centre National d’Etudes Spatiales de Francia) en el marco del “ORFEO Accompaniment Program”. A pesar de que esta librería facilitaba el trabajo de implementación de los algoritmos propuestos así como de otros no incluidos en el presente trabajo, se ha decidido dejar de usarla fundamentalmente por mantener la consistencia de HyperMix respecto a otra herramienta desarrollada en el grupo de investigación HyperComp (Hyperspectral Repository [38]). La idea es que todas las herramientas desarrolladas en el grupo compartan las mismas versiones de los algoritmos y, eventualmente, trabajar coordinadas. En esta versión veremos como esta idea ha empezado a fraguarse. 49 Figura 4.1: Pantalla principal de la versión anterior de la herramienta HyperMix. Figura 4.2: Pantalla inicial de la herramienta HyperMix en la nueva versión. Hasta ahora se han mencionado los cambios realizados en las herramientas de desarrollo, a partir de aquí se mencionarán los cambios y las nuevas funcionalidades que la herramienta ofrece. 3. En primer lugar un cambio notable en la funcionalidad de la herramienta es que el número de algoritmos que se ha incluido en esta versión es menor. Esto es debido a que los algoritmos 50 (IEA, VCA, SSEE, AMEE, SCLS, NCLS y FCLS) estaban implementados usando la librería ORFEO ToolBox y han sido eliminados, de momento, por las razones anteriormente dichas. Por el contrario se han incluido los algoritmos SPCA e ISRA permitiendo tener al menos dos algoritmos por etapa de la cadena de demezclado. 4. Relativo a la presentación de las imágenes y los resultados se ha modificado la apariencia de la herramienta, usando pestañas para cada apartado, para ampliar la zona donde se muestran las imágenes, reducir el tamaño de la ventana principal y focalizar la atención del usuario en los resultados concretos que está observando. Se ha incluido a su vez la opción de cambiar la paleta de colores que se desea usar para mostrar los resultados (Figura 4.3). Figura 4.3: De izquierda a derecha las distintas paletas de colores que usa HyperMix. Grey, Envi, Hot, Cold, Bio y Jet. 5. Como se ha mencionado antes un punto importante de la herramienta de cara al futuro es compartir funcionalidades y recursos con otra de las herramientas del grupo, Hyperspectral Repository. De momento la HyperMix incluye acceso a la lista de imágenes que hay almacenadas 51 en el repositorio permitiendo su descarga y su uso así como la consulta de la información referente a las propias imágenes: dimensiones, tipo de datos, etc. Esta opción solo está disponible si, obviamente, la herramienta está conectada a Internet. En las Figuras 4.4 y 4.5 se pueden ver las ventanas que permiten el acceso al repositorio. Figura 4.4: Ventana de descarga de imágenes por FTP de la herramienta HyperMix desde Hyperspectral Repository. Figura 4.5: Ventana de selección de imágenes de la herramienta HyperMix desde Hyperspectral Repository. 52 6. Por último, en la versión anterior se incluía un apartado que permitía generar un fichero .csv con la comparativa de las firmas extraídas con una imagen con las firmas reales de la imagen. Se ha modificado la presentación de dichos resultados partiendo de la premisa de generar los mínimos archivos externos posibles y se ha ampliado la funcionalidad de comparativas mostrando los tiempos de ejecución de cada una de las últimas ejecuciones de los distintos algoritmos (Figura 4.6). Figura 4.6: Imagen de la pestaña de estadísticas donde se pueden ver los tiempos de ejecución y la diferencia entre las firmas extraídas y las de referencia. 53 Para difusión de las distintas versiones de la herramienta HyperMix y notificar las distintas actualizaciones que tenga se ha creado una página web para la aplicación (http://www.hypercomp.es/hypermix). En dicho portal podemos, además de descargar las distintas versiones de la herramienta, hacer consultas sobre temas propuestos en los distintos foros, así como proponer sugerencias para la mejora de la herramienta. En la Figura 4.7 podemos ver la vista general de la página de la herramienta HyperMix actualmente. La página requiere que el usuario se registre para poder participar y descargar la aplicación. Figura 4.7: Vista general de la página web creada para la difusión de la herramienta Hypermix. Actualmente solo está disponible la versión anterior de la aplicación. La idea de la página es centralizar las dudas y proponer soluciones accesibles sobre la herramienta que cualquier usuario de esta pueda tener. Además es una buena plataforma donde difundir nuevas versiones y obtener nuevas ideas. Como se puede ver en la Figura 4.8 existe espacio para comunicar tanto problemas de instalación y errores no detectados en la 54 herramienta como sugerencias para la herramienta y consulta del manual de usuario y los distintos trabajos publicados sobre la herramienta. Figura 4.8: Foros creados para la consulta de dudas y proponer sugerencias sobre HyperMix. 55 CAPÍTULO 5. Resultados experimentales 5.1. Descripción de imágenes hiperespectrales En el presente trabajo se contemplan tanto imágenes sintéticas como imágenes reales. Las imágenes sintéticas nos proporcionan un conocimiento verdadero del terreno y por tanto se puede evaluar cuantitativamente la capacidad de los algoritmos empleados para extraer correctamente los endmembers. Por el contrario, estas imágenes no corresponden a ninguna situación real y por lo tanto en ellas no influyen factores que sí están presentes en las imágenes reales, como pueden ser, los efectos de la atmósfera o las características del propio sensor. Por otro lado tenemos las imágenes reales en las cuales resulta más difícil determinar con exactitud la verdad terreno, con lo que los resultados obtenidos son menos precisos. 5.1.1. Sintética (Fractal) La imagen que vamos a considerar en este estudio como imagen sintética esta generada a partir de un patrón similar a los hallados en la naturaleza. Al generar esta imagen (Fractal) se consideró un patrón fractal, ya que son patrones geométricos recursivamente, lo que nos permite obtener esa similitud que buscábamos. Figura 5.1: Imagen Fractal usada para crear la imagen sintética (izquierda). Fractal dividida en clusters (derecha). 56 Las imágenes fractales se han generado con una gran variedad de colores, es decir, se ha intentado que el ancho de banda de la imagen sea lo más amplio posible para poder extraer el máximo número de clusters. Las imágenes se dividen en clusters o clases para a continuación insertar una firma espectral en cada cluster, es por ello que el número de clusters debe ser mayor que el número de firmas puras que queramos insertar. Para dividir en clusters las imágenes fractales se ha utilizado un algoritmo de clasificación de píxels no supervisado: “k-means” [39]. Al generar la imagen fue necesario decidir qué firma se iba a introducir en cada cluster Las firmas que fueron insertadas fueron obtenidas aleatoriamente de una librería espectral de minerales proporcionada por el Instituto Geológico de Estados Unidos (USGS), cuya versión completa dispone de un total de 420 firmas espectrales correspondientes a diferentes minerales. La librería espectral se encuentra disponible en la siguiente dirección web: http://speclab.cr.usgs.gov. En la Figura 5.2 se muestran las firmas espectrales de minerales consideradas en las simulaciones. Figura 5.2: Firmas insertadas en la imagen Fractal 1. 57 Es importante destacar que en la imagen fractal se han insertado nueve firmas puras. En la Figura 5.3 se puede observar las fracciones de abundancia en escala de grises de la verdad terreno del Fractal 1, lo cual ofrece una idea acerca del aspecto de la imagen hiperespectral simulada. Figura 5.3: Verdad terreno del Fractal 1 en escala de grises. 58 La imagen sintética responde a la siguiente ecuación: ∑ 𝑎 𝑎 𝑗 𝑗 de la imagen, es la fracción de abundancia de la firma 𝑗 , la posición (5.1) 𝑗 representa el píxel en la posición Donde 𝑎 𝑗 𝑟 𝑎 simular la imagen y para el píxel de denota las firmas espectrales utilizadas para que es la relación señal-ruido introducida en la imagen que puede entenderse, en términos globales, como la relación entre la amplitud de la señal obtenida y la amplitud del ruido o, lo que es lo mismo, la cantidad de señal adquirida por unidad de ruido. La aproximación utilizada en el presente trabajo para añadir ruido a las imágenes simuladas se basa en la definición de Harsanyi y Chang [40], la cual ha sido utilizada ampliamente en la literatura para imponer una relación señal-ruido predeterminada en cada una de las bandas de una imagen simulada. De este modo, se puede generar una relación SNR de r en las diferentes bandas del sensor utilizando la siguiente expresión: 𝑥 Donde 𝑥 ( 𝑥 ) 𝑥 es la firma espectral original, (5.2) 𝑥 es un vector que se multiplica a la firma antes mencionada para simular el efecto introducido por el ruido, y 𝑥 es el espectro ruidoso resultante. En el presente trabajo para la imagen Fractal existen varias imágenes, cada una de ellas con una relación SNR diferente. Las SNR empleadas se han basado en valores de r de 30, 70 y sin ruido, con lo que al final se han generado un total de tres imágenes sintéticas. Para denotar dichas 59 imágenes, utilizamos la convención “Fractalk_noise_r”, donde k hace referencia al número de fractal utilizado y r hace referencia al valor de SNR utilizado. Así, la imagen “Fractal1_noise_30” corresponde a la imagen sintética simulada a partir del Fractal, con relación SNR de 30, y así sucesivamente. 5.1.2. Real (Cuprite) La imagen real utilizada en el presente estudio fue obtenida por el sensor AVIRIS sobre el distrito minero de Cuprite, Nevada, el cual ha sido utilizado a lo largo de los años como una zona de estudio para la validación de algoritmos de tratamiento de imágenes hiperespectrales, sobre todo, para evaluar la precisión de algoritmos de extracción de endmembers [41,42]. Esto ha sido posible gracias a la obtención repetitiva de datos en sucesivas campañas utilizando diferentes sensores hiperespectrales (en concreto, el sensor AVIRIS de NASA lleva obteniendo datos en Cuprite año tras año desde 1990). Además, el Instituto Geológico de Estados Unidos (USGS) ha realizado, de forma paralela a las campanas de adquisición de imágenes, estudios sobre el terreno que han permitido la obtención de información de verdad terreno muy extensa, favoreciendo la utilización de esta imagen como un estándar a la hora de validar algoritmos de tratamiento de imágenes hiperespectrales. La imagen que hemos utilizado en el estudio (denominada AVCUP95) fue adquirida por el sensor AVIRIS en 1995 y se encuentra disponible online (http://aviris.jpl.nasa.gov). La Figura 4.4 muestra la ubicación de la imagen sobre una fotografía aérea de la zona. Visualmente, puede apreciarse la existencia de zonas compuestas por minerales, así como abundantes suelos desnudos y una carretera interestatal que cruza la zona en dirección nortesur. La imagen utilizada en el estudio consta de 350x350 píxels, cada uno de los cuales contiene 224 valores de reflectancia en el rango espectral 0.4 a 60 2.5 . La información de las firmas presentes en esta imagen se ha obtenido a partir de los datos obtenidos por el USGS en esta región (disponibles online en la dirección http://speclab.cr.usgs.gov). En la Figura 5.4 se puede observar un mapa de minerales generado mediante la herramienta Tetracorder de USGS [43] (disponible online en la dirección (http://speclab.cr.usgs.gov/PAPERS/tetracorder/), y que describe la localización de diferentes minerales y alteraciones de dichos minerales en la región Cuprite. Por otra parte, la Figura 5.6 muestra las firmas espectrales USGS de los minerales con mayor presencia en la zona de estudio, las cuales incluyen las firmas de los minerales alunite, buddingtonite, calcite, kaolinite y muscovite. Dichos minerales serán utilizados como referencia en el presente estudio, de modo que sus firmas espectrales asociadas se utilizaran como verdad-terreno a la hora de evaluar la bondad de los algoritmos de extracción de endmembers considerados en la selección de firmas espectrales puras en dicha zona. Figura 5.4: Imagen hiperespectral AVIRIS sobre la región Cuprite en Nevada, Estados Unidos. 61 Figura 5.5: Mapa de minerales obtenidos por el U.S. Geological Survey a través del algoritmo Tetracorder en la región Cuprite en Nevada, Estados Unidos. Figura 5.6: Firmas espectrales puras correspondientes a los minerales más representativos en la región Cuprite en Nevada, Estados Unidos. 62 5.2. Comparativa de resultados Esta comparativa realizada con los resultados que provee la herramienta HyperMix va a constar de diferentes partes. En primer lugar haremos un estudio de los tiempos de computación de los distintos algoritmos obtenidos con la herramienta con el objetivo de determinar que combinación de ellos para formar una cadena de demezclado completa es la que tarda menos tiempo y el potencial de mejora que tienen respecto a una futura implementación paralela. En segundo lugar realizaremos una comparación de precisión de los algoritmos de extracción de endmembers en relación a un conjunto de firmas de referencia para cada una de las imágenes (sintética y real), siendo a su vez dividida la comparativa de la imagen sintética para comparar los efectos de una señal de ruido creciente. Por último estableceremos un estudio de ruido con las imágenes fractales y como afecta este a la cadena de demezclado utilizado como medida el error en la imagen reconstruida a partir de las firmas extraídas y las abundancias calculadas. 5.2.1. Tiempo computacional En este apartado se quiere mostrar cuan “rápidos” o “lentos” son los distintos algoritmos implementados en serie, sin entrar a debatir su precisión, con objetivo de construir la cadena de demezclado más rápida posible con la herramienta y plantear, de cara al futuro, el margen de mejora para una posible implementación paralela de los mismos. Para medir la rapidez se van a utilizar los tiempos que la propia herramienta ofrece medidos en segundos. 63 Los resultados obtenidos son los siguientes: Algoritmo \ Imagen Fractal1_noise110 Cuprite VD 2,249 16,980 HYSIME 18,620 161,200 PCA 2,073 18,540 SPCA 1,980 18,710 ATGP-OSP 11,010 222,1 ATGP-OSP (sobre imagen reducida) 0,026 2,107 N-FINDR 0,010 0,219 LSU 0,107 2,212 ISRA 20,84 457,200 Tabla 5.1: Resultados experimentales de cada uno de los algoritmos de la herramienta HyperMix en segundos. Queda claro que para la imagen sintética la cadena de demezclado más rápida es aquella formada por la combinación de algoritmos VD - SPCA - N-FINDR - LSU. A su vez esta combinación parece ser la más rápida también al procesar la imagen real salvando la etapa de reducción de componentes en la que el algoritmo PCA es ligeramente más veloz que el SPCA. Aclarar que incluso eliminando la etapa de reducción de dimensionalidad para la cadena VD - OSP - LSU, esta no resulta más rápida. Por otro lado vemos como los algoritmos HYSIME, ATGP-OSP e ISRA necesitan un elevado tiempo de computación en comparación con las otras opciones, que independientemente de su precisión eleva los tiempos de computación enormemente. También comprobamos como para una imagen más grande (Cuprite 350x350x188 frente a la Fractal1 100x100x221) los tiempos de estos algoritmos se hacen demasiado costosos. Por lo tanto podemos decir que respecto a una hipotética implementación paralela estos tres algoritmos son los que más potencial de mejora tienen. 64 5.2.2. Precisión de los algoritmos de extracción de endmembers frente al ruido Para realizar esta comparación se va a utilizar como medida de referencia la distancia de ángulo espectral o spectral angle distance (SAD) donde un valor cero es representa dos firmas idénticas, comparando los resultados obtenidos por los algoritmos ATGP-OSP (directamente sobre la imagen y sobre una imagen reducida por PCA) y N-FINDR utilizando la imagen Fractal1 con diversos valores de ruido insertados en ella. Con esta comparativa queremos ver cómo de precisos son estos algoritmos frente a una señal de ruido creciente. Los resultados obtenidos son: Algoritmo-Noise 1 2 3 4 5 6 7 8 9 Media OSP-110 0,002 0,005 0,002 0 0,002 0,009 0,001 0,007 0 0,003 OSP-70 0,002 0,005 0,002 0 0,002 0,009 0,001 0,005 0,001 0,003 OSP-30 0,022 0,048 0,029 0,025 0,029 0,035 0,028 0,066 0,031 0,035 OSP-10 0,215 0,295 0,467 0,263 0,291 0,488 0,328 0,604 0,303 0,362 NFINDR-110 0,002 0 0,002 0,005 0,007 0,002 0,005 0,001 0 0,003 NFINDR-70 0,001 0,002 0,003 0,002 0,022 0,008 0,005 0 0,003 0,005 NFINDR-30 0,028 0,033 0,032 0,021 0,028 0,080 0,107 0,165 0,258 0,084 NFINDR-10 0,297 0,388 0,299 0,275 0,499 0,241 0,249 0,354 0,483 0,343 PCA+OSP-110 0,002 0,001 0,002 0 0,007 0,001 0 0,007 0,34 0,040 PCA+OSP-70 0,002 0,002 0,001 0 0,007 0,009 0,001 0,013 0,002 0,004 PCA+OSP-30 0,045 0,031 0,029 0,027 0,027 0,128 0,128 0,124 0,447 0,110 PCA+OSP-10 0,261 0,297 0,257 0,443 0,281 0,525 0,434 0,291 0,257 0,338 Tabla 5.2: Resultados obtenidos por la herramienta HyperMix comparando los endmembers extraídos con las firmas de referencia por el método del mínimo en la imagen Fractal1. En base a los resultados de la tabla anterior podemos decir en primer lugar que la diferencia de precisión entre el algoritmo OSP aplicado directamente a la imagen y aplicado a una imagen reducida por PCA es muy similar (aunque se dejan ver los efectos de la pérdida de información en el 65 último endmember de la imagen con menos ruido, debido a que el algoritmo extrae dos veces la misma firma) por lo que, basándonos en los resultados de la comparativa anterior, resulta provechoso aplicar una reducción de componentes a la imagen antes de aplicar el algoritmo OSP. A su vez, en comparación con el algoritmo N-FINDR los resultados son también muy similares. A razón de estos resultados se puede concluir que como era de esperar el incremento de la señal de ruido en una imagen reduce la precisión de los algoritmos de extracción de endmembers, siendo el menos afectado por este incremento el algoritmo OSP aplicado directamente a la imagen, aunque la progresión de pérdida de precisión entre ambos algoritmos es muy similar. Los resultados obtenidos para la imagen real son: Algoritmo 1 2 3 4 5 Media OSP 0,188 0,362 0,261 0,373 0,345 0,357 PCA+OSP 0,192 0,361 0,259 0,328 0,361 0,290 N-FINDR 0,189 0,361 0,259 0,328 0,361 0,300 Tabla 5.3: Resultados obtenidos con la herramienta HyperMix para la image de Cuprite por el método del mínimo con cinco endmembers. Teniendo en cuenta que se buscan cinco firmas espectrales concretas, los resultados muestran una distancia espectral superior a la ofrecida en la imagen sintética, consecuencia de que en la imagen existen más endmembers por extraer y que los extraídos no necesariamente son incorrectos. En base a este margen de error los resultados muestran como al aplicar una reducción dimensional, aparte de mejores tiempos de computación, obtenemos unos resultados más precisos. 66 5.2.3. Influencia del ruido en la imagen reconstruida a partir de los datos extraídos En este apartado trataremos de mostrar la diferencia de precisión en los resultados cuando el ruido mezclado en la imagen se incrementa. A diferencia del apartado anterior el resultado final de la cadena de unmixing lo compararemos en función del error cometido al reconstruir la imagen original a partir de los datos extraídos. Al igual que antes se aplicará la comparativa al algoritmo ATGP-OSP con y sin etapa de reducción de dimensionalidad y al algoritmo N-FINDR. En la siguiente tabla se muestran los valores máximo, mínimo y medio de las imágenes reconstruidas a partir de los endmembers extraídos y los mapas de abundancia generados a partir de esas firmas. Para generar los mapas de abundancia se ha utilizado el algoritmo LSU ya que no depende de que haya convergencia en los resultados como en el algoritmo ISRA. Algoritmo-Ruido Máximo Mínimo Media N-FINDR-110 0,213 0,078 0,149 OSP-110 0,264 0,094 0,183 PCA + OSP-110 696,6 205,9 464 N-FINDR-70 0,373 0,111 0,273 OSP-70 0,526 0,178 0,379 PCA + OSP-70 0,228 0,178 0,178 N-FINDR-30 28,55 0,01 16,2 OSP-30 19,61 0,007 15,12 PCA + OSP-30 24,22 0,016 16,32 N-FINDR-10 168,5 0,01 138,8 OSP-10 159,9 0,01 135,2 PCA + OSP-10 168,8 0,01 139,3 Tabla 5.4: Resultados obtenidos por la herramienta HyperMix al reconstruir la imagen a partir de los endmember y los mapas de abundancia. 67 En primer lugar el resultado obtenido para la imagen Fractal1_110 usando el algoritmo OSP tras haber realizado una reducción dimensional con el algoritmo PCA se deben a que se está utilizando la misma imagen reducida resultado de las mismas condiciones utilizadas para la requerida por N-FINDR, esto es una imagen reducida con un número de componentes igual al número de firmas que deseamos extraer menos uno. Como consecuencia el algoritmo OSP está buscando nueve vectores ortogonalmente independientes en un espacio de ocho dimensiones, por lo cual, una de las firmas espectrales se repite generando dicho error. Podemos ver en la Figura 5.7 los distintos valores de error obtenidos. Figura 5.7: Representación visual del error de reconstrucción de la imagen original a partir de las firmas extraídas y los mapas de abundancia. Las imágenes están ordenadas, de izquierda a derecha, de mayor señal de ruido a menor señal de ruido. Los colores fríos están más cerca del valor mínimo de error y los más cálidos del máximo. La imagen superior nos muestra la distribución del error de tal manera que los colores más “rojos” son valores más altos de error y los valores “azules” están más cercanos al valor mínimo de error, siendo la escala de asignación de colores a los valores proporcional a la diferencia entre el 68 máximo error en una imagen y el mínimo error de la imagen, de tal manera por ejemplo, que en la imagen con menos ruido aplicando el algoritmo OSP el rojo más intenso correspondería a un error de 0,284 y un valor de 0,094 para el azul más oscuro mientras que para la imagen con mayor señal de error incluida el rojo más intenso correspondería a un error de 159,9 y el azul oscuro a 0,01. La explicación a los valores mínimos de error en las imágenes con mayor ruido añadido viene dada por una serie de píxeles, los cuales apenas se aprecian en la Figura5.7, que han sido considerados por los algoritmos de extracción como los representativos de las firmas espectrales puras contenidas en la imagen. 69 CAPÍTULO 6. Conclusiones y líneas futuras 6.1. Conclusiones En el presente trabajo se han implementado en forma de software libre diferentes algoritmos de extracción de endmembers, así como, algoritmos reducción de dimensionalidad y algoritmos de demezclado con el objetivo de realizar una comparativa equitativa de dichos algoritmos y en qué condiciones su uso resulta más apropiado en aplicaciones de desmezclado de imágenes hiperespectrales. Dicha comparativa ha estado centrada en la precisión y velocidad dada por los algoritmos en la resolución de cada una de las etapas de la cadena de demezclado. Para abordar la comparativa desde distintos puntos de vista se han utilizado imágenes sintéticas e imágenes reales. Las imágenes sintéticas elaboradas en anteriores trabajos siguen patrones espaciales similares a los que produce la naturaleza mediante la utilización de fractales y comprenden una detallada simulación mediante el uso de firmas espectrales reales y ruido en diferentes proporciones. Por su parte, la imagen real empleada en la comparativa fue proporcionada por el sensor AVIRIS sobre el distrito minero de Cuprite, en Nevada, Estados Unidos, y para dicha imagen se dispones de información de referencia muy detallada a través del Instituto Geológico de los Estados Unidos (USGS), la cual se ha empleado para analizar la precisión de los diferentes algoritmos comparados en la tarea de extraer endmembers a partir de dicha imagen. Además se han estudiado los efectos del ruido aditivo sobre los resultados proporcionados por los algoritmos. 70 6.2. Líneas futuras En las líneas de trabajo que han quedado abiertas en el presente trabajo podemos mencionar las siguientes. Desde el punto de vista de la herramienta implementada las líneas futuras de trabajo se deberían centrar en la inclusión de nuevos algoritmos, al menos los presentes en la anterior versión de la herramienta, así como, extender sus funcionalidades para posibilitar su uso a un mayor nivel académico. La extracción de imágenes en formatos estándar (jpeg, png, étc) para almacenar los resultados obtenidos en las gráficas, mapas de abundancia y bandas de la imagen hiperespectral ayudaría a fomentar su utilidad en el entorno de investigación. Continuar con la integración de la herramienta Hyperspectral Repository de tal manera que se permita el uso indistinto de una u otra herramienta para los mismos fines, con la salvedad de realizar las actividades en un entorno local o remoto. Finalmente, se considera como línea futura de trabajo la implementación eficiente de algoritmos en arquitecturas paralelas y su integración en la herramienta, que permitan mejorar el rendimiento computacional de dicho algoritmo ya que emplea tiempos muy elevados en completar sus cálculos y puede optimizarse mediante la incorporación de técnicas de procesamiento paralelo en su diseño e implementación. En el apartado de las comparativas, la posibilidad de incluir nuevos algoritmos para la extracción de endmembers, existiendo muchos más de los planteados. Por otra parte, solo se ha utilizado una imagen real (AVIRIS Cuprite), si bien es cierto que se trata de la escena estándar más estudiada en aplicaciones relacionadas con extracción de endmembers (debido a la disponibilidad de firmas espectrales USGS de referencia para la misma), 71 sería interesante comparar los algoritmos en otras escenas hiperespectrales reales para extrapolar las conclusiones obtenidas en el presente trabajo a otros contextos. Además si se introduce computación paralela sería adecuado conocer la mejora de tiempos de computación que ofrecen los algoritmos en ambas versiones. 72 REFERENCIAS BIBLIOGRÁFICAS [1]. A. Plaza, P. Martinez, R. Perez, and J. Plaza, “A quantitative and comparative analysis of endmember extraction algorithms from hyperspectral data”, IEEE Transactions on Geoscience and Remote Sensing, vol. 42, no. 3, pp. 650–663, 2004. [2] J.C. Harsanyi and C.-I. Chang, “Hyperspectral image classification and dimensionality reduction: An orthogonal subspace projection”, IEEE transactions on Geoscience and Remote Sensing, vol. 32, no. 4, pp. 779– 785. [3] D. Landgrebe, “Hyperspectral Image Data Analysis”, IEEE Signal Processing Magazine, vol. 19, no. 1, pp. 17-28, 2002. [4] J.W. Boardman, F.A. Kruse, and R. O. Green, “Mapping Target Signatures Via Partial Unmixing of Aviris Data”, Proc. VII NASA/JPL Airborne Earth Science Workshop, pp. 23–26, 1995. [5] P.-F. Hsieh, D. Landgrebe, Classification of High Dimensional Data. Tesis Doctoral, School of Electrical and Computer Engineering, Purdue University, 1998. [6] R.O. Green, y col., “Imaging Spectroscopy and the Airborne Visible/Infrared Imaging Spectrometer (AVIRIS)”, Remote Sensing of Environment, vol. 65, pp. 227-248, 1998. [7] G. Shaw, D. Manolakis, “Signal processing for hyperspectral image exploitation”, IEEE Signal Processing Magazine, vol. 19, pp. 12-16, 2002. [8] D.W. Stein, S.G. Beaven, L.E. Hoff, E.M. Winter, A.P. Schaum, A.D. Stocker, “Anomaly Detection from Hyperspectral Imagery”, IEEE Signal Processing Magazine, vol. 19, pp. 58-69, 2002. 73 [9] C.-I Chang, C.M. Brumley, “A Kalman Filtering Approach to Multispectral Image Classification and Detection of Changes in Signature Abundance”. IEEE Transactions on Geoscience and Remote Sensing, vol. 37, pp. 257 – 268, 1999. [10] W.P. Kustas, J.M. Norman, “Evaluating the Effects of Subpíxel Heterogeneity on Píxel Average Fluxes”, Remote Sensing of Environment, vol. 74, pp. 327-342, 2002. [11] M. Faraklioti, M. Petrou, “Illumination invariant unmixing of sets of mixed píxels”. IEEE Transactions on Geoscience and Remote Sensing, vol. 39, pp. 2227-2234, 2001. [12] T.M. Tu, H.C. Shyu, C.H.Lee,C.-I Chang, “An oblique subspace projection approach for mixed píxel classification in hyperspectral images”, Pattern Recognition, vol. 32, pp. 1399-1408, 1999. [13]. R. A. Neville, K. Staenz, T. Szeredi, J. Lefebvre, and P. Hauff, “Automatic endmember extraction from hyperspectral data for mineral exploration”, Proc. 21st Canadian Symp. Remote Sensing., pp. 21–24, 1999. [14] J.M. Chen, “Spatial Scaling of a Remotely Sensed Surface Parameter byContexture”, Remote Sensing of Environment, vol. 69, pp. 30-42, 1999. [15] N. Keshava, J.F. Mustard, “Spectral unmixing”, IEEE Signal Processing Magazine, vol. 19, pp. 44-57, 2002. [16] P.E. Johnson, M.O. Smith, S. Taylor-George, J.B. Adams, “A SemiEmpirical Method for Analysis of the Reflectance Spectra of Binary Mineral Mixtures”. Journal of Geophysical Research, vol. 99, pp. 3557-3561, 1983. [17] J.W. Boardman, F.A. Kruse, and R. O. Green, “Mapping Target Signatures Via Partial Unmixing of Aviris Data”, Proc. VII NASA/JPL Airborne Earth Science Workshop, pp. 23–26, 1995. 74 [18] F.A. Kruse, “Spectral Identification of Image Endmembers Determined fromAVIRIS Data”, Proc. VII NASA/JPL Airborne Earth Science Workshop, 1998. [19] J.J. Settle, “On the Relationship between Spectral Unmixing and SubspaceProjection”, IEEE Transactions on Geoscience and Remote Sensing, vol. 34, pp. 1045–1046, 1996. [20] M. Petrou, P.G. Foschi, “Confidence in linear spectral unmixing of single píxels”, IEEE Transactions on Geoscience and Remote Sensing, vol. 37, pp. 624 – 626, Jan. 1999. [21] Y. H. Hu, H. B. Lee, F. L. Scarpace, “Optimal Linear Spectral Unmixing”, IEEE Transactions on Geoscience and Remote Sensing, vol. 37, pp. 639– 644, 1999. [22] E.F. Collins, D.A. Roberts, C.C. Borel, “Spectral Mixture Analysis of Simulated Thermal Infrared Spectrometry Data: An Initial Temperature Estimate Bounded TESSMA Search Approach” . IEEE Transactions on Geoscience and Remote Sensing, vol. 39, no. 7, pp. 1435- 1446, 2001. [23] C.A. Bateson, G.P. Asner, C.A. Wessman, “Endmember Bundles: A New Approach to Incorporating Endmember Variability into Spectral Mixture Analysis”, IEEE Transactions on Geoscience and Remote Sensing, vol. 38, pp. 1083–1094, 2000. [24] “ENVI Software Image Processing & Analysis Solutions from ITT” main page of ITT. [25] Geosoluciones, “Manual de PCI Geomatica 10”, 1-5. [26] OTB Development Team, “The ORFEO ToolBox software guide. Updated for OTB 3.8”, 2010. [27] P. Strobl, A. Müller, D. Schläpfer, M. Schaepman, "Laboratory Calibration and Inflight Validation 75 of the Digital Airborne Imaging Spectrometer DAIS 7915 for the 1996 Flight Season", en: Proc. SPIE Algorithms for Multispectral and Hyperspectral Imagery III, vol. 3071, pp. 225-235, 1997. [28] R. Richter, "Bandpass resampling effects on the retrieval of radiance and surface reflectance". Applied Optics, vol. 39, pp. 5001-5005, 2000. [29] C.-I. Chang and Q. Du, “Estimation of number of spectrally distinct signal sources in hyperspectral imagery,” IEEE Transactions on Geoscience and Remote Sensing, vol. 42, no. 3, pp. 608–619, 2004. [30] S. Sánchez and A. Plaza, “Fast Determination of the Number of Endmembers for Real-Time Hyperspectral Unmixing on GPUs”. [31] A. Ifarraguerri, C.-I Chang, "Multispectral and hyperspectral image analysis with projection pursuit," IEEE Transactions on Geoscience and Remote Sensing, vol. 38, pp. 2529-2538, 2000. [32] S. Subramanian, N. Gat, A. Ratcliff, M. Eismann, “Hyperspectral Data Reduction Using Principal Components Transformation”, en Proc. X NASA/JPL Airborne Earth Science Workshop, 2000. [33] J.R. Eastman, and M. Fulk, (1993) "Long Sequence Time Series Evaluation using Standardized Principal Components", Photogrammetric Engineering and Remote Sensing, 59, 8, 1307-1312. [34] L.O. Jiménez, D. Landgrebe, Tesis de Jiménez., 1996. [35] S. Sánchez, R. Ramalho, L. Sousa and A. Plaza, “Real-Time Implementation of Remotely Sensed Hyperspectral Image Unmixing on GPUs”. [36] L. I. Jimenez, G. Martin and A. Plaza. HyperMix: A New Tool for Quantitative Evaluation of Endmember Identification and Spectral Unmixing Techniques. IEEE Geoscience and (IGARSS'12), Munich, Germany, 2012. 76 Remote Sensing Symposium [37] L. I. Jimenez, G. Martin and A. Plaza. A New Tool for Evaluating Spectral Unmixing Applications for Remotely Sensed Hyperspectral Image Analysis. International Conference on Geographic Object-Based Image Analysis (GEOBIA), Rio de Janeiro, Brazil, 2012. [38] J. Sevilla, S. Bernabe, P. G. Rodriguez and A. Plaza. “A New Digital Repository for Remotely Sensed Hyperspectral Imagery with UnmixingBased Retrieval Functionality”. SPIE Optics and Photonics, Satellite Data Compression, Communication, and Processing Conference, San Diego, CA, 2012. [39] J. A. Richards y X. Jia. “Remote Sensing Digital Image Analysis”. Springer-Verlag, 1999. [40] A. Plaza, P. Martinez, R. Perez, and J. Plaza, “Spatial/spectral endmember extraction by multidimensional morphological operations”, IEEE Transactions on Geoscience and Remote Sensing, vol. 40, no. 9, pp. 2025– 2041, 2002. [41] G. Swayze, “The hydrothermal and structural history of the cuprite miningdistrict, Southwestern Nevada: An integrated geological and geophysical approach,” Ph.D. dissertation, Univ. Colorado, Boulder, CO, 1997. [42] R. Clark, et al. “The U.S. Geological Survey Digital Spectral Library: Version1: 0.2 to 3.0 m”, U.S. Geological Survey Open File Rep. 93–592, 1993. [43] R. Clark y col. “Imaging Spectroscopy: Earth and Planetary Remote Sensing with the USGS Tetracorder and Expert Systems”, Journal of Geophysical Research, 2003. 77 APÉNDICE I: PUBLICACIONES RELACIONADAS Congresos: L. I. Jimenez, G. Martin and A. Plaza. HyperMix: A New Tool for Quantitative Evaluation of Endmember Identification and Spectral Unmixing Techniques. IEEE Geoscience and Remote Sensing Symposium (IGARSS'12), Munich, Germany, 2012. Este trabajo, presentado en forma de comunicación oral en el congreso IGARSS en Munich, Alemania, el cual es el principal foro a nivel internacional sobre observación remota de la Tierra donde se congrega a miles de investigadores a nivel mundial, expone una nueva herramienta para el manejo y procesado de imágenes hiperespectrales desarrollada utilizando la librería de código abierto ORFEO ToolBox. Se presentan en dicha herramienta los algoritmos implementados en C++ usando funciones de la mencionada librería. La aportación a este trabajo incluye el desarrollo de la aplicación, así como la implementación de los algoritmos usados en C++. L. I. Jimenez, G. Martin and A. Plaza. A New Tool for Evaluating Spectral Unmixing Applications for Remotely Sensed Hyperspectral Image Analysis. International Conference on Geographic ObjectBased Image Analysis (GEOBIA), Rio de Janeiro, Brazil, 2012. Este trabajo es presentado en GEOBIA 2012 en Rio de Janeiro siendo este un foro de excelencia donde un selecto grupo de investigadores, estudiantes y usuario interesados presentaron sus investigaciones y últimos resultados siendo uno de los foros sobre el campo del análisis de imagen más importante a nivel mundial. En dicho foro se presento la herramienta HyperMix para el procesamiento y tratamiento de imágenes hiperespectrales desarrollada como una aplicación de código libre usando funciones de la librería para el procesamiento de 78 imágenes hiperespectrales ORFEO ToolBox y unos resultados comparativos sobre la eficiencia de los algoritmos que la herramienta maneja sobre supuestos sintéticos y reales. La aportación en este trabajo consistió en el desarrollo de la herramienta y la implementación de los distintos algoritmos que la forman en C++ usando la librería ORFEO ToolBox. Para este trabajo también se realizó una comparativa de eficiencia entre los distintos algoritmos incluidos en la aplicación. Añadir que actualmente se está preparando un documento para IEEE Geoscience and Remote Sensing Letters sobre la herramienta HyperMix, siendo esta una publicación que pone énfasis en realizar revisiones rápidas a artículos de alto impacto en la teoría, los conceptos y las técnicas de la ciencia y la ingeniería que se aplican a la detección de la tierra, los océanos, la atmósfera y el espacio y el procesamiento, interpretación y difusión de esta información. 79