Download Resumen - Departamento de Tecnología Electrónica
Document related concepts
no text concepts found
Transcript
Introducción y objetivos El Departamento de Tecnología Electrónica está trabajando en el campo de la clasificación de imágenes de satélite y a su vez, el Departamento de Matemática Aplicada trabaja en el desarrollo de filtros para imágenes basados en ecuaciones diferenciales de tipo convolutivo. Este Proyecto Fin de Carrera (PFC) surge de la idea de juntar ambas líneas de trabajo. El objetivo principal de este PFC es la implementación de una aplicación que permita incorporar el filtrado basado en ecuaciones diferenciales con memoria al tratamiento de imágenes y comprobar si el uso de ese filtro mejora la clasificación de imágenes de satélite. Para lograrlo es requisito imprescindible desarrollar una serie de hitos que se pueden agrupar en 3 grandes puntos: • Creación de un Interfaz ad hoc. • Implementación de una función de clasificación. • Integración, junto a la función de clasificación, de la función de filtrado, desarrollada ya en PFCs anteriores. Fundamentos teóricos Herramienta utilizada La aplicación se ha desarrollado bajo entorno Matlab. Este programa, aunque no está especializado en crear entornos gráficos (GUIs), no ha planteado ningún problema para crear un entorno eficiente, elegante y sencillo. El diseño del interfaz era de máxima importancia pues además de incluir todas las funcionalidades para las que se ha creado, había que diseñar una pantalla que fuera amigable, en el que las diferentes opciones estuvieran bien diferenciadas y lo suficientemente claras como para no confundir al posible usuario. Para programar la pantalla, y posiblemente condicionados por PFCs anteriores en cuanto a funcionalidad, hemos preferido desarrollar los GUIs mediante scripts ya que esta técnica es posibilita controlar al detalle todas las funciones que se están presentando en pantalla de una forma mucho más sencilla que mediante la herramienta gráfica propia de Matlab (GUIDE). Un análisis más detallado de las funciones de Matlab que hemos usado se puede encontrar en la Memoria donde queda explicado de una forma mucho más pormenorizada. Filtrado El algoritmo de tratamiento se basa en ecuaciones diferenciales de tipo convolutivo que se pueden escribir de la forma 1 . α‐2 t t‐s 0 Γ α‐1 ut t,x,y u 0,x,y ∂u ∂n Δu s,x,y ds , .' u0 x,y , t,x,y t,x,y .' 0, t,x,y . 0,T Ω, x,y Ω, 0,T ∂Ω , (1) donde α es el coeficiente de viscosidad que toma valores en el intervalo (1,2), u0 representa la imagen original, es un dominio rectangular [0,B]x[0,B], ∂Ω es la frontera de , ut es la derivada en el tiempo, ∂u es la derivada normal y ∂n es el Laplaciano en dos dimensiones, es decir, . Desde el punto de vista práctico estamos interesados en la resolución numérica que se ha obtenido mediante el siguiente método numérico ∑ donde 0 , , , , , , para Δ , (2) ⁄ es el número de pasos que va a dar el algoritmo, , siendo y la solución de (1). El método descrito en (2) se basa en el uso de una regla de cuadratura de tipo convolutivo, como es la regla de los rectángulos fraccionaria, combinada con un método clásico para la discretización de la derivada en tiempo como es el método de Euler. La discretización completa incluirá la discretización en espacio del Laplaciano en Ω con condiciones frontera Newmann por medio, en este caso, del método de diferencias centradas. En particular, la discretización completa se escribe , , , ∑ , , , , · ,0 para un tamaño de paso espacial de , ,0 , y , , , (3) . Clustering Sea un conjunto de objetos, , , denotado por representa el vector descriptor de cada píxel en la imagen. Sea clustering consiste en encontrar una partición de , , conformado por objetos “similares”, que satisfaga las condiciones la función objetivo : , diferentes , siendo , , un clúster y , donde D es el número de descriptores de los objetos. Para medir la similitud entre dos objetos por ,…, ,…, , donde cada 0 fijado. El problema de y se usará una función de distancia denotada , siendo la distancia Euclídea la más sencilla. Así la distancia entre dos elementos ,…, ,…, y , es ∑ , (4) 2 Los objetos de un clúster son similares cuando las distancias entre ellos se minimizan de acuerdo a una función objetivo que en nuestro caso se define de esta manera ∑ ∑ , donde el elemento representativo del clúster , (5) , es la media de los elementos del clúster y que define al centro del clúster como . ∑ (6) En nuestro caso concreto el único descriptor que vamos a considerar es el valor cromático, que en el supuesto de imágenes en escala de grises toma valores discretos, por ejemplo para imágenes de 8 bits sin signo estarán comprendidos entre 0 y 255, y en el supuesto de imágenes RGB cada submatriz será considerada un conjunto independiente. Por tanto D=1 y las ecuaciones quedan de la siguiente manera, y , y , , es decir, la diferencia entre los valores de los dos pixeles que se comparan. Bajo esas características, el clustering es un problema de optimización que en general es complicado. El algoritmo K-Means es una técnica ampliamente usada y capaz de encontrar rápidamente una solución a este problema, motivo por el cual ha sido seleccionado para nuestra implementación. Sin embargo uno de sus grandes inconvenientes es su alta dependencia de la elección de los centros iniciales y su convergencia hacia óptimos locales. Nuestra contribución El desarrollo y la implementación del PFC se pueden resumir en las siguientes partes: Interfaz • Apertura de los formatos más usuales de imagen digital incluyendo GeoTIFF. Este formato es específico de las imágenes de satélite. Es una variación del formato TIFF añadiendo una serie de datos codificados en su interior que permite localizar geográficamente la captura. • Apertura de imágenes de cualquier tamaño y forma dado que el formato con el que son capturadas no es estándar. • Integración del proceso de filtrado y clasificación en la misma pantalla. El algoritmo de filtrado ya estaba implementado, aunque ha necesitado de una pequeña serie de modificaciones para adaptarlo a las necesidades del proceso de clasificación. • Cuadro de Ayuda Dinámica adaptable a la resolución de la ventana utilizada. • Menú superior con el resto de funciones y opciones que no aparecen en pantalla, junto con sus combinaciones de acceso rápido de teclado para facilitar y agilizar las tareas a los usuarios más experimentados. Clasificación • Función Pretratado para aumentar el contraste de las imágenes. Las imágenes de satélite, especialmente las GeoTIFF, no aprovechan todo el rango dinámico disponible para su 3 resolución. Aumentando el contraste se facilita al usuario la tarea de identificación de las muestras y al algoritmo el trabajo de clasificación al aumentar las diferencias entre píxeles similares. • Posibilidad de elección de la Paleta de Colores con la que representar la clasificación realizada. Dependiendo del tipo de imágenes, puede ser interesante utilizar una paleta de colores diferente a la de la propia imagen para resaltar algún tipo de detalle. • Implementación del algoritmo de clasificación K-Means. Este algoritmo es de tipo no supervisado y, como ya hemos dicho, tiene como principales limitaciones su alta dependencia de la elección de los centros iniciales y su convergencia hacia óptimos locales. • Menú de elección del número de clases a reconocer en la imagen y selección del centro del clúster a través del puntero. El selector permite que la elección de los centros iniciales sea supervisada por el usuario y por tanto se solventa en cierta medidad una de las limitaciones del algoritmo de clasificación. Guía de Usuario • Se ha elaborado un manual de consulta rápida acerca del manejo del programa. Para encontrar información más específica, se debe consultar la Memoria del PFC en donde se detallan las diferentes funcionalidades del programa. Resultados experimentales Se han realizado dos tipos de experimentos. En primer lugar mostramos algunos ejemplos de las capacidades de nuestra aplicación como son el clasificar una misma imagen variando el número de regiones o aplicar una paleta de colores diferente a la original. En segundo lugar comprobamos empíricamente s través de una imagen de referencia si efectivamente se mejora la clasificación tras el filtrado o no. Por ejemplo, en la Figura 1 podemos ver la diferencia entre elegir mayor o menor número de clases al clasificar una imagen según sea la necesidad del objetivo buscado. Figura 1. En la Figura 2 vemos una clasificación sin filtrado previo, a la que además se ha aplicado una paleta de colores distinta de la escala de grises original para facilitar el visionado de las distintas clases. 4 Tras la evaluación visual del resultado se llega a la conclusión de la necesidad de un filtrado que reduzca el ruido y mejore la imagen. Figura 2. A continuación, mostramos los resultados de aplicar un proceso completo (pretratamiento, filtrado y clasificación). En particular, las imágenes de la Figura 3 pertenecen a una zona asolada por incendios (izquierda) y al perímetro quemado (derecha) que se usará como imagen de referencia para calcular la matriz de confusión e índice Kappa. Figura 3. Las imágenes de la Figura 4 corresponden al filtrado (izquierda) después de haber efectuado un pretratamiento y su posterior clasificación (derecha). Figura 4. 5 Calculamos el índice Kappa y la matriz de confusión para comprobar la eficiencia de nuestra implementación. Los resultados obtenidos para esta imagen son: • Exactitud Global: (16908/19000) 88.9895% • Índice Kappa: 0.6500 Para la imagen de la Figura 3 que acabamos de tratar hemos obtenido otros resultados que resumimos aquí de manera más breve pero que nos sirven para obtener más y mejores conclusiones. Si sobre esta imagen realizamos solamente una clasificación sin un proceso de filtrado previo los resultados obtenidos son: • Exactitud Global: (17030/19000) 89.6316% • Índice Kappa: 0.6569 Si por el contrario, realizamos el filtrado con una configuración de los parámetros que permitan obtener mayor precisión, los datos que obtenemos al calcular el índice Kappa y la matriz de confusión son: • Exactitud Global: (17053/19000) 89.7526% • Índice Kappa: 0.6604 Los valores del índice Kappa comprendidos entre 0,61 y 0,80 se consideran como buenos (por encima de 0,80 se consideran muy buenos y por debajo de 0,61 regulares), luego a la vista de los resultados obtenidos, se puede considerar que nuestra aplicación da unos resultados satisfactorios. El último resultado supone una mejora en la clasificación de la imagen gracias al filtrado previo, lo que confirma nuestras hipótesis de que se pueden lograr mejoras en la clasificación realizando este paso previamente. Conclusiones Tanto el objetivo principal planteado al comienzo del PFC como los objetivos secunadarios fijados para alcanzar el principal han sido cumplidos con éxito. Se ha realizado una aplicación amigable y de fácil uso que ha incorparado el filtrado basado en ecuaciones diferenciales con memoria a la clasificación de imágenes. El software realizado puede ser empleado como banco de pruebas para verificar si el empleo del filtrado basado en ecuaciones diferenciales mejora la precisión de la clasificación no supervisada de una imagen. Además, este PFC abre las puertas a futuras extensiones que completen y mejoren las funcionalidades de esta primera versión. Como posibles ideas de futuras expansiones, nosotros sugerimos implementar nuevos algoritmos de clasificación o evolucionar el proceso de filtrado. 6