LiamKRP/Building-Segmentation-And-Vectorization-GIS
0
🛰️ AI-GIS Building Detector: Segmentación Semántica y Vectorización de Edificios
  
Este proyecto desarrolla un pipeline completo de Deep Learning para la detección y extracción automática de huellas de edificios a partir de ortofotografías aéreas oficiales (PNOA). El sistema no solo segmenta la imagen, sino que transforma los resultados en cartografía vectorial georreferenciada lista para su uso en entornos profesionales de SIG como QGIS o ArcGIS.
🚀 Características Principales
- Arquitectura U-Net con Backbone ResNet34: Implementación de una red neuronal convolucional para segmentación semántica optimizada mediante aprendizaje por transferencia (Transfer Learning).
- Pipeline GIS End-to-End: Integración con librerías geoespaciales (
Rasterio,GeoPandas) para la preservación de metadatos espaciales y sistemas de coordenadas (EPSG:25830). - Post-procesado Avanzado:
- Limpieza mediante morfología matemática (operaciones de closing y opening).
- Simplificación de geometrías mediante el algoritmo Douglas-Peucker para obtener bordes cartográficos limpios.
- Interfaz Interactiva: Demo desplegable mediante Streamlit que permite la carga de ortofotos y la descarga directa de resultados en formato GeoJSON.
📊 Visualización de Resultados
A continuación se muestra el rendimiento del modelo sobre zonas urbanas de la Comunidad de Madrid.
|:---:|:---:|:---:| | |
🛠️ Stack Tecnológico
- Core: Python 3.10+, PyTorch.
- Visión por Computador: OpenCV, Albumentations (Data Augmentation).
- Geoespacial: Rasterio, GeoPandas, Shapely
- Hardware: Optimizado para aceleración MPS (Apple Silicon) y CUDA.
- Dataset de Entrenamiento: Inria Aerial Image Labeling (resolución 0.3m/px).
📂 Estructura del Repositorio
model.py: Definición de la arquitectura U-Net con encoder pre-entrenado.vectorize.py: Lógica de inferencia y conversión de píxeles a polígonos georreferenciados.app.py: Interfaz de usuario con mapa índice y gestión de tiles.train.py: Script de entrenamiento con división Train/Val y seguimiento de métricas (IoU).
⚙️ Instalación y Uso
- Clonar el repositorio:
git clone [https://github.com/tu-usuario/ai-building-detector.git](https://github.com/tu-usuario/ai-building-detector.git)
cd ai-building-detector