Este software es una solución de escritorio avanzada para el procesamiento de imágenes aéreas (ortomosaicos).
- ¿Qué problema resuelve? Automatiza la detección, segmentación y conteo de tres especies de palmeras clave en la Amazonía, superando las limitaciones de memoria en computadoras convencionales al procesar imágenes de gran tamaño (GBs).
- ¿A quién va dirigido? Investigadores del Instituto de Investigaciones de la Amazonía Peruana (IIAP), ingenieros forestales y especialistas en monitoreo ambiental.
- Contexto: Desarrollado en Iquitos, Perú, como parte de una investigación para la cuantificación de recursos naturales mediante Inteligencia Artificial.
- ✅ Segmentación Semántica Multi-clase: Identifica y diferencia entre Mauritia flexuosa (Aguaje), Euterpe precatoria (Huasaí) y Oenocarpus bataua (Ungurahui).
- ✅ Gestión Eficiente de Memoria (Smart Tiling): Divide imágenes gigantes en cuadrantes (tiles) con solapamiento inteligente y procesamiento por lotes (Batch Processing), permitiendo analizar GeoTIFFs pesados en PCs con 8-16GB de RAM.
- ✅ Reportes Automáticos: Genera vectores (
.gpkg), centroides y tablas de atributos (.csv) con el conteo exacto y área de copa por especie. - ✅ Interfaz Gráfica (GUI): Aplicación de escritorio amigable construida con PyQt5.
Este proyecto demuestra un dominio técnico avanzado en procesamiento geoespacial e IA:
- Lenguaje: Python 3.11
- Interfaz: PyQt5 (Qt Framework)
- Motor de IA: ONNX Runtime (Inferencia optimizada en CPU)
- Librerías Geoespaciales: GDAL / OGR (Core del procesamiento), Rasterio, Geopandas
- Procesamiento Numérico: NumPy (Uso de
memmappara manejo de arrays en disco), Scikit-image, OpenCV
El sistema utiliza una arquitectura de segmentación (DeepLabV3+) optimizada:
- Modelo usado: DeepLabV3+ (Backbone MobileNet/ResNet) convertido a ONNX.
- Métricas estimadas:
- Precisión Global (Accuracy): > 90%
- Intersección sobre Unión (IoU): > 85% en clase Mauritia flexuosa.
- Dataset: Imágenes de alta resolución recolectadas mediante drones en la Amazonía Peruana (Loreto).
Vista de la aplicación procesando un ortomosaico con visualización de máscaras en tiempo real.
Organización modular siguiendo buenas prácticas de ingeniería de software:
├── app/ # Código fuente de la GUI (PyQt5) y lógica de control
├── scripts/ # Scripts core de segmentación y conteo (Tiles, Watershed)
├── models/ # Modelos entrenados (.onnx)
├── installers/ # Binarios pre-compilados críticos (GDAL .whl)
├── output/ # Carpeta de generación de resultados
├── run.py # Punto de entrada de la aplicación
└── Manual_instalacion.ipynb # Manual de Instalacion del proyecto
└── config.json # Ajuste de los modelos y uso de ram
└── requirements.txt # Librerias para el uso del software

