Las Infraestructuras de Datos Espaciales habilitan el acceso
público y normalizado a gran cantidad y variedad de información mediante
servicios interoperables y aplicaciones construidas en torno a ellos. Entre
estos conjuntos de datos espaciales, uno de los más populares y recurrentes son
las ortofotografías aéreas u ortofotos. Las ortofotos combinan disponibilidad,
facilidad de interpretación y costes de producción contenidos. Por el
contrario, han ofrecido tradicionalmente una capacidad de análisis automático
inferior a conjuntos de datos espaciales de naturaleza vectorial como son las
cartografías básicas o temáticas. En este sentido, su uso práctico mayoritario
ha sido el de capa de referencia sobre la que, por ejemplo, digitalizar o
realizar inspecciones visuales.
Los avances producidos durante los últimos años en el campo
del aprendizaje
automático (machine learning)
junto con la disponibilidad gratuita de diversas plataformas para su desarrollo,
hicieron que en el año 2016 iniciáramos en Grafcan una línea de investigación
interna con el objetivo de evaluar la viabilidad y resultados de aplicar estas
técnicas de inteligencia
artificial a la extracción de conocimiento del territorio. En concreto, se
planteó un proyecto de detección de cambios a partir de ortofotos de un mismo
lugar y fechas diferentes. La detección de cambios, en sentido amplio, es
aplicable a muchas actividades (actualización cartográfica, evolución de masas
forestales, conocimiento de procesos de erosión, disciplina urbanística,
seguimiento de infraestructuras…) y, por lo general, conlleva un proceso
costoso. Este proyecto se centró en construcciones y vías de transporte.
La tecnología desarrollada en el proyecto integra la librería
de código abierto TensorFlow,
desarrollada por Google, para aprendizaje automático. El aprendizaje automático
cubre un gran espectro de técnicas y herramientas que deben ser evaluadas en
función del problema a resolver. En nuestro caso, empleamos redes
neuronales convolucionales profundas que pertenecen a la rama conocida como
aprendizaje
profundo (deep learning).
Los trabajos para el desarrollo de aplicaciones con redes
neuronales se agrupan y ordenan en cuatro fases: definición de la arquitectura
de la red, preparación de patrones de entrenamiento, entrenamiento y
validación, y puesta en producción.
La definición de la arquitectura de la red implica estudiar
diferentes alternativas tecnológicas y seleccionar las configuraciones más
adecuadas. Esta fase conlleva un importante componente de prueba y error para
adecuar y ajustar la arquitectura al problema a resolver. En nuestro caso, se
optó por una configuración de red que comprende un primer bloque basado en un
subconjunto de la red VGG-16 que
extrae características de las imágenes de entrada y un segundo bloque de capas encargado
del control de cambios y su clasificación final. El número total de capas de la
red es 22, de las cuales 20 son capas convolucionales y 2 son capas
completamente conectadas (fully connected).
El número de parámetros de la red es superior a los 36 millones.
Los patrones de entrenamiento son
un aspecto crítico en la configuración del comportamiento de la red neuronal ya
que constituyen la base de su aprendizaje. Para generar estos patrones partimos
de la información histórica disponible sobre cambios ocurridos en el territorio
canario. Como la información recopilada resultó insuficiente para entrenar
adecuadamente una red de este tipo, se desarrollaron herramientas de generación
manual (basadas en los servicios de IDECanarias),
herramientas de aumento de datos (data
augmentation) para generar patrones adicionales partiendo de los existentes
mediante la aplicación de técnicas de procesamiento de imágenes (incorporación
de ruido, recortes, rotaciones, transformaciones…) y herramientas de generación
de patrones artificiales (mediante la superposición de elementos de interés
sobre fondos que carecían de ellos).
Para la fase de entrenamiento y
validación se generó un conjunto de datos de 90.000 patrones distribuidos en
tres categorías: cambio de construcción, cambio de vía y ausencia de cambio. En
una estación de trabajo dedicada y equipada con hardware específico (GPU)
el entrenamiento ha tenido una duración aproximada de 18 horas. Este proceso de
entrenamiento requiere un ajuste de los metaparámetros de la red para obtener
resultados óptimos.
Los resultados de la red se
evalúan mediante un conjunto de datos de prueba (test set) y otro de validación (validation
set). Estos dos conjuntos están formados por patrones desconocidos por la
red (no están incluidos en el entrenamiento) y sirven para evaluar el nivel de
generalización que exhibe la red con datos «reales» del problema a resolver. La
versión actual de la red (v27) presenta un porcentaje de acierto del 96,4 %
sobre el conjunto de validación.
Para la puesta en producción de
la red se ha desarrollado una aplicación que toma como entrada la url asociada
a dos servicios WMS de ortofotos (de 25 cm/píxel en nuestro caso) y un
distribuidor de hojas a partir del cual se comienzan a realizar peticiones a
los servicios y ejecutar la detección de cambios. Los resultados
georreferenciados se almacenan en formato GeoJSON
y son fácilmente explotables. En términos de rendimiento, y como ejemplo, la
detección de cambios sobre la isla de Lanzarote (845 km2) se llevó a
cabo en 42 horas.
Al resultado final se le aplica
una supervisión de operador que, en caso necesario, incluye la generación de
nuevos patrones de entrenamiento. Estos patrones se incorporan a posteriores
reentrenamientos de la red que afinan su comportamiento. Este proceso de mejora
continua ha permitido en las primeras semanas de trabajo que la red mejore su
capacidad de discriminación y no señale como cambios en el territorio las
diferencias producidas por niveles de marea y oleaje, sombras y cambios en
superficies de cultivo.
Aunque el objeto de este proyecto
han sido los cambios en construcciones y vías de transporte, las técnicas
empleadas pueden ser extrapoladas a otros contextos y problemáticas en los que
la combinación de inteligencia artificial e información espacial puede realizar
contribuciones significativas a la Geomática.
Publicado por José Julio Rodrigo
y Jorge Rosales.