Fundamentos y aplicaciones del procesamiento de imágenes satelitales - De la teledetección a la detección de cambios
Imágenes satelitales y fundamentos de teledetección
El procesamiento de imágenes satelitales analiza datos de observación terrestre adquiridos por sensores a bordo de satélites artificiales. Sirve a la agricultura, monitoreo ambiental, planificación urbana, gestión de desastres e investigación del cambio climático en diversas aplicaciones.
Principales satélites de observación terrestre:
- Sentinel-2 (ESA): 13 bandas, resolución 10-60m, revisita de 5 días. Gratuito y abierto. Óptimo para monitoreo de vegetación y calidad del agua
- Landsat 8/9 (NASA/USGS): 11 bandas, resolución 15-100m, revisita de 16 días. Gratuito. Más de 40 años de datos de series temporales
- ALOS-2 (JAXA): SAR (Radar de Apertura Sintética), resolución 1-10m. Capacidad de observación en cualquier condición meteorológica
- WorldView-3 (Maxar): Resolución 31cm (pancromático). Mayor resolución comercial
- Planet (PlanetScope): Resolución 3m, cobertura global diaria. Constelación de aproximadamente 200 satélites
Características de las imágenes satelitales:
- Multiespectral: Observa múltiples bandas de longitud de onda simultáneamente incluyendo visible, infrarrojo cercano, infrarrojo de onda corta e infrarrojo térmico
- Amplia cobertura: Una sola escena cubre 100km × 100km o más
- Periódica: Revisitas regulares permiten seguimiento de cambios en series temporales
- Gran volumen: Una escena de Sentinel-2 es aproximadamente 800MB (todas las bandas)
A diferencia de las imágenes RGB estándar, los píxeles de imágenes satelitales representan magnitudes físicas (radiancia o reflectancia) como datos cuantitativos. Aprovechar esta propiedad es el núcleo del análisis de teledetección.
Preprocesamiento - Corrección geométrica y atmosférica
Los datos brutos de satélite contienen distorsiones geométricas del sensor, efectos atmosféricos e influencias del terreno. El preprocesamiento para eliminar estos efectos es esencial para el análisis cuantitativo.
Corrección geométrica: Corrige la distorsión de imagen por variaciones de actitud del satélite, curvatura terrestre y relieve del terreno, alineando con precisión a sistemas de coordenadas cartográficas (UTM, etc.):
- Ortorrectificación: Usa DEM (Modelo Digital de Elevación) para eliminar efectos del terreno, convirtiendo a vista nadir (proyección ortográfica)
- GCP (Puntos de Control Terrestre): Coordenadas terrestres conocidas mejoran la precisión geométrica
- Los productos Sentinel-2 Level-1C están corregidos geométricamente con precisión posicional de aproximadamente 12m (CE95)
Corrección atmosférica: Elimina efectos de dispersión y absorción atmosférica para estimar la reflectancia real de la superficie:
- Reflectancia TOA (Top of Atmosphere): Reflectancia en la parte superior de la atmósfera, incluye efectos atmosféricos
- Reflectancia BOA (Bottom of Atmosphere): Reflectancia de superficie tras corrección atmosférica
- Sen2Cor: Herramienta oficial de ESA para corrección atmosférica de Sentinel-2. Conversión Level-1C a Level-2A
- 6S: Corrección atmosférica de alta precisión basada en modelado de transferencia radiativa
Máscara de nubes: Los píxeles cubiertos por nubes no contienen información de superficie y deben excluirse del análisis. La banda SCL (Scene Classification Layer) de Sentinel-2 clasifica automáticamente nubes, sombras de nubes y nieve. El algoritmo Fmask también se usa ampliamente. Las escenas con más del 30% de cobertura nubosa típicamente se descartan.
Índices de vegetación y agua - Extracción de información mediante álgebra de bandas
Combinar bandas multiespectrales mediante operaciones aritméticas (álgebra de bandas) permite la evaluación cuantitativa del vigor de la vegetación, distribución del agua y condiciones del suelo. Estos índices son herramientas fundamentales de monitoreo ambiental.
NDVI (Normalized Difference Vegetation Index): El índice de vegetación más utilizado, que aprovecha la fuerte reflexión del infrarrojo cercano (NIR) y la absorción de luz roja por la vegetación sana:
NDVI = (NIR - Red) / (NIR + Red)
- Rango de valores: -1 a +1. Suelo desnudo 0.1-0.2, pastizal 0.3-0.5, bosque 0.6-0.9
- Sentinel-2: Usa Banda 8 (NIR, 842nm) y Banda 4 (Red, 665nm)
- Aplicaciones: Monitoreo de crecimiento de cultivos, evaluación de salud forestal, monitoreo de sequía
NDWI (Normalized Difference Water Index): Usado para detección de cuerpos de agua:
NDWI = (Green - NIR) / (Green + NIR)
- Agua: NDWI > 0, Tierra: NDWI < 0
- Aplicado a mapeo de inundaciones y seguimiento de cambios en área de lagos
Otros índices importantes:
- EVI (Enhanced Vegetation Index): NDVI mejorado que reduce influencias atmosféricas y del suelo. Menor saturación en vegetación densa
- NDBI (Normalized Difference Built-up Index): Detección de áreas urbanas. (SWIR - NIR) / (SWIR + NIR)
- NBR (Normalized Burn Ratio): Detección de cicatrices de incendio. (NIR - SWIR2) / (NIR + SWIR2)
En Python, usar rasterio para cargar datos de bandas y operaciones de arrays NumPy para cálculo de índices. Proteger contra división por cero con np.where(denominator != 0, numerator/denominator, 0).
Clasificación de cobertura terrestre - Clasificación de superficie con aprendizaje automático
La clasificación de cobertura terrestre asigna cada píxel de imagen satelital a categorías como bosque, tierra de cultivo, urbano o agua. Es esencial para planificación urbana, evaluación ambiental y estimación de presupuesto de carbono.
Métodos de clasificación supervisada:
- Random Forest: Usa múltiples valores de banda e índices (NDVI, NDWI, etc.) como características. Implementable con scikit-learn. Precisión típica 85-90%
- SVM (Support Vector Machine): Fuerte para clasificación en espacios de características de alta dimensión. Efectivo con conjuntos de datos pequeños
- Deep learning (CNN): Aprende patrones espaciales. U-Net y DeepLab para segmentación de alta precisión. Precisión 90-95%
Creación de datos de entrenamiento:
- Referenciar Google Earth o imágenes de alta resolución para delinear áreas representativas por clase como polígonos
- Recopilar mínimo 100-500 muestras de píxeles por clase
- Considerar balance de clases; sobremuestrear clases minoritarias
Evaluación de precisión: Calcular desde la matriz de confusión:
- Overall Accuracy (OA): Tasa de acierto total. Objetivo 85%+
- Coeficiente Kappa: Precisión corregida por azar. Superior a 0.8 es excelente
- Producer's Accuracy: Recall por clase
- User's Accuracy: Precision por clase
Google Earth Engine (GEE): Plataforma de análisis geoespacial en la nube que accede a datos satelitales a escala de petabytes desde navegadores. Disponible vía API JavaScript o Python, óptima para análisis de series temporales a gran escala sin descarga local de datos.
Detección de cambios - Extrayendo cambios de imágenes de series temporales
La detección de cambios compara imágenes satelitales de diferentes fechas para identificar automáticamente cambios en la superficie. Se aplica al monitoreo de deforestación, seguimiento de expansión urbana y evaluación de daños por desastres.
Métodos básicos de detección de cambios:
- Diferencia de imágenes: Calcula la diferencia entre imágenes o índices de dos fechas, umbraliza para determinar cambio/no-cambio. El más simple pero la selección de umbral es desafiante
- Método de ratio: Calcula el ratio entre dos fechas. Robusto ante diferencias de condiciones atmosféricas
- CVA (Change Vector Analysis): Representa el cambio multibanda como vectores, evaluando simultáneamente magnitud y dirección del cambio
Detección de cambios con deep learning:
- Siamese Network: Introduce imágenes de dos fechas en codificadores idénticos, detectando cambios a partir de diferencias de características. FC-Siam-diff es representativo
- BIT (Bitemporal Image Transformer): Basado en Transformer, captura dependencias espaciales de largo alcance para detección de cambios de alta precisión
- Precisión: Puntuaciones F1 de 0.85-0.92 (dependiente del dataset)
Análisis de series temporales: Más allá de la comparación de dos fechas, el análisis de series temporales multianuales distingue la variación estacional del cambio real. BFAST (Breaks For Additive Season and Trend) separa componentes estacionales y de tendencia para detectar puntos de cambio abruptos.
Ejemplo práctico - detección de deforestación: Calcular series temporales mensuales de NDVI desde Sentinel-2, marcando áreas con disminución de 0.3+ comparado con el mismo mes del año anterior como candidatos a deforestación. Aplicar máscara de nubes y corrección estacional para reducir falsos positivos. Global Forest Watch usa este enfoque para monitoreo forestal global casi en tiempo real.
Procesamiento práctico de imágenes satelitales - Herramientas y flujos de trabajo
Esta sección cubre herramientas concretas, métodos de adquisición de datos y pipelines de procesamiento para aplicar el procesamiento de imágenes satelitales en la práctica, enfocándose en recursos disponibles gratuitamente.
Adquisición de datos:
- Copernicus Open Access Hub: Descarga gratuita de todos los datos Sentinel-1/2/3. Recuperación por lotes vía API
- USGS EarthExplorer: Acceso gratuito al archivo completo de Landsat. MODIS y ASTER también disponibles
- Google Earth Engine: Análisis directo basado en navegador sin descarga. Capacidad de procesamiento a gran escala
- AWS Open Data: Sentinel-2 y Landsat como COG (Cloud Optimized GeoTIFF) accesibles directamente desde S3
Herramientas de procesamiento:
- QGIS: GIS de código abierto para visualización de imágenes satelitales, álgebra de bandas y clasificación. Gratuito
- SNAP (ESA): Herramienta oficial de procesamiento Sentinel que integra corrección atmosférica, geométrica y procesamiento SAR
- Python (rasterio + GDAL): Procesamiento programático.
rasterio.open()lee GeoTIFF, NumPy para cálculos - xarray + rioxarray: Procesamiento eficiente de datos satelitales como arrays multidimensionales. Óptimo para series temporales
Pipeline de ejemplo:
- Descargar Sentinel-2 Level-2A (corregido atmosféricamente)
- Aplicar máscara de nubes → extraer solo píxeles válidos
- Calcular NDVI → crear pila de series temporales
- Detección de cambios o clasificación → exportar resultados como GeoTIFF
- Visualizar y crear mapas en QGIS
Estrategia de procesamiento a gran escala: El análisis a escala nacional requiere procesar varios TB de datos. Google Earth Engine, AWS Lambda + S3, o procesamiento paralelo con Dask son efectivos. El formato COG permite lectura parcial de solo las regiones necesarias, reduciendo drásticamente la sobrecarga de I/O.