Universidad de Extremadura

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Universidad de Extremadura"

Transcripción

1 Universidad de Extremadura Escuela Politécnica Ingeniería Informática PROYECTO FIN DE CARRERA Diseño de algoritmos paralelos para detección de cambios en imágenes de satélite Autor: Director: Antonio Plaza Miguel Co-director: Javier Plaza Miguel Cáceres, Julio 2007

2 Índice de contenidos 1 INTRODUCCIÓN MOTIVACIONES OBJETIVOS CONCEPTOS Imagen hiperespectral SENSOR HIPERESPECTRAL HYDICE AVIRIS TÉCNICAS DE DETECCIÓN DE TARGETS Automated Target Generation Process (ATGP) RX Justificación de paralelismo MEDIDAS DE ANÁLISIS HIPERESPECTRAL NORMA NORMA NORMA INFINITO ÁNGULO ESPECTRAL (SAD) DIVERGENCIA DE LA INFORMACIÓN ESPECTRAL (SID) RAÍZ CUADRADA DEL ERROR CUADRÁTICO DE LA MEDIA DE LA SUMA DE LAS BANDAS RAÍZ CUADRADA DEL ERROR CUADRÁTICO DEL MÁXIMO DE LA SUMA DE LAS BANDAS DISTANCIA VECTORIAL NORMALIZADA ENTROPÍA CRITERIO DEL RUIDO DEL PUNTO EN IMÁGENES SAR ORTOGONAL ALGORITMOS IMPLEMENTADOS ATGP SECUENCIAL Parámetros de entrada Pasos ATGP PARALELO Particionamiento de la imagen Esquema de paralelismo ATGP RELAJADO RX SECUENCIAL Parámetros de entrada Pasos RX PARALELO Versión comunicativa Versión independiente RESULTADOS IMÁGENES UTILIZADAS HYDICE World Trade Center PRECISIÓN DE ALGORITMOS HYDICE World Trade Center PARALELISMO Descripción de arquitecturas paralelas

3 4.3.2 Resultados cluster GRNPS Resultados cluster Thunderhead DISCUSIÓN DE RESULTADOS CONCLUSIONES Y LÍNEAS FUTURAS APÉNDICE: HERRAMIENTA DE LOCALIZACIÓN DE TARGETS Funciones Visualización de imágenes hiperespectrales Visualización de targets Algoritmo ATGP ortogonal Algoritmo RX... Error! Marcador no definido. 7 BIBLIOGRAFÍA

4 Índice de figuras FIGURA 1. IMAGEN HIPERESPECTRAL... 9 FIGURA 2. TIPOS DE PÍXELES EN IMÁGENES HIPERESPECTRALES FIGURA 3. SENSOR HYDICE FIGURA 4. IMAGEN CARGADA FIGURA 5. PRODUCTO VECTORIAL DE UN PIXEL POR SU TRASPUESTO FIGURA 6. PÍXEL MÁS BRILLANTE DE LA IMAGEN FIGURA 7. TARGETS ENCONTRADOS FIGURA 8. EJEMPLO DE PARTICIONAMIENTO DE LA IMAGEN FIGURA 9. EJEMPLO DE PARTICIONAMIENTO DE LA IMAGEN FIGURA 10. ENVÍO DE VALOR DE BRILLO MÁXIMO DE NODO TRABAJADOR (W I ) A MAESTRO (M) FIGURA 11. ENVÍO DE IDENTIFICADOR DE NODO CON PIXEL DE MÁXIMO BRILLO A LOS TRABAJADORES FIGURA 12. ENVÍO DEL PÍXEL RESULTADO A TODOS LOS DEMÁS PARA SIGUIENTE ITERACIÓN FIGURA 13. ENVÍO DEL VALOR MÁXIMO ATGP AL NODO MAESTRO FIGURA 14. ENVÍO DE IDENTIFICADOR DE NODO CON PIXEL DE MÁXIMO ATGP A LOS TRABAJADORES FIGURA 15. ENVÍO DEL PÍXEL RESULTADO ATGP A TODOS LOS DEMÁS PARA SIGUIENTE ITERACIÓN FIGURA 16. IMAGEN HIPERESPECTRAL FIGURA 17. IMAGEN HIPERESPECTRAL DESGLOSADA EN BANDAS FIGURA 18. REESTRUCTURACIÓN DEL FICHERO DE IMAGEN (MATRIZ X) FIGURA 19. OBTENCIÓN DE LA MATRIZ R FIGURA 20. ENVÍO DE VALOR MÁXIMO DE NODOS TRABAJADORES (W I ) AL MAESTRO (M) FIGURA 21. ENVÍO DE MÁXIMO E IDENTIFICADOR DE NODO CON VALOR MÁXIMO A LOS TRABAJADORES FIGURA 22. IMAGEN HYDICE FIGURA 23. TARGETS MARCADOS EN IMAGEN HYDICE FIGURA 24. IMAGEN DEL WTC FIGURA 25. MAPA TÉRMICO DE LA ZONA DEL WTC FIGURA 26. IMAGEN RESULTANTE DE APLICAR EL ALGORITMO RX A LA IMAGEN HYDICE FIGURA 27. PRECISIÓN DE NORMA 1 SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 28. PRECISIÓN DE NORMA 2 SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 29. PRECISIÓN DE NORMA INF SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 30. PRECISIÓN DE SAD SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 31. PRECISIÓN DE SID SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 32. PRECISIÓN DE BSMSE SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 33. PRECISIÓN DE BSMME SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 34. PRECISIÓN DE NVD SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 35. PRECISIÓN DE ENTROPÍA SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 36. PRECISIÓN DE SAR SNC SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 37. PRECISIÓN DE LA MEDIDA ORTOGONAL FIGURA 38. PRECISIÓN DEL ALGORITMO RX FIGURA 39. FRAGMENTO DE LA IMAGEN DEL WTC FIGURA 40. IMAGEN RESULTANTE DE APLICAR EL ALGORITMO RX A LA IMAGEN WTC FIGURA 41. PRECISIÓN DE NORMA 1 SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 42. PRECISIÓN DE NORMA 2 SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 43. PRECISIÓN DE NORMA INFINITO SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 44. PRECISIÓN DE SAD SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 45. PRECISIÓN DE SID SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 46. PRECISIÓN DE BSMSE SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 47. PRECISIÓN DE BSMME SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 48. PRECISIÓN DE NVD SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 49. PRECISIÓN DE ENTROPÍA SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 50. PRECISIÓN DE SAR SNC SIN RELAJAR (IZQUIERDA) Y RELAJADA (DERECHA) FIGURA 51. PRECISIÓN DE LA MEDIDA ORTOGONAL FIGURA 52. PRECISIÓN DE RX

5 FIGURA 53. CLUSTER THUNDERHEAD FIGURA 54. TOPOLOGÍA DE INTERCONEXIÓN DEL CLUSTER THUNDERHEAD FIGURA 55. SPEEDUPS DE LAS 5 PRIMERAS MEDIDAS PARA WTC FIGURA 56. SPEEDUPS DE LAS MEDIDAS 6 A 10 PARA WTC FIGURA 57. SPEEDUPS DEL ALGORITMO RX PARA WTC FIGURA 58. SPEEDUPS DE LAS 5 PRIMERAS MEDIDAS PARA HYDICE FIGURA 59. SPEEDUPS DE LAS MEDIDAS 6 A 10 PARA HYDICE FIGURA 60. SPEEDUPS DEL ALGORITMO RX PARA HYDICE FIGURA 61. PANTALLA PRINCIPAL DE LA HERRAMIENTA DE LOCALIZACIÓN DE TARGETS FIGURA 62. BOTÓN MOSTRAR IMAGEN (IZQUIERDA) Y MENÚ ARCHIVO > ABRIR IMAGEN (DERECHA) FIGURA 63. CUADRO DE DIÁLOGO SELECTOR DE IMAGEN FIGURA 64. CUADRO DE DIÁLOGO DATOS DE LA IMAGEN FIGURA 65. ESTADO DE LA APLICACIÓN TRAS MOSTRAR UNA IMAGEN DEL WTC FIGURA 66. EJEMPLO DE FICHERO DE PUNTOS FIGURA 67. BOTÓN CARGAR PUNTOS (IZQUIERDA) Y MENÚ ARCHIVO > ABRIR ARCHIVO DE PUNTOS (DERECHA) FIGURA 68. CUADRO DE DIÁLOGO SELECTOR DE FICHERO DE PUNTOS FIGURA 69. EJEMPLO DE VISUALIZACIÓN DE TARGETS SOBRE UNA IMAGEN DEL WTC FIGURA 70. CONFIGURACIÓN GLOBAL FIGURA 71. EJEMPLO DE OPCIONES DE VISUALIZACIÓN DE TARGETS FIGURA 72. EJEMPLO DE OPCIONES DE VISUALIZACIÓN DE TARGETS

6 Índice de tablas TABLA 1. CARACTERÍSTICAS IMAGEN HYDICE TABLA 2. CARACTERÍSTICAS DE LA IMAGEN COMPLETA DEL WTC TABLA 3. PRECISIÓN EN LA DETECCIÓN DE TARGETS PARA LA IMAGEN DEL HYDICE TABLA 4. PRECISIÓN EN LA DETECCIÓN DE TARGETS PARA LA IMAGEN DEL HYDICE (UTILIZANDO EL MÉTODO DE RELAJACIÓN DEL PÍXEL) TABLA 5. TARGETS DETECTADOS PARA TODOS LOS ALGORITMOS Y MEDIDAS EN VERSIONES NORMAL Y RELAJADA PARA HYDICE TABLA 6. PRECISIÓN EN LA DETECCIÓN DE TARGETS PARA LA IMAGEN DEL WORLD TRADE CENTER TABLA 7. PRECISIÓN EN LA DETECCIÓN DE TARGETS PARA LA IMAGEN DEL WORLD TRADE CENTER (UTILIZANDO EL MÉTODO DE RELAJACIÓN DEL PÍXEL) TABLA 8. TARGETS DETECTADOS PARA TODOS LOS ALGORITMOS Y MEDIDAS EN VERSIONES NORMAL Y RELAJADA PARA WTC 75 TABLA 9. ESPECIFICACIONES EQUIPOS CLUSTER GRNPS TABLA 10. ESPECIFICACIONES EQUIPOS CLUSTER THUNDERHEAD TABLA 11. TIEMPOS DE EJECUCIÓN EN CLUSTER GRNPS PARA HYDICE TABLA 12. TIEMPOS DE EJECUCIÓN EN CLUSTER THUNDERHEAD PARA WTC TABLA 13. SPEEDUPS DE LAS 5 PRIMERAS MEDIDAS PARA WTC TABLA 14. SPEEDUPS DE LAS MEDIDAS 6 A 10 PARA WTC TABLA 15. SPEEDUPS DEL ALGORITMO RX PARA WTC TABLA 16. TIEMPOS DE COMUNICACIÓN, PROCESAMIENTO Y RATIO DEL NODO MAESTRO PARA WTC TABLA 17. TIEMPOS DE COMUNICACIÓN, PROCESAMIENTO Y RATIO DE UN NODO ALEATORIO PARA WTC TABLA 18. BALANCEO DE CARGA PARA WTC TABLA 19. TIEMPOS DE EJECUCIÓN EN CLUSTER THUNDERHEAD PARA HYDICE TABLA 20. SPEEDUPS DE LAS 5 PRIMERAS MEDIDAS PARA HYDICE TABLA 21. SPEEDUPS DE LAS MEDIDAS 6 A 10 PARA HYDICE TABLA 22. SPEEDUPS DEL ALGORITMO RX PARA HYDICE TABLA 23. TIEMPOS DE COMUNICACIÓN, PROCESAMIENTO Y RATIO DEL NODO MAESTRO PARA HYDICE TABLA 24. TIEMPOS DE COMUNICACIÓN, PROCESAMIENTO Y RATIO DE UN NODO ALEATORIO PARA HYDICE TABLA 25. BALANCEO DE CARGA PARA HYDICE

7 1 Introducción 1.1 Motivaciones La línea de trabajo de este PFC (Proyecto Fin de Carrera) es una de las líneas de investigación del Grupo de Redes Neuronales y Procesamiento Digital de Señal (GRNPS). Este grupo comenzó desarrollando algoritmos de computación neuronal orientados a la cuantificación de espectros. Posteriormente se sumó a sus líneas de investigación el análisis de imágenes hiperespectrales de la superficie terrestre, obtenidas de forma remota, a partir de sensores aerotransportados y de tipo satélite. Una de las las principales líneas de investigación a la hora de analizar de este tipo de imágenes de gran dimensionalidad en el dominio espectral se basa en la detección de objetivos y anomalías en la escena. Este proceso es altamente complejo ya que la distinción entre objeto de interés o target y los objetos no deseados o background es altamente dependiente tanto de la aplicación como de la complejidad de la escena. Este proceso tiene gran cantidad de aplicaciones reales, desde las aplicaciones militares para la detección de material armamentístico camuflado, minas antipersona, y otras unidades militares; hasta la identificación de agentes contaminantes en aguas y atmósfera, detección de incendios, etc. El problema de los sistemas de detección de targets (objetivos) es el procesamiento de las imágenes, cuya dimensionalidad suele ser elevada. Generalmente el tiempo de respuesta para estas aplicaciones de detección ha de ser razonable y los resultados deben obtenerse en un corto periodo de tiempo, por ejemplo, para detectar un incendio y poder actuar a tiempo. Existen gran cantidad de métodos para realizar el proceso de análisis de imágenes multiespectrales e hiperespectrales. Cada uno de estos métodos utiliza sus propios criterios en cuanto a valoración y comparación de píxeles se refiere. Llamaremos medidas a los diversos criterios de disimilaridad existentes en el procesamiento de imágenes hiperespectrales. Por estos motivos, la meta principal de este PFC es desarrollar nuevos algoritmos de detección de targets a partir de la evaluación de diferentes medidas de distancia capaces de aprovechar el carácter vectorial de los píxels en imágenes hiperespectrales, y posteriormente desarrollar versiones paralelas de dichos algoritmos para mejorar su rendimiento al ser ejecutados en arquitecturas de tipo clúster o redes de computadores

8 1.2 Objetivos El principal objetivo del PFC es el desarrollo de un algoritmo de detección de targets que permita la integración de diversas medidas espectrales para el análisis de imágenes hiperespectrales. Para lograr este objetivo general se han perseguido los siguientes objetivos específicos: 1. Proceso de documentación y comprensión de algoritmos de detección de targets 2. Implementación del algoritmo secuencial para detección de targets denominado Automated Target Generation process (ATGP). La implementación ha sido realizada en lenguaje ANSI C. La elección de lenguaje ANSI C en lugar de C++ es debida a que la velocidad de procesamiento de ANSI C es mayor que C++, ya que es un lenguaje de más bajo nivel. 3. Implementación del algoritmo paralelo ATGP, utilizando MPI (Message Passing Interface) como rutina de paso de mensajes entre los distintos nodos que existan en la arquitectura de tipo clúster o red de computadores. Para realizar esta tarea se han realizado pruebas inicialmente en el clúster que posee el grupo GRNPS y después en el cluster Thunderhead ubicado en el centro NASA Goddard Space Flight Center en Maryland. (2007) 4. Implementación del algoritmo paralelo RX para detección automática de anomalías en imágenes hiperespectrales, con vistas a comparar la precisión de este algoritmo con las versiones de ATGP (utilizando diferentes medidas espectrales) desarrolladas. 5. Implementar diferentes medidas de análisis espectral que serán desarrolladas y evaluadas en detalle a lo largo de la presente memoria. 6. Implementar una herramienta de detección de targets. Ha sido desarrolladla en MATLAB, para poder visualizar los resultados obtenidos por el algoritmo de detección de targets. 7. Realizar una comparativa de resultados de las diferentes medidas implementadas. Gracias a la herramienta desarrollada en MATLAB es posible visualizar de forma gráfica los targets encontrados en una imagen hiperespectral

9 1.3 Conceptos En este apartado definiremos conceptos básicos necesarios para entender la mayoría de los aspectos contemplados en el documento Imagen hiperespectral El ser humano siempre ha deseado poder observar la Tierra de forma remota, y para realizar esa labor ha conseguido desarrollar instrumentos de medida de muy elevada resolución espacial y espectral. El resultado de un proceso de observación remota es una imagen hiperespectral. (Schowengerdt, 1997) Los sensores hiperespectrales que se utilizan permiten adquirir imágenes digitales con una gran cantidad de canales espectrales muy cercanos entre sí, obteniendo para cada porción de la escena o píxel, una firma espectral característica de cada material. (Green, 1998) Si intentamos representar una imagen hiperespectral de forma gráfica obtendríamos un cubo cuyas dos primeras dimensiones representarían la ubicación en el espacio de un píxel determinado de la imagen y una tercera dimensión que representaría la singularidad espectral de cada píxel según diferentes longitudes de onda (Chang, 2003) (una por cada nivel de profundidad). La Figura 1 sería una posible representación gráfica del concepto real de imagen hiperespectral: Figura 1. Imagen hiperespectral Como podemos ver, las dos primeras dimensiones se representan mediante los conceptos de línea y muestra, donde las líneas horizontales definidas corresponderían a las líneas de la imagen hiperespectral y las verticales a las muestras

10 Los sensores hiperespectrales utilizan diversas longitudes de onda en el proceso de adquisición de imágenes de la superficie terrestre, obteniendo diferentes resultados en función de la longitud de onda empleada. Cada uno de esos resultados recibe el nombre de banda o canal, que representa la tercera dimensión de la imagen. Por tanto, un pixel situado en la coordenada (x, y) es un vector de bandas en el que cada elemento del vector corresponde a cada una de las diferentes longitudes de onda empleadas en el proceso de adquisición de la imagen. Al contar con tres dimensiones, es frecuente encontrar en este tipo de imágenes mezclas a nivel de subpíxel (Faraklioti, y otros, 2001), por lo que podemos clasificarlos en: Píxeles puros: píxel en el que sólo hay un tipo de material Píxeles mezcla: píxel en el que cohabitan diferentes materiales Figura 2. Tipos de píxeles en imágenes hiperespectrales

11 Por norma general, la mayoría de los píxeles de una imagen son píxeles mezcla, debido a que independientemente de la escala que se considere, la mezcla se produce a nivel microscópico (Plaza, y otros, 2004) (Landgrebe, 2002). La Figura 2 muestra gráficamente (de forma macroscópica) los conceptos de píxel puro y píxel mezcla. En ella podemos ver por ejemplo cómo el píxel del agua podría tratarse de un píxel puro, mientras que el resto de píxeles (Atmósfera, suelo y vegetación) serían píxeles mezcla. Por tanto, una imagen hiperespectral es una imagen en la que cada punto no viene descrito por un solo valor de intensidad (como en una imagen en blanco y negro ) o por tres componentes de color (como en una imagen RGB), sino por: Un vector (cadena ordenada de valores numéricos) de valores espectrales que se corresponden con la contribución de la luz detectada en ese punto a estrechas bandas del espectro, típicamente entre 1 y 5 nm de ancho (recuérdese que el espectro visible abarca unos 300 nm) Un número de bandas de entre las decenas hasta varios centenares, en muchas ocasiones no limitado estrictamente al visible sino también en el infrarrojo y el ultravioleta (no son raros los sensores que cubren desde los 300 nm hasta los 2500 nm). Por la característica anterior se emplea el término Imaging Spectroscopy para referirse a los sensores de imagen hiperespectrales, ya que en cierto modo es como si estuviéramos midiendo simultáneamente con multitud de espectrómetros (que sólo miden la luz incidente en un punto) toda una rejilla de puntos (los puntos de la imagen) en una gran zona geográfica

12 1.4 Sensor hiperespectral Un sensor hiperespectral es un dispositivo capaz de medir la radiación en gran cantidad de bandas muy estrechas, de forma que es mucho más difícil que distintas combinaciones espectrales, aún siendo muy parecidas, generen la misma salida, y, por tanto, se confundan. Los sensores hiperespectrales son capaces distinguir materiales, sustancias y objetos (por ejemplo, distintas especies vegetales a simple vista todas del mismo color verde) que los sensores multiespectrales 1 no son capaces de distinguir. Esto es un problema en los sensores multiespectrales, ya que distintas formas en el espectro (es decir, distintas luces formadas por distintas mezclas de ondas en distintas frecuencias con distintas intensidades) al pasar a través de las respuestas espectrales que generan la salida en cada banda (cada zona del espectro) pueden generar exactamente la misma salida. Como consecuencia, "a ojos" del sensor, distintos materiales pueden verse exactamente iguales, y, por tanto, ser indistinguibles. En cuanto a lo anterior, ya no son únicamente objetos y sustancias diversas, sino también diferentes estados de un mismo objeto. Todos sabemos que las hojas verdes al secarse van adquiriendo normalmente un color amarillo primero y marrón después. Lo mismo pasa con hojas enfermas o con problemas de estrés hídrico o carencia de nutrientes. Un sensor hiperespectral es capaz de distinguir estos estados con mucha mayor precisión que un sensor multiespectral. La capacidad de observación de los sensores hiperespectrales 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. Este hecho permite una caracterización muy precisa de la superficie del planeta. (Landgrebe, 2002) (Landgrebe, 1998) A continuación comentaremos algunos detalles de los dos sensores que obtuvieron las imágenes sobre las que se han realizado la mayor parte de las pruebas de este trabajo: HYDICE y AVIRIS. 1 Sensores espectrales que soportan un número reducido de bandas

13 1.4.1 HYDICE HYDICE es un sensor hiperespectral creado por el Laboratorio de Investigación Naval (Naval Research Laboratory) de Estados Unidos. Este sensor fue desarrollado como una estación que almacena datos de la terra y los calibra. El sistema se monta en una plataforma aérea con una base estable para hacer frente a los posibles problemas ambientales. Un subsistema electrónico recoge los datos de la imagen, y realiza las labores de calibración y diagnóstico. El sensor HYDICE tiene las siguientes características: Puede cubrir un amplio rango del espectro, mediante 210 bandas espectrales entre 0.4 y 2.4 metros (Goetz, y otros, 1999). Posee un mecanismo de adquisición de datos mediante sensores de barrido que proprociona un total de 320 píxeles por línea. Fue específicamente desarrollado para utilizarse en aplicaciones que requieran gran resolución espacial (del orden de un metro por píxel). La Figura 3 muestra una imagen del sensor HYDICE (Goo). Figura 3. Sensor HYDICE

14 1.4.2 AVIRIS El sensor hiperespectral AVIRIS (AVI) es un sensor aerotransportado con capacidades analíticas en las zonas visible e infrarroja del espectro (Green, 1998). AVIRIS fue el primer sistema de adquisición de imágenes hiperespectrales capaz de obtener información en una gran cantidad de bandas espectrales estrechas y casi contiguas. Está en funcionamiento desde Las características de AVIRIS son especiales frente a otros sensores, ya que permite obtener información espectral en 224 canales espectrales contiguos, cubriendo un rango de longitudes de onda entre 0.4 y 2.5 metros, manteniendo un ancho entre las bandas muy pequeño (aproximadamente 1 centímetro). En 1989 AVIRIS pasó a ser un instrumento aerotransportado, momento en el cual comenzaron una serie de campañas de vuelo anuales. AVIRIS a obtenido datos de todo Estados Unidos, Canadá y Europa y ha utilizando como soporte de vuelo cuatro plataformas (Green, y otros). En cuanto a las características internas del sensor hiperespectral AVIRIS, podemos destacar: Utiliza un explorador de barrido que permite obtener un total de 614 píxels en cada oscilación Posee diferentes espectrómetros que podemos clasificar en dos grupos: o EFOS-A: realiza la cobertura de la parte visible del espectro. Está compuesto por 32 detectores lineales. o EFOS-B, EFOS-C y EFOS-D: realizan la cobertura de infrarrojo. Están compuestos por vectores de 64 detectores lineales. Dispone de un sistema de calibración a bordo, que utiliza una lámpara halógena de cuarzo que proporciona la radiación de referencia necesaria para comprobar el estado de los diferentes espectrómetros. La señal medida por cada detector se amplifica y codifica utilizando 12 bits. Esta señal se almacena en una memoria intermedia donde es sometida a una etapa de preprocesado, siendo registrada a continuación en una cinta de alta densidad de 10.4 GBytes a una velocidad de 20.4 MBytes por segundo

15 1.5 Técnicas de detección de targets En primer lugar, hemos de saber que el término target se aplica a objetos con características espectrales diferenciadas (Chang, 2003). Un conjunto de targets estaría por tanto formado por un conjunto de firmas espectrales (puras o no) suficientemente representativas de los diferentes objetos presentes en la imagen y con características espectrales distintas entre sí. Este apartado pretende mostrar algunas técnicas previas de detección de targets que han inspirado gran parte de los algoritmos desarrollados y expuestos posteriormente en el presente trabajo. Existen diversos algoritmos diseñados para procesar imágenes e identificar objetivos a los que llamamos targets. Estos algoritmos suelen funcionar de forma iterativa, obtenido un resultado (un nuevo target) en cada iteración del algoritmo. Al final del algoritmo obtendremos una lista de targets como salida del algoritmo. En cuanto a la metodología de funcionamiento de este tipo de algoritmos, existen diversos criterios a la hora de iniciar el proceso de detección. En el caso particular del ATGP que a continuación detallaremos, el punto de partida del algoritmo es el píxel más brillante de la imagen. De forma similar a otras medidas existentes, es posible utilizar diferentes puntos de partida en lugar del píxel más brillante, pero en estos casos, se ha comprobado experimentalmente que dicho píxel siempre es detectado en un número reducido de iteraciones de los algoritmos si no se ha escogido como punto de partida. A continuación describimos detalladamente el funcionamiento de dos algoritmos de detección de targets: ATGP, y RX. Para terminar este subapartado, justificaremos la necesidad de paralelismo en técnicas y métodos de este tipo Automated Target Generation Process (ATGP) Automated Target Generation Process o ATGP fue desarrollado inicialmente para encontrar firmas espectrales utilizando proyecciones ortogonales. (Ren, y otros) Este algoritmo hace uso de un operador de proyección ortogonal que viene dado por la expresión mostrada en la ecuación (1) P U = I U U t U 1 U t (1) Donde U es una matriz de firmas espectrales, U t es la traspuesta de dicha matriz e I es la matriz identidad

16 El algoritmo ATGP utiliza la proyección orgogonal de la ecuación (1) en cada iteración para encontrar una serie de píxels o vectores de bandas ortogonales a partir de un píxel inicial que se le pasa al algoritmo como valor ATGP y que por defecto suele ser el píxel más brillante. Este algoritmo realiza los siguientes pasos: 1. Calcular t 0, el píxel más brillante de la imagen hiperespectral, utilizando la siguiente expresión que muestra la ecuación (2), donde F x, y es el píxel (vector) en las coordenadas x, y de la imagen. Como puede comprobarse, el píxel más brillante es aquel que resulta en mayor valor al realizar el producto vectorial entre el vector asociado a dicho píxel y su transpuesto F x, y T. t 0 = arg max x,y F x, y T F x, y 2. Aplicar un operador de proyección ortogonal que denotamos como P U, basado en la ecuación (1), con U = t 0. Este operador se aplica a todos los píxels de la imagen hiperespectral. 3. A continuación, el algoritmo encuentra un nuevo target denominado t 1 con el mayor valor en el espacio complementario < t 0 >, ortogonal a t 0, de la siguiente forma utilizando la ecuación (3). En otras palabras, el algoritmo busca el píxel con mayor ortogonalidad con respecto a t 0. (2) t 1 = arg max x,y P U F x, y T P U F x, y 4. El siguente paso es modificar la matriz U añadiendo el nuevo target encontrado, es decir, U = [t 0 t 1 ]. 5. Seguidamente, el algoritmo encuentra un nuevo target denominado t 2 con el mayor valor en el espacio complementario < t 0, t 1 >, ortogonal a t 0 y t 1, utilizando la ecuación (4). Es preciso tener en cuenta que, a diferencia del paso 3 en el que U = t 0, en este punto el proyector ortogonal se basa en una matriz U = [t 0 t 1 ], por lo que el concepto de ortogonalidad es diferente. (3) t 2 = arg max x,y P U F x, y T P U F x, y (4)

17 6. El proceso se repite, de forma iterativa, para encontrar un tercer target t 3, un cuarto target t 4, hasta que se satisface una determinada condición de terminación para el algoritmo. La condición de terminación considerada en el presente trabajo es alcanzar un número de targets p determinado a priori como parámetro de entrada al algoritmo RX RX es un algoritmo de detección de anomalías propuesto por Reed y Xiaoli conocido como RXD, el cual es muy usado en el proceso de detección de targets. Este algoritmo encuentra los píxels que son espectralmente distintos que sus píxels vecinos. Podríamos resumir su fucionamiento en una serie de pasos: 1. Calcula el vector media m donde cada elemento del vector es la media de los valores de los píxel de cada banda espectral. 2. Calcula la matriz de covarianza espectral K utilizando el resultado del paso anterior. 3. Realiza, utilizando los datos obtenidos en los puntos anteriores, una operación de flitrado que viene dada por la conocida distancia de Mahalanobis a todos los píxels de la imagen. El cálculo realizado viene dado por ecuación δ(rxd) F x,y = F x, y m T K 1 F x, y m 4. Finalmente, basta con seleccionar los p (siendo p un valor escogido por el usuario) píxeles con mayor valor δ(rxd) F x,y como conjunto de targets resultado del algoritmo RX. (5) Justificación de paralelismo Es preciso destacar que las técnicas de detección de targets descritas anteriormente se basan en realizar operaciones matriciales muy costosas computacionalmente. Estas operaciones pesadas de procesar, tienen un carácter repetitivo que las hace altamente susceptibles de ser implementadas en arquitecturas paralelas para incrementar de forma significativa el rendimiento de las mismas en términos computacionales llegando a obtener respuestas en tiempo real o casi real. Este punto es muy importante, dadas las numerosas aplicaciones de este tipo de algoritmos (detección de agentes contaminantes, incendios, etc.) que requieren una respuesta inmediata

18 Las técnicas de computación paralela han sido ampliamente utilizadas para llevar a cabo tareas de procesamiento de imágenes de gran dimensionalidad, facilitando la obtención de tiempos de respuesta muy reducidos. Hoy día es posible definir arquitecturas masivamente paralelas de bajo coste mediante la utilización de sistemas formados por computadores personales interconectados entre sí mediante una red de comunicación de altas prestaciones y gestionados por un sistema operativo que permita la gestión de las redes. Las arquitecturas de computación paralela que utilizan Linux como sistema operativo se denominan cluster Beowulf. El uso de este tipo de clusters se revela como una alternativa eficiente y relativamente económica para el procesamiento de tipos de datos complejos, como pueden ser imágenes hiperespectrales. En el presente trabajo, proponemos la utilización de un cluster de computación paralela de tipo Beowulf, cuyo sistema operativo es LinEx, el cual destaca por sus capaicdades de gestión de equipos en red y el cual se está ajudicando el puesto de sistema operativo estándar de la comunidad autónoma de Extremadura. Posteriormente, se plantea la posibilidad de realizar pruebas en un sistema computador de más alto nivel, como puede ser el cluster Thunderhead, también de tipo Beowulf (con sistema operatifo Fedora Core) ubicado en el Goddard Space Flight Center de la NASA, que cuenta con un mayor número de procesadores y nos permitirá realizar pruebas de paralelismo a gran escala. Del mismo modo, se propone la incorporación de una filosofía basada en software libre al problema que planteamos, con vistas a facilitar la estandarización de los modelos de computación propuestos al resto de la comunidad científica dedicada al análisis de datos hiperespectrales. En el siguiente apartado comentaremos las medidas de análisis hiperespectrales que hemos utilizado para elaborar nuestras propias versiones de los algoritmos comentados en este apartado

19 2 Medidas de análisis hiperespectral Existen diversas medidas o criterios de disimilaridad espectral para realizar el proceso de análisis de imágenes hiperespectrales. En esta sección se comentan, en detalle y desde su base matemática, las medidas que pueden utilizarse en el algoritmo de detección de targets implementado. Las posibles medidas a utilizar son: 1. Norma 1 2. Norma 2 3. Norma infinito 4. Ángulo espectral (SAD) 5. Divergencia de la información espectral (SID) 6. Raíz cuadrada del error cuadrático de la media de la suma de las bandas 7. Raíz cuadrada del error cuadrático del máximo de la suma de las bandas 8. Distancia vectorial normalizada 9. Entropía 10. Criterio del ruido del punto 2.1 Norma 1 Norma 1 (1-Norm) se basa en la norma vectorial 2. La Norma 1 de la diferencia entre los vectores correspondientes a los píxels a comparar viene dada por la ecuación (6). u i u j = μ ib μ jb B b=1 (6) Donde μ ib y μ jb son los valores de los píxels ui y uj, respectivamente, en la banda espectral b. Por ejemplo, u i = μ i1, μ i2,, μ ib T y u j = μ j 1, μ j 2,, μ jb T. Por tanto, la función de disimilaridad según la Norma 1 entre los píxels u i y u j, viene representado por la ecuación (7) 2 La norma vectorial es un número real que representa el tamaño del vector. Define la longitud de un vector desde el punto de vista de la geometría euclideana. Por ejemplo, si tenemos el vector v= v 1, v 2,.., v n la norma de v se denota v y viene definida por v = v v v n

20 d Norma 1 u i, u j = u i u j 1 (7) Esta medida tiene un coste computacional bajo, ya que tan sólo realiza operaciones de suma y resta. Si estimamos el número de operaciones implicadas en la misma, basándonos en la implementación, la utilización de esta medida supone realizar aproximadamente n restas y n sumas, siendo n el número de bandas de la imagen. 2.2 Norma 2 La Norma 2 (2-Norm), al igual que Norma 1 se basa en la norma vectorial. La Norma 2 de la diferencia entre los vectores correspondientes a los píxeles a comparar (X i y X j ), llamados u i y u j, cada uno con B bandas espectrales, viene dada por la ecuación (8) B u i u j 2 = μ ib μ 2 jb b=1 1 2 (8) La función de disimilaridad según la Norma 2 entre los píxels u i y u j, vendría dada por la ecuación (9) d Norma 2 u i, u j = u i u j 2 (9) Norma 2 tiene un coste computacional algo mayor que la Norma 1, ya que además de realizar operaciones de suma y resta, utiliza la operación de la raíz cuadrada y la multiplicación cuyos costes computacionales son significativos frente a las operaciones básicas de suma y resta. Si estimamos el número de operaciones implicadas en la misma, basándonos en la implementación, la utilización de esta medida supone realizar aproximadamente n restas, n sumas, n multiplicaciones y 1 raíz cuadrada, siendo n el número de bandas de la imagen

21 2.3 Norma infinito La Norma infinito ( -Norm) al igual que Norma 1 y Norma 2, también se basa en la norma vectorial. La Norma infinito de la diferencia entre los vectores correspondientes a los píxeles a comparar, llamados u i y u j, cada uno con B bandas espectrales, viene dado por la ecuación (10): u i u j = max μ ib μ jb, b = 1,2,, B (10) La función de disimilaridad según la Norma infinito entre los píxels u i y u j, vendría dada por la ecuación (11) d Norma u i, u j = u i u j (11) De forma similar a las Normas 1 y 2, la Norma Infinito cuenta con una complejidad computacional baja, cuya utilización generalmente tiene un coste menor que ambas. Si estimamos el número de operaciones a realizar para Norma Infinito, contamos que aproximadamente realiza n operaciones de resta siendo n el número de bandas espectrales de la imagen. 2.4 Ángulo espectral (SAD) El Ángulo espectral (Spectral Angle Distance) es una medida ampliamente usada en el análisis de imágenes hiperespectrales (Kruse, y otros, 1993). Esta medida determina el parecido espectral entre dos vectores espectrales calculando el ángulo entre ambos. Una propiedad importante de este criterio de disimilaridad es que los píxeles poco o muy iluminados serán tratados con el mismo ángulo espectral a pesar de la diferencia de iluminación. La distancia angular entre ambos vectores, se calcula como el coseno del ángulo espectral entre ambos vectores (Chang, 2003). La medida SAD es invariante frente a la multiplicación de los vectores por valores constantes. Por lo tanto se trata de una medida robusta frente a cambios en la escala de las firmas espectrales (como cambios de iluminación o divergencias en la orientación angular), convirtiéndola en una medida muy apropiada para analizar el grado de similitud en cuanto a al forma de dos firmas espectrales

22 El ángulo espectral θ entre entre los vectores correspondientes a los píxeles a comparar, llamados u i y u j, cada uno con B bandas espectrales, viene dada por la ecuación (12) θ u i, u j = arcos u i u j u i 2 u j 2 = arcos B μ ib 2 B b=1 μ ib μ jb B b=1 b=1 1 2 μ jb (12) La función de disimilaridad según la distancia SAD entre entre los píxels u i y u j, viene dada por la ecuación (13) d SAD u i, u j = θ u i, u j (13) El valor de d SAD u i, u j oscila entre 0.0 para vectores parecidos hasta π 2 para los vectores más diferentes. Esta medida ya cuenta con algo más de complejidad que las medidas basadas normas vectoriales comentadas en los subapartados anteriores. Basándonos en la implementación final obtenida, el número de operaciones aproximado para cada utilización de la distancia SAD es de 3n sumas, 2 raíces cuadradas, 1 arcoseno, 1 multiplicación y 1 división, siendo n el número de bandas espectrales de la imagen. 2.5 Divergencia de la información espectral (SID) La Divergencia de la información espectral o SID (Spectral Information Divergence) se deriva del concepto de la divergencia en la teoría de la información, y mide la discrepancia de comportamientos probabilísticos entre dos firmas espectrales (Chang, 2000) (Tilton, y otros, 2006). Se basa en un proceso que modela el vector del píxel que queremos comparar, u i, como una variable aleatoria siendo los elementos de u i positivos (Chang, 2003). (14) Una medida de probabilidad para u i podría ser la que viene dada por la ecuación q b u i = μ ib B b=1 μ ib (14)

23 Donde u ib y u jb son los vectores correspondientes a los píxeles a comparar, en la banda espectral b. Por ejemplo, u i = μ i1, μ i2,, μ ib T y u j = μ j 1, μ j 2,, μ jb T. La entropía del vector del píxel u i, vendría dada por la ecuación (15) B H u i = q b u i log q b u i b=1 (15) La entropía relativa del vector u j con respecto al vector u i viene dada por la ecuación (16) B K u i u j = q b u i log q b u j log q b u i b=1 B = q b u i log q b u i q b u j b=1 (16) K u i u j también se conoce como la medida de información de Kullback- Leibler (Bickel, y otros, 1977). Tras las definiciones anteriores, la medida hiperespectral simétrica, SID, puede definirse según la ecuación (17) SID u i, u j = K u i u j + K u j u i B = q b u i log q b u i q b u j b=1 + q b u j log q b u j q b u i (17) Por tanto, la función de disimilaridad según la distancia SID entre los píxels u i y u j, vendría dada por la ecuación (18) d SAD X i, X j = SID u i, u j (18) SID es una de las medidas más complejas que analizaremos a lo largo de este apartado. Su coste computacional global es muy elevado dado el coste que supone la utilización de operaciones de logaritmo

24 Si estimamos el número de operaciones que se realizan para la medida SID, basándonos en la implementación final de la misma, obtendríamos que SID cuenta con, aproximadamente, 3n sumas, n restas, 2n multiplicaciones, 5n divisiones y 2n logaritmos, siendo n el número de bandas espectrales de la imagen. Como podemos ver, el coste es bastante superior al resto de medidas comentadas hasta ahora, siendo las operaciones de logaritmo el factor más influyente. 2.6 Raíz cuadrada del error cuadrático de la media de la suma de las bandas La raíz cuadrada del error cuadrático de la media de la suma de las bandas o BSMSE (Square Root of Band Sum Mean Squared Error) se basa en minimizar el incremento de la media del error cuadrático. A continuación comentaremos el desarrollo realizado por Tilton (Tilton, 1991) (Tilton, y otros, 2006) aplicado a regiones, qué en nuestro caso utilizaremos para aplicarlo a píxeles. La estimación de la muestra del error cuadrático de la segmentación de la banda b de la imagen X separada en X 1, X j, X R vendría dada por la ecuación (19) MSE b X = 1 N 1 R i=1 MSE b X i (19) Donde N es el número total de píxeles en la imagen y la ecuación (20) muestra el error cuadrático medio de la banda b para el segmento X i. MSE b X = χ pb μ ib 2 x p X i (20) Por otro lado, x p es un vector de píxels (en este caso del subconjunto de X i ) y χ pb el valor de los datos de la imagen para la b-ésima banda del vector de píxeles x p. La función de disimilaridad según la distancia basada en el incremento del error cuadrático debido a la unión de las regiones X i y X j, vendría dada por la ecuación (21)

25 B d BSMSE X i, X j = MSE b X i, X j b=1 (21) Donde: MSE b X i, X j = MSE b X i X j MSE b X i MSE b X j (22) En función de la ecuación (20), y cambiando el orden de la adición, podemos obtener una función de disimilaridad eficiente basada en las características de la región agregada. Esta función vendría dada por la ecuación (23) MSE b X i, X j = χ pb μ ijb 2 x p X ij χ pb μ ib 2 x p X i χ pb μ jb 2 x p X j = χ pb μ ijb 2 χ pb μ ib 2 x p X i x p X j + χ pb μ 2 ijb χ pb μ 2 jb = χ 2 2 pb 2χ pb μ ijb + μ ijb χ 2 2 pb + 2χ pb μ ib μ ib x p X i + χ 2 2 pb 2χ pb μ ijb + μ ijb χ 2 2 pb + 2χ pb μ jb μ jb = x p X j 2μ ijb χ pb 2 + n i μ ijb + 2μ ib χ pb + n i μ 2 ib 2μ ijb χ pb 2 + n j μ ijb x p X i x p X i x p X j + 2μ jb χ pb 2 + n j μ jb = x p X j 2 2n i μ ib μ ijb + n i μ ijb + 2n i μ 2 ib n i μ 2 2 ib 2n j μ jb μ ijb + n j μ ijb + 2n j μ 2 jb n j μ 2 jb =

26 n i μ ib 2 2 2μ ib μ ijb + μ ijb + n ji μ 2 2 jb 2μ jb μ ijb + μ ijb = n i μ ib μ ijb 2 + n j μ jb μ ijb 2 (23) Donde μ ijb es el valor medio para la b-ésima banda espectral del vector media u ij de la región representada por X ij = X i X j. Entoncesel valor de μ ijb vendría dado por la ecuación (24). μ ijb = n iμ ib + n j μ jb n i + n j (24) (25). Podemos obtener una ecuación alternativa, como podría ser la ecuación MSE b X i, X j = n i μ ib μ ijb 2 + n j μ jb μ ijb 2 = 2 n i μ ijb 2n i μ ib μ ijb + n i μ 2 2 ib + n j μ ijb 2n j μ jb μ ijb + n j μ 2 jb = n i μ ib 2 + n j μ 2 jb 2 n i μ ib + n j μ jb μ ijb + n i + n j μ ijb = 1 n n i + n i + n j n i μ 2 2 ib + n j μ jb 2 n i μ ib + n j μ 2 jb + n i μ ib + n j μ 2 jb = j 1 n n i + n i + n j n i μ 2 2 ib + n j μ jb n i μ ib + n j μ 2 jb = j 1 n 2 n i + n i μ 2 ib + n i n j μ 2 jb + n i n j μ 2 ib + n 2 j μ 2 jb n 2 i μ 2 ib 2n i n j μ ib μ jb n 2 2 j μ jb = j n i n j n i + n j μ 2 jb + μ 2 jb 2μ ib μ jb = n i n j n i + n j μ ib μ jb 2 (25) Si combinamos Error! No se encuentra el origen de la referencia.las cuaciones anteriores, y aplicamos todo lo desarrollado a píxeles en lugar de regiones (u i y u j ), siendo un píxel un vector de bandas, obtendríamos la ecuación (26)

27 d BSMSE u i, u j = n in j μ n i + n ib μ 2 jb j B b=1 (26) La dimensión de esta distancia es igual al cuadrado de la dimensión de los valores de los píxeles, mientras que en los criterios basados en la norma vectorial son iguales a la dimensión de los valores de los píxeles. Para mantener la armonía entre los distintos criterios de disimilaridad usaremos la raíz cuadrada de la ecuación anterior (ecuación 21) anterior. De esta forma obtendríamos la ecuación (27) 1 d 2 BSMSE u i, u j = n in j μ n i + n ib μ 2 jb j B b=1 1 2 (27) Tras realizar todo el desarrollo matemático, necesario para conocer todos los detalles de esta medida, analizaremos su coste computacional. La medida BSMSE cuenta con un coste computacional similar a la Norma 2, siendo inferior que la medida anterior SID cuyo coste era bastante más elevado por la utilización de la operación de logaritmo. La estimación de operaciones para BSMSE es de n+2 multiplicaciones, n restas, 1 división, 1 raíz cuadrada y una suma, siendo n el número de bandas espectrales de la imagen. 2.7 Raíz cuadrada del error cuadrático del máximo de la suma de las bandas La raíz cuadrada del error cuadrático de la media de los máximos de las bandas o BSMME (Square Root of Band Maximum Mean Squared Error), al igual que la medida anterior (BSMSE) se basa en minimizar el incremento de la media del error cuadrático. BSMME en lugar de sumar las bandas toma el máximo de todas las bandas espectrales, por tanto, siguiendo el desarrollo de la medida anterior (BSMSE) y aplicándolo a píxels (vectores de bandas u i y u j ) en lugar regiones, obtendríamos la ecuación (28). d BSMME u i, u j = max MSE b u i, u j, b = 1,2,, B (28)

28 Donde sustituyendo al igual que en la medida BSMSE, obtendríamos la ecuación (29) d BSMME u i, u j = n in j n i + n j max μ ib μ jb 2 ; b = 1,2,, B (29) Y para matener la armonía con el resto de medidas utilizadas como hicmos con BSMSE, aplicamos la raíz cuadrada, resultando la ecuación (30) 1 d 2 BSMME X i, X j = n in j max μ n i + n ib μ 2 jb ; b = 1,2,, B j 1 2 (30) Dado el parecido de BSMME con BSMSE es lógico que su coste computacional sea al menos parecido. BSMME cuenta aproximadamente con el mismo número de operaciones que su análoga anterior. Las operaciones que hay que realizar por cada aplicación de la medida, son n+2 multiplicaciones, n restas, 1 división, 1 raíz cuadrada y una suma, siendo n el número de bandas espectrales de la imagen. 2.8 Distancia vectorial normalizada La Distancia Vectorial Normalizada o NVD (Normalized Vector Distance) se basa en la combinación de una medida de módulo vectorial (como podría ser la Norma 2) con el ángulo espectral o SAD. Esta distancia está extraída de los artículos de Baraldi y Parmiggiani (Baraldi, y otros, 1995) (Baraldi, y otros, 1996). Según este criterio, se considera que dos vectores son iguales si tienen el mismo módulo (por ejemplo, Norma 2) y el ángulo espectral entre ellos es 0. Siendo u i y u j los vectores correspondientes a los píxeles a comprar, la norma vectrorial entre estos vectores vendría dada por la ecuación (31). σ 1 u i, u j = min u i 2 u j 2, u j 2 u i 2 = min B 2 μ 1 b=1 2 ib B 2 μ 1 2 b=1 jb, B 2 μ 1 2 b=1 jb B 2 μ 1 2 b=1 ib (31)

29 Hay que tener en cuenta que 0.0 σ 1 (u i, u j ) 1.0 y 0.0/0.0 es igual a 1.0. En este caso, los vectores más parecidos tendrán un σ 1 cercano a 1.0 y los más diferentes tendrán un valor σ 1 cercano a 0.0. Tenemos el ángulo espectral θ entre los píxels u i y u j, según la medida SAD descrita anteriormente. Entonces, la ecuación (32) representaría el águlo espectral normalizado entre los vectores u i y u j. σ 2 u i, u j = π 2 θ u i, u j π 2 (32) Sería el ángulo espectral normalizado entre u i y u j. En este caso también hay que tener en cuenta que 0.0 σ 2 (u i, u j ) 1.0 y que los vectores más parecidos tendrán σ 2 cercano a 1.0 y los más diferentes tendrán un valor σ 2 cercano a 0.0. Por tanto, la función de disimilaridad según la distancia NVD entre los píxeles u i y u j vendría dada por la ecuación (33) d NVD u i, u j = 1.0 σ 1 u i, u j σ 2 u i, u j (33) De igual forma, 0.0 d NVD 1.0, pero a diferencia de antes, los vectores más parecidos tendrán d NVD próximo a 0.0 y los más diferentes tendrán un valor para d NVD más cercano a 1.0. Esta medida cuenta con un coste computacional medianamente alto en comparación con las medidas anteriores, pero bastante inferior al obtenido por la medida SID. La razón es la utilización de raíces y la operación de arcoseno además de utilizar un mayor número de multiplicaciones. El número aproximado de operaciones que realiza NVD es de 3n+1 sumas, 3n+2 multiplicaciones, 3 arcosenos, 3 divisiones, 2 restas y una raíz cuadrada, siendo n el número de bandas espectrales de la imagen. 2.9 Entropía La idea básica de la Entropía, según la aplicación de Tilton a regiones de la imagen (Tilton, 1991), es minimizar el cambio de la entropía entre la media de la región de la imagen existente y la imagen creada tras unir un par de regiones

30 En nuestro caso analizaremos píxels en lugar de regiones, simplificando todo el proceso. Para el criterio SID definido anteriormente, especificamos una medida de probabilidad para un pixel, normalizando el valor del pixel con la suma de los píxeles de todas las bandas espectrales. Sin embargo, para el criterio de Entropía, definimos una medida de probabilidad para un pixel, χ pb, normalizando el pixel con la suma de los píxeles para una banda particular. La ecuación (34) define esa medida de probabilidad. q b x p = χ pb N p=1 χ pb (34) Donde x p = χ p1, χ p2,, χ pb T. Entonces, la entropía de la banda b (de B bandas espectrales) de la imagen X vendría dada por la ecuación (35) N H b X = q b x p log q b x p p=1 = N p=1 χ pb NM b log χ pb NM b = N p=1 χ pb NM b log χ pb log NM b = log NM b 1 NM b N p=1 χ pb log χ pb (35) Donde M b es el valor media de la banda espectral b de N píxeles de la imagen. La entropía multiespectral total vendría dada por la ecuación (36). B H X = H b X b=1 (36) El sumatorio es positivo si todas las bandas espectrales no son correlativas, que no es el caso por norma general. A pesar del tecnicismo estadístico, este sumatorio conduce a un criterio muy útil para datos multiespectrales e hiperespectrales. Para un par de píxels particulares u i y u j, cambiemos H(X) por ΔH(u i, u j ) para la región de la imagen multiespectral formada tras unir el par de regiones comparando con la imagen antes de la unión. Este cambio se refleja en la ecuación (37)

31 H u i, u j = 1 N B 1 M b b=1 B = 1 N μ ijb log μ ijb μ ib log μ ib μ jb log μ jb x p X ij x p X i x p X j 1 M b b=1 n i μ ib log μ ib + n j μ jb log μ jb n i +n j μ ijb log μ ijb (37) Donde μ ijb son los elementos del vector u ij = μ i1, μ i2,, μ ib T y n i y n j son el número de líneas y bandas respectivamente. Teniendo en cuenta que el factor N no tiene ningún efecto en las comparaciones, el criterio de Entropía puede definirse según la ecuación (38): d ENT u i, u j = N H u i, u j = B 1 M b b=1 n i μ ib log μ ib + n j μ jb log μ jb n i +n j μ ijb log μ ijb (38) Si se normalizan los datos para tener valores medios iguales esparcidos por las bandas, el factor M b podría ser despreciado. Para los datos normalizados obtendríamos la ecuación (39) B d ENT u i, u j = n i μ ib log μ ib + n j μ jb log μ jb n i +n j μ ijb log μ ijb b=1 (39) Podemos calcular μ ijb fácilmente usando la ecuación (24). De todas las medidas planteadas en el documento, la Entropía es la que plantea un coste computacional más alto, y la razón son la gran cantidad de operaciones de logaritmos y multiplicaciones que se realizan en cada aplicación de la medida. El número de operaciones aproximado para la medida de la Entropía es de 11n multiplicaciones, 6n sumas, 4n logaritmos, 2n divisiones y n restas, siendo n el número de bandas espectrales de la imagen

32 Podemos ver el alto número de operaciones que implica utilizar esta medida. Podemos intuir que esto será un inconveniente en cuanto a tiempo de computación, pero será un problema que intentaremos solventar utilizando una arquitectura paralela para explotar las altas dosis de paralelismo intrínsecas en su procesamiento Criterio del ruido del punto en imágenes SAR El criterio del ruido del punto en imágenes SAR o SAR Speckle Noise Criterion está extraido de un artículo de J.M. Beaulieu (Beaulieu, 2004). Las imágenes SAR (Synthetic Aperture Radar) son imágenes de radar de apertura sintética. Se basa en utilizar el ruido asociado a cada punto de la imagen. La ecuación (40) mostraría el criterio aplicado a los píxeles u i y u j. d SAR u i, u j = n i n j n i +n j 1 2 B b=1 μ ib μ jb n i μ ib + n j μ jb (40) 2.11 Ortogonal La distancia ortogonal, se basa en utilizar la proyección geométrica ortogonal. Viene dada por la ecuación (41). P U = I U U t U 1 U t (41) Donde U es una matriz de firmas espectrales, U t es la traspuesta de dicha matriz e I es la matriz identidad. Como podemos suponer, esta medida también contará con un coste computacional medianamente alto, debido a la costosa operación de multiplicar matrices, así como de realizar la operación inversa de la misma. Según la ecuación (41), el número de operaciones realizada será de 3 productos matriciales, 1 operación de inversa y una resta de matrices

33 3 Algoritmos implementados En esta sección comentaremos paso a paso el proceso de funcionamiento de los algoritmos en sus versiones secuencial y paralela. 3.1 ATGP secuencial Se ha elaborado una versión secuencial del algoritmo como primera versión, intentando depurarla al máximo para obtener el mejor rendimiento posible. Como se comentó en el apartado 0, el algoritmo ATGP utiliza la proyección ortogonal como medida para realizar el proceso de análisis de la imagen hiperespectral. Esta medida viene dada por la ecuación (42). P U = I U U t U 1 U t (42) Con la idea de explorar nuevos posibles algoritmos de detección de targets se ha realizado una adaptación del algoritmo ATGP que soporta la utilización, según la preferencia del usuario, del resto de medidas planteadas en el apartado anterior. De esta forma, en lugar de aplicar por defecto la medida ortogonal, podemos aplicar cualquiera de las otras medidas a la imagen hiperespectral a procesar. Como detallaremos a lo largo de este apartado, el algoritmo realiza las operaciones tal y como fueron descritas formalmente en el apartado exceptuando la aplicación de la medida ortogonal, donde aplicaremos la medida escogida para toda la imagen hiperespectral. Para ello, una vez implementadas todas las medidas, utilizamos un selector, que en función de la medida escogida por el usuario selecciona una u otra medida según un criterio numérico que comentaremos en el subapartado siguiente Parámetros de entrada El algoritmo recibe los siguientes parámetros de entrada tras el nombre del ejecutable (por orden): Fichero imagen: es la imagen multiespectral o hiperespectral en formato bsq. Fichero cabecera: es el fichero cabecera que guarda toda la información sobre la imagen. Su extensión es hdr. Los parámetros a extraer de este fichero son los siguientes: o Lines: número de líneas de la imagen o Samples: número de muestras de la imagen o Bands: número de bandas de la imagen Número de targets: es el número de targets que el algoritmo deberá buscar

34 Medida empleada: es la medida a usar para el proceso de análisis de la imagen multiespectral o hiperespectral. Viene determinada por un número comprendido entre 0 y 9, donde las equivalencias son las siguientes: o Norma 1: 0 o Norma 2: 1 o Norma infinito: 2 o Ángulo espectral (SAD): 3 o Divergencia de la información espectral (SID): 4 o Raíz cuadrada del error cuadrático de la media de la suma de las bandas: 5 o Raíz cuadrada del error cuadrático del máximo de la suma de las bandas: 6 o Distancia vectorial normalizada: 7 o Entropía: 8 o Criterio del ruido del punto:

35 3.1.2 Pasos En este apartado escribiremos en detalle cada uno de los pasos que sigue el algoritmo de detección de targets. Vamos a clasificar los pasos en una serie de fases que englobarán unas operaciones determinadas Inicialización En esta fase se realiza el proceso de inicialización de la aplicación, lectura de parámetros, etc. Las operaciones realizadas son las siguientes: 1. Comprueba que todos los parámetros sean correctos, y si es así toma sus valores 2. Guarda el tiempo de inicio de procesamiento del algoritmo (para poder calcular el tiempo total de procesamiento) 3. Lee el fichero cabecera de la imagen (fichero hdr) 4. Reserva memoria para el fichero de imagen y una estructura temporal (un vector de bandas para poder guardar un píxel concreto) 5. Inicializa la matriz de posiciones. Es una matriz de parámetro_entrada_targets filas y 2 columnas donde se irán guardando las posiciones X e Y de los targets encontrados. Su proceso de inicialización no es más que poner a 0 todas sus celdas. 6. Inicializa matriz de valores intermedios. En esta matriz se van guardando los valores obtenidos al aplicar una medida a un píxel resultado y a un píxel de la imagen. La matriz tiene tantas celdas como píxels tiene la imagen Carga del fichero de imagen Para poder realizar operaciones con la imagen, hemos de extraer sus datos y almacenarlos en alguna estructura que nos permita realizar accesos de forma más cómoda y eficiente. En esta fase, el algoritmo realiza el proceso de lectura del fichero de imagen, mediante el cual almacena en la estructura inicializada en la fase anterior todo su contenido. Concretamente, el algoritmo realiza las siguientes operaciones: 1. Comprueba que el fichero tenga la extensión apropiada 2. Extrae todos los datos del fichero de imagen, procesando las bandas una a una hasta haber guardado todas ellas en la estructura declarada en la fase de inicialización. 3. Para evitar errores inesperados trunca (establece a 0) los posibles valores negativos obtenidos en el proceso de extracción de la imagen del fichero

36 La imagen cargada podríamos verla como un cubo, siendo sus dimensiones el número de líneas, muestras y bandas. La Figura 4 muestra ese cubo: Figura 4. Imagen cargada Obtención del píxel más brillante Como valor de referencia inicial y primer target el algoritmo toma el píxel más brillante de la imagen. Para ello tras realizar el proceso de inicialización de la aplicación y carga del fichero de imagen el algoritmo realiza las siguientes operaciones: 1. Lee un pixel (vector de bandas) de la imagen, que llamaremos (x, y). 2. Realiza el producto vectorial del píxel por su traspuesto 3, que vendría determinado por la operación mostrada en la ecuación (43) x, y t x, y (43) Utilizando la imagen del cubo (Figura 4) por ejemplo, si se tratase del pixel (1,1) podríamos representarlo como muestra la Figura 5: Figura 5. Producto vectorial de un pixel por su traspuesto 3 Hay que tener en cuenta que un píxel es un vector de bandas

37 3. Realiza los dos pasos anteriores para todos los píxeles de la imagen desde (1,1) hasta (número_de_muestras, número_de_líneas) 4. Obtiene el valor máximo de todos los productos vectoriales de los píxels de la imagen, puediendo resumir los pasos anteriores en la operación mostrada en la ecuación (44) max x, y t x, y (44) 5. Guarda las coordenadas (x, y) del píxel con valor de máximo brillo obtenido al calcular el producto vectorial con su traspuesto. Este píxel sería el primer target, t 1. Sobre la imagen anterior del cubo, sería por ejemplo, como muestra la Figura 6: Figura 6. Píxel más brillante de la imagen La ecuación (45) resume de forma matemática el proceso de detección del píxel más brillante (primer target): t 0 = arg max x,y F x, y T F x, y U = t 0 (45) Siendo F(x,y) el píxel (vector de bandas) en las coordenadas (x, y) de la imagen y U, la matriz donde almacenaremos los targets detectados por el algoritmo

38 ATGP La aplicación lanza el algoritmo ATGP (Automated Target Generation Process) para seguir obteniendo targets en el caso de haber especificado calcular más de uno. El algoritmo ATGP recibe como entrada inicial el píxel más brillante calculado en la etapa anterior, y como siguientes entradas el píxel resultado de la nueva etapa del algoritmo. Este algoritmo realiza las siguientes operaciones: 1. Lee un pixel (vector de bandas) de la imagen, que llamaremos (x, y). 2. Aplica la medida 4 escogida por el usuario (introducida por parámetro al inicio de la aplicación) al píxel leído y al píxel de entrada del algoritmo (en la primera iteración el píxel más brillante de la imagen y en las iteraciones sucesivas el píxel resultado del anterior ATGP). La ecuación (46) representa esta operación: medida F x, y = medida F x, y, t n (46) Siendo F(x,y) cualquiera de los píxels de la imagen, t n = 0 para la primera iteración y t n = target de iteración anterior, par el resto de iteraciones. medida[f(x,y)] representa la matriz de valores intermedios donde se van almacenando y acumulando los valores de cada iteración. 3. Guarda el valor obtenido tras aplicar la medida en la matriz de valores intermedios, que será necesario usar en las subsiguientes iteraciones (si es que las hubiese). Este paso es la asignación de la ecuación (46) anterior. 4. En cada iteración de ATGP se obtiene el valor máximo obtenido tras aplicar la medida correspondiente a todos los píxeles de la imagen utilizando un píxel de referencia (que en la primera iteración es el más brillante). Este valor máximo sería un nuevo target resultado. La ecuación (47) definiría el estado de la matriz de resultados en su estado actual tras haber detectado el segundo target utilizando el algoritmo ATGP después de haber calculado el píxel más brillante (primer target). U = (t 0, t 1 ) apartado 0. 4 Cada una de las medidas que pueden aplicarse al algoritmo ATGP se comentan en detalle en el

39 (47) El algoritmo ATGP se ejecuta parámetro_entrada_targets - 1 veces, ya que el primer target es el píxel más brillante calculado en la fase anterior. Por ejemplo la ecuación (48) refleja la siguiente operación a realizar una vez hemos calculado los dos primeros targets (píxel más brillante y primera iteración de ATGP). medida F x, y = medida F x, y, t 0 + medida F x, y, t 1 (48) El máximo de los valores obtenidos en la matriz de valores intermedios definida daría el tercer target, que al igual que el resto se van añadiendo a la matriz U resultado. De esta forma, en cada una de las iteraciones del algoritmo ATGP se guarda un resultado en la matriz de posiciones, hasta conseguir el número de targets deseado. Si por ejemplo quisiésemos encontrar 5 targets, al final obtendríamos 5 posiciones dentro de nuestra imagen, como muestra la Figura 7: Figura 7. Targets encontrados Finalización En esta última fase se realizan los procesos básicos de cualquier aplicación en su última instancia. Estas operaciones son: 1. Genera un fichero de texto de nombre medida.txt siendo medida la escogida por el usuario como parámetro de entrada de la aplicación. En este fichero de texto se guardan toda la información pertinente relativa a la ejecución de la aplicación. Esto es:

40 Tiempo promedio de ejecución: es el tiempo que ha tardado la aplicación en ejecutarse desde que comenzó a calcularse en primer target. Es determinado mediante la resta del tiempo de finalización y el de inicio. Targets resultado: Tras el tiempo promedio, el fichero de texto contiene la lista de targets obtenida en la ejecución del algoritmo. 2. Muestra por pantalla la información que se almacena en el fichero de texto, comentada en el punto anterior. 3. Libera la memoria utilizada en la aplicación. 4. Finaliza la ejecución de la aplicación

41 3.2 ATGP paralelo Se ha implementado una versión paralela del algoritmo que permite explotar las altas dosis de paralelismo que podemos encontrar en este tipo de procesamiento. Los Speedups que mostraremos en el apartado 4 son reales, ya que la versión secuencial es puramente secuencial, y no se trata de la versión paralela configurada para funcionar en un solo procesador. Los parámetros de entrada y las salidas son iguales que en la versión secuencial, no siendo necesario volver a explicar sus diferentes opciones. Al igual que en la versión secuencial se realiza todo el proceso de inicio y finalización de la aplicación, con las salvedades comentadas en los siguientes subapartados Particionamiento de la imagen El particionamiento o división de datos previa al procesamiento de una imagen hiperespectral, puede hacerse fundamentalmente de dos formas diferenciadas: el particionamiento espectral y el particionamiento espacial Particionamiento espectral: El particionamiento espectral considera que diferentes procesadores de la arquitectura paralela pueden contener partes no solapadas de una misma firma espectral (píxel). Este esquema tiene la desventaja de que, al considerarse la firma espectral (vector) como unidad mínima de procesamiento para los algoritmos, sería necesario incluir más operaciones de comunicación para cada cálculo de la medida empleada. Desde el punto de vista de la paralelización del agoritmo, el cual se basa en aplicar de forma repetitiva cualquiera de las medidas planteadas, este tipo de particionamiento tiene un coste elevadísimo en cuanto a comunicaciones se refiere Particionamiento espacial A diferencia del esquema de particionamiento anterior, el particionamiento espacial, considera que una misma firma espectral o píxel, no puede estar particionada en diferentes unidades de proceso de la arquitectura paralela. Este esquema plantea una ventaja, las unidades mínimas de cómputo, que en este caso son la aplicación de una de las medidas descritas en el apartado anterior, podrían realizarse de forma local en cada procesador, eliminando gran parte de la carga de comunicación del algoritmo. De esta forma, sólo tendríamos que realizar comunicaciones a nivel global para sincronizar los procesos o conseguir resultados en cada iteración de los algoritmos, de forma global

42 Tras probar estas políticas de particionamiento, y compararlas entre sí, se optó por la más rápida y eficiente de todas, el particionamiento espacial, que vamos a describir a continuación. Como podremos ver, el particionamiento implica que cada nodo carga una determinada porción de la imagen, operación que puede gestionarse fácilmente indicando a cada nodo participante desde dónde tiene que empezar a leer y el número de líneas asociado al nodo. El proceso de particionamiento se lleva a cabo antes de la fase Carga del fichero de imagen, de tal forma que cada procesador realiza sólo la carga de la porción que le haya sido asignada. Para ello: 1. Obtenemos el número de procesadores del que disponemos para realizar el proceso de análisis de la imagen hiperespectral, lo llamaremos num_nodos. 2. Calculamos el número de líneas de la imagen (num_lineas) que le corresponde a cada procesador (num_lineas_por_procesador), según la ecuación (49) num_lineas_por_procesador = num_lineas_imagen num_nodos (49) 3. Calculamos el número de líneas sobrantes (resto) según la ecuación (50) resto = num_lineas_imagen mod num_nodos (50) 4. Asignamos las líneas sobrantes al último nodo o procesador según la ecuación (51) num_lineas_procesador n = num_lineas_procesador n + resto (51)

43 Veamos un par de ejemplos ilustrativos: a. Supongamos que contamos con los siguientes elementos: Imagen hiperespectral: o 12 lineas o 12 muestras o 12 bandas 4 procesadores La Figura 8 muestra la asignación correspondiente a cada uno de los 4 procesadores: Figura 8. Ejemplo de particionamiento de la imagen 1 b. Supongamos ahora que contamos con los siguientes elementos: Imagen hiperespectral: o 12 lineas o 12 muestras o 12 bandas 5 procesadores La Figura 9 muestra la asignación correspondiente a cada uno de los 5 procesadores, donde podemos ver cómo al último procesador se le asignan las líneas sobrantes

44 Figura 9. Ejemplo de particionamiento de la imagen

45 3.2.2 Esquema de paralelismo Para poder paralelizar el algoritmo ATGP, es necesario incluir una serie de modificaciones en el código que nos permitan realizar la comunicación entre los diferentes nodos así como asignar una porción de la imagen a cada uno de los nodos que van a procesarla. Como podremos ver en la descripción detallada, el esquema de paralelismo sigue en todo caso la funcionalidad del algoritmo secuencial ATGP (descrito formalmente en el apartado y su versión secuencial en el apartado 3.1), siendo la ecuación (52) (para calcular por ejemplo el tercer target, siendo F(x,y) cualquier píxel de la imagen y t 0 y t 1 los dos primeros targets encontrados), lo más representativo de cada iteración del algoritmo, salvo que en este caso se calcula una matriz de valores intermedios en cada una de los nodos y posteriormente se realiza una puesta en común global sobre quién tiene el valor máximo. medida F x, y = medida F x, y, t 0 + medida F x, y, t 1 (52) Tras analizar y plantear diversos esquemas de paralelismo posibles, el más eficiente y el que mejor se adapta al planteamiento paralelo del algoritmo ATGP, es resolver el algoritmo de la siguiente forma: 1. Se realiza el particionado de la imagen según la política del apartado anterior (3.2.1). 2. Cada nodo 5 calcula el píxel más brillante de la partición que le haya sido asignada. Llamaremos a esta partición imagen i. El resultado de esta operación es un valor máximo de brillo en cada partición, que llamaremos max i. 3. Cada nodo trabajador (nodo 1, nodo 2,, nodo n o W i ) envía su valor de brillo máximo (max i ) al nodo maestro (nodo 0 o M). Figura 10. Envío de valor de brillo máximo de nodo trabajador (W i ) a maestro (M) 5 Consideraremos que los nodos están identificados de 0 a n, siendo 0 el nodo maestro;

46 4. El nodo maestro (M) recibe los valores de máximo brillo de cada uno de los nodos trabajadores (W i, n-1 valores). 5. El nodo maestro calcula el valor máximo entre todos los valores recibidos y envía a los trabajadores el identificador de quien tiene el valor máximo. Supongamos que es W 2 quien tiene el valor de máximo brillo de todas las particiones. Figura 11. Envío de identificador de nodo con pixel de máximo brillo a los trabajadores 6. El nodo que tiene el pixel más brillante (W 2, por ejemplo) envía el pixel (vector de bandas) a todos los demás y lo guarda como primer resultado (primer target o target 1 ). Para ello convierte la posición absoluta del píxel en coordenadas de la imagen y lo almacena en una matriz de posiciones. Figura 12. Envío del píxel resultado a todos los demás para siguiente iteración 7. Todos los nodos realizan ATGP. Todos tienen el píxel (vector de bandas) de máximo brillo que junto con el resto de píxeles de su partición serán los dos argumentos de la medida que va a emplearse en el proceso de análisis (seleccionada por el usuario al inicio del programa). 8. Cada nodo trabajador (nodo 1, nodo 2,, nodo n o W i ) envía su valor ATGP máximo (max i ) al nodo maestro (nodo 0 o M)

47 Figura 13. Envío del valor máximo ATGP al nodo maestro 9. El nodo maestro (M) recibe los valores de máximo ATGP de cada uno de los nodos trabajadores (W i, n-1 valores). 10. El nodo maestro calcula el valor máximo entre todos los valores recibidos y envía a los trabajadores el identificador de quien tiene el valor máximo. Supongamos que es W 3 quien tiene el valor de máximo ATGP de todas las particiones. Figura 14. Envío de identificador de nodo con pixel de máximo ATGP a los trabajadores 11. El nodo que tiene el pixel más brillante (W 3, por ejemplo) envía el pixel (vector de bandas) a todos los demás y guarda el resultado (target 2 target 3 target n ). Para ello convierte la posición absoluta del píxel en coordenadas de la imagen y lo almacena en una matriz de posiciones

48 Figura 15. Envío del píxel resultado ATGP a todos los demás para siguiente iteración 12. Se repiten los pasos del 7 al 11 un total de targets-1 veces

49 3.3 ATGP Relajado Tanto para la versión paralela como para la secuencial, se ha ideado un método, para evitar que los targets obtenidos puedan repetirse en algún momento debido a que el valor obtenido al aplicarle cualquier medida sea bastante alto y pueda volver a ser detectado como target resultado. Se ha denominado a este método Método de relajación del píxel. El método consiste en relajar los píxeles que ya han sido calificados como píxel resultado, para evitar volver a ser detectados, al menos de forma inminente. Esa relajación consiste en invertir (o establecer a 0) el contenido asociado al píxel en la matriz de valores intermedios. Esa negación o establecimiento a 0 de una celda determinada en la matriz de valores intermedios, permite participar a los demás píxeles con valores altos o medianamente altos en la competición por tener el valor más alto. Es un método efectivo, ya que como comprobaremos en el apartado de resultados (apartado 4) permite detectar mayor número de targets y evitar la repetición de los mismos llegado un momento determinado. 3.4 RX secuencial Para probar otros algoritmos de detección de targets se ha implementado una versión del algoritmo RX (descrito formalmente en el apartado 1.5.2), intentando depurarla al máximo para obtener el mayor rendimiento posible Parámetros de entrada El algoritmo recibe los siguientes parámetros de entrada tras el nombre del ejecutable (por orden): Fichero imagen: es la imagen multiespectral o hiperespectral en formato bsq. Fichero cabecera: es el fichero cabecera que guarda toda la información sobre la imagen. Su extensión es hdr. Los parámetros a extraer de este fichero son los siguientes: o Lines: número de líneas de la imagen o Samples: número de muestras de la imagen o Bands: número de bandas de la imagen Número de targets: es el número de targets que el algoritmo deberá buscar

50 3.4.2 Pasos En este apartado escribiremos en detalle cada uno de los pasos que sigue el algoritmo RX. Al igual que en la descripción de los pasos del algoritmo ATGP (apartado 3.1.2) vamos a clasificar los pasos en una serie de fases que englobarán unas operaciones determinadas. Para no duplicar la información indicaremos cuándo los pasos a realizar son idénticos que en el algoritmo ATGP Inicialización En esta fase se realiza el proceso de inicialización de la aplicación, lectura de parámetros, etc. Las operaciones realizadas son las siguientes: 1. Comprueba que todos los parámetros sean correctos, y si es así toma sus valores 2. Guarda el tiempo de inicio de procesamiento del algoritmo (para poder calcular el tiempo total de procesamiento) 3. Lee el fichero cabecera de la imagen (fichero hdr) 4. Reserva memoria para el fichero de imagen y una estructura temporal (un vector de bandas para poder guardar un píxel concreto) 5. Inicializa la matriz de posiciones. Es una matriz de parámetro_entrada_targets filas y 2 columnas donde se irán guardando las posiciones X e Y de los targets encontrados. Su proceso de inicialización no es más que poner a 0 todas sus celdas Carga del fichero de imagen El proceso de carga del fichero de imagen en memoria es idéntico al realizado en el algoritmo ATGP comentado en el apartado RX La aplicación lanza el algoritmo RX para iniciar el proceso de detección de targets. Para ello se realizan las siguientes operaciones: 1. Define una matriz de número_muestras x número_lineas celdas y la inicializa a 0. Esta matriz será guardará los valores de salida del algoritmo. Llamaremos a esta matriz resultado

51 2. Reestructura la matriz que define el fichero de imagen cargado en memoria, de tal forma que eliminemos la tercera dimensión, transformando la matriz de la imagen cuyas dimensiones son número_líneas x número_muestras x número_bandas en una matriz de número_líneas*número_muestras x número bandas, siendo * el símbolo de la multiplicación y x el elemento separador de dimensiones de una matriz. Llamaremos X a la matriz reestructurada que define la imagen. Vamos a representar gráficamente mediante varias imágenes las operaciones realizadas en este punto. La Figura 16 representa una imagen hiperespectral de 2 líneas, 3 muestras y 2 bandas. Figura 16. Imagen hiperespectral La Figura 17 representaría la imagen hiperespectral de la Figura 16 desglosada en bandas Figura 17. Imagen hiperespectral desglosada en bandas

52 La Figura 18 representa ilustrativamente la reestructuración de la imagen anterior. Figura 18. Reestructuración del fichero de imagen (matriz X) 3. Realiza el producto matricial de la traspuesta de X por X, y divide cada uno de sus elementos por número_líneas*número muestras, para suavizar los productos y evitar procesar cantidades desorbitadas que ralentizasen el algoritmo. Llamaremos R a la matriz resultante, cuyas dimensiones serían número_bandas x número_bandas. La ecuación (53) muestra la fórmula de obtención de esta matriz y la Figura 19 lo ilustra gráficamente. R = X t X número_líneas número_muestras (53)

53 Figura 19. Obtención de la matriz R 4. Realiza la inversa de la matriz R 5. Inicia el proceso de obtención de los elementos de la matriz de salida. Para ello es preciso realizar tantas iteraciones como píxeles contenga la imagen. En cada una de las iteraciones se realizan las siguientes operaciones: a) Se obtiene un píxel de la imagen como vector de bandas. Llamaremos vector_píxel al píxel obtenido. b) Para obtener el elemento de la matriz resultado correspondiente al píxel obtenido (ya que tienen las mismas dimensiones, sin contar la profundidad dada por el número de bandas) se realiza el producto vectorial del píxel traspuesto por el valor de la inversa de R, y a su vez por el píxel sin trasponer. La (54) muestra esta operación. resultado i j = vector_píxel t inversa(r) vector_píxel (54) Siendo i y j el número de muestras y número de líneas que definen una iteración determinada por dos bucles anidados

54 Obtención de píxeles resultado Una vez obtenida la matriz resultado o matriz RX, para obtener las coordenadas de los targets el algoritmo realiza las siguientes operaciones: 1. Busca el elemento de mayor valor en la matriz resultado 2. Guarda las coordenadas de dicho elemento, determinadas por i y j que como comentamos anteriormente son las variables de los bucles anidados que identifican muestras y líneas en la matriz resultado. Las coordenadas son almacenadas en una matriz de parámetro_targets x 2, que nos permite almacenar tantos targets (coordenadas de dos dimensiones) como el usuario haya especificado por parámetro. 3. Guarda el valor máximo obtenido como referencia para la siguiente iteración, en la que todos los valores encontrados serán menores que el anterior, ya que en caso de no hacer esto, obtendríamos siempre el mismo valor máximo y por tanto la misma coordenada. Estos dos puntos se realizan tantas veces como targets haya especificado el usuario como parámetro de entrada al algoritmo Finalización En esta última fase se realizan los procesos básicos de cualquier aplicación en su última instancia. Estas operaciones son: 1. Genera un fichero de texto de nombre RX.txt. En este fichero de texto se guardan toda la información pertinente relativa a la ejecución de la aplicación. Esto es: Tiempo promedio de ejecución: es el tiempo que ha tardado la aplicación en ejecutarse desde que comenzó a calcularse en primer target. Es determinado mediante la resta del tiempo de finalización y el de inicio. Targets resultado: Tras el tiempo promedio, el fichero de texto contiene la lista de targets obtenida en la ejecución del algoritmo. 2. Muestra por pantalla la información que se almacena en el fichero de texto, comentada en el punto anterior. 3. Libera la memoria utilizada en la aplicación. 4. Finaliza la ejecución de la aplicación

55 3.5 RX paralelo Al igual que se realizó con el algoritmo ATGP se ha paralelizado el algoritmo RX, para poder explotar sus altas dosis de paralelismo. Se han implementado dos versiones paralelas del algoritmo RX: Versión comunicativa: En la que todos los nodos tienen un máximo global en cada una de sus iteraciones. Versión independiente: En la que cada nodo es independiente del resto. El proceso de particionamiento de la imagen es idéntico que el realizado en el algoritmo ATGP que fue descrito anteriormente en el apartado El algoritmo es paralelizable fundamentalmente en dos partes, la fase de Carga del fichero de imagen y la fase de Obtención de píxeles resultado descritas en los apartados y , respectivamente Versión comunicativa Este apartado describe el esquema de paralelismo que sigue la versión comunicativa del algoritmo RX, en la que los todos los nodos obtienen un máximo global de referencia para cada iteración. El esquema de paralelismo escogida para esta versión comunicativa, es la siguiente: 1. Se realiza el particionado de la imagen según una política idéntica a la descrita en el apartado (3.2.1) para el algoritmo ATGP. 2. Cada nodo 6 calcula sus matrices X, R y con ellas su matriz resultado. Llamaremos a esta partición imagen i. 3. En cada nodo se realiza una iteración del proceso descrito en el apartado , para obtener el valor máximo de cada partición de la imagen. 4. Cada nodo trabajador (nodo 1, nodo 2,, nodo n o W i ) envía su valor máximo (max i ) al nodo maestro (nodo 0 o M). La Figura 20 ilustra ese envío. 6 Consideraremos que los nodos están identificados de 0 a n, siendo 0 el nodo maestro;

56 Figura 20. Envío de valor máximo de nodos trabajadores (W i ) al maestro (M) 5. El nodo maestro (M) recibe los valores máximos de cada uno de los nodos trabajadores (W i, n-1 valores). 6. El nodo maestro calcula el valor máximo entre todos los valores recibidos y envía a los trabajadores el identificador de quien tiene el valor máximo y el valor máximo de ese nodo. Supongamos que es W 2 quien tiene el valor de máximo brillo de todas las particiones, la Figura 21 ilustraría la comunicación llevada a cabo en este punto. Figura 21. Envío de máximo e identificador de nodo con valor máximo a los trabajadores 7. El nodo que tiene el valor máximo guarda las coordenadas del valor máximo en la matriz de targets encontrados. Se repiten los pasos 3 al 7 tantas veces como el número de targets especificado por el usuario como parámetro de entrada Versión independiente La versión independiente del algoritmo RX no realiza ningún tipo de comunicación entre nodos, sino que cada nodo se limita a procesar su partición por separado

57 Una vez que cada nodo ha procesado su partición obtiene el número de targets que el usuario ha especificado por parámetro, es decir, en total se obtienen parámetro_targets * número_de_nodos. Los resultados obtenidos varían con respecto a la versión comunicativa cuanto mayor número de nodos son utilizados. Aún así, la variación es mínima, ya que cada nodo detecta en primer lugar todos los máximos independientes de su partición por orden. Detallaremos más este aspecto en el apartado 4 Resultados. A priori, podemos plantear una serie de ventajas e inconvenientes de utilizar la versión comunicativa o idependiente del algoritmo RX paralelo. Las detallamos a continuación: La versión comunicativa realiza una puesta en común global para cada uno de los valores máximos obtenidos, obteniendo en cada iteración el valor máximo de entre todos los nodos. Esto permite obtener en primer lugar los targets más significativos. La versión independiente, al no establecer una comunicación con los demás nodos, obtiene para cada iteración el valor máximo asociado a su partición, aunque sea inferior a los demás resultados parciales del resto de nodos. De esta forma obtenemos el número de targets especificado para cada nodo, pero desconocemos si el los targets obtenidos en una iteración para un nodo son más significativos que los obtenidos para otro. Analizando los dos puntos anteriores, podemos plantearnos utilizar la versión comunicativa para localizar un número reducido de targets, en el que necesitemos distinguirlos de forma clara, o siguiendo un orden descendente de valores máximos. En el caso de analizar imágenes con gran cantidad de targets que localizar, o imágenes en las que tenemos la certeza de que los targets se encuentran distribuidos uniformemente, podríamos utilizar la versión independiente

58 4 Resultados En este apartado mostraremos los resultados obtenidos tras realizar un estudio comparativo de las diferentes medidas y algoritmos descritas en el apartado anterior. Inicialmente haremos una descripción de las imágenes hiperespectrales utilizadas en el estudio. Más adelante, comentaremos los resultados obtenidos en cuanto a precisión en el análisis de las imágenes en el proceso de localización de targets. Además, mostraremos los resultados obtenidos en cuanto a la parelización de los algoritmos se refiere, analizando factores como el speedup la relación entre tiempo de procesamiento y tiempo de comunicación y balanceo de carga. Por último, comentaremos los resultados mostrados a lo largo del apartado, haciendo especial incapié en realizar una comparativa global entre todas las medidas y algoritmos. 4.1 Imágenes utilizadas En este apartado comentaremos en detalle las características de las imágenes utilizadas en el estudio de detección de targets HYDICE La imagen que a partir de este punto llamaremos HYDICE (que en realidad es el nombre del sensor que la capturó) tiene su origen en una campaña de simulación de targets realizada por el ejército de Estados Unidos en colaboración con SITAC. Esta unión dio lugar a numerosas simulaciones de material armamentístico en distintos escenarios naturales. Una de las imágenes obtenidas en las simulaciones comentadas, está orientada a la detección de targets militares de distintos tamaños en escenarios naturales, con gran cantidad de vegetación. Para poder realizar la simulación de este escenario se efectuó un proceso controlado en el que una matriz de paneles artificiales fue colocada artificialmente en un escenario natural. Posteriormente, se llevó a cabo un proceso de toma de datos utilizando el sensor HYDICE (Chang, 2004). La Figura 22 muestra la imagen resultado de este proceso. Figura 22. Imagen HYDICE

59 Las características de la imagen se muestran en la Tabla 1 Líneas 64 Muestras 64 Bandas 169 (eliminados canales ruidosos) Rango espectral 0,4 2,5 μm Resolución espacial 1.56 metros/píxel Tamaño 5.28 MBytes (doble precisión) Tabla 1. Características imagen HYDICE Si marcamos los targets manualmente en la imagen, podemos hacernos una idea de lo que se pretende detectar. La Figura 23 resalta los targets más destacados. Figura 23. Targets marcados en imagen HYDICE Target principal Target secundario Podríamos clasificar los targets en targets principales y targets secundarios los diferentes targets que podemos ver, según su grado de intensidad en la imagen. Hemos etiquetado los targets principales como A, B, C, D y E para poder referenciarlos más adelante con mayor comodidad

60 Como se puede apreciar en las figuras anteriores, la imagen HYDICE está formada por un campo de hierba situado al lado de un bosque (a la izquierda de la imagen). En el centro del campo de hierba existen 15 panales (de los cuales hemos resaltado 10) de diferentes tamaños, que forma una matriz de 5x3. El tamaño de los paneles decrece de izquierda a derecha, de ahí que califiquemos como targets principales a los paneles cuyas dimensiones son de 3x3 metros, y como targets secundarios a los paneles cuyas dimensiones son 2x2 metros. Hemos ignorado la tercera columna de paneles, al tener dimensiones de 1x1 metro, que es inferior a la resolución espacial de 1.56 metros por píxel de la imagen. A su vez, los distintos paneles que conforman los targets principales y targets secundarios están recubiertos de distintos tipos de pintura simulando diferentes tipos de materiales militares

61 4.1.2 World Trade Center La segunda imagen que analizaremos en este documento fue tomada por el sensor AVIRIS, lanzado por el Laboratorio de propulsión a chorro de la NASA (NASA s Jet Propusion Laboratory) sobre la zona del World Trade Center (comúnmente conocido como Las Torres Gemelas o The Twin Towers ) el día 16 de septiembre del año 2001, justo cinco días después de los ataques terroristas que derrumbaron las dos torres principales y otros edificios del complejo del WTC. Las características de la imagen completa se muestran en la Líneas 2133 Muestras 512 Bandas 224 Rango espectral 0,4 2,5 μm Resolución espacial 1.7 metros/píxel Tamaño 1 GByte aproximadamente Tabla 2. Características de la imagen completa del WTC La Figura 24 muestra una composición falsa de color del conjunto de datos, utilizado para realizar pruebas, en los que se usan los canales de 1682, 1107 y 655 nm, mostrados como rojo, verde y azul respectivamente. Las zonas con vegetación reciben tonalidades verdes, mientras que las zonas quemadas aparecen con tonos grisáceos. El humo que proviene del area del WTC (enmarcada en el rectángulo de color rojo) que se dirige al sur de Manhattan se muestra en un tono azul claro, debido a la reflectancia espectral en el canal de 655 nm. Para realizar las diferentes pruebas, hemos usado un mapa térmico del U.S. Geological Survey, que muestra las posiciones de los targets de los puntos calientes en la zona del WTC (Map). Estos puntos se muestran como rojo claro, naranja y amarillo en la Figura 25 y están etiquetados con las letras de A, B, C, D, E, F, G y H. El mapa está centrado en la región en la que las torres se desplomaron y las temperaturas oscilaban entre los 700º y los 1300º Farenheit (371º C 704º C). Vamos a utilizar este mapa térmico como punto de referencia para validar la precisión en la detección de targets sobre esta imagen

62 Figura 24. Imagen del WTC Figura 25. Mapa térmico de la zona del WTC

63 4.2 Precisión de algoritmos A continuación realizaremos una comparativa de la precisión de todas las medidas y algoritmos en el proceso de detección de targets. Para realizar este tipo de comparativa, suele utilizarse la medida SAD para comparar los targets conocidos con los obtenidos utilizando el algoritmo. Se considera que aquellos targets cuyo espectro tienen un valor para su medida SAD con respecto al target conocido menor que un cierto umbral se consideran similares. Para cualquier caso, si el valor de la medida SAD entre ambos targets es cero, se considera que el target es el mismo, y por tanto ha sido detectado con total exactitud. (Plaza, y otros, 2004). Cabe destacar que todas tablas mostradas en los apartados siguientes, se han obtenido como resultado de ejecutar los distintos algoritmos especificando 30 targets como número de objetivos a encontrar. La mayoría de las medidas, al subir el número de targets a una cifra mayor, como podrían ser 100 targets, detectan todos o casi todos los targets. Hemos decidido establecer la cifra en 30 para poder realizar comparativas entre los diferentes métodos, así como utilizando o no el método de relajación del píxel. Sólo las 10 medidas, es decir, todas las filas de la tabla excepto las dos últimas (Ortogonal y RX), tienen versión relajada, ya que en esas 10 versiones del algoritmo ATGP es donde únicamente puede aplicarse el método de relajación del píxel, sobre la matriz de valores intermedios de las medidas calculadas en cada iteración HYDICE En primer lugar, vamos a mostrar la imagen HYDICE utilizando la herramienta descrita en el apartado 6, utilizano el algoritmo RX, que nos permitirá resaltar los puntos propensos a ser detectados como targets. La Figura 26 es el resultado de aplicar el algoritmo de RX utilizando la Herramienta de localización de targets. Figura 26. Imagen resultante de aplicar el algoritmo RX a la imagen HYDICE

64 Para la imagen del HYDICE cuyos targets reales han sido descritos en el apartado anterior, vamos a mostrar una tabla en la que podamos comparar la precisión de las diferentes medidas utilizadas para el algoritmo ATGP, así como la precisión que pueda ofrecernos el algoritmo RX. En la tabla que mostraremos a continuación se ha utilizado la medida espectral SAD como criterio de precisión en la detección de los píxeles, comparando los targets comentados en el apartado anterior a los que denominaremos targets oficiales con los targets obtenidos por cada uno de los algoritmos. La Tabla 3 muestra la precisión para la imagen del HYDICE: A B C D E Norma 1 0, , , , , Norma 2 0, , , , , Norma Inf. 0, , , , , SAD 0, , , , , SID 0, , , , , BSMSE 0, , , , , BSMME 0, , , , , NVD 0, , , , , Entropía 0, , , , , SAR SNC 0, , , , , Ortogonal 0, , , , , RX 0, , , , , Tabla 3. Precisión en la detección de targets para la imagen del HYDICE Target detectado o idéntico Target próximo o similar

65 La tabla muestra en cada celda el valor mínimo obtenido para la medida o algoritmo (indicado como elemento inicial de cada fila) determinado al aplicar la distancia SAD entre cada uno de los targets detectados y los targets oficiales. Resaltamos en amarillo los targets que han sido encontrados (distancia SAD = 0) y en verde los que encuentran targets cercanos o muy similares (distancia SAD = 0,0 ). Para esta imagen se han considerado los valores de orden centesimal como targets similares. Este nivel de proximidad a cero para considerarse target similar es un criterio lógico en esta imagen, ya que se trata de una imagen sencilla, corregida, que ofrece poca complejidad de procesamiento. Antes de comentar los resultados obtenidos, si definimos una tabla siguiendo los mismos criterios para las medidas que podemos implementar siguiendo el método de relajación del píxel obtendríamos los resultados que muestra la Tabla 4. A B C D E Norma 1 0, , , , , Norma 2 0, , , , , Norma Inf. 0, , , , , SAD 0, , , , , SID 0, , , , , BSMSE 0, , , , , BSMME 0, , , , , NVD 0, , , , , Entropía 0, , , , , SAR SNC 0, , , , , Tabla 4. Precisión en la detección de targets para la imagen del HYDICE (utilizando el método de relajación del píxel) Target detectado o idéntico Target próximo o similar

66 Una vez mostrados los resultados de precisión para el algoritmo normal y utilizando el método de relajación del píxel procedemos a comentar dichos resultados. En primer lugar, elaboraremos la Error! No se encuentra el origen de la eferencia., la cual muestra los targets detectados para cada uno de los algoritmos y medidas en su versión normal y relajada (a los que es posible aplicarle el método de relajación del píxel). La tabla muestra también los casos en los que se detecta un píxel con alto grado de similaridad (color verde). Targets detectados Versión normal Versión relajada Detectado Similar Detectado Similar Norma 1 E D E D Norma 2 Ninguno Ninguno E D Norma Inf. E D D, E Ninguno SAD E D E D SID E D A, E B, C, D BSMSE Ninguno Ninguno E D BSMME E D D, E Ninguno NVD E Ninguno Ninguno Ninguno Entropía Ninguno Ninguno Ninguno Ninguno SAR SNC Ninguno Ninguno Ninguno Ninguno Ortogonal A, C, E B, D RX A, B, C, D, E Ninguno No es posible aplicar relajación No es posible aplicar relajación Tabla 5. Targets detectados para todos los algoritmos y medidas en versiones normal y relajada para HYDICE

67 Podemos ver cómo los targets D y E para el caso de HYDICE normal (no relajado) son los targets más detectados para las 10 primeras medidas. El target E se detecta (color amarillo) prácticamente en todas las medidas mientras el D casi se detecta (color verde) o detecta un píxel similar al target D. Para el caso de la medida ortogonal vemos como detecta perfectamente los targets A, C y E y está muy cerca de los targets B y D. En cuanto al caso del algoritmo RX podemos ver su precisión absoluta en la detección de los targets, detectando todos y cada uno de ellos con total precisión. Si observamos zona de la tabla asociada a la ejecución de las 10 medidas utilizando el método de relajación del píxel, podemos ver cómo por ejemplo las medidas Norma 2 y BSMSE que no detectaban el píxel E en la versión no relajada, ahora sí lo detectan. Por otro lado, las medidas Norma Infinito y BSMME ahora detectan perfectamente el target D, cuando antes tan sólo se acercaban al target objetivo. Además, podemos ver como otras medidas se aproximan mucho más a targets que antes no eran detectados, como por ejemplo la medida SID, que ahora detecta dos targets (A y E) y se aproxima a todos los demás. Para ilustrar de forma gráfica los comentarios realizados, vamos a mostrar las imágenes obtenidas mediante la Herramienta de localización de targets desarrollada, para hacernos una idea ilustrativa de la precisión de los algoritmos. Iremos mostrando pares de imágenes, mostrando para cada medida o algoritmo su versión normal y su versión relajada (en caso de tenerla), para poder observar con claridad las diferencias. Como punto de referencia tomaremos la imagen descriptiva de los targets oficiales mostrada en el apartado de descripción de la imagen. A continuación mostramos todas las imágenes resultantes, siguiendo el orden de presentación de las medidas. Figura 27. Precisión de Norma 1 sin relajar (izquierda) y relajada (derecha)

68 Figura 28. Precisión de Norma 2 sin relajar (izquierda) y relajada (derecha) Figura 29. Precisión de Norma Inf sin relajar (izquierda) y relajada (derecha) Figura 30. Precisión de SAD sin relajar (izquierda) y relajada (derecha)

69 Figura 31. Precisión de SID sin relajar (izquierda) y relajada (derecha) Figura 32. Precisión de BSMSE sin relajar (izquierda) y relajada (derecha) Figura 33. Precisión de BSMME sin relajar (izquierda) y relajada (derecha)

70 Figura 34. Precisión de NVD sin relajar (izquierda) y relajada (derecha) Figura 35. Precisión de Entropía sin relajar (izquierda) y relajada (derecha) Figura 36. Precisión de SAR SNC sin relajar (izquierda) y relajada (derecha)

71 Figura 37. Precisión de la medida Ortogonal Figura 38. Precisión del algoritmo RX Podemos ver, además de las observaciones realizadas sobre las tablas, cómo prácticamente todas las medidas, toman los píxels relativos a la zona del bosque (parte izquierda de la imagen) algunos casi en la totalidad de los targets. También, tomando como referencia los targets resaltados en la descripción de la imagen, podemos ver que son detectados en algunas medidas más que en otras. Por otro lado, también vemos el píxel más brillante de esta imagen (primero detectado en todas las medidas aplicadas a ATGP), se encuentra ubicado en las coordenadas (13,8), muy cerca de la esquina superior izquierda de la imagen. Por último, salta a la vista la perfección del algoritmo de RX detectando todos los targets y el buen resultado que ofrece también la medida ortogonal frente a las demás

72 4.2.2 World Trade Center En primer lugar, vamos a mostrar la imagen del WTC utilizando la herramienta descrita en el apartado 6, utilizando el algoritmo RX, que nos permitirá resaltar los puntos propensos a ser detectados como targets. El resultado se meustra en la Figura 40. La Figura 39 muestra el fragmento concreto de la imagen al que aplicamos el algoritmo RX en mapa de grises, para una mejor comparación Figura 39. Fragmento de la imagen del WTC Figura 40. Imagen resultante de aplicar el algoritmo RX a la imagen WTC

73 Para esta imagen, el umbral elegido para considerar los píxeles que son similares, ha de ser algo mayor, y subir a un orden decimal. La razón es que se trata de una imagen en radiancia (no corregida atmosféricamente) cuya complejidad es muy alta. Tomaremos como targets similares aquellos cuyos valores son inferiores a 2 décimas (0,2 ). Utilizando el criterio comentado en el párrafo anterior, vamos a mostrar las tablas de precisión para la imagen del World Trade Center. La Tabla 6 muestra la precisión para la imagen del World Trade Center. A B C D E F G H Norma 1 0, , , , , , , ,62394 Norma 2 0, , , , , , , ,45081 Norma Inf. 0, , , , , , , ,46425 SAD 0, , , , , , , ,52727 SID 0, , , , , , , ,35451 BSMSE 0, , , , , , , ,45081 BSMME 0, , , , , , , ,46425 NVD 0, , , , , , , ,54263 Entropía 1, , , , , , , ,02844 SAR SNC 0, , , , , , , ,26837 Ortogonal 0, , , , , , , ,38034 RX 0, , , , , , , ,71031 Tabla 6. Precisión en la detección de targets para la imagen del World Trade Center Target detectado o idéntico Target próximo o similar

74 Al igual que con la imagen del HYDICE, si aplicamos el método de relajación del píxel en los métodos en los que sea posible aplicarlo, mejoraríamos los resultados obtenidos. La Tabla 7 muestra esos resultados: A B C D E F G H Norma 1 0, , , , , , , ,54323 Norma 2 0, , , , , , , ,45081 Norma Inf. 0, , , , , , , ,46425 SAD 0, , , , , , , ,52727 SID 0, , , , , , , ,38821 BSMSE 0, , , , , , , ,45081 BSMME 0, , , , , , , ,46425 NVD 0, , , , , , , ,47779 Entropía 1, , , , , , , ,02844 SAR SNC 0, , , , , , , ,26837 Tabla 7. Precisión en la detección de targets para la imagen del World Trade Center (utilizando el método de relajación del píxel) Target detectado o idéntico Target próximo o similar Una vez mostradas las tablas comparativas de la precisión de las distintas medidas y algoritmos vamos a sintentizar la información en una única tabla, al igual que hicimos con la imagen del HYDICE, para poder analizar los targets detectados en cada caso. La Tabla 8 muestra de forma resumida los targets que son detectados por cada una de las medidas y algoritmos para la imagen del WTC

75 Targets detectados Versión normal Versión relajada Detectado Similar Detectado Similar Norma 1 C A, D A, C B, D Norma 2 C A, D A, C B, D Norma Inf. C A, D C A, B, D SAD C A, D A, C B, D SID C A, D A, C D BSMSE C A, D A, C B, D BSMME C A, D C A, B, D NVD C A, D C A, D Entropía Ninguno Ninguno Ninguno Ninguno SAR SNC A, C B, D, G, H A, C B, D, G, H Ortogonal C, D B RX A, C, D B No es posible aplicar relajación No es posible aplicar relajación Tabla 8. Targets detectados para todos los algoritmos y medidas en versiones normal y relajada para WTC Para la imagen del WTC podemos ver como todas las medidas excepto la Entropía detectan el target C y cómo SAR SNC detecta además el target A. En cuanto a la medida ortogonal, podemos ver que se aproxima al target A y que además del C detecta el target D. Y en último caso, vemos cómo RX, y al igual que pasó en HYDICE vuelve a ser el algoritmo que más targets detecta. En cuanto a la aplicación del método de relajación del píxel, es necesario destacar cómo ya no sólo SAR SNC detecta el target A de entre las 10 medidas aplicadas al algoritmo ATGP, sino que Norma 1, Norma 2, SAD, SID, y BSMSE también lo detectan para el mismo número de targets (30 targets)

76 A continuación y como hicimos con la imagen del HYDICE, mostraremos de forma gráfica, utilizando la herramienta de localización de targets, los distintos resultados obtenidos, comparando su versión normal y relajada (en caso de tenerla). Figura 41. Precisión de Norma 1 sin relajar (izquierda) y relajada (derecha) Figura 42. Precisión de Norma 2 sin relajar (izquierda) y relajada (derecha)

77 Figura 43. Precisión de Norma Infinito sin relajar (izquierda) y relajada (derecha) Figura 44. Precisión de SAD sin relajar (izquierda) y relajada (derecha) Figura 45. Precisión de SID sin relajar (izquierda) y relajada (derecha)

78 Figura 46. Precisión de BSMSE sin relajar (izquierda) y relajada (derecha) Figura 47. Precisión de BSMME sin relajar (izquierda) y relajada (derecha) Figura 48. Precisión de NVD sin relajar (izquierda) y relajada (derecha)

79 Figura 49. Precisión de Entropía sin relajar (izquierda) y relajada (derecha) Figura 50. Precisión de SAR SNC sin relajar (izquierda) y relajada (derecha) Figura 51. Precisión de la medida ortogonal

80 Figura 52. Precisión de RX Además de las observaciones realizadas antes de mostrar las imágenes, podemos observar que hay cierta armonía entre las distintas medidas, las cuales si no detectan el píxel concreto suelen aproximarse bastante. El píxel más brillante de la imagen se encuentra en la coordenada (3,67). Se encuentra en la zona superior de la imagen y aparece como un punto blanco. Es el primer target de todas las medidas aplicables al algoritmo ATGP y es detectado también por el algoritmo RX, pero no es uno de los targets objetivo planteados en la descripción de la imagen. Probablemente este píxel, no sea importante y su brillo máximo se deba a que la imagen no esté corregida atmosféricamente. Es preciso resaltar también sobre las imágenes, cómo el algoritmo RX es el que mejores resultados ofrece, detectando casi todos los targets en un número reducido de iteraciones

81 4.3 Paralelismo Descripción de arquitecturas paralelas Cluster GRNPS El cluster del grupo de investigación GRNPS, es una arquitectura paralela de bajo coste de tipo Beowulf 7, formado por una serie de computadores interconectados entre sí. Se encuentra ubicado en la Escuela Politécnica de la Universidad de Extremadura en Cáceres. Los equipos utilizan el sistema operativo LinEx y ofrecen la posibilidad de usar las librerías MPI (Message Passing Interface) (MPI). Las especificaciones de los equipos que conforman el cluster GRNPS se muestra en la Tabla 9: Sistema Operativo Procesador Memoria RAM gnulinex 2004r1 Intel Pentium MHz 256 MBytes Versión del Kernel Versión de MPI MPICH Número de nodos 8 (4 utilizables) Red de interconexión Gigabit Ethernet Tabla 9. Especificaciones equipos cluster GRNPS Cluster Thunderhead Thunderhead es el nombre que recibe el cluster ubicado en el Goddard Space Flight Center de la NASA en Maryland. Se trada de un cluster masivamente paralelo de tipo Beowulf. Sus espeficaciones se muestran en la Tabla Tecnología para agrupar computadores basados en el sistema operativo Linux para formar un supercomputador virtual paralelo

82 Sistema Operativo Procesador Linux Fedora Core Intel Xeon 2.4 GHz Dual Memoria en cada nodo 1 Gbit = MBytes Pico global TFLOPs Versión de MPI MPICH Número de nodos 268 duales (536 procesadores) Red de interconexión 1 Myrinet 2000 Red de interconexión 2 Gigabit Ethernet Red de interconexión 3 Fast Ethernet Tabla 10. Especificaciones equipos cluster Thunderhead Thunderhead posee varios nodos adjuntos al núcleo con 2 GHz de fibra óptica Myrinet. Las pruebas llevadas a cabo se han realizado en uno de sos nodos, llamado thunder1. La Figura 53 muestra una parte del cluster Thunderhead: Figura 53. Cluster Thunderhead

83 La Figura 54 muestra la topología global que forman las 3 redes de interconexión del cluster Thunderhead. Figura 54. Topología de interconexión del cluster Thunderhead Resultados cluster GRNPS En este subapartado mostraremos los resultados que hemos podido obtener del cluster GRNPS. En este cluster es donde se realizaron las pruebas iniciales del proyecto, hasta comprobar que los algoritmos paralelos funcionaban correctamente. Posteriormente las pruebas han derivado al Thunderhead, donde podemos utilizar un mayor número de procesadores y hacer un mayor número de análisis y comparativas, así como gráficas de SpeedUp reales World Trade Center Para la imagen del World Trade Center los resultados obtenidos no son fiables para el cluster GRNPS, ya que al ser una imagen de tamaño considerable, la cantidad de información que corresponde a cada nodo es mayor que la cantidad de memoria principal del equipo, produciéndose intercambios con memoria virtual (swapping 9 ) y obteniendo tiempos desorbitados cuando ocurre este suceso. Esta imagen la explotaremos en mayor medida en el cluster Thunderhead donde disponemos de un mayor número de procesadores. 8 El SpeedUp real resulta de dividir el tiempo del algoritmo secuencial entre el tiempo del algoritmo paralelo. En todos los casos el SpeedUp se calcula utilizando una versión secuencial refinada, que es distinta y bastante más rápida que la versión secuencial ejecutándose en un solo procesador. 9 El Swapping es un mecanismo o modo de interrelacionar la memoria principal (la que contiene el programa en ejecución, los datos de proceso inmediato y los resultados intermedios) con la secundaria, de tal modo que se produce un intercambio de programas entre ambas cuyo resultado es la simulación de un sistema multitarea o la potenciación de memoria central a base de recursos de la memoria secundaria. (Def)

84 HYDICE Para la imagen del HYDICE, mostraremos en primer lugar una tabla con los tiempos obtenidos para cada una de las medidas del algoritmo ATGP, la cual contendrá los tiempos de dicho algoritmo en secuencial y utilizando cuatro procesadores. Además, se ha calculado el SpeedUp asociado a los dos tiempos que poseemos para cada medida. La Tabla 11 muestra esos datos. Secuencial 4 procesadores SpeedUp Norma 1 2, , , Norma 2 1, , , Norma Infinito 2, , , SAD 2, , , SID 6, , , BSMSE 1, , , BSMME 2, , , NVD 1, , , Entropía 16, , , SAR SNC 2, , , Tabla 11. Tiempos de ejecución en cluster GRNPS para HYDICE Es preciso destacar cómo el SpeedUp que muestra la Tabla 11 que contiene los tiempos de ejecución secuencial y con 4 procesadores en el cluster GRNPS, es un SpeedUp perfecto que oscila sobre 4. Como se comentó anteriormente cabe destacar que los SpeedUps mostrados son reales, al utilizar como punto de referencia una versión secuencial muy optimizada de los algoritmos, y no realizar la ejecución de la versión paralela para un solo procesador. En los apartados siguientes evaluaremos el SpeedUp con un mayor número de procesadores, así como los tiempos invertidos en comunicación y procesamiento y el balanceo de carga entre los distintos nodos

85 4.3.3 Resultados cluster Thunderhead A continuación comentaremos los diversos resultados obtenidos a lo largo de las pruebas realizadas en el cluster Thunderhead. En primer lugar realizamos las pruebas sobre la imagen del World Trade Center que es una imagen de grandes dimensiones. Posteriormente, para continuar haciendo pruebas relativas al rendimiento paralelo, aplicamos los algoritmos paralelos también a la imagen del HYDICE, para ver cómo disminuiría el rendimiento al tratarse de una imagen muy reducida y por tanto con poca carga de trabajo World Trade Center En primer lugar, y al igual que en el apartado anterior, mostraremos la tabla de tiempos, utilizando esta vez distinto número de procesadores, para poder calcular el SpeedUp real y obtener una gráfica comparativa. En principio, vamos a mostrar los tiempos de ejecución para cada una de las medidas y algoritmos. para la imagen de World Trade Center. Es preciso mencionar, que los tiempos del algoritmo RX, son los tiempos resultantes de aplicar el algoritmo sobre una partición de la imagen del WTC, y no sobre la imagen completa como sucede en el resto de casos. Esto se ha realizado para evitar problemas de swapping como los comentados anteriormente para el cluster GRNPS. En cualquier caso, para calcular los SpeedUps no influye significativamente, simplemente cabría destacar que para la imagen completa, el SpeedUp sería aún mayor por disponer de mayor información a procesar por cada nodo. La Tabla 12 muestra los tiempos de ejecución: Secuencial 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Norma 1 260,43 191,33 97,284 50,002 27,725 19,807 Norma 2 235,78 182,74 94,383 49,42 25,465 19,283 Norma Infinito 268,95 187,92 99,288 50,96 27,755 22,001 SAD 241,93 187,83 96,145 49,242 25,352 19,008 SID 2267,6 1148,8 579,51 305,32 165,46 99,375 BSMSE 233,27 181,43 96,746 49,501 27,774 19,181 BSMME 247,11 180,73 96,364 50,299 28,386 21,008 NVD 240,56 186,39 95,433 49,559 27,435 19,22 Entropía 11151, ,7 1570, ,17 683,5 SAR SNC 284,27 198,62 100,6 53,035 29,598 20,631 RX Com. 68,868 32,463 16,883 9,1441 5,6728 4,6785 RX Indep. 68,868 32,707 16,826 8,9874 5,4679 4,4264 Tabla 12. Tiempos de ejecución en cluster Thunderhead para WTC Como podemos ver, las 10 primeras filas corresponden a las diferentes medidas utilizadas en el algoritmo ATGP, y las dos últimas a las variantes paralelas del algoritmo RX

86 Es preciso observar cómo las medidas guardan cierta armonía en cuanto al tiempo de ejecución, exceptuando las medidas SID y Entropía, las cuales presentan tiempos de ejecución mucho mayores. Remitiéndonos a la definición de las medidas descritas en el documento, los tiempos de la distancia SID y la Entropía se corresponden con las estimaciones realizadas en el apartado 2. Su complejidad operacional es superior al del resto de medidas, fundamentalmente por el uso de la operación de logaritmo. Para poder ver correctamente los SpeedUps, separaremos en tres tablas y sus tres gráficas asociadas, las diferentes medidas y algoritmos. En cada una de las trablas mostraremos una columna de referencia con los SpeedUps ideales para cada número de procesadores. A su vez, reflejaremos en las gráficas, esta nueva componente como Lineal. Una vez presentados los tiempos de ejecución, mostraremos los SpeedUps obtenidos para cada una de las medidas y algoritmos, separados en tres tablas que nos permitan distinguir los valores de forma más cómoda en sus gráficas asociadas. Después de mostrar las 3 tablas y sus gráficas asociadas, comentaremos los resultados obtenidos. La Tabla 13 muestra los SpeedUps para las primeras cinco medidas sobre el algoritmo ATGP: 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Norma 1 1, , , , , Norma 2 1, , , , , Norma Infinito 1, , , , , SAD 1,288 2, , , , SID 1, , , , , Lineal Tabla 13. SpeedUps de las 5 primeras medidas para WTC La Figura 55 representa gráficamente la información de la Tabla

87 Norma 1 Norma 2 Norma Infinito SAD SID Lineal Figura 55. SpeedUps de las 5 primeras medidas para WTC Una vez mostrados los datos para las primeras cinco medidas, procedemos a mostrar las 5 siguientes, es decir, las medidas de la 6 a la 10, cuyos nombres se ven reflejados tanto en la tabla como en la gráfica siguiente. La Tabla 14 muestra los SpeedUp correspondientes a las medidas de la 6 a la proc. 4 proc. 8 proc. 16 proc. 32 proc. BSMSE 1, , , , , BSMME 1, , , , , NVD 1, , , , , Entropía 3, , , , , SAR SNC 1, , , , , Lineal Tabla 14. SpeedUps de las medidas 6 a 10 para WTC La Figura 56 sería el gráfico correspondiente asociado a la Tabla

88 BSMSE BSMME NVD Entropía SAR SNC Lineal Figura 56. SpeedUps de las medidas 6 a 10 para WTC Y para terminar con los SpeedUps mostraremos los asociados al algoritmo RX en sus dos variantes paralelas. Podemos verlos en la Tabla proc. 4 proc. 8 proc. 16 proc. 32 proc. RX Com. 2, , , , , RX Indep. 2, , , , , Lineal Tabla 15. SpeedUps del algoritmo RX para WTC La Figura 57 corresponde al gráfico asociado a la Tabla

89 RX Com. RX Indep. Lineal Figura 57. SpeedUps del algoritmo RX para WTC Si observamos los SpeedUps para la imagen del WTC podemos ver cómo las tablas y los gráficos muestran un comportamiento bastant bueno en todos y cada uno de los algoritmos y medidas, destacando nuevamente SID y Entropía por tener que realizar más procesamiento que los demás. En concreto, la distancia SID se aproxima bastante a la lineal (Figura 55), incluso cuando el número de procesadores es muy alto (32 procesadores). Por otro lado, la Entropía muestra un comportamiento bueno en sus inicios pero después cae de forma precipitada al tratar con un número alto de procesadores. Con respecto a este último caso, ocurre un hecho particular en el caso de la Entropía. Vemos cómo en la gráfica (Figura 56), la Entropía supera la referencia lineal, comportamiento que se atribuye a la superescalabilidad. En este caso, la Entropía no hace al ATGP superescalable, si no que la versión secuencial presenta problemas de swapping como ocurría en el cluster GRNPS. Se ha intentando solucionar este problema de varias formas, pero al tratarse una imagen de tamaño considerable es imposible evitarlo. En futuros estudios se pretende rediseñar los algoritmos para que puedan tratar con otro tipo de datos distinto a double (doble precisión) que es el tipo de datos de ambas imágenes. En ese caso, al tratar con datos más pequeños el problema se solucionaría de tal forma que no dependiésemos tan directamente de la cantidad de memoria disponible en cada nodo. Por otro lado, vemos el buen comportamiento que ofrecen las versiones paralelas del algoritmo RX, destacando la leve mejoría del algoritmo RX independiente frente al RX comunicativo

90 Continuando con el análisis del rendimiento paralelo, la Tabla 16 distingue tiempos de computación y comunicación para el nodo maestro. Posteriormente mostraremos la información relativa a un nodo aleatorio distinto del maestro y en último caso comentaremos ambas tablas. Para analizar mejor estos resultados, hemos añadido una tercera fila llamada Ratio para cada uno de los algoritmos. El valor del ratio se calcula según la ecuación (55) ratio = tiempo de procesamiento tiempo de procesamiento + tiempo de comunicación (55) No es necesario mostrar los tiempos para el algoritmo RX independiente ya que no invierte tiempo en comunicación y por tanto su ratio sería siempre

91 Norma 1 Norma 2 Norma Infinito SAD SID BSMSE BSMME NVD Entropía SAR SNC RX Com. Factor 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Proc. 190,77 96,87 48,338 25,122 15,874 Comunic. 0, , ,6514 2,6029 3,9336 Ratio 0, , , , , Proc. 182,33 93,414 48,878 23,264 15,658 Comunic. 0, , ,5416 2,2008 3,6245 Ratio 0, , , , , Proc. 187,92 97,948 50,68 24,663 16,255 Comunic. 0, ,3402 0, ,093 5,7463 Ratio 0, , , , , Proc. 187,22 92,783 47,476 23,937 15,877 Comunic. 0, ,3549 1,7604 1,3998 3,1271 Ratio 0, , , , , Proc. 1148,8 578,12 288,62 144,68 76,115 Comunic. 0, , ,701 20,781 23,26 Ratio 0, , , , , Proc. 181,43 94,082 47,142 23,244 15,389 Comunic. 0, , ,3594 4,5305 3,7922 Ratio 0, , , , , Proc. 180,69 94,511 49,754 24,582 15,57 Comunic. 0,0323 1,8525 1,5444 3,8042 5,4379 Ratio 0, , , , , Proc. 186,38 94,386 48,032 25,132 15,528 Comunic. 0, ,0466 1,5267 2,3037 3,6913 Ratio 0, , , , , Proc. 3106, ,8 590,45 297,59 Comunic. 0, ,411 93,214 94, ,93 Ratio 0, , , , , Proc. 198,55 98,819 52,062 26,632 16,321 Comunic. 0, ,78 0,9737 2,9656 4,3103 Ratio 0, , , , , Proc. 32,462 16,79 9,0522 5,5006 4,5501 Comunic. 0, , , , ,21154 Ratio 0, , , , , Tabla 16. Tiempos de comunicación, procesamiento y ratio del nodo maestro para WTC Si elaboramos la tabla equivalente para un nodo aleatorio distinto del nodo maestro, obtendríamos los datos mostrados en la Tabla

92 Norma 1 Norma 2 Norma Infinito SAD SID BSMSE BSMME NVD Entropía SAR SNC RX Com. Factor 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Proc. 191,33 96,123 48,807 25,192 15,981 Comunic. 0, ,1508 1,1903 2,5331 3,8306 Ratio 0, , , , , Proc. 182,71 93,769 48,812 23,269 15,815 Comunic. 0, ,6152 0, ,1974 3,4725 Ratio 0, , , , , Proc. 187,11 97,804 50,117 24,7 16,33 Comunic. 0, ,4891 0, ,0613 5,6832 Ratio 0, , , , , Proc. 187,81 93,79 46,894 1, ,012 Comunic. 0, ,3481 2,3431 1,5553 2,9955 Ratio 0, , , , , Proc. 1143,9 572,72 287,46 145,23 75,957 Comunic. 4,9071 6, ,863 20,245 23,429 Ratio 0, , , , , Proc. 178,19 93,733 47,776 23,085 15,429 Comunic. 3,245 1,0163 1,7259 4,6953 3,7649 Ratio 0, , , , , Proc. 179,69 94,612 48,451 24,652 15,609 Comunic. 1,0331 1,7516 1,8508 3,7359 5,4102 Ratio 0, , , , , Proc. 186,06 94,128 48,232 25,121 15,759 Comunic. 0, ,31 1,3267 2,3148 3,4727 Ratio 0, , , , , Proc. 3105,3 1547,9 1174,2 591,33 297,26 Comunic. 1, ,469 92,875 93, ,26 Ratio 0, , , , , Proc. 198,29 99,355 51,602 26,707 16,483 Comunic. 0, ,2495 1,4377 2,8907 4,1572 Ratio 0, , , , , Proc. 32,341 16,835 9,0857 5,6082 4,5435 Comunic. 0, , , , ,09453 Ratio 0, , , , , Tabla 17. Tiempos de comunicación, procesamiento y ratio de un nodo aleatorio para WTC

93 Una vez mostradas la Tabla 16 y la Tabla 17 con los tiempos de procesamiento, comunicación y ratio para el nodo maestro y un nodo aleatorio, respectivamente; hemos de comentar diversos aspectos que subyacen de relacionar ambas tablas: Podemos observar que generalmente el tiempo invertido por el maestro es ligeramente mayor que el invertido por cualquiera de los nodos. En este aspecto hay que tener en cuenta (puede verse claramente comparando las gráficas) que es posible y bastante probable que algunos nodos superen el tiempo de comunicación que invierten frente al nodo maestro, ya que si resultan ser el nodo elegido en alguna de las iteraciones del algoritmo han de comunicarse con el resto enviando su información a los demás. La probabilidad de que un nodo resalte en cuanto a tiempo es bastante alta, dado que las imágenes suelen tener focos de targets en los que se concentran más de uno, y suelen estar bastante próximos. Si esto ocurre, y todo el foco o al menos parte de él está asociada a un mismo procesador, éste invertirá bastante tiempo en comunicar su información a los demás, por resultar el procesador elegido en varias ocasiones. Podemos observar como el ratio va disminuyendo de forma inversamente proporcional al número de procesadores. Cuando empleamos un mayor número de procesadores, el tiempo invertido en comunicación va haciéndose más significativo frente al tiempo de procesamiento, ya que la partición asociada a cada nodo es menor, hay menos información que procesar, pero hay un mínimo establecido de comunicaciones que realizar. Por último mostraremos el balanceo de carga asociado a la imagen del World Trade Center. Para hacer un análisis del balanceo de carga vamos a definir una tabla que meustre los tiempos máximos y mínimos de los nodos participantes. Además vamos a definir una tercera columna para cada algoritmo, a la que llamaremos D. El valor D nos servirá para establecer una relación entre el tiempo máximo y el tiempo mínimo de procesamiento. Su valor viene dado por la ecuación (56) D = tiempo máximo tiempo mínimo (56) Utilizando esta relación obtendremos valores cercanos a 1 siempre y cuando los tiempos máximo y mínimo no sean muy distantes entre sí, siendo el valor ideal la unidad, para el que los tiempos máximo y mínimo sean idénticos

94 La Tabla 18 muestra los tiempos máximo y mínimo y el valor D asociado resultante. Norma 1 Norma 2 Norma Infinito SAD SID BSMSE BSMME NVD Entropía SAR SNC RX Com. RX Indep. Factor 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Máximo 191,33 97,284 50,002 27,745 19,818 Mínimo 191,32 97,274 49,987 27,725 19,807 D 1, , , , , Máximo 182,75 94,384 49,429 25,477 19,297 Mínimo 182,74 94,378 49,419 25,465 19,283 D 1, , , , , Máximo 187,93 99,295 50,97 27,772 22,016 Mínimo 187,92 99,288 50,96 27,755 22,001 D 1, , , , , Máximo 187,83 96,145 49,242 25,352 19,018 Mínimo 187,83 96,137 49,237 25,337 19,004 D 1 1, , , , Máximo 1148,8 579,52 305,33 165,47 99,391 Mínimo 1148,8 579,51 305,32 165,46 99,375 D 1 1, , , , Máximo 181,43 94,75 49,509 27,785 19,198 Mínimo 181,43 94,746 49,501 27,774 19,181 D 1 1, , , , Máximo 180,73 96,365 50,307 28,398 21,024 Mínimo 180,73 96,364 50,299 28,386 21,008 D 1 1, , , , Máximo 186,39 95,438 49,567 27,447 19,24 Mínimo 186,39 95,433 49,559 27,435 19,22 D 1 1, , , , Máximo 3106,7 1570,4 1267,1 685,19 683,52 Mínimo 3106,7 1570, ,17 683,49 D 1 1 1, , , Máximo 198,62 100,61 53,05 29,618 20,651 Mínimo 198,62 100,6 53,035 29,597 20,631 D 1 1, , , , Máximo 32,463 16,883 9,1441 5,6728 4,6785 Mínimo 32,463 16,79 8,9215 5,5006 4,5264 D 1 1, , , , Máximo 32,707 16,826 8,9874 5,4679 4,4264 Mínimo 32,479 16,681 8,9574 5,4607 4,4178 D 1, , , , , Tabla 18. Balanceo de carga para WTC

95 Observando los resultados, hay que resaltar que a lo largo de la implementación se vigiló muy de cerca este factor, para evitar que unos nodos tuviesen más trabajo que otros. Como puede verse, el balanceo de carga roza la perfección, oscilando el valor D siempre sobre 1 con un crecimiento de milésimas en el peor de los casos

96 HYDICE Siguiendo la dinámica de los resultados mostrados para la imagen del World Trade Center vamos a presentar los resultados asociados a la imagen del HYDICE, de tal forma que podamos realizar una comparativa entre ellos. La Tabla 19 muestra los tiempos obtenidos para las diversas medidas y algoritmos utilizados. Secuencial 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Norma 1 2,7429 2,0157 1,0064 0, , ,1683 Norma 2 2,4524 1,7076 1,0489 0, , ,2229 Norma Infinito 2,7872 2,0649 1,115 0, , ,14 SAD 2,531 1,859 1,1334 0, , ,1601 SID 7,8213 4,1311 2,1653 1,3391 1,0598 1,3879 BSMSE 2,5134 1,9973 1,0136 0, , ,2298 BSMME 2,7513 1,9118 1,0845 0, , ,1528 NVD 2,6681 1,8547 1,1184 0, , ,1653 Entropía 23,122 11,624 6,2836 3,2145 2,0346 2,49 SAR SNC 3,0806 2,098 1,09 0,7492 0, ,2575 RX Com. 4,3996 2,3936 1,4682 1,0255 1,041 1,4072 RX Indep. 4,3996 2,4112 1,4651 1,0433 1,0362 1,3287 Tabla 19. Tiempos de ejecución en cluster Thunderhead para HYDICE Como podemos ver, las 10 primeras filas corresponden a las diferentes medidas utilizadas en el algoritmo ATGP, y las dos últimas a las variantes paralelas del algoritmo RX. Para poder ver correctamente los SpeedUps, separaremos en tres tablas y sus tres gráficas asociadas, las diferentes medidas y algoritmos. En cada una de las trablas mostraremos una columna de referencia con los SpeedUps ideales para cada número de procesadores. A su vez, reflejaremos en las gráficas, esta nueva componente como Lineal. Mostraremos todos los resultados (tablas y gráficas) asociados a todas las medidas y algoritmos y posteriormente procederemos a comentarlos

97 En primer lugar, la Tabla 20 muestra los SpeedUps asociados a las 5 primeras medidas. 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Norma 1 1, , , , , Norma 2 1, , , , , Norma Infinito 1, , , , , SAD 1,362 2, , , , SID 1, , , , , Lineal Tabla 20. SpeedUps de las 5 primeras medidas para HYDICE Y la Figura 58 Error! No se encuentra el origen de la referencia. muestra gráficamente los resultados de la Tabla Norma 1 Norma 2 Norma Infinito SAD SID Lineal Figura 58. SpeedUps de las 5 primeras medidas para HYDICE la 10. En segundo lugar, la Tabla 21 muestra los SpeedUps para las medidas de la 6 a

98 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. BSMSE 1, , , , , BSMME 1, , , , , NVD 1, , , , , Entropía 1, , , , , SAR SNC 1, , , , , Lineal Tabla 21. SpeedUps de las medidas 6 a 10 para HYDICE Y la Figura 59 muestra gráficamente los resultados de la Tabla BSMSE BSMME NVD Entropía SAR SNC Lineal Figura 59. SpeedUps de las medidas 6 a 10 para HYDICE Por último vamos a mostrar los datos asociados al algoritmo RX. La Tabla 22 muestra sus SpeedUps: 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. RX Com. 1, , , , , RX Indep. 1, , , , , Lineal Tabla 22. SpeedUps del algoritmo RX para HYDICE Y la Figura 60 representa gráficamente los contenidos de la Tabla

99 RX Com. RX Indep. Lineal Figura 60. SpeedUps del algoritmo RX para HYDICE Una vez presentados los resultados de SpeedUps, podemos realizar una serie de observaciones: Como esperábamos, el procesamiento de la imagen del HYDICE cae en picado en las gráficas a medida que sube el número de procesadores, y la razón es obvia. Estamos tratando con una imagen de dimensiones muy reducidas, de tal forma que si por ejemplo utilizamos 32 procesadores corresponderían 2 líneas por procesador (la imagen consta de 64 líneas). Esto significa que los procesadores tardan un intervalo de tiempo muy reducido en realizar su tarea de procesamiento y una vez terminada comunican su resultado. Para HYDICE, el tiempo de comunicación es muy significativo frente al tiempo de procesamiento de tal forma que al perder demasiado tiempo en comunicación la gráfica cae a partir de 8 procesadores aproximadamente. En cualquiera de los casos, no tiene mayor importancia la caída del SpeedUp para esta imagen ya que las imágenes hiperespectrales siempre contienen mucha más información, y cuentan con una alta dimensionalidad. De hecho si observamos sus tiempos secuenciales, todos rondan los 2 segundos, exceptuando la entropía y la distancia SID cuyos valores son algo mayores (23 y 7 segundos respectivamente), aunque poco significativos. Con imágenes tan pequeñas no es necesario utilizar técnicas de paralelismo, ya que la cantidad de carga de trabajo no es significativa. Habría sido interesante procesar la totalidad de esta imagen, pero al tratarse de una imagen del ejército de los Estados Unidos solamente se ha tenido acceso a una porción limitada con su correspondiente información sobre la ubicación de los targets

100 A continuación, y siguiendo la estructuración de los resultados para la imagen del WTC, mostraremos los tiempos invertidos en procesamiento y comunicación para cada una de las medidas implementadas en el caso del nodo maestro y de un nodo aleatorio. Al mismo tiempo mostraremos el ratio 10 (comentado en el apartado anterior) correspondiente a cada par de tiempos. Tras mostrar los resultados, procederemos a comentarlos. Para el caso del algoritmo RX independiente no será necesario calcularlo, ya que el tiempo invertido en comunicación es nulo, al no haber comunicación entre los diferentes nodos y su ratio será siempre 1. La Tabla 23 muestra los tiempos de procesamiento, comunicación y ratio para el nodo maestro: 10 El ratio de comparación de tiempos de procesamiento y comunicación consiste en dividir el tiempo de procesamiento entre el tiempo total (procesamiento + comunicación)

101 Norma 1 Norma 2 Norma Infinito SAD SID BSMSE BSMME NVD Entropía SAR SNC RX Com. Factor 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Proc. 1,9819 0, , , ,99637 Comunic. 0,3362 0, , ,1051 0,15587 Ratio 0, , , , , Proc. 1,706 0, , , ,1311 Comunic. 0, , , , ,07489 Ratio 0, , , , , Proc. 2,0587 1,0946 0, , ,97831 Comunic. 0, , , , ,14545 Ratio 0, , , , , Proc. 1,852 1,1137 0, , ,0649 Comunic. 0, , , , , Ratio 0, , , , , Proc. 4,1276 2,1086 1,245 0, ,1489 Comunic. 0, , , , ,22281 Ratio 0, , , , , Proc. 1,9828 0, , , ,1092 Comunic. 0, , , , ,10214 Ratio 0, , , , , Proc. 1,9089 1,0036 0,6764 0, ,97127 Comunic. 0, , , , ,1614 Ratio 0, , , , , Proc. 1,8477 1,1104 0, , ,0878 Comunic. 0, , , , ,06256 Ratio 0, , , , , Proc. 11,617 5,9563 3,1288 1,885 1,6153 Comunic. 0, , , , ,86016 Ratio 0, , , , , Proc. 2,0862 1,0443 0, , ,1487 Comunic. 0, , , , , Ratio 0, , , , , Proc. 2,3834 1,4555 0, , ,2324 Comunic. 0, , , , ,1748 Ratio 0, , , , , Tabla 23. Tiempos de comunicación, procesamiento y ratio del nodo maestro para HYDICE Mostraremos de nuevo una tabla idéntica con los tiempos correspondientes a un nodo aleatorio, distinto del maestro, para poder hacernos una idea de los tiempos correspondientes a los nodos trabajadores. La Tabla 24 muestra los tiempos para un nodo aleatorio, distinto del nodo maestro

102 Norma 1 Norma 2 Norma Infinito SAD SID BSMSE BSMME NVD Entropía SAR SNC RX Com. Factor 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Proc. 2,013 0, ,6813 0, ,99965 Comunic. 0, , , , ,16329 Ratio 0, , , , , Proc. 1,6978 0, , , ,1182 Comunic. 0, , , , , Ratio 0, , , , , Proc. 2,021 1,1036 0, , ,96608 Comunic. 0, , , , ,16404 Ratio 0, , , , , Proc. 1,8168 1,1203 0, , ,0599 Comunic. 0, , , , , Ratio 0, , , , , Proc. 4,0472 2,1461 1,2606 0, ,1339 Comunic. 0, , , , ,24908 Ratio 0, , , , , Proc. 1,9744 0, , , ,1083 Comunic. 0, , , , ,1101 Ratio 0, , , , , Proc. 1,9027 1,0012 0, , ,95992 Comunic. 0, , , , ,18434 Ratio 0, , , , , Proc. 1,8415 1,1053 0,6777 0, ,0894 Comunic. 0, , , , , Ratio 0, , , , , Proc. 11,567 6,2636 3,1451 1,8796 1,6469 Comunic. 0, , , , ,83245 Ratio 0, , , , , Proc. 2,0533 1,0425 0, , ,1336 Comunic. 0, , , , ,11717 Ratio 0, , , , , Proc. 2,3982 1,4411 1,0221 0, ,3097 Comunic. 0, , , , ,10793 Ratio 0, , , , , Tabla 24. Tiempos de comunicación, procesamiento y ratio de un nodo aleatorio para HYDICE

103 Una vez mostradas las tablas Tabla 23 y Tabla 24 con los tiempos de procesamiento, comunicación y ratio para el nodo maestro y un nodo aleatorio, respectivamente; hemos de comentar diversos aspectos, algunos comunes con la imagen del WTC, que subyacen de relacionar ambas tablas: Podemos ver cómo al ser una imagen de dimensiones reducidas, aunque el tiempo invertido en comunicación sea prácticamente insignificante, el tiempo de procesamiento también lo es, de tal forma que al utilizar un número alto de procesadores es lógico que el rendimiento disminuya notablemente. Al igual que en la imagen del WTC, podemos observar que generalmente el tiempo invertido por el maestro es ligeramente mayor que el invertido por cualquiera de los nodos. En este aspecto hay que tener en cuenta (puede verse claramente comparando las gráficas) que es posible y bastante probable que algunos nodos superen el tiempo de comunicación que invierten frente al nodo maestro, ya que si resultan ser el nodo elegido en alguna de las iteraciones del algoritmo han de comunicarse con el resto enviando su información a los demás. La probabilidad de que un nodo resalte en cuanto a tiempo es bastante alta, dado que las imágenes suelen tener focos de targets en los que se concentran más de uno, y suelen estar bastante próximos. Si esto ocurre, y todo el foco o al menos parte de él está asociada a un mismo procesador, éste invertirá bastante tiempo en comunicar su información a los demás, por resultar el procesador elegido en varias ocasiones. Podemos observar como el ratio va disminuyendo de forma inversamente proporcional al número de procesadores. Cuando empleamos un mayor número de procesadores, el tiempo invertido en comunicación va haciéndose más significativo frente al tiempo de procesamiento, ya que la partición asociada a cada nodo es menor, hay menos información que procesar, pero hay un mínimo establecido de comunicaciones que realizar. En último caso, vamos a mostrar una tabla que nos permita ver el balanceo de carga de trabajo en cada uno de los nodos, para ello podemos definir una tabla que muestre el tiempo máximo y mínimo de los procesadores en una determinada medida, y el valor D que definirá la relación entre ambos (comentado en el apartado anterior). La Tabla 25 muestra el balanceo de carga para la imagen del HYDICE:

104 Norma 1 Norma 2 Norma Infinito SAD SID BSMSE BSMME NVD Entropía SAR SNC RX Com. RX Indep. Factor 2 proc. 4 proc. 8 proc. 16 proc. 32 proc. Máximo 2,0157 1,0064 0, , ,1683 Mínimo 2,0155 1,001 0, , ,1522 D 1, , , , , Máximo 1,7076 1,0489 0, , ,2229 Mínimo 1,7072 1,0438 0, , ,206 D 1, , , , , Máximo 2,0649 1,115 0, , ,14 Mínimo 2,06 1,1066 0, , ,1238 D 1, , , , , Máximo 1,859 1,1334 0, , ,1601 Mínimo 1,8535 1,1243 0, , ,1445 D 1, , , , , Máximo 4,1311 2,1653 1,3391 1,0598 1,3879 Mínimo 4,1307 2,1566 1,3318 1,0489 1,3717 D 1, , , , , Máximo 1,9973 1,0136 0, , ,2298 Mínimo 1,9912 1,0045 0, , ,2113 D 1, , , , , Máximo 1,9118 1,0845 0, , ,1528 Mínimo 1,9117 1,0796 0, , ,1327 D 1, , , , , Máximo 1,8547 1,1184 0, , ,1653 Mínimo 1,8494 1,1129 0, , ,1504 D 1, , , , , Máximo 11,624 6,2836 3,2145 2,0346 2,49 Mínimo 11,618 6,2774 3,1999 2,0208 2,4755 D 1, , , , , Máximo 2,098 1,09 0,7492 0, ,2575 Mínimo 2,0919 1,0784 0,7376 0, ,2402 D 1, , , , , Máximo 2,3936 1,4682 1,0255 1,041 1,4072 Mínimo 2,3935 1,4626 1,0219 1,0301 1,3985 D 1, , , , , Máximo 2,4112 1,4651 1,0433 1,0362 1,3287 Mínimo 2,4015 1,4442 0, , ,198 D 1, , , , , Tabla 25. Balanceo de carga para HYDICE En este caso, podemos contemplar, al igual que en la imagen del WTC, que el balanceo de carga roza la perfección

105 Podemos ver cómo para todos los casos se ha conseguido un buen balanceo de la carga de trabajo, siendo en todos los casos el valor D (valor máximo dividido entre el mínimo) muy cercano a 1. A medida que crece el número de procesadores, el valor D se aleja de 1, pero en cantidades centesimales y decimales en el peor de los casos. Es necesario volver a comentar que este hecho era un objetivo personal del presente trabajo, y que sin duda se ha conseguido satisfacer

106 4.4 Discusión de resultados En este apartado comentaremos aspectos generales en cuanto al análisis de resultados de las dos imágenes utilizadas World Trade Center En el caso de la imagen del WTC podemos ver cómo los tiempos de ejecución aumentan considerablemente frente a la imagen del HYDICE, debido a que sus dimensiones son de 614x512 frente a 64x64 contando además con mayor número de bandas (224 frente a 169). Es preciso destacar que los tiempos para el algoritmo RX en sus dos variantes están tomados para un fragmento de la imagen utilizada en el resto de medidas. Esto se debe a que el algoritmo RX necesita mucha más memoria para almacenar las matrices que utiliza en su procesamiento y los tiempos obtenidos con la imagen del grande del WTC no son comparables al ser necesario usar memoria swap por parte de los nodos. Los tiempos obtenidos por el algoritmo RX, como pudo verse para la imagen del HYDICE, son generalmente mayores que todas las medidas, exceptuando SID y la Entropía. Vemos también como por norma general el algoritmo RX independiente ofrece resultados de forma más rápida, obteniendo mayor número de targets en menor tiempo. Llegados a esto punto podemos plantearnos qué sentido tendría usar la versión comunicativa? La respuesta es obvia, utilizaremos la versión comunicativa para el caso de tener que detectar un número reducido de targets y tener la certeza de que los targets van apareciendo según un orden global de importancia. Sin embargo, utilizaremos la versión RX independiente en caso de tener que detectar un número elevado de targets sin importar demasiado el orden global de aparición de los mismos HYDICE También hay que destacar que la imagen del HYDICE es una imagen muy pequeña, de tan sólo 64x64 píxels, y que al procesarla en paralelo con un número de procesadores muy alto equivalen muy pocas líneas por procesador (2 por nodo, por ejemplo en el caso de 32 procesadores) terminando de procesarlas rápidamente y comunicando los resultados al nodo maestro. Por tanto en el nodo maestro a mayor número de procesadores, recibe mayor número de datos, estableciendo mayor número de comunicaciones con los nodos y en definitiva, invirtiendo mucho más tiempo en comunicación. En cuanto a la última tabla para HYDICE relativa al balanceo de carga (Tabla 25) podemos ver cómo para todos los casos se ha conseguido un balanceo perfecto de la carga de trabajo, siendo en todos los casos el valor D (valor máximo dividido entre el mínimo) muy cercano a 1. A medida que crece el número de procesadores, el valor D se aleja de 1, pero en cantidades centesimales y decimales en el peor de los casos

107 Como comentario general para ambas imágenes en cuanto a la relación entre el tiempo de procesamiento y la precisión de los algoritmos, es obvio que el algoritmo RX es el que ofrece mejores resultados. Además, aunque su tiempo de procesamiento pueda ser algo superior a casi todas las medidas (exceptuando SID y Entropía) su rendimiento está garantizado debido a la velocidad de localización de los targets en las imágenes. En cuanto al resto de las medidas, la Entropía es la medida más lenta, la que más procesamiento requiere y la que más tarda en obtener los resultados, descartando esta medida para realizar labores de procesamiento de imágenes hiperespectrales. En cuanto a la distancia SID, ofrece unos resultados medianamente buenos comparados con los demás algoritmos y respeta el SpeedUp mejor que ninguna medida, siendo la medida más escalable de todas. El inconveniente es que su tiempo de procesamiento es más elevado que el resto de medidas

108 5 Conclusiones y líneas futuras A lo largo de este documento se han realizado una serie de acciones que resumimos a continuación: Se han implementado 11 medidas diferentes aplicables al algoritmo ATGP, para la detección de targets. Se ha ideado un método propio llamado método de relajación del píxel, que consigue mejorar los resultados obtenidos por todas las medidas aplicadas al algoritmo ATGP. Se ha implementado el algoritmo RX de detección de anomalías para utilzarlo en la detección de targets. Se han desarrollado las versiones paralelas de todos los algoritmos a excepción del algoritmo ATGP en versión ortogonal por su complejidad matricial creciente imposible de implementar para cualquier caso genérico en lenguaje ANSI C. Se han realizado todo tipo de pruebas de tiempo, SpeedUp, desglose de tiempos de procesamiento y comunicación y balanceo de carga, para distintos números de procesadores, en primera instancia en el cluster GRNPS y posteriormente en el cluster Thunderhead, obteniendo resultados satisfactorios en ambos. Se han aplicado todas las medidas y algoritmos a varios tipos de imágenes, de diferentes tamaños y con targets de distinto tipo. Se ha desarrollado una herramienta de visualización de targets que nos permite ver de forma más cómoda los resultados obtenidos por cada uno de los algoritmos y compararlos entre ellos. Se ha realizado un estudio comparativo de las diferentes medidas y algoritmos planteados en secuencial y en paralelo. Por tanto, nó sólo hemos conseguido los objetivos planteados, sino que los hemos superado. En función a todo lo planteado a lo largo del documento y en especial en la sección de Resultados, podemos plantear una serie conclusiones: En cuanto a la precisión en la detección de targets, podemos asegurar que la adaptación realizada del algoritmo RX al proceso de detección de targets es mejor que ninguna de las otras medidas, al obtener en un número muy reducido de iteraciones todos los targets frente a las demás medidas que necesitan bastantes más iteraciones. Una alternativa al algoritmo RX puede ser el algoritmo ATGP utilizando la medida ortogonal, cuyos resultados y velocidad a la hora de encontrar los targets en función del número de iteraciones, es algo inferior al algoritmo RX, pero muy superior al resto de medidas

109 Además, el método de relajación del píxel que se ha ideado, ofrece resultados muy satisfactorios, proporcionando nuevos targets en el mismo número de iteraciones para la mayoría de las medidas a las que es posible aplicarlo. Las versiones paralelas de los algoritmos reducen en gran medida el tiempo de ejecución de los algoritmos, sobre todo al tratarse de imágenes de grandes dimensiones. La eficiencia según el SpeedUp de los diferentes algoritmos y medidas planteados crece según la cantidad de trabajo que proporcionemos a cada uno de los nodos que participen en el procesamiento de la imagen, siendo más efectiva para las medidas y algoritmos más complejos en los que el tiempo de comunicación es menos significativo frente al tiempo de procesamiento. El balanceo de carga obtenido es muy equitativo para todos los algoritmos, siendo este uno de los objetivos principales planteados a la hora de desarrollar las versiones paralelas. En cuanto a las líneas futuras de trabajo que podemos plantear, y que esperamos desarrollar en sucesivos trabajos relacionados con estudios de Doctorado y elaboración de la tesis doctoral, podrían ser las siguientes: Portar los algoritmos a otros tipos de arquitecturas paralelas, como podría ser un sistema de computación GRID, una red heterogénea de procesadores, DSPs o tarjetas gráficas programables (GPUs). Realizar pruebas sobre otro tipo de imágenes, que además de focos de incendios o unidades militares, contengan otros objetivos que puedan considerarse target y que necesiten respuesta en un intervalo de tiempo reducido. Adaptar los algoritmos para poder procesar imágenes con distintos tipos de datos como tipo entero o real (actualmente sólo soporta tipo double), labor que nos permitirá suprimir posibles problemas de swapping y acelerar el procesamiento de este tipo de imágenes

110 6 Apéndice: Herramienta de localización de targets A continuación se detallan las operaciones que pueden realizarse con la Herramienta de localización de targets, a modo de manual de usuario Funciones Se ha elaborado en lenguaje MATLAB que nos permite realizar las siguientes operaciones: Visualizar imágenes hiperespectrales. Gracias a las funciones que posee MATLAB para el tratamiento de imágenes hiperespectrales, evitando depender de cualquier otra utilidad de visualización de imágenes de este tipo. Facilitar la visualización de los targets obtenidos mediante los algoritmos implementados en ANSI C. Para ello la herramienta utiliza como fuente de coordenadas de targets uno de los ficheros de texto obtenidos como salida de los algoritmos implementados en ANSI C, del cual extrae las coordenadas específicas de cada target y los muestra por orden sobre el fichero de imagen. Ejecutar la versión de ATGP utilizando como medida la ortogonal. Dada su complejidad matricial, en la que se utilizan matrices crecientes en cada iteración, este método es muy fácil de implementar en lenguaje MATLAB, frente a su enorme complejidad (e imposibilidad en casos específicos) de implementación en lenguaje ANSI C. Ejecutar el algoritmo RX de detección de anomalías. Esta función nos permitirá ver la salida del algoritmo RX de forma gráfica, que consistirá en un mapa de grises en el que se resalten en tonalidades más claras de gris los posibles targets. La Figura 61 muestra la pantalla principal de la herramienta al ejecutarla

111 Figura 61. Pantalla principal de la Herramienta de localización de targets Visualización de imágenes hiperespectrales Para poder visualizar una imagen hiperespectral en la herramienta, hemos de hacer clic en el botón Mostrar Imagen o elegir la opción Abrir imagen del menú Archivo. La Figura 62 muestra estas dos opciones de abrir una imagen hiperespectral. Figura 62. Botón Mostrar imagen (izquierda) y menú Archivo > Abrir imagen (derecha) Al utilizar cualquiera de las opciones comentadas para visualizar una imagen se abre un cuadro de diálogo para que el usuario escoja el fichero de imagen que desee, que puede estar almacenado en cualquier ubicación del equipo. La Figura 63 muestra el cuadro de diálogo Selector de imagen

112 Figura 63. Cuadro de diálogo Selector de imagen Supongamos que seleccionamos una imagen del World Trade Center, al hacer clic en Abrir nos aparece el cuadro de diálogo que muestra la Figura 64. Figura 64. Cuadro de diálogo Datos de la imagen

113 En este cuadro de diálogo hemos de especificar los siguientes parámetros para la imagen que queremos mostrar: Número de líneas: Número de líneas que contiene la imagen Número de muestras: Número de muestras que contiene la imagen Número de bandas: Número de bandas que contiene la imagen Tipo de datos: formato en el que los datos están representados en el fichero y que determinan el tamaño de los pixels. Puede ser cualquiera de los siguientes tipos: o int8: Byte, 8 bits, especificado como data type = 1 en el fichero cabecera de imagen (.hdr). o int16: Integer (entero), 16 bits, especificado como data type = 2 en el fichero cabecera de imagen (.hdr). o int32: Long integer (entero largo), 32 bits, especificado como data type = 3 en el fichero cabecera de imagen (.hdr). o float32: Float (real), 32 bits, especificado como data type = 4 en el fichero cabecera de imagen (.hdr). o double: Double (doble precisión), 64 bits, especificado como data type = 5 en el fichero cabecera de imagen (.hdr). Número de banda a mostrar: Banda que se representará gráficamente. Es preciso escoger una de ellas, ya que no es posible representar todas las bandas al mismo tiempo 11. Una vez hemos especificado todos los parámetros, se nos mostrará la imagen en la herramienta 12. La Figura 65 muestra el estado de la aplicación tras abrir una imagen del World Trade Center. 11 También es posible realizar la combinación de tres bandas para generar colores, utilizando cada una de ellas como uno de los tres elementos RGB (Red, Green, Blue). 12 En caso de no haber especificado correctamente los parámetros de la imagen, obtendremos un error o se mostrará la imagen de forma incorrecta

114 Figura 65. Estado de la aplicación tras mostrar una imagen del WTC Visualización de targets Para poder visualizar los targets obtenidos por cualquiera de los algoritmos implementados en ANSI C, o unos targets determinados que el usuario desee localizar en la imagen, tenemos la opción de cargar un fichero que almacene una serie de coordenadas. Los ficheros han de ser de texto plano y seguir el esquema proporcionado por el ejemplo que muestra la Figura 66: Tiempo promedio: ,39 20,37 33,37 46,36 59,35 Figura 66. Ejemplo de fichero de puntos

115 El número de puntos es indefinido, el usuario puede especificar en el fichero la cantidad de puntos que desee, o como ya se ha comentado, utilizar la salida de los algoritmos implementados en ANSI C, cuya salida sigue estrictamente el esquema mostrado en la Figura 66. Las dos primeras líneas son ignoradas en la representación de puntos, por lo que si el usuario desea crearse su propio fichero de targets puede dejar las dos primeras líneas del fichero en blanco y comenzar la enumeración de targets a partir de la tercera línea. Para cargar un fichero de puntos, tenemos la opción de hacer clic en el botón Cargar puntos o utilizar la opción Abrir archivo de puntos del menú Archivo. La Figura 67 muestra estas dos opciones: Figura 67. Botón Cargar puntos (izquierda) y menú Archivo > Abrir archivo de puntos (derecha) Si utilizamos cualquiera de las dos opciones planteadas para visualizar los targets sobre una imagen cargada 13 aparece el cuadro de diálogo que muestra la Figura 68. Figura 68. Cuadro de diálogo Selector de fichero de puntos 13 En caso de no haber cargado una imagen antes de cargar el fichero de targets, éstos se mostrarán sobre los ejes vacíos

116 La Figura 69 muestra un ejemplo de visualización de targets utilizando un fragmento de la imagen del World Trade Center y un fichero de puntos con 8 targets. Figura 69. Ejemplo de visualización de targets sobre una imagen del WTC Como podemos ver se muestra un número en color amarillo en cada uno de los targets especificados en el fichero por orden de aparición. La Herramienta de localización de targets tiene la posibilidad de configurar una serie de parámetros relacionados con al visualización de targets. Podemos acceder a estas opciones haciendo clic en el menú Configuración. La muestra el cuadro de diálogo de configuración que se nos presenta con la configuración por defecto de la aplicación

117 Figura 70. Configuración global Las opciones que nos muestra este cuadro de diálogo son las siguientes: Color del texto de target: permite elegir el color del número identificativo del target. Los colores que podemos utilizar son amarillo, azul, blanco, cian, magenta, negro, rojo y verde. Tamaño del texto de target: permite especificar el tamaño de la fuente (en puntos) que se utilizará para mostrar los números identicativos de los targets. Color del círculo de target: permite elegir el color del círculo que rodeará al target especificado en el fichero. Los colores que podemos utilizar son amarillo, azul, blanco, cian, magenta, negro, rojo y verde. Radio de los círculos: permite escoger el radio de los círculos que rodearán los targets especificados en el fichero. Mostrar círculos: Si la casilla de verificación está marcada, se mostrarán círculos rodeando los targets marcados, cuyo radio será el especificado por la opción Radio de los círculos y el color especificado por Color del círculo de target. Mostrar texto: Si la casilla de verificación está marcada, se mostrarán números identificativos de los targets especificados cuyo color será el especificado por la opción Color del texto de target

118 La opción de poder utilizar diferentes colores y elementos indentificativos de targets es interesante no sólo para hacer atractiva la visualización, sino para poder comparar diferentes ficheros de targets obtenidos por diferentes métodos o algoritmos por ejemplo. Veamos un par de ejemplos. En el primero de ellos mostrado por la Figura 71 representamos los targets utilizando los círculos y los números identificativos de targets de forma que resulte atractivo al usuario. Figura 71. Ejemplo de opciones de visualización de targets 1 Como segundo ejemplo podemos utilizar dos ficheros de puntos, en los que los targets obtenidos son diferentes unos de otros. De esta forma podemos mostrar los dos ficheros de puntos sobre la imagen utilizando diferentes combinaciones de colores. La Figura 72 mostraría el resultado de utilizar los ficheros de puntos con diferentes configuraciones de color y mostrando los círculos y el texto identificativo para ambos

119 Figura 72. Ejemplo de opciones de visualización de targets Algoritmo ATGP ortogonal Podemos ejecutar el algoritmo ATGP utilizando la medida ortogonal haciendo clic en el botón Ortogonal del panel Algoritmos situado en la parte derecha de la aplicación. Al ejecutar esta opción se nos plantea el mismo cuadro diálogo que en el caso mostrar imagen (Figura 63) y posteriormente el cuadro de diálogo para indicar los datos relativos a la imagen a procesar (Figura 64). Una vez escogida la imagen a la que deseamos aplicar el algoritmo, y tras especificar los datos de la misma, la aplicación lanza el algoritmo ATGP utilizando la medida ortogonal y va mostrando en pantalla los targets mientras va detectándolos. Podemos utilizar las mismas opciones de configuración comentadas el los apartados anteriores para mostrar los targets (combinación de colores, tamaño de círculos y tamaño de fuente, etc.). Los resultados obtenidos se comentarán posteriormente en el apartado

3. Espacios de color. 3.Espacios de color. El uso del color en el procesamiento de imágenes está principalmente motivado por dos factores:

3. Espacios de color. 3.Espacios de color. El uso del color en el procesamiento de imágenes está principalmente motivado por dos factores: 3. Espacios de color El uso del color en el procesamiento de imágenes está principalmente motivado por dos factores: El color es un poderoso descriptor que, en la mayoría de los casos simplifica la identificación

Más detalles

4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC:

4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC: 4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC: A continuación se muestran los objetivos así como los mapas funcionales según la línea de acentuación y la línea

Más detalles

UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE EXTENSIÓN LATACUNGA CARRERA DE INGENIERÍA ELECTRÓNICA E INSTRUMENTACIÓN

UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE EXTENSIÓN LATACUNGA CARRERA DE INGENIERÍA ELECTRÓNICA E INSTRUMENTACIÓN UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE EXTENSIÓN LATACUNGA CARRERA DE INGENIERÍA ELECTRÓNICA E INSTRUMENTACIÓN DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE MONITOREO DE TEMPERATURA CORPORAL Y AMBIENTAL APLICANDO

Más detalles

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

Más detalles

en dos dimensiones como objetos que tienen magnitud, dirección y su representación geométrica.

en dos dimensiones como objetos que tienen magnitud, dirección y su representación geométrica. 1 N.SN.11.1.1 Define vectores en dos dimensiones como objetos que tienen magnitud, dirección y su representación geométrica. Vectores Unidad 4: Vectores Tema 1: Vectores Lección 1: Definición 11 Introducción

Más detalles

3. ANÁLISIS DE SEÑALES

3. ANÁLISIS DE SEÑALES 3. ANÁLISIS DE SEÑALES 3.1 REGISTRO Y TRATAMIENTO DE SEÑALES Una señal se define como la historia de los valores de aceleración que mide un acelerómetro en determinado tiempo para un punto específico.

Más detalles

TEMA 8. GEOMETRÍA ANALÍTICA.

TEMA 8. GEOMETRÍA ANALÍTICA. TEMA 8. GEOMETRÍA ANALÍTICA. 8..- El plano. Definimos el plano euclideo como el conjunto de puntos ( x, y) R. Así, cada punto del plano posee dos coordenadas. Para representar puntos del plano utilizaremos

Más detalles

La eficiencia de los programas

La eficiencia de los programas La eficiencia de los programas Jordi Linares Pellicer EPSA-DSIC Índice General 1 Introducción... 2 2 El coste temporal y espacial de los programas... 2 2.1 El coste temporal medido en función de tiempos

Más detalles

GRADIENTE La laplaciana es un buen filtro paso alto, pero no es una buena herramienta para resaltar o detectar los bordes. En muchos casos, los bordes o límites de las figuras o de las regiones aparecen

Más detalles

CONTENIDOS MÍNIMOS BLOQUE 2. NÚMEROS

CONTENIDOS MÍNIMOS BLOQUE 2. NÚMEROS CONTENIDOS Y CRITERIOS DE EVALUACIÓN DE MATEMÁTICAS 1º DE ESO. Bloque 1: Contenidos Comunes Este bloque de contenidos será desarrollado junto con los otros bloques a lo largo de todas y cada una de las

Más detalles

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS. TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. 1. MATRICES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS. DEFINICIÓN: Las matrices son tablas numéricas rectangulares

Más detalles

M.D.T. y TOPOCAL. Técnicas de Representación Gráfica. Curso DIGTEG 2010

M.D.T. y TOPOCAL. Técnicas de Representación Gráfica. Curso DIGTEG 2010 M.D.T. y TOPOCAL Técnicas de Representación Gráfica Curso 2010-2011 Superficies Topográficas Superficies Topográficas No es geométrica La superficie terrestre No se puede representar con exactitud matemática

Más detalles

Curso Avanzado de Procesamiento Digital de Imágenes con ENVI. TELEMATICA S.A. -

Curso Avanzado de Procesamiento Digital de Imágenes con ENVI. TELEMATICA S.A. - Curso Avanzado de Procesamiento Digital de Imágenes con ENVI L E C T U R A S TELEDETECCIÓN INTRODUCCIÓN TELEMATICA S.A. 2014 www.telematica.com.pe Introducción a la Teledetección y Procesamiento Digital

Más detalles

Sistemas Combinacionales y Sistemas Secuenciales

Sistemas Combinacionales y Sistemas Secuenciales y Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 y 1 2 3 y Contenido Al hablar de sistemas, nos referimos

Más detalles

Métodos Numéricos. Carrera: BQM Participantes. Representantes de las academias de Ingeniería Bioquímica. Academia de Ingeniería

Métodos Numéricos. Carrera: BQM Participantes. Representantes de las academias de Ingeniería Bioquímica. Academia de Ingeniería 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Métodos Numéricos Ingeniería Bioquímica BQM - 0524 3-2-8 2.- HISTORIA DEL PROGRAMA

Más detalles

Análisis de Fourier: efectos de un medio físico ideal en la transmisión de una señal digital

Análisis de Fourier: efectos de un medio físico ideal en la transmisión de una señal digital Análisis de Fourier: efectos de un medio físico ideal en la transmisión de una señal digital Pedro Manuel Díaz Varela Estudiante de Ingeniería en Computación Universidad Nacional del Sur Avda. Alem 153

Más detalles

INSTRUCCIONES GENERALES Y VALORACIÓN

INSTRUCCIONES GENERALES Y VALORACIÓN UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO Examen-Modelo para el curso 2014-2015 MATERIA: MATEMÁTICAS II INSTRUCCIONES GENERALES

Más detalles

DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES

DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES ALGEBRA DE MATRICES DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES DEFINICIONES 2 Las matrices y los determinantes son herramientas

Más detalles

Estadística y sus aplicaciones en Ciencias Sociales 5. Estimación. Facultad de Ciencias Sociales, UdelaR

Estadística y sus aplicaciones en Ciencias Sociales 5. Estimación. Facultad de Ciencias Sociales, UdelaR Estadística y sus aplicaciones en Ciencias Sociales 5. Estimación Facultad de Ciencias Sociales, UdelaR Índice 1. Repaso: estimadores y estimaciones. Propiedades de los estimadores. 2. Estimación puntual.

Más detalles

DES: Área en plan de estudios:

DES: Área en plan de estudios: UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU007H Clave: 08USU4053W FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: ALGEBRA LINEAL DES: Ingeniería Programa(s) Educativo(s): Ingeniería de Software Tipo de materia:

Más detalles

UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A ESTUDIOS UNIVERSITARIOS (LOGSE)

UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A ESTUDIOS UNIVERSITARIOS (LOGSE) UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A ESTUDIOS UNIVERSITARIOS (LOGSE) Modelo para Curso 2008-2009 MATERIA: MATEMÁTICAS II INSTRUCCIONES GENERALES Y VALORACIÓN El alumno contestará

Más detalles

Matemáticas. Si un error simple ha llevado a un problema más sencillo se disminuirá la puntuación.

Matemáticas. Si un error simple ha llevado a un problema más sencillo se disminuirá la puntuación. UNIVERSIDAD POLITÉCNICA DE CARTAGENA PRUEBAS DE ACCESO A LA UNIVERSIDAD DE LOS MAYORES DE 25 AÑOS CONVOCATORIA 2014 CRITERIOS DE EVALUACIÓN Matemáticas GENERALES: El examen constará de dos opciones (dos

Más detalles

PRECALCULO. Nomenclatura del Curso : MAT-001. Nombre del Curso : Precalculo. Prerrequisitos : Ninguno. Número de Créditos : 5. Horas Teóricas : 45

PRECALCULO. Nomenclatura del Curso : MAT-001. Nombre del Curso : Precalculo. Prerrequisitos : Ninguno. Número de Créditos : 5. Horas Teóricas : 45 Nomenclatura del Curso : MAT-001 Nombre del Curso : Precalculo Prerrequisitos : Ninguno Número de Créditos : 5 Horas Teóricas : 45 Horas prácticas : 30 Horas Investigación : 45 Docente : INTRODUCCION PRECALCULO

Más detalles

PRÁCTICA DEMOSTRATIVA N

PRÁCTICA DEMOSTRATIVA N PRÁCTICA DEMOSTRATIVA N 1 (VECTORES) Ing. Francisco Franco Web: http://mgfranciscofranco.blogspot.com/ Fuente de información: Trabajo de grado de Mónica A. Camacho D. y Wilson H. Imbachi M. Ingeniería

Más detalles

Nuevas tecnologías en la investigación del medio ambiente TEMA 3

Nuevas tecnologías en la investigación del medio ambiente TEMA 3 Nuevas tecnologías en la investigación del medio ambiente TEMA 3 Guión tema 1. Introducción 2. Teledetección 3. Sistemas globales de navegación por satélite. GPS 4. Sistemas de información geográfica (SIG)

Más detalles

INSTITUTO TECNOLOGICO DE LAS AMERICAS CARRERA DE TECNOLOGO EN DESARROLLO DE SOFTWARE PRECALCULO

INSTITUTO TECNOLOGICO DE LAS AMERICAS CARRERA DE TECNOLOGO EN DESARROLLO DE SOFTWARE PRECALCULO INSTITUTO TECNOLOGICO DE LAS AMERICAS CARRERA DE TECNOLOGO EN DESARROLLO DE SOFTWARE PRECALCULO Nombre de la asignatura: Nomenclatura del Curso: Prerrequisitos: Nomenclatura del prerrequisito Número de

Más detalles

Lección 6. Errores. MIGUEL ANGEL UH ZAPATA 1 Análisis Numérico I Facultad de Matemáticas, UADY. Agosto 2014

Lección 6. Errores. MIGUEL ANGEL UH ZAPATA 1 Análisis Numérico I Facultad de Matemáticas, UADY. Agosto 2014 Lección 6. Errores MIGUEL ANGEL UH ZAPATA 1 Análisis Numérico I Facultad de Matemáticas, UADY Agosto 2014 1 Centro de Investigación en Matemáticas, Unidad Mérida En esta lección conoceremos y analizaremos

Más detalles

Campo Magnético en un alambre recto.

Campo Magnético en un alambre recto. Campo Magnético en un alambre recto. A.M. Velasco (133384) J.P. Soler (133380) O.A. Botina (133268) Departamento de física, facultad de ciencias, Universidad Nacional de Colombia Resumen. Se hizo pasar

Más detalles

Bloques Aritméticos - Multiplicadores

Bloques Aritméticos - Multiplicadores Bloques Aritméticos - Multiplicadores La multiplicación es una operación cara (en términos de recursos) y lenta Este hecho ha motivado la integración de unidades completas de multiplicación en los DSPs

Más detalles

Ataque de texto claro escogido contra la clave de protocolo del cifrado de Doble Criptograma Simétrico

Ataque de texto claro escogido contra la clave de protocolo del cifrado de Doble Criptograma Simétrico Ataque de texto claro escogido contra la clave de protocolo del cifrado de Doble Criptograma Simétrico Manuel J. Lucena López 27 de enero de 2013 Resumen Se presenta un ataque de texto claro escogido para

Más detalles

Bloque 1. Contenidos comunes. (Total: 3 sesiones)

Bloque 1. Contenidos comunes. (Total: 3 sesiones) 4º E.S.O. OPCIÓN A 1.1.1 Contenidos 1.1.1.1 Bloque 1. Contenidos comunes. (Total: 3 sesiones) Planificación y utilización de procesos de razonamiento y estrategias de resolución de problemas, tales como

Más detalles

1. Análisis Teórico. 1.1. Microscopio Óptico. 1.2. Teoría de Formación de Imágenes de Abbe. Resolución. Laboratorio de Ondas y Óptica.

1. Análisis Teórico. 1.1. Microscopio Óptico. 1.2. Teoría de Formación de Imágenes de Abbe. Resolución. Laboratorio de Ondas y Óptica. Laboratorio de Ondas y Óptica Práctica N 7 Microscopía Óptica Digital Departamento de Física, FaCyT. Universidad de Carabobo, Venezuela. Objetivos Estudiar el funcionamiento de un Microscopio Óptico Preparación

Más detalles

Cápsula 9. Medición de Software

Cápsula 9. Medición de Software INTRODUCCIÓN "Lo que no se puede medir, no se puede controlar; lo que no se puede controlar no se puede gestionar; lo que no se puede gestionar, no se puede mejorar" (Peter Drucker) No se puede predecir

Más detalles

Trabajo opcional tema 3: modulación lineal

Trabajo opcional tema 3: modulación lineal Trabajo opcional tema 3: modulación lineal Alberto Mateos Checa I. Telecomunicación 2 Trabajo opcional tema 3: modulación lineal ÍNDICE DE CONTENIDOS: 1. Introducción.... 3 2. Diseño.... 3 2.1. Sistema

Más detalles

EJEMPLO DE PREGU,TAS

EJEMPLO DE PREGU,TAS EJEMPLO DE PREGU,TAS MATEMÁTICAS PRIMERO, SEGU,DO Y TERCERO DE BACHILLERATO 1. Lógica proposicional Esta competencia se refiere al conocimiento que usted posee sobre el lenguaje de las proposiciones y

Más detalles

Este trabajo describe un nuevo método paralelo para la identicación de targets en imágenes

Este trabajo describe un nuevo método paralelo para la identicación de targets en imágenes Implementación paralela y validación preliminar de un nuevo algoritmo para detectar targets en imágenes hiperespectrales Soraya Blázquez, Sergio Muñoz, Antonio Plaza, Pablo Martínez, Abel Paz Departamento

Más detalles

PROGRAMA DE ASIGNATURA DE MATEMÁTICA PARA LA INFORMÁTICA III

PROGRAMA DE ASIGNATURA DE MATEMÁTICA PARA LA INFORMÁTICA III PROGRAMA DE ASIGNATURA DE MATEMÁTICA PARA LA INFORMÁTICA III Table of contents 1 INFORMACIÓN GENERAL...2 2 INTRODUCCIÓN... 2 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 4 OBJETIVOS, TEMAS Y SUBTEMAS...

Más detalles

Formulación del problema de la ruta más corta en programación lineal

Formulación del problema de la ruta más corta en programación lineal Formulación del problema de la ruta más corta en programación lineal En esta sección se describen dos formulaciones de programación lineal para el problema de la ruta más corta. Las formulaciones son generales,

Más detalles

PRECALCULO INSTITUTO TECNOLÒGICO DE LAS AMÈRICAS CARRERA DE TECNÓLOGO EN MECATRONICA. Precálculo. Nombre de la asignatura: MAT-001

PRECALCULO INSTITUTO TECNOLÒGICO DE LAS AMÈRICAS CARRERA DE TECNÓLOGO EN MECATRONICA. Precálculo. Nombre de la asignatura: MAT-001 INSTITUTO TECNOLÒGICO DE LAS AMÈRICAS CARRERA DE TECNÓLOGO EN MECATRONICA PRECALCULO Nombre de la asignatura: Nomenclatura del Curso: Precálculo MAT-001 Prerrequisitos: Nomenclatura del prerrequisito Ninguno

Más detalles

CAPÍTULO 4 LOS MEGAPIXELS

CAPÍTULO 4 LOS MEGAPIXELS CAPÍTULO 4 LOS MEGAPIXELS Hoy día la palabra megapíxel parece un término inseparable de la propia fotografía. Por eso es necesario conocer el verdadero significado de este término, las implicaciones que

Más detalles

Capítulo 3 El Método de los Elementos de Contorno y la Formulación Hipersingular.

Capítulo 3 El Método de los Elementos de Contorno y la Formulación Hipersingular. Capítulo 3 El Método de los Elementos de Contorno y la Formulación Hipersingular. 3.1. Introducción El Método de los Elementos de Contorno (MEC) se ha implantado firmemente en numerosos campos de la ingeniería

Más detalles

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

Clusters frente a GPUs para Detección Automática de Objetivos en Imágenes Hiperespectrales de la Superficie Terrestre Clusters frente a GPUs para Detección Automática de Objetivos en Imágenes Hiperespectrales de la Superficie Terrestre Abel Paz Grupo Computación Hiperespectral (HYPERCOMP) Dept. Tecnología de Computadores

Más detalles

Sistemas de Ecuaciones Lineales y Matrices

Sistemas de Ecuaciones Lineales y Matrices Capítulo 4 Sistemas de Ecuaciones Lineales y Matrices El problema central del Álgebra Lineal es la resolución de ecuaciones lineales simultáneas Una ecuación lineal con n-incógnitas x 1, x 2,, x n es una

Más detalles

2.2 Rectas en el plano

2.2 Rectas en el plano 2.2 Al igual que ocurre con el punto, en geometría intrínseca, el concepto de recta no tiene definición, sino que constituye otro de sus conceptos iniciales, indefinibles. Desde luego se trata de un conjunto

Más detalles

Ministerio de Educación Pública Dirección de Gestión y Evaluación de la Calidad Departamento de Evaluación Académica y Certificación.

Ministerio de Educación Pública Dirección de Gestión y Evaluación de la Calidad Departamento de Evaluación Académica y Certificación. Matemáticas Distribución de ítems para la prueba nacional Modalidad Académica (Diurnos Nocturnos) Convocatorias 016 ESTIMADO DOCENTE: En la modalidad de colegios académico, la Prueba de Bachillerato 016

Más detalles

Unidad II. 2.1 Concepto de variable, función, dominio, condominio y recorrido de una función.

Unidad II. 2.1 Concepto de variable, función, dominio, condominio y recorrido de una función. Unidad II Funciones 2.1 Concepto de variable, función, dominio, condominio y recorrido de una función. Función En matemática, una función (f) es una relación entre un conjunto dado X (llamado dominio)

Más detalles

: Algorítmica y Estructura de Datos I

: Algorítmica y Estructura de Datos I FACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Algorítmica y Estructura de Datos I Carga Horaria

Más detalles

Diseño de reguladores PID.

Diseño de reguladores PID. Universidad Carlos III de Madrid Departamento de Ingeniería de Sistemas y Automática Área de Ingeniería de Sistemas y Automática SEÑALES Y SISTEMAS Práctica 3 Diseño de reguladores PID. 1 Introducción

Más detalles

Trabajo opcional tema 4: modulación

Trabajo opcional tema 4: modulación Trabajo opcional tema 4: modulación Alberto Mateos Checa I. Telecomunicación 2 Trabajo opcional tema 4: modulación angular ÍNDICE DE CONTENIDOS: 1. Introducción.... 3 2. Diseño.... 3 2.1. Sistema completo....

Más detalles

Matrices. Ejercicio 1. Dada la matriz A = 2. completa: a 11 =, a 31 =, a 23 =, = 3, = 2, = 7.

Matrices. Ejercicio 1. Dada la matriz A = 2. completa: a 11 =, a 31 =, a 23 =, = 3, = 2, = 7. Matrices. Contenido. Matrices. Tipos especiales de matrices.. Suma y diferencia de matrices.. Producto por un número..5 Matriz traspuesta y matriz simétrica..6 Producto de matrices. Propiedades.. Matriz

Más detalles

ALGEBRA. Escuela Politécnica Superior de Málaga

ALGEBRA. Escuela Politécnica Superior de Málaga ALGEBRA. Escuela Politécnica Superior de Málaga Tema 1. Espacios Vectoriales. Sistemas de ecuaciones. Espacio vectorial. Espacios vectoriales R n. Dependencia e independencia lineal. Base. Matrices y determinantes.

Más detalles

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica. Guía No: 2 Subdirección de Educación Departamento de Educación Contratada Colegio CAFAM Bellavista CED GUIA DE APRENDIZAJE Docente: Luz del Carmen Barrera Área: INFORMÁTICA Fecha: II BIMESTRE 2014 Grado:

Más detalles

Estándares de evaluación en la materia de MATEMÁTICAS de 1º de ESO. Curso 2016/2017.

Estándares de evaluación en la materia de MATEMÁTICAS de 1º de ESO. Curso 2016/2017. Estándares de evaluación en la materia de MATEMÁTICAS de 1º de ESO. Curso 2016/2017. Bloque 1. Procesos, métodos y actitudes en matemáticas. Los criterios correspondientes a este bloque son los marcador

Más detalles

Práctica Módulo de torsión

Práctica Módulo de torsión Práctica Módulo de torsión Objetivo eterminar el módulo de torsión de varillas de distintos materiales por los métodos estático y dinámico. Material Aparato de torsión representado en la figura, varillas

Más detalles

TEMA 1: Algoritmos y programas

TEMA 1: Algoritmos y programas TEMA 1: Algoritmos y programas 1.1.-Introducción La razón principal para utilizar un ordenador es para resolver problemas (en el sentido más general de la palabra), o en otras palabras, procesar información

Más detalles

Conceptos básicos de Geometría

Conceptos básicos de Geometría Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 15 de enero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) 15 de enero del 2013 1 / 25 1 Geometría Afín Geometría Euclidiana Áreas y ángulos Dr. Eduardo

Más detalles

Análisis de imágenes digitales

Análisis de imágenes digitales Análisis de imágenes digitales SEGMENTACIÓN DE LA IMAGEN Segmentación basada en texturas INTRODUCCIÓN La textura provee información sobre la distribución espacio-local del color o niveles de intensidades

Más detalles

TRABAJO PRÁCTICO N 19 FOTOS AÉREAS IMÁGENES SATELITALES

TRABAJO PRÁCTICO N 19 FOTOS AÉREAS IMÁGENES SATELITALES TRABAJO PRÁCTICO N 19 FOTOS AÉREAS IMÁGENES SATELITALES FOTOGRAFÍAS AÉREAS Fotogramas: se emplean rollos de películas indeformables y cámaras especiales. Cada fotograma recubre la fotografía siguiente

Más detalles

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales Introducción Las matrices aparecen por primera vez hacia el año 1850, introducidas por J.J. Sylvester. El desarrollo inicial de la teoría se debe al matemático W.R. Hamilton en 1853. En 1858, A. Cayley

Más detalles

Antes de iniciar el tema se deben de tener los siguientes conocimientos básicos:

Antes de iniciar el tema se deben de tener los siguientes conocimientos básicos: CONOCIMIENTOS PREVIOS. Vectores.. Conocimientos previos. Antes de iniciar el tema se deben de tener los siguientes conocimientos básicos: Trigonometría. Resolución de ecuaciones de primer grado. Sería

Más detalles

.En nuestro aprendizaje de aritmética tratamos con números reales, tales como 3, -5, 7

.En nuestro aprendizaje de aritmética tratamos con números reales, tales como 3, -5, 7 .En nuestro aprendizaje de aritmética tratamos con números reales, tales como 3, -5, 7 4,Π, etc., los cuales pueden usarse para medir distancias en una u otra dirección desde un punto fijo. Un número tal

Más detalles

Matrices 2º curso de Bachillerato Ciencias y tecnología

Matrices 2º curso de Bachillerato Ciencias y tecnología MATRICES Índice:. Introducción-------------------------------------------------------------------------------------- 2. Definición de matriz-----------------------------------------------------------------------------

Más detalles

Expresión decimal. Aproximación y estimación. Notación científica. Polinomios. Divisibilidad de polinomios. Regla de Ruffini.

Expresión decimal. Aproximación y estimación. Notación científica. Polinomios. Divisibilidad de polinomios. Regla de Ruffini. Otras páginas Matemáticas 5º Matemáticas I. Bloque I: ARITMÉTICA Y ÁLGEBRA Los números reales Los números reales, concepto y características. Estructura algebraica, orden, representación en la recta real

Más detalles

Criterios de evaluación 3º de ESO. Matemáticas Orientadas a las Enseñanzas Aplicadas

Criterios de evaluación 3º de ESO. Matemáticas Orientadas a las Enseñanzas Aplicadas CONCRECCIÓN de los CRITERIOS de EVALUACIÓN MATEMÁTICAS APLICADAS º ESO Teniendo en cuenta los criterios de evaluación correspondientes a esta materia, se realizan a continuación una concreción de dichos

Más detalles

INTRODUCCIÓN A LAS TÉCNICAS DE MEDIDA

INTRODUCCIÓN A LAS TÉCNICAS DE MEDIDA INTRODUCCIÓN A LAS TÉCNICAS DE MEDIDA Esta documentación tiene como objetivo explicar las técnicas más habituales para realizar medidas en el. Asimismo propone varias recomendaciones para ejecutarlas de

Más detalles

Metodología Métrica v. 3.0

Metodología Métrica v. 3.0 Metodología Métrica v. 3.0 Ingeniería del Software Escuela Superior de Informática Universidad de Castilla-La Mancha 16/01/2001 1 Estructura de la metodología PSI: Planificación de sistemas de información

Más detalles

6.1 Una primera aplicación de los cuaternios: rotación de un cuerpo rígido

6.1 Una primera aplicación de los cuaternios: rotación de un cuerpo rígido Capítulo 6 Aplicaciones 6.1 Una primera aplicación de los cuaternios: rotación de un cuerpo rígido Como hemos visto en secciones anteriores, una característica muy importante de los cuaternios es que con

Más detalles

CONTENIDOS MÍNIMOS MATEMÁTICAS 2º Y 4º E.S.O.

CONTENIDOS MÍNIMOS MATEMÁTICAS 2º Y 4º E.S.O. CONTENIDOS MÍNIMOS MATEMÁTICAS 2º Y 4º E.S.O. Matemáticas 2º E.S.O. a) Contenidos comunes. Utilizar estrategias y técnicas sencillas en la resolución de problemas. b) Números. Conocer los conceptos de

Más detalles

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal.

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal. Que Es Excel? Excel es un programa que permite la manipulación de libros y hojas de calculo. En Excel, un libro es el archivo en que se trabaja y donde se almacenan los datos. Como cada libro puede contener

Más detalles

MINERIA DE TEXTOS EN R: VIA UN MODELO DE ESPACIO VECTORIAL Y ANÁLISIS CLUSTER. Resumen

MINERIA DE TEXTOS EN R: VIA UN MODELO DE ESPACIO VECTORIAL Y ANÁLISIS CLUSTER. Resumen MINERIA DE TEXTOS EN R: VIA UN MODELO DE ESPACIO VECTORIAL Y ANÁLISIS CLUSTER Resumen El objetivo del presente estudio fue encontrar la similitud entre textos para asociar reclamos y determinar si estos

Más detalles

Cálculo I (Grado en Ingeniería Informática) Problemas adicionales resueltos

Cálculo I (Grado en Ingeniería Informática) Problemas adicionales resueltos Cálculo I (Grado en Ingeniería Informática) - Problemas adicionales resueltos Calcula el ĺımite lím ( n + n + n + ) n Racionalizando el numerador, obtenemos L lím ( n + n + n (n + n + ) (n + ) + ) lím

Más detalles

or t o G o n a l i d a d y

or t o G o n a l i d a d y Unidad 6 or t o G o n a l i d a d y o r t o n o r M a l i d a d Objetivos: Al inalizar la unidad, el alumno: Determinará cuándo un conjunto de vectores es ortogonal u ortonormal. Obtendrá las coordenadas

Más detalles

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute. Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución

Más detalles

Espacios Vectoriales www.math.com.mx

Espacios Vectoriales www.math.com.mx Espacios Vectoriales Definiciones básicas de Espacios Vectoriales www.math.com.mx José de Jesús Angel Angel jjaa@math.com.mx MathCon c 007-009 Contenido. Espacios Vectoriales.. Idea Básica de Espacio Vectorial.................................

Más detalles

3. ANÁLISIS DE DATOS DE PRECIPITACIÓN.

3. ANÁLISIS DE DATOS DE PRECIPITACIÓN. 3. ANÁLISIS DE DATOS DE PRECIPITACIÓN. Teniendo en cuenta que la mayoría de procesos estadísticos se comportan de forma totalmente aleatoria, es decir, un evento dado no está influenciado por los demás,

Más detalles

Procesos estocásticos Cadenas de Márkov

Procesos estocásticos Cadenas de Márkov Procesos estocásticos Cadenas de Márkov Curso: Investigación de Operaciones Ing. Javier Villatoro PROCESOS ESTOCASTICOS Procesos estocásticos Es un proceso o sucesión de eventos que se desarrolla en el

Más detalles

RADAR DE SUPERFICIE GESTIÓN DE TRÁFICO AÉREO. Suministrando Sistemas de Gestión de Tráfico Aéreo en todo el mundo desde hace más de 30 años.

RADAR DE SUPERFICIE GESTIÓN DE TRÁFICO AÉREO. Suministrando Sistemas de Gestión de Tráfico Aéreo en todo el mundo desde hace más de 30 años. GESTIÓN DE TRÁFICO AÉREO RADAR DE SUPERFICIE Suministrando Sistemas de Gestión de Tráfico Aéreo en todo el mundo desde hace más de 30 años. indracompany.com SMR RADAR DE SUPERFICIE Antena SMR sobre la

Más detalles

Aprendizaje Automatizado

Aprendizaje Automatizado Aprendizaje Automatizado Aprendizaje Automatizado Programas que mejoran su comportamiento con la experiencia. Dos formas de adquirir experiencia: A partir de ejemplos suministrados por un usuario (un conjunto

Más detalles

M É T O D O S A L T E R N A T I V O S P A R A E X T R A C C I O N D E V E C T O R C A R A C T E R I S T I C AS.

M É T O D O S A L T E R N A T I V O S P A R A E X T R A C C I O N D E V E C T O R C A R A C T E R I S T I C AS. A P É N D I C E D M É T O D O S A L T E R N A T I V O S P A R A E X T R A C C I O N D E V E C T O R C A R A C T E R I S T I C AS. Código extendido de Sombras. Burr ha propuesto el código de sombras como

Más detalles

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo. Capítulo 5 Campos finitos 5.1. Introducción Presentaremos algunos conceptos básicos de la teoría de los campos finitos. Para mayor información, consultar el texto de McEliece [61] o el de Lidl y Niederreiter

Más detalles

Espacios vectoriales reales.

Espacios vectoriales reales. Tema 3 Espacios vectoriales reales. 3.1 Espacios vectoriales. Definición 3.1 Un espacio vectorial real V es un conjunto de elementos denominados vectores, junto con dos operaciones, una que recibe el nombre

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA FACULTAD DE INGENIERÍA FORMACIÓN EN INGENIERÍA DE SOFTWARE Y BASES DE DATOS EN LOS ESTUDIANTES DE LA CARRERA DE ING. EN COMPUTACIÓN DE LA FI, UNAM EN EL PLAN DE ESTUDIOS 2015 MAYO, 2015 Porcentaje de alumnos

Más detalles

Clase. 1. Resolución de sistemas de ecuaciones lineales: preliminares

Clase. 1. Resolución de sistemas de ecuaciones lineales: preliminares Clase 1. Resolución de sistemas de ecuaciones lineales: preliminares 2. Método directo y exacto: Gauss 3. Método directo y exacto (II): descomposición LU 4. Métodos indirectos: Jacobi, Gauss-Seidel 2 Sistemas

Más detalles

02. Resolver sistemas de ecuaciones lineales por el método de Gauss.

02. Resolver sistemas de ecuaciones lineales por el método de Gauss. 3.6 Criterios específicos de evaluación. 01. Conocer lo que significa que un sistema sea incompatible o compatible, determinado o indeterminado, y aplicar este conocimiento para formar un sistema de un

Más detalles

A continuación se presenta la información de la altura promedio para el año de 1998 en Holanda de hombres y mujeres jóvenes.

A continuación se presenta la información de la altura promedio para el año de 1998 en Holanda de hombres y mujeres jóvenes. M150: Creciendo A) Presentación del problema LOS JOVENES CRECEN MAS ALTO A continuación se presenta la altura promedio para el año de 1998 en Holanda de hombres y mujeres jóvenes. B) Preguntas del problema

Más detalles

Representación y aplicaciones de las funciones tipo

Representación y aplicaciones de las funciones tipo Representación y aplicaciones de las funciones tipo Actividad Interdisciplinar Córdoba, junio de 2009 1 de 10 1. Introducción En este trabajo vamos a ver la forma de representar funciones matemáticas con

Más detalles

Código en SIPE. 325 Telecomunicaciones Cálculo Telecomunicaciones Exoneración. Horas totales: 64

Código en SIPE. 325 Telecomunicaciones Cálculo Telecomunicaciones Exoneración. Horas totales: 64 PROGRAMA PLANEAMIENTO EDUCATIVO DEPARTAMENTO DE DISEÑO Y DESARROLLO CURRICULAR PROGRAMA Código en SIPE Descripción en SIPE TIPO DE CURSO 050 Curso Técnico Terciario PLAN 2012 2012 SECTOR ESTUDIO DE 325

Más detalles

UNIVERSIDAD LIBRE SECCIONAL PEREIRA FACULTAD DE INGENIERÍAS PROGRAMA ACADÉMICO DE INGENIERÍA DE SISTEMAS

UNIVERSIDAD LIBRE SECCIONAL PEREIRA FACULTAD DE INGENIERÍAS PROGRAMA ACADÉMICO DE INGENIERÍA DE SISTEMAS FACULTAD DE INGENIERÍAS PROGRAMA ACADÉMICO DE INGENIERÍA DE SISTEMAS PLAN DE ASIGNATURA NOMBRE DE LA ASIGNATURA: Cálculo Multivariado y Vectorial CODIGO DE LA ASIGNATURA: 02304 BÁSICO CICLO DE FORMACIÓN:

Más detalles

Extensión de la Morfología Matemática a imágenes en Color

Extensión de la Morfología Matemática a imágenes en Color Departamento de Física, Ingeniería de Sistemas y Teoría de la Señal Grupo de Automática, Robótica y Visión Artificial Extensión de la Morfología Matemática a imágenes en Color Introducción. Imágenes en

Más detalles

CONCLUSIONES 5. CONCLUSIONES.

CONCLUSIONES 5. CONCLUSIONES. 5. CONCLUSIONES. Entre los sistemas de referencia empleados para el cálculo de las fuerzas elásticas, para un elemento finito de dos nodos que utiliza la teoría de Euler- Bernoulli [11], basándose en las

Más detalles

Práctica 3. Nombre del curso: Teoría Moderna de la Detección y Estimación. Autores: Emilio Parrado Hernández

Práctica 3. Nombre del curso: Teoría Moderna de la Detección y Estimación. Autores: Emilio Parrado Hernández Práctica 3 Nombre del curso: Teoría Moderna de la Detección y Estimación Autores: Emilio Parrado Hernández Práctica 3: Cancelación de ruido mediante filtrado. Teoría Moderna de la Detección y la Estimación

Más detalles

Matemáticas Currículum Universal

Matemáticas Currículum Universal Matemáticas Currículum Universal Índice de contenidos 08-11 años 2013-2014 Matemáticas 08-11 años USOS DE LOS NÚMEROS NATURALES Reconocer la utilidad de los números naturales para contar y ordenar elementos.

Más detalles

En ciencias e ingeniería (experimentales) es imprescindible realizar mediciones, que consisten en obtener

En ciencias e ingeniería (experimentales) es imprescindible realizar mediciones, que consisten en obtener ERRORES DE MEDICION Y SU PROPAGACION En ciencias e ingeniería (experimentales) es imprescindible realizar mediciones, que consisten en obtener la magnitud fisica de algun atributo de objetos ( proceso,

Más detalles

UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO MATERIA: MATEMÁTICAS II

UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO MATERIA: MATEMÁTICAS II UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO MATERIA: MATEMÁTICAS II INSTRUCCIONES GENERALES Y VALORACIÓN El alumno contestará a

Más detalles

1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE

1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE Practica 1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE I. INTRODUCCION Las planillas de cálculo se han

Más detalles

El pipeline de visualización es el conjunto de

El pipeline de visualización es el conjunto de Sistemas de Visualización Pipeline de visualización 3D Definición del modelo geométrico Transformaciones geométricas Transformaciones de visualización Volumen de visualización Proyecciones Pipeline de

Más detalles

Localización. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

Localización. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides M.Sc. Kryscia Ramírez Benavides Problemas de Navegación de los Robots Dónde estoy?. Dónde he estado? Mapa de decisiones. A dónde voy? Planificación de misiones. Cuál es la mejor manera de llegar? Planificación

Más detalles

BLOQUE I: GEOMETRÍA PLANA Y FIGURAS GEOMÉTRICAS. Ecuaciones y sistemas. 2 (20 horas) Funciones y gráficas. 2 (20 horas) Estadística y probabilidad

BLOQUE I: GEOMETRÍA PLANA Y FIGURAS GEOMÉTRICAS. Ecuaciones y sistemas. 2 (20 horas) Funciones y gráficas. 2 (20 horas) Estadística y probabilidad PROGRAMACIÓN DIDÁCTICA Materia IV Período FBPI Tramo II Ámbito Científico-Tecnológico Bloque I Geometría plana y figuras geométricas Créditos 3 (30 horas) Bloque II Créditos Ecuaciones y sistemas 2 (20

Más detalles

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.4 NOMBRE DE LA PRÁCTICA Operaciones con Escalares y Conceptos Básicos de Programación 4.1 OBJETIVO GENERAL El alumno conocerá el funcionamiento

Más detalles

Introducción a la programación: Algoritmos

Introducción a la programación: Algoritmos Introducción a la programación: Algoritmos Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos,

Más detalles