Construya un modelo de IA sin conexión que detecte etapas de retinopatía diabética con Edge Impulse
Un dispositivo médico portátil capaz de identificar con precisión etapas de retinopatía diabética sin conexión a Internet podría reducir drásticamente la ceguera en todo el mundo. Con aprendizaje automático embebido, los algoritmos que se ejecutan directamente en hardware alimentado por batería son ahora viables. Este artículo recorre los pasos para entrenar dicho modelo usando la plataforma Edge Impulse.
La retinopatía diabética daña los vasos sanguíneos en la parte posterior del ojo, a menudo progresando a ceguera si no se trata. Más de dos de cada cinco estadounidenses con diabetes tienen alguna forma de la enfermedad, haciendo la detección temprana crítica. En áreas rurales donde la atención visual es escasa, incluso casos leves a menudo pasan desapercibidos hasta que se vuelven graves.
Para abordar esto, aprovechamos un conjunto de datos disponible públicamente para entrenar un modelo que pueda evaluar la gravedad de la RD a partir de imágenes de cámara retiniana. El conjunto de datos se divide en cinco clases:
- Sin RD
- RD Leve
- RD Moderada
- RD Severa
- RD Proliferativa
id_code y una puntuación de diagnóstico de 0 (Sin RD) a 5 (RD Proliferativa). Enlace al dataset.

Como las imágenes estaban almacenadas en una estructura plana, escribí un script VBA para leer la lista de Excel de valores id_code, localizar cada imagen y moverla a la carpeta de clase correspondiente. El script está disponible aquí. Si prefiere Python u otro lenguaje, una automatización similar es sencilla.

Edge Impulse simplifica la ingestión a través de su interfaz de subida de datos. Realicé cinco subidas separadas, una por clase, etiquetando cada carpeta apropiadamente. La plataforma también ofrece integración con buckets en la nube y recolección desde dispositivos, pero la subida manual funcionó mejor para nuestro conjunto de datos.

Edge Impulse divide automáticamente los datos 80/20 en conjuntos de entrenamiento y prueba, pero añadí ~500 imágenes manualmente al conjunto de prueba para equilibrar mejor las clases.
Para el modelo, seleccioné el bloque de imagen y apliqué una arquitectura de transfer learning para clasificar las cinco etapas de RD. El entrenamiento inicial arrojó una precisión máxima de alrededor del 74 %, lo cual es respetable pero destaca clasificaciones erróneas, especialmente entre RD severa y leve. La matriz de confusión (mostrada a continuación) ilustra este desafío.

En un despliegue real, una cámara retiniana portátil capturaría una imagen, ejecutaría el modelo localmente y notificaría inmediatamente al clínico si el paciente requiere seguimiento. La prioridad es detectar todas las etapas de RD, por lo que la precisión actual es aceptable para una herramienta de cribado.
Mejoras posibles incluyen:
- Adquirir más datos etiquetados para reducir varianza.
- Combinar clases adyacentes (p. ej., leve-moderada, severa-proliferativa) para simplificar el límite de decisión.
- Ajustar fino el número de capas de red neuronal y tasas de dropout.

El modelo final ocupa 306 kB de flash y 236 kB de RAM. En un Cortex‑M4 a 80 MHz el tiempo de inferencia varía de 0,8 s a 6 s, mientras que un Cortex‑M7 a 216 MHz es más rápido, lo que lo hace adecuado para dispositivos de mano que capturan imágenes al vuelo.
En resumen, demostramos que un conjunto de datos de código abierto puede entrenar un modelo edge efectivo para detección de retinopatía diabética. Desplegar tales modelos en microcontroladores embebidos o dispositivos Linux ligeros puede llevar cribado confiable a comunidades remotas o desatendidas, superando barreras de conectividad.

Más detalles y trabajo futuro están disponibles aquí.
Incrustado
- Prevención de Fallos Comunes en Maquinaria Pesada: Consejos Esenciales de Mantenimiento
- Cuatro tipos de ciberataques – Estrategias de prevención probadas
- Entendiendo la Porosidad en Soldadura: Causas, Detección y Técnicas de Prevención
- Identificando causas clave de fallo de máquina y estrategias para evitar tiempo de inactividad
- Interoperabilidad explicada: Cómo tu empresa puede lograr una integración fluida
- Cómo evitar los errores en la protección de máquinas: Consejos de seguridad y estrategias de prevención
- Detección y reparación eficaz de fugas en sistemas industriales de aire
- Prácticas modernas de documentación para diseño integrado de PCB y mecánico
- La revolución cloud: cómo el cloud computing transforma TI, seguridad y carreras
- El titanio: desde su descubrimiento en el siglo XVIII hasta las aplicaciones de alto rendimiento actuales
- Guía Completa del Óxido (Óxido de Hierro): Causas, Efectos y Prevención