IA en el borde / Visión por computadora
DoctorMaiz
Un clasificador offline de enfermedades del maíz para pequeños productores: un modelo int8 de 3.56 MB que diagnostica 9 enfermedades, plagas y deficiencias en ~60 ms en un teléfono Android, sin conexión.
- Contexto
- Proyecto de la especialización en Machine Learning
- Año
- 2025
- Resultado
- 0.947macro-F1 · 3.56 MB · ~60 ms offline en Android
- Enlaces
- Dataset
DoctorMaiz es un sistema de IA en el borde que identifica enfermedades foliares, plagas y deficiencias nutricionales del maíz a partir de una sola foto, completamente offline en Android. Está pensado para pequeños productores en zonas rurales sin conectividad, donde un diagnóstico tardío puede costar buena parte de una cosecha.
Lideré la parte de machine learning: datos, entrenamiento, evaluación, interpretabilidad y exportación. El corpus consolida 33,438 imágenes de 8 fuentes públicas, deduplicadas con hash perceptual. Una partición estratificada clásica filtra imágenes de una misma fuente a ambos lados y infla las métricas, así que audité esa fuga, construí particiones agrupadas por fuente y medí la generalización con evaluación leave-one-source-out. Ese número honesto (0.60 de macro-F1 en fuentes no vistas frente a 0.95 dentro del dominio) se reporta junto al resultado principal, porque es lo que obtiene un agricultor con una cámara y una parcela nuevas.
El modelo desplegado es EfficientNet-Lite0 cuantizado a TensorFlow Lite int8: 0.947 de macro-F1 y 97.9% de exactitud en un conjunto de prueba independiente de 5,015 imágenes, 3.56 MB en disco y unos 60 ms por imagen en un teléfono de gama media. El entrenamiento usa PyTorch con Optuna para la búsqueda de hiperparámetros, validación cruzada K-fold y un ensamble de voto suave (0.957 de macro-F1) para inferencia en servidor. La exportación verifica paridad numérica entre PyTorch, ONNX y TFLite, y el modelo expone sus features para que la app ejecute un detector fuera de distribución de Mahalanobis que rechaza fotos que no son hojas de maíz.
Una auditoría de equidad compara imágenes de laboratorio y de campo, y un backend pequeño en FastAPI maneja cuentas, sincronización opcional y contribuciones al dataset. El entrenamiento corre en GPUs mediante Modal.