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