
Segmentación Semántica con U-Net & DeepLab: Cartografía IGAC
Pipeline de deep learning para segmentar cartografía básica oficial del IGAC sobre 3 municipios colombianos. En construcción: el código sale con el primer release.
El detalle
Proyecto de segmentación semántica aplicado a cartografía básica oficial del IGAC (Instituto Geográfico Agustín Codazzi) de Colombia, sobre datos de tres municipios: Madrid, Mosquera y Fusagasugá. El objetivo es segmentar seis clases cartográficas —agua, vegetación, caminos, vías, construcciones y áreas comunes— comparando arquitecturas (U-Net, DeepLab v3+, SegFormer) con metodología reproducible. Está en construcción y el repositorio todavía no es público: se abre cuando haya un pipeline que alguien más pueda correr de principio a fin.
Características
- 🗺️ Datos oficiales del IGAC: cartografía básica de Madrid, Mosquera y Fusagasugá
- 🏷️ Seis clases cartográficas: agua, vegetación, caminos, vías, construcciones y áreas comunes
- 🏗️ Comparativa de arquitecturas: U-Net, DeepLab v3+ y SegFormer sobre el mismo conjunto
- 📊 Pipeline de punta a punta: etiquetado, entrenamiento, postprocesamiento y validación
- 🧪 Metodología reproducible, documentada para replicar en otros municipios
- 📈 Métricas por clase y globales: IoU, F1, precisión y exhaustividad
- 🔧 Postprocesamiento geoespacial: filtros morfológicos y simplificación de polígonos
- ✅ Evaluación en municipios no vistos durante el entrenamiento
- 💾 Exportación a GeoJSON, Shapefile y GeoTIFF para usar en SIG
- 📚 Notebooks educativos para aprender segmentación semántica aplicada
Stack tecnológico
- PyTorch 2.x: framework principal para U-Net, DeepLab v3+, SegFormer
- segmentation_models.pytorch: implementaciones preentrenadas de arquitecturas
- Albumentations: data augmentation especializado (rotaciones, flips, cambios de color)
- Rasterio / GDAL: carga y procesamiento de imágenes geoespaciales
- GeoPandas / Shapely / Fiona: manejo de geometrías y exportación GIS
- QGIS / Label Studio: herramientas de etiquetado manual de clases
- Weights & Biases: tracking de experimentos, métricas y visualizaciones
- scikit-image / OpenCV: postprocesamiento morfológico (erosión, dilatación, CRF)
- Jupyter Notebooks: entorno de desarrollo y documentación interactiva
Lo difícil
- 🏷️ Etiquetar seis clases en tres municipios exige criterio experto, no solo tiempo
- ⚖️ Desbalance de clases: agua y construcciones abundan; caminos y áreas comunes son minoritarias
- 🔍 Los límites entre vías y caminos, o construcciones y vegetación, son difusos
- 🌍 Generalización: lo entrenado en Madrid tiene que servir en Mosquera y Fusagasugá
- 💾 Las ortofotos del IGAC son de alta resolución y obligan a estrategias de patches
- 🧹 Quitar ruido de las predicciones sin perder el detalle fino
Lo aprendido
- 🗺️ El IGAC como fuente oficial y reproducible para proyectos GeoAI en Colombia
- 🏗️ Qué aporta cada arquitectura cuando el dato es cartografía, no fotos naturales
- 🔧 Un pipeline geoespacial no termina en el modelo: termina en un GeoJSON que abre en QGIS
- 📊 Una sola métrica esconde el problema; por clase se ve dónde falla de verdad
- 🧪 Documentar el proceso es lo que permite que otro lo replique en su región
- 🎓 Se aprende más con datos reales que con datasets sintéticos
- 🌎 El fin último: apoyar la actualización de cartografía básica