Contenedor de residuos educativo inteligente

«Aprendí que nunca somos demasiado pequeños para hacer la diferencia»

Greta Thunberg

Latam online. Segunda Edición. 2021

Es una de las frases celebres de Greta Thunberg, haciendo alusión al poder de los jóvenes de cambiarlo todo, en particular su forma de ver el mundo y las oportunidades de hacer cosas nuevas en pro de su futuro.

Pero… y sí ese futuro se ve gris y contaminado ¿Entonces cómo pueden hacer la diferencia hoy?

Mascota de conciencIA ecológica

Actualmente, muchos jóvenes se preocupan por los problemas ambientales, volviéndose actores proactivos en la búsqueda de soluciones, esta urgencia de cambio nos motivó a crear ConciencIA Ecológica para enseñar a los niños la forma correcta de clasificar sus residuos de una manera divertida, promoviendo las prácticas de las (4R), Reducir, Reutilizar, Reciclar y Recuperar, utilizando tecnología e inteligencia artificial.

Este equipo conformado por siete (07) apasionados de la inteligencia artificial ha unido tres países como: Ecuador, México y Venezuela, participando en la 2da edición de Saturdays.AI LATAM y a través de su método build to learn elaboró un proyecto basado en Deep Learning llamado ConciencIA Ecológica, enfocado en estudiantes de educación básica de la ciudad de Guayaquil — Ecuador.

Si quieres saber más te invito a seguir leyendo.

Integrantes del equipo del proyecto ConciencIA Ecológica

El problema

De acuerdo al Instituto Nacional de Estadísticas y Censo (INEC), en el año 2017 cada ecuatoriano produjo 860 gramos de residuos sólidos en un día, a pesar de que este número se encontró por debajo del kilogramo de basura por día en América Latina y el Caribe, ese año se tuvo un crecimiento de 48% con respecto al año anterior, por lo que no es sorprendente imaginar, que si no se tomaron medidas a tiempo, estos números sean mayores hoy en día.

De la basura recolectada el 96% se entierra en rellenos sanitarios, celdas emergentes o botaderos a cielo abierto y solo el 4% se recicla. Para tener una idea de las razones por la que el reciclaje es bajo, en el 2016 el INEC realizó una encuesta de hogares detectando que el 59% de los hogares no clasificaron residuos.

Cuando se le preguntó las razones por las cuales no clasificaban, el 43% respondió por la falta de contenedores específicos. Sin embargo, el 57% restante se debió a problemas culturales: “no saben clasificar” (18%), “no le interesa” la clasificación de residuos (16%), dicen “no conocer los beneficios” (15%) o el restante (8%) no confía en los sistemas de recolección de basura.

De esta realidad, Guayaquil es la primera ciudad que produce basura generando el 28% del total de desechos diarios del país, y la más elevada a nivel de porcentaje de desinterés: el 29% de los ciudadanos no le interesa clasificar, el 15% no conoce los beneficios y el 6% no sabe clasificar, este desinterés es seguido por Ambato (20%), Machala (14%), Quito (11%), Cuenca (9%).

Por esta razón nuestro proyecto centra sus esfuerzos en esta ciudad y abre su primer capítulo llamado Guayaquil.

Problema dectectado

Los niños no sólo son el futuro, también son el presente del mundo

Los niños de hoy serán los adultos del mañana, si queremos cambiar la forma como las personas interactúan con nuestro planeta, debemos empezar desde edades tempranas creando hábitos amigables con el ambiente, y estos pueden estimularse en la escuela a través de la educación y la creación de espacios destinados a las buenas prácticas ambientales.

Conscientes de los anterior nace la idea de ConciencIA Ecológica el cual busca enseñar a los niños a clasificar sus residuos de forma divertida.

Este proyecto se enfoca en disminuir el desinterés y el desconocimiento en la clasificación de residuos de estudiantes de educación básica en la ciudad de Guayaquil, a través de contenedores con visión inteligente que oriente a niños desde los 5 años hasta los 14 años, en la correcta clasificación y gestión de residuos, promoviendo las prácticas de Reducir, Reutilizar, Reciclar y Recuperar (4R).

La propuesta une varios conceptos, primero buscando que el niño desde la edad escolar se familiarice con la gestión de residuos, orientándose a través de audio y luces hacia el contenedor correcto, también que gestione correctamente el residuo en su contenedor contribuyendo a la clasificación desde el origen, y creando conciencia en el niño a través de mensajes educativos.

Los contenedores están pensados para poder medir el volumen de residuos y emitir una señal al encontrarse el recipiente lleno, esto permitirá a la escuela vaciarlo a tiempo y evitar daños en la compuerta del recipiente.

Génesis de conciencia ecológica

En este punto existía dos decisiones para el módulo central de ConciencIA Ecológica, la primera ubicar un Jason Nano Nvidia, que condensa en su interior la cámara, la capacidad de cómputo y la posibilidad de conectar el micro controlador, o ubicar una Tablet reciclada, utilizar su cámara y alojar la capacidad de cómputo en la Tablet y que esta coordine la clasificación con las señales a los contenedores, las bocinas y las luces.

La decisión se tomó considerando la base del presupuesto que puede tener una escuela, por lo que la segunda opción parece ser la más viable, ya que por menos presupuesto se podrían llevar ConciencIA Ecológica a más escuelas. El equipo estimo 70$ considerando la donación de una Tablet reciclada.

Luego de decidir cómo realizar la clasificación, se pensó en qué se quería clasificar y utilizando la Norma Ecuatoriana INEN 2841, 2014, referente a la estandarización de colores para recipientes de depósito y almacenamiento temporal de residuos sólidos, se establecieron 5 clases: vidrio, papel, cartón, plástico, orgánico.

Que finalmente se agruparon en:

  • En un contenedor de color verde: Orgánicos.
  • En un contenedor de color azul: Plástico.
  • En un contenedor de color blanco. Vidrio.
  • En un contenedor de color gris: Cartón y Papel.
  • En un contenedor negro: Desechos, el cual lo establecimientos como los porcentajes de predicción más bajo que presente el modelo.

Pasos para seguir

1. Dataset

Los datos fueron seleccionados de tres fuentes: Un repositorio abierto de imágenes de desechos llamado Waste datasets review”, en particular con el data set Trashnet, que contiene 2527 imágenes; fotos en páginas web especializadas de fotografías y fotos captadas desde el celular relacionadas con productos que se consideró etiquetar relacionadas al ámbito escolar.

El dataset se construyó con un total de 5000 imágenes en 5 clases: vidrio, papel, cartón, plástico, orgánico. Para el proyecto no se consideró la clase metal. El dataset se dividió en 80% entrenamiento y 20% para validar.

2. Procesamiento: el ABC

Esta fue la fase más larga por el tiempo invertido para hacer los cuadros delimitadores (bounding box). Para el procesamiento se utilizó LabelImg, el cual es una herramienta gratuita de anotación de imágenes gráficas disponible en pip para python3.0 o superior.

Para cada etiquetado se cuidó encerrar el objeto dentro del cuadro delimitador, lo más ajustado posible a la imagen y haciendo tantos cuadros como objetos existieran.

Ejemplo de la utilización de la herramienta LabelImg

Las imágenes fueron guardadas en formato Yolo (*.txt). Este formato establece la clase y las coordenadas de los cuadros delimitadores con la siguiente estructura:(c, xn, yn, wn, hn)

5 Formato yolo (*.txt)

Donde:

  • c : es el número de la clase, en este proyecto hay 5 clases, donde c puede tomar el valor 0 para cartón, 1 papel, 2 vidrio, 3 plástico y 4 orgánico.
  •  xn: centro del cuadro delimitador normalizado en la dirección x.
  • yn: centro del cuadro delimitador normalizado en la dirección y.
  • wn: ancho normalizado del cuadro delimitador (x).
  • hn: alto normalizado del cuadro delimitador (y).

3. El modelo

El modelo seleccionado fue el YOLOv5 (You Only Look Once). Este es un sistema de código abierto para la detección de objetos en tiempo real pre-entrenado con el dataset COCO, el cual hace uso de una única red neuronal convolucional (CNN) para detectar objetos en imágenes.

De acuerdo con la revisión bibliográfica, Yolo en su quinta versión es un buen algoritmo para detectar objetos en el campo de la alimentaciónrobóticasalud, entre otros, logrando un buen posicionamiento y reconocimiento de objetos, más precisos que otros algoritmos, incluso versiones anteriores de Yolo. Este equipo seleccionó YoloV5, por considerarlo un algoritmo robusto con buenos resultados en investigaciones recientes relacionadas con detección.

4. Resultados:

El modelo se entrenó 4 veces utilizando la técnica de “Transferencia de aprendizaje, llegando a obtener una mejora del 50% en el último entrenamiento con respecto al primero. En el modelo se usaron las siguientes variables:

  • Modelo: Se usó la versión Small (Yolov5s) ya que es el más rápido de entrenar y permitió tener una buena idea del comportamiento de la base de dato y del modelo frente al problema. Sin embargo, la desventaja de la rapidez es que se sacrifica precisión en comparación con otras versiones como la Extra Large (Yolov5x)
  • Pesos (weights): para el primer entrenamiento se utilizó los pesos predeterminados en Yolo, los cuales provienen del entrenamiento del data set COCO, llamado “yolov5.pt. Durante cada entrenamiento se generó un archivo con el mejor peso encontrado, el cual se utilizó para el siguiente entrenamiento.
  • Épocas: Se inició el entrenamiento con 10 épocas, llegando hasta 30 épocas.
  • Batch, se mantuvo fijo en 6 para todo el entrenamiento.
  • Tamaño de imágenes: El data set se configuro para que cada imagen tuviera un tamaño de 640 x 640.
Se aprecia las ultimas variables de entrenamiento

Los resultados de

  • Matriz de confusión
  • Precisión y Sensibilidad (Recall)

La matriz de confusión indica que tipo de error está cometiendo el modelo, en el caso de Yolo para el cálculo utiliza una confianza de 0,25 y un límite de IoU (Intersection over Union) de 0,45. Esto quiere decir que para clasificar un objeto este debe tener un 50% de probabilidad de estar en una clase.

La clase para la matriz de confusión en el cálculo de confianza de 0,25 y un límite de IoU (Intersection over Union) de 0,45

Yolo presenta su matriz en valores relativos, donde cada elemento de la matriz está normalizado al total de la columna, por lo que la suma de los valores de cada columna es igual a 1.

Para el data set, tenemos que el cartón lo clasifica relativamente bien, en el 72% de los casos reconoció esta clase, mientras el restante 24% lo clasificó como background. El vidrio lo reconoció en el 85% de los casos, mientras un 10% lo confundió con plástico quizás por la similitud de la transparencia. El papel un 59%, siendo este el valor más bajo, compartiendo un 8% con cartón, y un 32% con el background. Para el caso del plástico se obtuvo un 64% de asertividad, y el restante 34% con el background. Por último, en orgánico se obtuvo un 85% de verdaderos positivos y apenas un 13% de background.

La precisión promedio de todas las clases del modelo fue 0.748, la cual para este tipo de algoritmo es buena, nos indica que de cada 10 imágenes, aproximadamente 7 la clasifica correctamente. Su sensibilidad (Recall) fue 0.723, lo que es una buena medida de la cantidad de objetos por clase clasificados correctamente, en una clase determinada de cada 10 imágenes 7 son correctas, apenas 3 son falsos positivos.

Resultados de las métricas que nos muestra al obtener de la matriz de confusión

5. El prototipio: su crecimiento

Es importante mencionar que el alcance del proyecto se limitó a realizar el prototipado de ConciencIA Ecológica que consistió en el despliegue, la simulación de los componentes del hardware y un bosquejo de una aplicación que conecta la predicción del modelo con el hardware para clasificar imágenes de seis (6) tipos de residuos: orgánicos, vidrio, plástico, papel, cartón, desechos.

A continuación se explicará el funcionamiento del prototipo.

ConciencIA Ecológica consistirá en cinco (05) contenedores de diferentes colores y un módulo central donde se encontrará una Tablet con cámara. Los contenedores se diseñaron pensando en el tamaño de los niños y la forma más fácil de depositar el residuo en estos.

Diseño propuesto

Se buscará que el aprendizaje se realice a través de la interacción del niño con los contenedores, para ello el niño presentará un residuo a la cámara de la Tablet y a través de un modelo, se podrá reconocer hasta seis (6) tipos de residuos: orgánicos, vidrio, plástico, papel, cartón y desechos en general. Luego de reconocer el residuo, se enviará la predicción a una App alojada en la Tablet en el módulo central, la cual mostrará en pantalla lo reconocido y emitirá un sonido con el nombre del material categorizado y el color del contenedor.

Se presenta un bosquejo del proceso del prototipo

Al mismo tiempo, la Tablet enviará una señal a un micro controlador para abrir el contenedor destinado a recolectar el residuo y se enviará una señal que encenderá una luz ubicada en el contenedor. La App emitirá información sobre la práctica de las 4R para promover su uso. El niño finalmente se dirigirá al contenedor señalado y deposita el residuo.

Se presenta un bosquejo del proceso del prototipo

En cada contenedor se instalará un sensor ultrasónico para medir el volumen de residuos acumulados, el sensor enviará una señal a tres led´s que indicarán tres niveles: Disponible (verde), Intermedio (amarillo) y Lleno (rojo). Esto con el fin de evitar que los contenedores rebasen su capacidad, ya que, de producirse, pueden obstaculizar la apertura de la puerta con la entrada de residuos produciendo daños a los servomotores.

Estructura interna del contenedor (arriba sensor ultrasónico)

6. Despliegue

Por otro lado, la aplicación en esta fase no tendrá interacción física con el niño, por el momento servirá como centralizador de la información que viene del modelo y que dirige la acción de la apertura de los contenedores, mostrar en pantalla el resultado, emitir sonido y prender las luces de los contenedores.

La App debe ser iniciada por el administrador, el cual podrá comenzar a ejecutar Conciencia Ecológica a través de su usuario y contraseña.

Diseño de la aplicación propuesta

Inmediatamente, se despliega un menú el cual mostrará un botón de “comenzar a reciclar” que pondrá a Conciencia Ecológica en modo de reconocimiento de residuos. Al darle al botón se enciende el sensor de aproximación y el sensor óptico (cámara); a futuro se tiene pensado implementar un módulo de estadísticas visible en el menú, a los efectos de esta idea de proyecto se colocará como deshabilitado.

Diseño de la aplicación propuesta-iniciando el proceso

En el modo reconocimiento, cuando el sensor de aproximación se activa, se mostrará un mensaje para que el niño presente el objeto a la cámara, cuando detecte el objeto se realizará la predicción.

App en Android para clasificación, mostrando la categorización en tiempo real.

Una vez realizada, se mostrará en la pantalla la clase identificada y emitirá un sonido con el nombre del contenedor, luego emitirá un corto mensaje educativo.

Diseño de la aplicación propuesta con la interacción del sonido

Al mismo tiempo la App enviará la información por bluetooth al micro controlador, el cual se encargará de abrir la compuerta correcta y emitir la señal para encender los led´s. Abajo se muestra un diagrama simulado en Tinkercad.

Bosquejo del circuito

Su futuro: Próximos pasos

Hasta este punto, tenemos una idea de cómo Conciencia Ecológica de una forma sencilla puede orientar a los niños en la creación de hábitos para Reducir, Reutilizar, Reciclar y Recuperar. Pero…

¿hasta aquí llegamos?

A corto plazo, lo primero sería llevar esta conceptualización a la realidad, mejorando cada uno de los aspectos técnicos contemplados en el prototipo. El financiamiento de la Municipalidad de Guayaquil o una institución interesada seria la chispa para propulsar el proyecto.

A mediano plazo, aumentar la base datos e incluir otros materiales para la clasificación, como por ejemplo metal e incluso escalarse el proyecto a empresas para materiales peligrosos como baterías, bombillos ahorradores, bombillo fluorescentes, que están ocasionando un grave problema al ambiente.

En principio, el diseño de los contenedores educativos esta ajustados a las necesidades de cada región e incluso país, ya que actualmente no existe una regulación internacional que dicte las normas de los colores de los contenedores o qué tipo de material se recicla, se puede adaptar Conciencia Ecológica a las necesidades del usuario.

¿Por qué no buscamos que la inteligencia artificial le responda al niño sus inquietudes y dudas?. La App puede ser mejorada para incluir la interacción con el niño y se podría tener una conversación de reciclaje y de aspectos de interés para la educación de los niños de acuerdo a los programas educativos de cada región o país.

Pensando en el futuro de la información. El sensor ultrasónico, podría generar datos a través de la estimación de volumen de cada contenedor. Estos datos ayudarán a llevar la estadística acumulada en el tiempo, sea por contenedor y en sus 5 categorías; así como también por escuelas.

Esta información se alojará en una base de datos para posteriormente alimentar un dashboard de indicadores que permitirá su monitoreo, así como otras funcionalidades como: el control de dispositivos que no estén en funcionando; las escuelas que no están siendo proactivas; tiempo de contenedores llenos sin gestionar; entre otros. En fin una serie de indicadores primordiales, que permita a través de los entes encargados llevar un control de unidades “contenedores” por escuela e incentivar a estas para que su alumnado aprenda jugando.

Integrantes:

  • Luis Reyes
  • Lady Sangacha
  • Jostin Maldonado
  • Karely Mayorquín
  • Jorge Chiquito
  • Verónica Abad
  • Carlos González

Presentación del proyecto: DemoDay

Repositorio:

GitHub: https://github.com/SaturdaysAI/Projects/tree/master/LATAM_remote/ConcienciaEcologica

¡Más inteligencia artificial!

La misión de Saturdays.ai es hacer la inteligencia artificial más accesible (#ai4all) mediante cursos y programas intensivos donde se realizan proyectos para el bien (#ai4good).

Si quieres aprender más inteligencia artificial únete a nuestra comunidad en community.saturdays.ai o visítanos en nuestra web www.saturdays.ai ¡te esperamos!

0_OQ2gYZrD8JOFzhzB

Deep Learning aplicado a detección temprana de incendios forestales

La Paz. Segunda Edición. 2021

En el mundo, los incendios forestales constituyen la causa más importante de destrucción de bosques. En un incendio forestal no sólo se pierden árboles y matorrales, sino también casas, animales, fuentes de trabajo e inclusive vidas humanas.

Como se puede apreciar en la Fig.1 en Bolivia los últimos siete meses este fenómeno se multiplicó de manera alarmante el área afectada debido a múltiples factores la Fig. 2 muestra algunas de las causas estudiadas para los incendios forestales. Otro factor importante identificado es el cambio climático que debido al aumento de temperatura en los lugares afectados, aumenta las áreas afectadas de manera alarmante.

Fig. 2 Causas identificadas de los incendios forestales (Vélez)

Debido a las consecuencias de los incendios forestales no controlados ni planificados se deben tomar diferentes estrategias que permitan mitigar su ocurrencia en zonas protegidas o prohibidas para esta actividad.

Descripción del problema

En base a lo mencionado anteriormente se plantea el siguiente problema:

¿Cómo identificar de manera oportuna incendios forestales no controlados para minimizar su impacto?

Objetivo general

Se plantea como objetivo general implementar un modelo de Deep Learning para la detección temprana de incendios forestales mediante el reconocimiento de humo en las áreas llanas/boscosas utilizando imágenes del lugar.

El siguiente gráfico muestra la idea central del proyecto.

Fig. 3 Propuesta del proyecto

Recolección de la información

El dataset para realizar el entrenamiento de los modelos se realizó mediante la descarga de imágenes clasificadas como “incendio forestal” (imágenes tomadas en perspectiva con presencia de humo en zonas forestales) y “no incendio forestal” (imágenes tomadas en perspectiva en zonas forestales sin presencia de humo o fuego).

Las imágenes descargadas (4 grupos de imágenes) fueron llevadas a un repositorio github para su importación sencilla en Google Colab.

Impresión de las 8 primeras imágenes de entrenamiento y 8 primeras imágenes de validación:

Selección de los modelos

La selección de los modelos parte de las siguientes consideraciones:

  • Facilidad de su implementación.
  • Rendimiento del modelo.
  • Limitación de cálculo.

Estas consideraciones son debido a los recursos que se tienen para realizar el objetivo general. Los modelos a desarrollarse son:

  • CCN Personalizado
  • VGG-16

Técnicas implementadas

La principal técnica utilizada para compensar el dataset de tamaño limitado por la limitación de búsqueda de imágenes en Google fue la de “data augmentation” realizada por la librería de kerasImageDataGenerator”.

Fig 5. Data Augmentation
Fig. 6 ImageDataGenerator en Keras

Evaluación de modelos

1. CNN personalizado

2. VGG-16

Análisis de resultados

A continuación se muestran los resultados del modelo CNN personalizado y VGG-16.

1. Precisión y Curva de ROC de CNN personalizado:

Curva ROC de CNN personalizado

2. Precisión y Curva de ROC de VGG-16:

Precisión de VGG-16.
Curva de ROC de VGG-16.

Las predicciones de los modelos a continuación:

1. CNN Personalizado

2. VGG-16

Conclusiones

El modelo CNN personalizado tiene un desempeño adecuado para la detección de incendios forestales. El modelo VGG-16 con el elemento de pre-entrenamiento requiere más elaboración para obtener resultados más precisos. De esta manera un modelo Deep Learning no siempre requiere tener una alta complejidad para realizar la clasificación de manera eficiente.

El modelo desarrollado obtiene muy buenos pronósticos para el problema planteado y es una solución complementaria al problema de incendios forestales.

La utilización de modelos de AI Deep Learning pueden ser mejor explotados como complemento a la solución de problemas coyunturales.

Integrantes

Presentación del proyecto: DemoDay

¡Más Inteligencia Artificial!

La misión de Saturdays.ai es hacer la inteligencia artificial más accesible (#ai4all) mediante cursos y programas intensivos donde se realizan proyectos para el bien (#ai4good).

Si quieres aprender más inteligencia artificial únete a nuestra comunidad en community.saturdays.ai o visítanos en nuestra web www.saturdays.ai ¡te esperamos!

PCR test

Detección de COVID-19 en imágenes de rayos X con Machine learning

La Paz. Deep Learning. 2021

INTRODUCCIÓN

La COVID-19 es la enfermedad causada por el nuevo coronavirus conocido como SARS-CoV-2. La OMS tuvo noticia por primera vez de la existencia de este nuevo virus el 31 de diciembre de 2019, al ser informada de un grupo de casos de «neumonía vírica» que se habían declarado en Wuhan (República Popular China).

Se llama SARS-CoV-2, por las siglas:

  • “SARS” porque puede producir un “Síndrome Respiratorio Agudo Grave” (siglas en inglés: Severe Acute Respiratory Syndrome, SARS).
  • “CoV” porque es un coronavirus.
  • “2” porque ya existió un virus parecido en 2002–2003 que producía también SARS.

 

¿QUÉ PRUEBAS SE UTILIZAN PARA DIAGNOSTICAR EL COVID-19?

PCR

Las PCR (siglas en inglés de “Reacción en Cadena de la Polimersa”), son un tipo de pruebas de diagnóstico que se llevan utilizando durante años en diferentes crisis de salud pública relacionadas con enfermedades infecciosas. Estas pruebas se están usando desde los primeros días del estallido de la pandemia de coronavirus en España. Sin embargo, los test rápidos se han incorporado recientemente y, como su nombre indica, son más rápidos y sencillos. Ambos sirven para comprobar si una persona está infectada o no por el Covid-19.

PCR test
ANTÍGENO

Prueba de antígeno. Esta prueba para la COVID-19 detecta ciertas proteínas en el virus. Se usa un hisopo para tomar una muestra de fluido de la nariz, y las pruebas de antígeno pueden dar resultados en minutos.

Test antígeno
RADIOGRAFIA DE TORAX

Los escáneres o las radiografías producen una imagen de los órganos y estructuras (corazón, pulmones y vías respiratorias) del tórax. Pueden detectar bloqueos, inflamación y exceso de líquido.

  • Las radiografías utilizan una pequeña cantidad de radiación para producir una imagen en dos dimensiones. Por lo general, las realiza un radiólogo en el hospital mediante un equipo fijo, pero también se pueden hacer con una máquina portátil.
  • La tomografía computarizada (TC) utiliza una computadora para fusionar varias radiografías tomadas desde diferentes ángulos y producir así una imagen bidimensional que se puede convertir en una imagen tridimensional. Requiere de un equipo muy especializado y la realiza en el hospital un radiólogo especialista.

Se pueden realizar en un hospital o en otros centros sanitarios, como la consulta de un médico o una clínica.

PROBLEMATICA

Dado que hay kits de prueba de COVID-19 son de acceso limitado para la población en general, debemos confiar en otras medidas de diagnóstico.

IMÁGENES DE RAYOS X

En el campo de la medicina se utilizan con frecuencia radiografías y tomografías computarizadas para diagnosticar neumonía, inflamación pulmonar, abscesos y / o ganglios linfáticos agrandados. Dado que COVID-19 ataca las células epiteliales que recubren nuestro tracto respiratorio, podemos usar rayos X para analizar la salud de los pulmones de un paciente.

Una gran mayoría de los hospitales tienen máquinas de imágenes de rayos X, se plantea la siguiente pregunta: ¿Cómo se podría detectar COVID-19 en imágenes de rayos X?, sin los kits de prueba dedicados.

OBJETIVOS

  • Recopilar las entradas del modelo en datasets para el entrenamiento, pruebas y validación.
  • Desarrollar un modelo de diagnóstico del covid a través de imágenes de rayos X usando deep learning, con un porcentaje de confiabilidad aceptable.
  • Evaluar los resultados del modelo a través de la matriz de confusión.

DESARROLLO DEL MODELO

Para el desarrollo del modelo se ha utilizado un dataset del repositorio de kaggle que tiene un total de 5.856 imágenes, se ha usado radiografías de pacientes que tenían neumonía porque estos pacientes tienen una alta probabilidad de tener covid-19.

https://www.kaggle.com/paultimothymooney/chest-xray-pneumonia

SELECCION DEL MODELO Y TECNICAS IMPLEMENTADAS

Para la construcción del modelo se utilizó Redes Neuronales Convolucionales, porque son redes neuronales diseñadas y ampliamente usadas para trabajar con imágenes.

Las redes convolucionales contienen varias hidden layers, las cuales se encargan de detectar líneas, curvas y así con las convoluciones se permitirá detectar formas más complejas como siluetas, rostros, etc.

Las herramientas utilizadas son: Tensorflow y keras. Tensorflow es una plataforma de código abierto usada para aprendizaje automático compuesta por un conjunto de herramientas, librerías y recursos que facilitan el trabajo en el desarrollo e implementación de soluciones con inteligencia artificial (IA). Keras es una librería, actualmente es API de alto nivel que proporcionan interfaces que simplifican el trabajo en el desarrollo de aplicaciones con IA, a partir de la versión 2.0 keras ya viene integrada dentro de Tensorflow.

DESARROLLO DEL PROYECTO

Debido a que es una pequeña prueba de concepto de clasificación de imágenes para un curso introductorio a Deep Learning, se ha subido las imágenes del dataset a una carpeta de google drive y el desarrollo del modelo se utilizó los servicios de colab.research de Google.

Las imágenes fueron ajustadas a un tamaño de 500×500, para poder entrenar, en la siguiente imagen se observa una radiografía de un paciente normal.

Modelo

Con la integración de Keras con Tensorflow, se tienen nuevas clases como “ImageDataGenerator” que facilitan la carga de imágenes:

Las imágenes fueron divididas en 3 grupos: entrenamiento, pruebas y validación.

El modelo de clasificación se puede observar en la siguiente gráfica:

EVALUACION DEL MODELO

Para realizar la evaluación se ha utilizado la matriz de confusión:

Donde se puede observar que el modelo ha identificado:

  • Para personas que estaban sanas y que el modelo predijo como personas sanas fueron 175 casos de verdaderos negativos (VN).
  • Para personas que estaban enfermas y que el modelo predijo como personas enfermas fueron 384 casos de verdaderos positivos (VP).
  • Para personas que estaban enfermas y que el modelo predijo como personas sanas fueron 59 casos de falsos negativos (FN).
  • Para personas que estaban sanas y que el modelo predijo como personas enfermas fueron 6 casos de falsos positivos (FP).

Con estos datos podemos calcular los siguientes indicadores:

Exactitud = (VP + VN) / (VP + VN + FN + FP)

Exactitud = (175 + 384) / (175 + 384 + 59 + 6)

Exactitud = 0,8958

La exactitud es la cantidad de predicciones que fueron positivas que fueron correctas y se llegó a un valor de 89,58%

Precisión = VP / (VP + FP)

Precisión = 384 / (384 + 6)

Precisión = 0,9846

La precisión es el porcentaje de casos positivos detectados llegó a un valor de 98,46%

Sensibilidad = VP / (VP + FN)

Sensibilidad = 384 / (384 + 59)

Sensibilidad = 0,8668

La sensibilidad es la proporción de casos positivos correctamente identificados llegó a un valor de 86,68%

Especificidad = VN / (VN + FN)

Especificidad = 175 / (175 + 59)

Especificidad = 0,7478

La especificidad trata de la cantidad de casos negativos correctamente identificados llegó a un valor de 74,78%.

ANALISIS DE RESULTADOS

Del proceso de desarrollo del modelo, de acuerdo a las librerías de Keras y Tensorflow pudimos llegar a una precisión del 89,59 %.

Con los resultados obtenidos podemos observar en la figura que el valor de la precisión se mantuvo por encima del 80%, el valor de la pérdida fue inferior al 20 %.

machine learning results

Presentación del proyecto: DemoDay

¡Más inteligencia artificial!

La misión de Saturdays.ai es hacer la inteligencia artificial más accesible (#ai4all) a la vez que se realizan proyectos de impacto social (#ai4good). Si quieres aprender más sobre este proyecto (y otros) únete a nuestra comunidad en o aprende a crear los tuyos en nuestro programa AI Saturdays.

Infórmate de nuestro master sobre inteligencia artifical en https://saturdays.ai/master-ia-online/

Si quieres aprender más inteligencia artificial únete a nuestra comunidad en community.saturdays.ai o visítanos en nuestra web www.saturdays.ai ¡te esperamos!

WRITTEN BY

Herramienta para el control del TIE (Trastorno de Inestabilidad Emocional)

La Paz. Deep Learning. 2021

INTRODUCCIÓN

Uno de los problemas que la mayoría de los jóvenes padece hoy en día son los distintos trastornos mentales que existen, dentro de estos se encuentra el Trastorno de Inestabilidad Emocional (TIE), el cual afecta de manera contundente la vida de las personas que lo padecen.

El TIE se define como un conjunto de síntomas que aparecen en la etapa de la adolescencia, produciendo desequilibrios de las emociones y los sentimientos en estos. Es muy común que el adolescente padezca inestabilidad emocional debido a las dificultades que lo rodean, cuando en realidad es exactamente lo opuesto, este pasa de un estado de indiferencia a uno de afectación emocional sin motivo aparente, perdiendo así control sobre el mismo.

Este problema llega a afectar hasta a un 6% de los adolescentes, una cifra que aumenta si existen agravantes de la situación familiar como, por ejemplo, problemas económicos.

Actualmente se ha demostrado que la terapia icónica da buenos resultados en este trastorno. Este método se basa en utilizar imágenes (o ciertos iconos para cada área tratada). El paciente lo asocia al área que se está trabajando durante la sesión. Se le ayuda a evocar mediante las imágenes un razonamiento concreto y así se pueden anticipar al impulso emocional, por lo que se propuso el uso de Deep Learning como herramienta para esta terapia y para el seguimiento de la persona que padece de este trastorno.

DESCRIPCIÓN DEL PROBLEMA

Debido a que la mayor característica del TIE es el cambio repentino de emociones existen diferentes terapias para tratar este trastorno, pero una de la más recomendadas es la terapia icónica que fue explicada anteriormente.

Al momento de realizar la terapia icónica, el doctor debe estar atento a los diferentes cambios de emoción que presente el paciente, pero en el transcurso en el que va mostrando las imágenes o registrando las emociones que presenta el paciente, no detecta en tiempo real, qué tan rápido fue el cambio de emoción que presentó el paciente.Debido a este problema, el especialista en este trastorno puede perder valiosa información para la terapia y la recuperación de este paciente.

OBJETIVO

Realizar un código el cual será usado como herramienta para controlar y evaluar más a fondo el progreso del paciente, más específicamente para la terapia icónica, usando una cámara que monitoree al paciente, guardando en tiempo real en un archivo, las diferentes emociones que presentó al mostrarle las imágenes y/o iconos, de tal manera que ayude a los psicólogos y/o psiquiatras a la evaluación de su trastorno.

DATASET

Se utilizó un dataset existente y de acceso libre, el cual se encontraba en la página web llamada kaggle, el cual fue creado por Jonathan Oheix. En este archivo se clasifican expresiones faciales de 35900 imágenes. Cada imagen tiene un tamaño de 48×48 píxeles en escala de grises y tiene el formato en el que solo se ve su rostro con la expresión facial correspondiente. Este dataset cuenta con dos carpetas (train y validation) las cuales tienen 7 sentimientos: enojo, disgusto, miedo, feliz,neutral,triste y sorprendido

SELECCIÓN DEL/LOS MODELOS

Debido a que existen diversos modelos en el campo del Deep Learning, se optó por el modelo de ResNet50, esto debido a que luego de un análisis de modelos en el que se tomó en cuenta el tiempo que llevaba entrenarlos, su optimización, entre otros aspectos, fue el que tuvo mejores resultados entre todas las variantes que se tomaron en cuenta.

El ResNet50 se utilizó debido a que es una red neuronal convolucional que posee 50 capas de profundidad. Esta puede cargar una versión previamente entrenada de la red, en el caso de este proyecto se utilizó la database mencionada anteriormente.

Otros de los modelos implementados en el proyecto fueron:

Keras: Se uso esta biblioteca de código abierto escrita en Python, ya que se basa principalmente en facilitar un proceso de experimentación rápida, además como es una interfaz de uso intuitivo , nos permitio acceder a frameworks de aprendizaje automático, en este caso se hizo uso de TensorFlow.

Además para completar todos los aspectos del proyecto se utilizó OpenCv y Numpy

EVALUACIÓN DE MODELOS

Se hizo pruebas con los siguientes modelos:

-AlexNet: Esta red es de las más populares, pero tiene pocas capas e igualmente se obtuvo una precisión suficiente.

-Face Recognizer: Se llegó a entrar un modelo con este método pero al momento de querer levantar el modelo para evaluarlo a tiempo real este consumía demasiados recursos de la computadora, por lo que no era apropiado si se quería usar en dispositivos más simples.

-EfficientNet: Esta red se trató de entrenar con tres épocas pero no se logró debido al largo periodo de entrenamiento que requería.

-ResNet2: Esta red presentó dificultades al comienzo de su entrenamiento, siendo el caso que no pasó de la etapa número uno, habiendo transcurrido 3 horas.

-ResNet50: Esta red fue la que usamos en el proyecto ya que pudimos entrenar 100 épocas utilizando la GPU de colaboratory y el tiempo utilizado fue de 1hora 45 minutos.

ANÁLISIS DE RESULTADOS

En la gráfica que se muestra corresponde al accuracy que se logró luego de haberlo entrenado con 100 etapas, debido a esto y a la ResNet, se puedo lograr estos resultados

A diferencia de la anterior gráfica, esta corresponde al loss del modelo

CONCLUSIÓN Y RECOMENDACIONES

Se recomienda verificar el dataset correctamente antes de ingresar a la red, ya que muchos de ellos vienen con imágenes que no corresponden. Igualmente en la medida de posible se recomienda entrenar con una GPU física, si no es el caso se recomienda utilizar la GPU de colaboratory. Si es el caso utilizar un dataset con más imágenes, ya que esto elevará la precisión del entrenamiento.

Con el modelo escogido gracias a la evaluación de modelos se pudo elegir el más eficiente para realizar el código, además de lograr el objetivo de detectar emociones para que sirvan de herramienta a psiquiatras y psicólogos que tratan con pacientes con TIE.

Presentación del proyecto: DemoDay

¡Más inteligencia artificial!

La misión de Saturdays.ai es hacer la inteligencia artificial más accesible (#ai4all) a la vez que se realizan proyectos para el bien (#ai4good). Los talleres que realizamos forman parte del programa AI 4 Schools para que cualquier persona “aprenda haciendo” IA sin importar su especialidad o nivel de partida.

Infórmate de nuestro master sobre inteligencia artifical en https://saturdays.ai/master-ia-online/

Si quieres aprender más inteligencia artificial únete a nuestra comunidad en este link o visítanos en nuestra web www.saturdays.ai ¡te esperamos!