Técnicas de Deep Learning aplicadas a un sistema de clasificación de objetos para un recolector de residuos inteligente
Resumen
El objetivo principal del trabajo consiste en el desarrollo de un sistema de clasificación de objetos para ser utilizado en un recolector de residuos inteligente, aplicando técnicas de Aprendizaje Profundo (Deep Learning). Durante el desarrollo del trabajo se crearon modelos de redes neuronales convolucionales (CNN) capaces de identificar distintos objetos reciclables en diferentes imágenes, en tiempo real. También se realizaron pruebas utilizando modelos pre-entrenados con aprendizaje por transferencia (Transfer Learning) para comparar resultados. Estos modelos fueron implementados utilizando como lenguaje de programación Python, apoyándose en el Framework de backend TensorFlow y la librería de alto nivel Keras. Adicionalmente, se fueron evaluando una amplia variedad de herramientas de inteligencia artificial que permiten aplicar las técnicas de Deep learning de forma eficiente. En pos de conseguir mejores resultados, se llevaron a cabo pruebas con distintos datasets y diferentes modelos dejando en evidencia la importancia que tiene el armado de un dataset bien nutrido, con una buena distribución de las muestras al momento de aplicar las métricas. En todos los casos se realizó clasificación multiclase, en donde con los primeros modelos se contó con aproximadamente 8000 imágenes divididas en 4 clases (plástico, vidrio, metal, papel-cartón), y para modelos posteriores se incrementó el dataset contando con más de 15000 imágenes separadas en 6 clases distintas, agregando a las anteriores las clases “orgánico” y “no-reciclable”. La implementación de estos modelos se llevó a cabo utilizando el lenguaje de programación Python, mediante el algoritmo “You Only Look Once” (YOLO). Como parte de la validación, se probó el modelo final en una aplicación (versión beta) desarrollada en Python, utilizando una mini computadora Raspberry Pi y un módulo de cámara (picam). El sistema desarrollado permite analizar en tiempo real los fotogramas capturados por la cámara y aplicar el modelo de clasificación de manera instantánea, accediendo de esta forma a las coordenadas de dichos objetos en el fotograma para poder recolectarlos y separarlos para su posterior reciclaje.