Isle Utilities
Connecting Waterpeople
CALAF GRUP
UPM Water
J. Huesa Water Technology
Cajamar Innova
Smagua
UNOPS
Saint Gobain PAM
Fundación We Are Water
Danfoss
ISMedioambiente
TEDAGUA
Ingeteam
ESAMUR
Global Omnium
Mancomunidad de los Canales del Taibilla
TecnoConverting
Idrica
Fundación Botín
Kamstrup
ACCIONA
DAM-Aguas
BACCARA
Redexia network
HANNA instruments
STF
Fundación CONAMA
DuPont Water Solutions
Control Techniques
Hidroconta
Regaber
NOVAGRIC
Almar Water Solutions
TFS Grupo Amper
ABB
EMALSA
Aganova
CAF
AMPHOS 21
Insituform
GS Inima Environment
Sacyr Agua
IAPsolutions
s::can Iberia Sistemas de Medición
Minsait
Bentley Systems
Blue Gold
Barmatec
AZUD
Baseform
Terranova
Aqualia
Confederación Hidrográfica del Segura
Catalan Water Partnership
Isle Utilities
Lama Sistemas de Filtrado
Rädlinger primus line GmbH
Consorcio de Aguas de Asturias
Asociación de Ciencias Ambientales
FLOVAC
ICEX España Exportación e Inversiones
Aigües Segarra Garrigues
SCRATS
IIAMA
biv Innova
Fundación Biodiversidad
Vector Motor Control
Grupo Mejoras
Centro Nacional de Tecnología de Regadíos (CENTER)
Ulbios
Gestagua
EPG Salinas
BELGICAST by TALIS
Prefabricados Delta
Hach
Elmasa Tecnología del Agua
Saleplas
Laboratorios Tecnológicos de Levante
VisualNAcert
AGENDA 21500
Cibernos
Agencia Vasca del Agua
Xylem Water Solutions España
Schneider Electric
ITC Dosing Pumps
LACROIX
Likitech
ADECAGUA
SEAS, Estudios Superiores Abiertos
Kurita - Fracta
Red Control
AECID
FENACORE
Innovyze, an Autodesk company
Elliot Cloud
Molecor
Filtralite
NaanDanJain Ibérica
Grundfos
1 de Febrero en Isle Utilities Webinar Series

Sobre el blog

José María de Cuenca de la Cruz
Curioso, inquieto y creativo… aprendiz de escritor, e interesado también por las nuevas tecnologías y la educación. Me encanta asumir retos y compartir lo aprendido. Trabajando en lo que me apasiona…. me siento como un pez, en el agua claro.

Hoy, para mejorar la gestión de los recursos hídricos y los procesos operativos de la gestión del agua, -como para casi todo- es fundamental el uso de nuevas tecnologías digitales. Estamos en la era del Big Data y la Inteligencia Artificial. Estas tecnologías requieren grandes fuentes de información para desarrollar todas las oportunidades que nos ofrecen. Y en nuestro campo pueden encontrarla en las imágenes satelitales, accesibles a través de internet.

Estamos acostumbrados a vigilar el cambio climático con fotos de satélite que proporcionan información de la evolución de las líneas de costa, la dinámica de los glaciares o los fenómenos meteorológicos. Pero estos aparatos también cuentan con sensores sensibles a otras longitudes de onda no visibles, que combinadas adecuadamente han permitido por ejemplo diagnosticar las áreas quemadas tras un incendio, analizar el vigor de los cultivos o incluso detectar automáticamente construcciones ilegales. Y esto antes del desarrollo de las técnicas de visión artificial. Estas aplicaciones se extienden al campo del agua, y aunque por el momento no son muy populares, la necesaria digitalización del sector para avanzar en el sexto de los ODS, generalizará su aprovechamiento en poco tiempo.

Por ejemplo, combinada con datos obtenidos en el terreno, la telemetría satelital puede utilizarse para entrenar sistemas capaces de predecir la demanda de regadío, optimizar la cantidad de agua para regar, determinar los riesgos en zonas inundables, y analizar los recursos de agua dulce disponibles por la altura de lagos o embalses, o de nieve acumulada en cordilleras. Pero también puede usarse para vigilar la calidad de esas masas de agua: son bastante conocidas las correlaciones entre turbidez, coloración y DQO; también entre clorofila y temperatura (relacionada con el crecimiento de algas, presente en algunas cianobacterias, y responsable de la eutrofización). Además hay grupos de investigación trabajando en las relaciones entre la materia orgánica disuelta cromatófora (CDOM), la turbidez y los sedimentos suspendidos totales (TSS), a través de la “claridad” del agua, relacionada con la luminancia y la reflectancia… y comienza a trabajarse en buscar relaciones con otros parámetros como pH, conductividad, O2 disuelto, N, P, DBO, COD…

Se comienzan a plantear aplicaciones como la detección de vertidos al medio receptor, la predicción de la contaminación del agua a partir de un abonado intensivo (control de malas prácticas agrícolas); o la determinación de la fuente más adecuada y el momento óptimo de captación en una ETAP con el fin de utilizar un mínimo de reactivos químicos.

El panorama resulta prometedor si consideramos que la Unión Europea, a través del programa Copernicus, desea fomentar el uso de esta información. No solo ofrece muchas de las imágenes de sus satélites gratuitamente (como el USGS) sino que además valora su uso a la hora de conceder ayudas en los programas de I+D que convoca, o subvenciona acciones educativas específicas y hackatones destinados a los usuarios finales. Por no hablar de universidades como la de Barcelona con SatCat; o compañías privadas como EOS, ESI o SIC, que desde hace tiempo facilitan la obtención de imágenes originales, y añaden valor con subproductos derivados (con los recortes y cálculos para una aplicación ya realizados). También, para los que no tengan problemas de presupuesto hay un floreciente mercado de alquiler de satélites capaces de adecuarse a la resolución, bandas y frecuencias de paso requeridas por el usuario… o podemos pedir que nos desarrollen nuestra propia nave, por ejemplo aquí al lado, a Deimos. En este maremagnum de oferta no podía faltar el gigante Google, cuyo buscador fue protagonista del primer post de esta serie. Tiene un servicio donde ofrece imágenes, una interface para probar nuestros propios algoritmos y facilitar la escalabilidad en aplicaciones al mundo real: se llama Google Earth Engine, y no es la aplicación de escritorio. Por cierto, sus vídeos time lapse sobre el cambio en meandros de ríos, desarrollo de proyectos de irrigación, o de evolución de la costa son dignos de una visita. Incluso con el botón de compartir, podemos generar un enlace con la evolución de nuestro área de interés, como este para Valladolid.

Es agradable recrearse con un vídeo. Pero si queremos aprovechar totalmente estas fuentes de información, debemos conocer un poco más la tecnología que lo hace posible. Detectar variaciones de humedad, niveles de evo transpiración, alteraciones en las masas de agua… requiere utilizar la combinación de longitudes de onda adecuadas a cada aplicación. Cada captura desde un satélite obtiene datos de todos sus sensores, que se recogen en varios raster georeferenciados, cada uno con la información relativa a una o varias bandas del espectro. Las imágenes de una misma escena pueden tener distinta resolución y a veces diferente referencia de altitud (reflectancia a nivel superficial, o a nivel de la alta atmósfera). Además, las bandas utilizadas no son las mismas para cada tipo de satélite, ya que las naves incorporan diferentes sensores, que van evolucionando conforme se descubren nuevas aplicaciones.

En los hiperenlaces se puede ver la descripción completa de la instrumentación de los satélites Landsat, Sentinel, MODIS y otros muchos. La sensibilidad de sus sensores trata de cubrir la parte más amplia del espectro electromagnético, de manera que combinando las diferentes bandas podamos identificar la mayor cantidad de características físicas y químicas de los objetos, a través de su firma espectral identificativa. Para más información puede consultarse la base de datos de satélites y sensores del a Universidad de Twente.

La falta de datos es el principal escollo para las aplicaciones de inteligencia artificial. Pero en este caso no es así: los datos están disponibles en algunos casos con históricos de hasta 40 años; y en muchos casos se actualizan con frecuencias de días. Además se pueden analizar manualmente con plataformas GIS comunes como ArcGis o QGis. La dificultad está en el tratamiento masivo debido a su volumen, y en la automatización del tratamiento de una información compleja y diversa: un satélite no siempre toma la escena en el mismo punto y lo captado varía al verse afectado por las condiciones meteorológicas (nubes, niebla, brillo solar…). Sin hablar saber qué hay que buscar, o cómo interpretar lo que se encuentra. Por ello, procesar estos datos requiere tener al menos algunos conocimientos básicos de campos muy dispares: telecomunicaciones, topografía, estadística, informática, física, química, biología, geografía… que se siempre se ubican en conjuntos disjuntos, pese a las continuas revisiones de la taxonomía curricular patria… pero eso es otro cantar. A pesar de todo, hay muchas iniciativas que con solo seguirlas nos permiten hacer algunos análisis en materia de aguas sin movernos de la silla. Una de ellas es el proyecto PrimeWater realizado con fondos europeos, en el que se relacionan parámetros del agua, propósitos y fuentes de información satelital.

Al tratarse de imágenes ráster obtenidas con cierta frecuencia, la cantidad de información satelital disponible es ingente (big data por tamaño, variedad y velocidad). Si además utilizamos datos propios para ajustar por ejemplo un modelo de calidad del agua, y no están muy claras las relaciones entre los patrones de datos, es muy poco eficiente tratar de explotarla sin ayuda de los nuevos sistemas de inteligencia artificial. El esquema básico de una solución de este tipo debe integrar la actualización automática de los datos, generalmente a través de la API del proveedor, su preprocesado (si no es realizado por el proveedor), el análisis automatizado que frecuentemente incluirá la combinación con algunos datos propios tomados sobre el terreno; y la entrega de resultados mediante un interface o una nueva API propia.

Lógicamente, la adopción de este tipo de herramientas es mucho más rentable cuantos más puntos nos interese monitorizar a través de la teledetección, dado que el coste diferencial por punto es muy pequeño. Pero puede resultar rentable incluso para servicios de tamaño reducido y con pocos puntos de vigilancia: si se está dispuesto a realizar un poco de esfuerzo y se cuenta con bastante interés, es posible montar un sistema básico. Para que esto no se quede en una afirmación, como en artículos anteriores de esta serie dejo un ejemplo didáctico en GitHub, montado con Python sobre Jupyter, utilizando únicamente recursos disponibles gratuitamente. No se pretende construir una demostración completa, solo un ejemplo suficiente para atraer la atención de los lectores más inquietos sobre estas tecnologías.

Partiremos de unas pocas imágenes de Landsat 8 obtenidas desde la web LadnViewer de EOS (es gratis para Landsat8 a esta resolución, pero hay que registrarse. No obstante se incluyen en esta carpeta con el ejemplo). Corresponden al embalse de la Cuerda del Pozo, que retiene el Duero en Soria. Se han escogido sin nubes en la zona para simplificar el tratamiento.

En primer el ejemplo carga las imágenes y muestra las monobanda de la primera escena. También una composición en color RGB de las bandas visibles. Además se obtiene un gráfico de dispersión de las bandas roja y de infrarrojo cercano, en el que se aprecia claramente la correlación entre los valores de los pixeles que corresponden a zonas de suelo, vegetación y agua. El análisis clásico de estos datos realizaría una caracterización manual de zonas en las imágenes, basada en estas observaciones y el conocimiento de la espectrografía… Vamos a ver como un sistema de inteligencia artificial es capaz de aprender y clasificar las diferentes zonas de la imagen satelital.

Para ello una vez explorados los datos, usaremos un algoritmo k-means, de aprendizaje no supervisado. Se aplicará dos veces: en primer lugar para detectar automáticamente los diferentes usos del suelo y el contorno del embalse, utilizando una imagen en el que este aparezca lo más lleno posible. El uso de este tipo de algoritmos es muy habitual en la digitalización de mapas y muchos GIS lo incorporan como herramienta.

Con la superficie de agua del embalse lleno generamos una máscara a la que añadimos proyección geográfica y pasamos a geotiff. Luego la convertimos a formato Shapefile de ESRI y la revisamos manualmente con un editor GIS para suprimir el objeto que agrupa los valores nulos y algunas pequeñas láminas de agua que no nos interesan en esta aplicación. Luego usamos esta máscara filtrada para recortar en todas las escenas el contorno del agua que hemos detectado, generando las imágenes correspondientes. Tanto la máscara en geotiff como la convertida y la editada en shp, además de los recortes resultantes, se incluyen también en otra carpeta del ejemplo.

Después, volvemos a aplicar el mismo algoritmo k-means sobre estos recortes. De esta manera, le obligamos a buscar diferencias espectrales únicamente en el embalse, ya sin las “distracciones” de los usos del suelo. Así, detectará zonas más o menos turbias o con diferente concentración de algas, además de las zonas secas en las imágenes que capturen una bajada de nivel. En ningún momento le diremos qué es cada uno de los efectos encontrados, por lo que únicamente devuelve una clasificación, así que la interpretación correrá de nuestra cuenta. Por esta razón lo aplicamos en 2 pasos: de otra manera, si lo hacemos en un paso se podría complicar mucho la interpretación, o incluso que no fuera posible. Veamos por qué.

El algoritmo k-means agrupa los objetos de un conjunto (en nuestro caso los píxeles de las imágenes de las diferentes bandas espectrales) en un número k predefinido de grupos, en función de la proximidad de cada objeto al centroide o centro de gravedad de su grupo, medido por la distancia cuadrática. Elegimos el número de grupos arbitrariamente, no muy elevado para poder identificar mejor la clasificación matemática resultante, es decir, las relaciones entre los datos. El algoritmo elige aleatoriamente algunos elementos del conjunto y les asigna un centroide, cuya posición irá actualizando conforme va agregando más elementos. La clasificación se considera completa cuando la posición de los centroides ya no varía por encima de un umbral. Es decir, resuelve un problema de agrupación mediante la optimización de la función de distancia. Otras aplicaciones de este algoritmo son la segmentación de mercados, la clasificación de medidas de sensores, la detección de fallos o la categorización de inventarios.

Volvamos a nuestro ejemplo. En la primera aplicación de k-means es muy evidente que este algoritmo detecta fácilmente la firma espectral del agua y le asigna una clase en el clúster resultante. Aunque el número identificador de esa clase no siempre es el mismo, puede variar con cada ejecución. El resultado lo visualizamos asignando un color de la clasificación a cada elemento de una matriz con dimensiones las de la imagen original.

En la segunda aplicación de k-means, ya solo sobre el recorte de las imágenes del agua, obtenemos una clasificación matemática no tan obvia. Sobre ella usamos un algoritmo de Canny para delimitar a partir de la variación de los gradientes, las diferentes zonas espectrales del agua en el embalse.

Debemos recurrir a la obtención de índices conocidos de turbidez o clorofila para interpretar los resultados, pero podemos afirmar que hace una identificación adecuada de las zonas con diferentes calidades del agua almacenada, y qué zonas pueden ser más representativas a la hora de hacer una monitorización in situ.

Una evolución de este ejemplo podría ser la adquisición automática de nuevas escenas conforme estén disponibles en la agencia espacial, el recortado de sus imágenes y la reclasificación según las características espectrales. Para afinar los resultados se podrían relacionar (mediante una regresión lineal por ejemplo) los resultados de la clasificación, con mediciones puntuales in situ; y posteriormente sustituir la clasificación no supervisada por una supervisada, por ejemplo mediante k-nn (vecinos cercanos), un árbol de decisión o una red neuronal como las utilizadas en otros post de esta serie. De esa forma, se podría anticipar la calidad del agua de entrada, reduciendo el número de desplazamientos del personal de muestreo.