IMPLEMENTACIÓN DE REDES NEURONALES PARA LA CLASIFICACIÓN DE DESECHOS DENTRO DE UN CESTO INTELIGENTE
Implementation of Neural Networks for the Classification of Waste within a Smart Basket
Centros: Revista Científica Universitaria
Universidad de Panamá, Panamá
ISSN-e: 2304-604X
Periodicidad: Semestral
vol. 11, núm. 1, 2022
Recepción: 12 Julio 2021
Aprobación: 22 Octubre 2021
Resumen: Este artículo presenta la implementación de herramientas de hardware como (Raspberry Pi, cámaras, sensores, motores, controladores) y software como (redes neuronales convolucionales, aplicación móvil) para la clasificación de desechos. A futuro, la implementación del recolector y clasificador propuesto contribuirá al cuidado del ambiente y a la educación ambiental. La innovación del proyecto radica en la automatización del proceso de clasificación de desechos mediante la integración de redes neuronales, la generación de notificaciones de forma automática desde el prototipo que son transmitidas por medio del servidor web a la aplicación móvil desarrollada cuando un contenedor se encuentre lleno y la flexibilidad del prototipo de manera que puede implementarse en diversos entornos desde educativos, oficinas, industrias, entre otros. Los avances que se presentan son: Creación de una aplicación móvil que permite visualizar el nivel de los contenedores, diseño del prototipo, resultados del entrenamiento de las redes neuronales seleccionadas, evaluación de la red final con imágenes de prueba.
Palabras clave: Aplicación móvil, clasificación de desechos, Raspberry Pi, redes neuronales convolucionales.
Abstract: This article introduces the implementation of hardware tools like (Raspberry Pi, cameras, sensors, motors, drivers) and software like (convolutional neural networks, mobile app) for debris classification. In the future, the implementation of the proposed collector and classifier will contribute to caring for the environment and environmental education. The innovation of the project lies in the automation of the waste classification process through the integration of neural networks, the generation of notifications automatically from the prototype that are transmitted through the web server to the mobile application developed when a container is full. And the flexibility of the prototype so that it can be implemented in various environments from educational, office, industrial, among others. The advances that are presented are Creation of a mobile application that allows to visualize the level of the containers, design of the prototype, results of the training of the selected neural networks, evaluation of the final network with test images.
Keywords: Convolutional neural networks, Raspberry Pi, mobile application, waste sorting.
INTRODUCCIÓN
Las actividades de clasificación de residuos y reciclaje deben ser temas de interés a todos, ya que son formas de contribuir al cuidado del planeta. En el caso de Panamá, se produce 4,800 toneladas de desechos diarios, en donde un porcentaje muy bajo de menos de 5% es reciclado, de acuerdo con estimaciones presentadas en (Spadafora, 2015). Esa cifra, es bastante “pequeña”, ya que el 50% de las toneladas de basura que se generan está compuesta por materiales que se pueden reciclar: plástico, cartón, metales, otros. El resto, es decir, la otra mitad, está compuesta por desechos orgánicos.
Existen pocas empresas o instalaciones dedicadas a la disposición final o tratamiento de los residuos; y la estructura pública debe fortalecerse con acciones de capacitación, así como con la dotación de recursos financieros y técnicos necesarios para su adecuada gestión. Las empresas generadoras no poseen sistemas de tratamientos propios, y en la mayoría de los casos se limitan a enterrarlos, sin ningún control ambiental (Estudio Sobre El Plan de Manejo de Los Desechos Sólidos Para La Municipalidad de Panamá, 2003).
Entre los principales problemas ambientales más evidentes generado por la humanidad desde hace muchos años, y con gran impacto de contaminación sobre los recursos naturales, los ecosistemas, la salud y la calidad del ambiental están: el crecimiento de la población, el consumismo, la ignorancia, el desconocimiento y una mala educación ambiental. Asimismo, este problema ambiental es conocido como la generación de Residuos Sólidos, el cual es fundamental por tener efecto sobre el deterioro del medio ambiente, la salud y la calidad de vida de las futuras generaciones.
La mala gestión de los residuos urbanos, industriales constituye hoy en día el mayor problema ambiental, económico y social a nivel mundial, principalmente porque el volumen de residuos crece más rápido que la población mundial. Este problema es al que se le dará principal atención con el cesto inteligente clasificador de desechos.
Existen algoritmos de redes neuronales para la clasificación esta propuesta consiste en la implementación de estos algoritmos en un prototipo de cesto inteligente, clasificador de desechos; como una alternativa, dada la necesidad de reducir la cantidad inmensa de desechos sólidos que hay por todas partes, la cual afecta a nuestro ecosistema y por ende a los seres humanos.
Esta alternativa, de un único recipiente o recolector de basura, que contiene 4 espacios de almacenamiento donde se ira depositando la basura de acuerdo a las características que esta posea, atendiendo a la clasificación realizada por el sistema; podrá ser utilizado por toda persona, sin necesidad de detenerse para ver si está depositando los desechos sólidos en el compartimiento correcto (el que corresponde al tipo de desecho), el encargado de ejecutar las órdenes es un ordenador de placa única Raspberry Pi “low-cost” el cual contiene en su interior el modelo de clasificación entrenado utilizando CNN, quien es la encargada de reconocer que tipo de desecho es, posteriormente esta información es enviada a un sistema de compuertas para su clasificación en tres grandes grupos: metal, cartón y plástico, se incorporó un cuarto cesto para la clasificación de desechos no pertenecientes a estos tres grandes grupos. Una vez el recolector de desechos esté lleno se le notifica al encargado del aseo mediante una aplicación móvil para su posterior recolección.
La manipulación inapropiada que se le da a los residuos reciclables está generando la degradación del medio ambiente, como la desaparición de ecosistemas, aumento en la polución, amenazan la supervivencia y provoca el daño excesivo de la capa de ozono.
Dentro de los generadores de dichos efectos está la creciente generación y acumulación de residuos sólidos. Una solución que promete disminuir dicha situación es el proceso de reutilización de estos materiales, o, en otras palabras, el reciclaje de estos. Entre estos materiales se pueden mencionar: el vidrio, papel, plástico y metales.
Se requieren alternativas viables que utilicen el potencial de las tecnologías para dar solución o reducir las consecuencias de la mala disposición de los desechos. De no realizar propuestas innovadoras al respecto el problema se incrementará y de igual manera serán más los efectos negativos para la vida y el ambiente. Este proyecto presenta una alternativa de solución a la problemática del manejo de los desechos sólidos, que es muy evidente tanto en el distrito de Santiago, provincia de Veraguas, como en el resto de la República de Panamá.
MATERIAL Y MÉTODOS
El tipo de Investigación es aplicada, porque propone un producto tecnológico como solución a un problema. El Área de la investigación se vincula con la tecnología innovadora. Se describen las tecnologías y métodos que se implementarán en el prototipo de recolección y clasificador de desechos.
Para poder diseñar, construir y llevar a cabo el proyecto, se indagó sobre el impacto que tendría el mismo y las vías convenientes para su posterior diseño y construcción, por lo que se determinó que ya se están trabajando con metodologías y tecnologías con enfoques similares, como se expone en los siguientes párrafos.
La revisión literaria permitió conocer que ya se están trabajando en proyectos relacionados al tratamiento de desechos sólidos, todos estos proyectos que se mencionarán utilizan técnicas tradicionales como lo son la recolección y separación de los desechos en cestos de basuras distintos, entre los cuales se pueden mencionar: Proyecto de reciclaje cambiando hábitos, transformando vidas (Guzmán, 2019), Proyecto de innovación con enfoque ambiental (Farfán, 2014), Proyecto de recolección y clasificación de basura en México (Domínguez, 2015).
Las técnicas de recolección y clasificación de desechos sólidos han ido evolucionando por lo que se han incorporado tecnologías que puedan facilitar la clasificación y la recolección de estos desechos sólidos facilitándole las cosas a las personas, entre estos se pueden mencionar: Sistema de control automático para el reconocimiento de residuos reciclables (Diaz C, C., & Caldas V, 2018), que consiste en una serie de sensores encargados de captar y clasificar cada uno de los residuos.
Implementación de Redes Neuronales Convolucionales en Proyectos
Estas redes son capaces de aprender relaciones de entrada-salida a partir de una gran cantidad de imágenes utilizadas para el aprendizaje de dichas imágenes, estas son derivadas de los trabajos presentados en (Poole, 2018), (Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, 1989), (Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, 1990), (Haußecker, 2000). Mediante la implementación de estas se ha comprobado que son de gran utilidad, ya que permite clasificar de una forma precisa cantidades de información inmensas.
Al ver el impacto y la facilidad que esta le brinda a especialistas de diferentes áreas se decide incorporar en trabajos que requieren una mayor precisión y efectividad, como es el caso de: Reconocimiento de imágenes (J. Martínez Llamas, 2015), Implementación de redes neuronales y análisis de rendimiento para sistemas empotrados (Uribe, 2017), Detección automática de células mitóticas en imágenes histológicas usando redes neuronales convoluciones profundas (Acosta Casatillo, 2017), Uso de redes neuronales convoluciones para el reconocimiento automático de imágenes de macroinvertebrados para el biomonitoreo participativo (C. Quintero, 2008).
Implementación de Redes Neuronales Convolucionales en Proyectos Similares
Las redes neuronales profundas se han aplicado con gran éxito para la detección, segmentación y reconocimiento de objetos en imágenes, como es el caso de China en donde se desarrolló un robot para identificar basura en la hierba (Bai et al., 2018), en el que los resultados experimentales demostraron que el robot propuesto podría reconocer la basura con precisión. También se realizó un estudio para clasificar desechos reciclables y no reciclables (Chen & Wang, 2019), o en la India donde se llevó a cabo un prototipo para la clasificación de desechos plásticos y no plásticos (Sreelakshmi et al., 2019). Por lo tanto, se propone utilizar una red CNN para la clasificación de los desechos mediante imágenes.
Entrenamiento de Las Redes Neuronales
Inicialmente de descargó un conjunto de datos (Bircanoğlu et al., 2018), con un total de 2,527 imágenes y se añadieron 380 imágenes, para equilibrar la cantidad de cada clase, esto permite que el modelo aprenda por igual todos los tipos de desechos. Adicional a esto al cargarse las imágenes, éstas se giran para cambiarles la orientación, lo que duplica la cantidad de imágenes.
El conjunto de datos se dividió en 6 clases (papel, cartón, plástico, metal, vidrio y otros) con la finalidad de que el modelo pueda tener una mayor capacidad, luego éstos se agruparon según los 4 contenedores que se disponen de la siguiente forma:
Cartón: en este se une el papel y cartón.
· Plástico: sólo para desechos plásticos
· Metal: solo para metales
· otros (vidrio, otros desechos que no clasifican en los contenedores anteriores).
El conjunto de datos se dividió de la siguiente forma, ver en el Cuadro No. 1.
División del Conjunto de datos | ||||
Tipo de desecho | Cantidad de Imágenes | Entrenamiento (70%) | Validación (20%) | Pruebas (10%) |
Papel | 594 | 416 | 119 | 59 |
Cartón | 456 | 319 | 91 | 46 |
Plástico | 503 | 352 | 101 | 50 |
Metal | 423 | 296 | 85 | 42 |
Vidrio | 501 | 351 | 100 | 50 |
Otros | 430 | 301 | 86 | 43 |
Total | 2907 | 2035 | 581 | 291 |
Para el entrenamiento, se utilizó un equipo con las siguientes características: procesador Intel(R) Core (TM) i7-8750H CPU @ 2.2GHz, memoria RAM 16 GB, tarjeta gráfica GeForce GTX 1050. Se realizaron diversas pruebas con las siguientes redes neuronales (VGG16, ResNet50, Inceptionv2)
En la Figura No. 1, se muestra el diseño conceptual del funcionamiento del prototipo de cesto inteligente.
RESULTADOS
El procesamiento inicia cuando el sensor magnético detecta que se deposita un desecho, este está conectado a la placa Raspberry Pi donde se indica que se enciendan las luces led y la fuente de alimentación de los motores. Luego se toma una foto del desecho mediante la cámara. Esta foto se clasifica por una red neuronal que da como resultado la asignación de los contenedores en el cual se debe depositar. Este dato es enviado a la placa Arduino Mega para que el sistema de ejes mecánicos se encargue de guiar al desecho a su respectivo contenedor.
Diseño del Prototipo de Cesto Inteligente
Se diseñó un modelo en 3D del prototipo, ver Figura No. 2 que sirvió de guía para el prototipo construido como solución a la clasificación de desechos no reciclados.
El prototipo de cesto inteligente consta de 4 contenedores para almacenar los desechos, por lo tanto, los desechos se agruparon de la siguiente forma al momento de almacenarlos:
Cartón: en este se une el papel y cartón.
· Plástico: sólo para desechos plásticos
· Metal: solo para metales
· otros (vidrio, otros desechos que no clasifican en los contenedores anteriores).
Se implementan las siguientes tecnologías
Raspberry Pi 4 B+: es el más reciente de la gama Raspberry Pi, este cuenta con conexión inalámbrica y potencia de cómputo suficiente para implementar el algoritmo de reconocimiento de residuos y controlar cada uno de los componentes implementados en la misma. Esta placa se utilizará como el cerebro del sistema en el cual se incluirá el código para clasificar las imágenes.
Android Studio: Es un entorno de desarrollo integrado (IDE) para Android, sistema operativo de Google, construido sobre JetBrains ' IntelliJ IDEA software y diseñado específicamente para el desarrollo de aplicaciones basadas en Android (Developers, 2019). Se utilizará para desarrollar la aplicación móvil que notificará cuando un contenedor éste lleno.
Servidor web: Se decide implementar en el proyecto Firebase Realtime Database que es una base de datos NoSQL alojada en la nube que permite almacenar y sincronizar datos entre sus usuarios en tiempo real, la sincronización en tiempo real permite que los usuarios accedan a sus datos desde cualquier dispositivo, Web o móvil, con facilidad, y los ayuda a trabajar en conjunto.
TensorFlow: es una biblioteca de código abierto para aprendizaje automático Es capaz construir y entrenar redes neuronales para detectar y descifrar patrones y correlaciones, análogos al aprendizaje y razonamiento usados por los humanos (TensorFlow, 2018). Se utilizará en conjunto con la librería de desarrollo Keras, lo cual nos permitirá utilizar sus datasets y modelos precargados (Keras | TensorFlow Core, n.d.). Ambos se usarán con el lenguaje Python que en los últimos años se ha posicionado como uno de los principales lenguajes para experimentación científica. Esta biblioteca se utilizará para entrenar una red neuronal para clasificar imágenes.
Redes neuronales convolucionales: es un tipo de red neuronal artificial que consta de diversas capas convolucionales y de pooling alternadas, y al final tiene una serie de capas totalmente conectadas (fully-connected) como un perceptrón multicapa. La entrada de una red convolucional suele ser, generalmente, una imagen n x n x r, donde n es tanto la altura como el ancho de la imagen, en cuanto r es el número de canales. Se plantea utilizar 4 arquitecturas de redes neuronales:
MobileNet (Howard et al., 2017).
· VGG16 (Tammina, 2019).
· ResNet50 (Khan et al., 2018).
· InceptionResNetV2 (Bose & Kumar, 2020).
Para evaluar cuál de estas tiene un mejor desempeño durante el entrenamiento con imágenes de desechos (cartón, papel, plástico, metal, vidrio, otros).
RESULTADOS
Construcción y Validación del prototipo
Se alcanzaron los siguientes resultados.
Se creó una aplicación móvil que permite ver el nivel de cada contenedor en tiempo real y de igual forma recibe notificaciones generadas automáticamente por el prototipo mediante el servidor web, cuando un contenedor este lleno. Como se puede observar en la Figura No. 3.
Tras realizar diversas pruebas con las redes neuronales propuestas, se alcanzaron los siguientes resultados que se muestran en el Cuadro No. 2.
Resultados del entrenamiento | |||||
Modelo de red neuronal | Parámetros | Optimizador | Épocas | Tamaño de lote | Precisión |
Mobile Net. | 7,168,198 | Adam | 100 | 32 | 64% |
VGG16. | 23,704,646 | Adam | 100 | 16 | 88% |
ResNet50. | 23,600,006 | Adam | 100 | 34 | 91% |
InceptioResNetV2. | 54,345,958 | Adam | 100 | 24 | 80% |
Luego de analizar los resultados del entrenamiento tomando en cuenta el nivel de precisión y la función de pérdida se eligió la red ResNet50 para implementarla en el prototipo.
Esta red se puso a prueba con imágenes de prueba que no se utilizaron durante el entrenamiento de la misma y los cuales desconoce, se generó la matriz de confusión ResNet50 ver Figura No. 4, en la que se compara la clase real y la predicción de la red, lo que indica que el sistema puede distinguir de forma automática los tipos de desechos.
DISCUSIÓN
Con la realización de esta investigación se logró:
Implementar los algoritmos de redes neuronales para la clasificación de desechos en un cesto inteligente como: Mobile Net, VGG16, ResNet50 y InceptionResNetv2.
· Se investigaron los siguientes algoritmos y se compararon para la posterior elección.
· De los algoritmos implementados se decide usar el algoritmo ResNet50 ya que el nivel de precisión es de 91%.
· Se construyó el prototipo funcional mediante el uso de herramientas de hardware (Raspberry Pi, cámaras, sensores, motores, controladores) y software (Red neuronal, base de datos, aplicación móvil), que permita validar el algoritmo de clasificación de desechos.
· Se construyó una aplicación móvil que permite visualizar en tiempo real el nivel de cada contenedor y notificar de forma automática cuando uno o más estén llenos.
· Se implementó una base de datos en tiempo real que permite la comunicación entre la placa Raspberry Pi y la aplicación móvil.
· Con el prototipo se presentó una alternativa para educar a las personas sobre la clasificación adecuada de los desechos.
· El prototipo se desarrolló de manera flexible para que pueda implementarse en diversos entornos desde educativos, oficinas, industrias, etc.
· Se logró exitosamente los objetivos planteados en esta propuesta, por lo que el prototipo de cesto inteligente puede clasificar los tipos de desechos de forma adecuada.
Es necesario seguir realizando pruebas técnicas que aumentaran la cantidad de imágenes y así obtener un modelo más preciso y acertado al momento de clasificar cualquier desecho.
REFERENCIAS BIBLIOGRÁFICAS
Acosta Casatillo, F. (2017). Detección automática de células mitóticas en imágenes histológicas usando redes neuronales convolucionales profundas. Universidad Pontifica Católica de Valparaíso.
Agencia Internacional de Cooperación Del Japón (JICA) y Municipio de Panamá (2003). Estudio sobre el plan de manejo de los desechos sólidos para la Municipalidad de Panamá. (2003).
Andreetto, M., & Adam, H. (2017). MobileNets: Efficient convolutional neural networks for mobile vision applications.
Bai, J., Lian, S., Liu, Z., Wang, K., & Liu, D. (2018). Deep Learning Based Robot for Automatically Picking up Garbage on the Grass. IEEE Transactions on Consumer Electronics. https://doi.org/10.1109/TCE.2018.2859629
Bircanoğlu, C., Atay, M. S., Beser, F., Genc, O., & Kizrak, M. A. (2018). RecycleNet: Intelligent Waste Sorting Using Deep Neural Networks. https://doi.org/10.1109/INISTA.2018.8466276.
Bose, S. R., & Kumar, V. S. (2020). Efficient inception V2 based deep convolutional neural network for real-time hand action recognition. IET Image Processing. https://doi.org/10.1049/iet-ipr.2019.0985
Chen, G., & Wang, H. (2019). Application of Image Recognition Technology in Garbage Classification Education Platform. 2019 5th International Conference on Control, Automation and Robotics (ICCAR).
Diaz C, C., & Caldas V, J. (2018). Sistema de control automático para el reconocimiento y clasificación de residuos reciclables. Universidad Católica de Colombia.
Dominguez, F. (2015). Proyecto de separación y recolección de basura en México.
Farfán, J. (2014). Proyecto de innovación con enfoque ambiental.
Guzmán, A. (2019). Proyecto de reciclaje cambiando hábitos, transformando vidas.
Haußecker, B. J. and H. (2000). Computer Vision and Applications, A Guide for Students and Practitioners. Academic Press.
Keras | TensorFlow Core. (2019). https://www.tensorflow.org/guide/keras?hl=es.
LeCun, Y, et.al. (1989). Backpropagation applied to handwritten zip code recognition.
LeCun, Y, et al. (1990). Handwritten digit recognition with a back-propagation network. Touretzky, D. S.
Martínez Llamas, J.. (2015). Reconocimiento de Imágenes mediante Redes Neuronales Convolucionales. Universidad Politécnica de Madrid: ETSI Sistemas Informáticos.
Poole, D. (2018). Computational Intelligence: A Logical Approach. Oxford University Press.
Quintero, C & F. M. (2008). Uso de Redes Neuronales Convolucionales para el reconocimiento Automático de Imágenes de Macroinvertebrados para el Biomonitoreo Participativo. Universidad Tecnológica Panamá.
Spadafora, A. (2015). Programa Basura Cero 2015-2035. https://basuracero.mupa.gob.pa/wp-content/uploads/2018/03/LIBRO-BASURA-CERO-2016-1era-Edición.pdf
Sreelakshmi, K., Akarsh, S., Vinayakumar, R., & Soman, K. P. (2019). Capsule Neural Networks and Visualization for Segregation of Plastic and Non-Plastic Wastes. 2019 5th International Conference on Advanced Computing & Communication Systems (ICACCS).
TensorFlow. (2018). TensorFlow. https://www.tensorflow.org/learn?hl=es-419.
Tammina, S. (2019). Transfer learning using VGG-16 with Deep Convolutional Neural Network for Classifying Images. International Journal of Scientific and Research Publications (IJSRP). https://doi.org/10.29322/ijsrp.9.10.2019.p9420
Uribe, S. (2017). Implementación de redes neuronales y análisis de rendimiento para sistemas empotrados. Universidad Autónoma de Barcelona (UAB).