ALFA. Revista de Investigación en Ciencias Agronómicas y Veterinarias

Septiembre-diciembre 2022 / Volumen 6, Número 18

ISSN: 2664-0902 / ISSN-L: 2664-0902

https://revistaalfa.org

pp. 441 – 452

 

 

Clasificación óptima de los frutos de café por su madurez mediante algoritmo de control

 

Optimum classification of coffee fruits according to their maturity by means of a control algorithm

 

Classificação ótima de frutos de café de acordo com sua maturidade por meio de um algoritmo de controle

 

 

Pedro Miguel Portillo Mendoza

educa_pp@hotmail.com

https://orcid.org/0000-0003-2655-7969

 

Jefferson Peter Ponce Alvino

ingemecaponce@gmail.com

https://orcid.org/0000-0002-0039-4121

 

Universidad Tecnológica del Perú. Lima, Perú

 

Artículo recibido el 8 de octubre 2022 / Arbitrado el 18 de octubre 2022 / Publicado el 4 de noviembre 2022

 

Escanea en tu dispositivo móvil o revisa este artículo en:

https://doi.org/10.33996/revistaalfa.v6i18.181

 

RESUMEN

La presente investigación tiene como propósito conocer en qué medida un sistema de automático controlado por algoritmo, permite la clasificación óptima de los frutos de café según el grado de madurez identificándolos por su color. Para lo cual se desarrolló una red neuronal multicapa empleando MATLAB el cual se implementó en un microcontrolador STM32F103C8, empleando como datos de entrada las características de modo de color RGB de 300 muestras de frutos de café en distintos estados de maduración, entregadas por un sensor de color TCS3200, que permitió contar con una base de datos de distintos niveles de madurez empleados para entrenar la red neuronal tipo multicapa con 3 entradas; 3 capas ocultas con 6 neuronas en la primera capa y 3 en las otras dos, así como una neurona en la capa de salida. Los datos fueron organizados de acuerdo al estado de madurez de los frutos, en “Madurez óptima” o “Madurez No Óptima”. Se probó el sistema con 60 frutos de café, consiguiendo como resultado una eficiencia del 96,67% y un porcentaje de error de 3,33%; confirmando así, que el sistema de clasificación mediante el control del algoritmo y red neuronal multicapa diseñado, identifica y clasifica en base a la madurez de los frutos de café manera óptima.

 

Palabras clave: Clasificación de café; Algoritmo; Colores RGB; Red neuronal; Algoritmo de control

 

ABSTRACT

The purpose of this research is to know to what extent an algorithm-controlled automatic system allows the optimal classification of coffee fruits according to the degree of maturity, identifying them by their color. For which a multilayer neural network was developed using MATLAB which was implemented in a STM32F103C8 microcontroller, using as input data the RGB color mode characteristics of 300 samples of coffee fruits in different stages of maturation, delivered by a sensor of color TCS3200, which allowed having a database of different maturity levels used to train the multilayer type neural network with 3 inputs; 3 hidden layers with 6 neurons in the first layer and 3 in the other two, as well as one neuron in the output layer. The data was organized according to the state of maturity of the fruits, in "Optimal Maturity" or "Non-Optimal Maturity". The system was tested with 60 coffee fruits, obtaining as a result an efficiency of 96.67% and an error rate of 3.33%; thus confirming that the classification system through the control of the algorithm and multilayer neural network designed, identifies and classifies based on the maturity of the coffee fruits optimally.

 

Key words: Coffee classification; Algorithm; RGB colors; Neural network; Control algorithm

 

RESUMO

O objetivo desta pesquisa é saber até que ponto um sistema automático controlado por algoritmo permite a classificação ótima de frutos de café de acordo com o grau de maturidade, identificando-os pela cor. Para o qual foi desenvolvida uma rede neural multicamada utilizando o MATLAB que foi implementado em um microcontrolador STM32F103C8, utilizando como dados de entrada as características do modo de cor RGB de 300 amostras de frutos de café em diferentes estágios de maturação, entregues por um sensor de cor TCS3200, que permitiu ter um banco de dados de diferentes níveis de maturidade utilizado para treinar a rede neural do tipo multicamada com 3 entradas; 3 camadas ocultas com 6 neurônios na primeira camada e 3 nas outras duas, além de um neurônio na camada de saída. Os dados foram organizados de acordo com o estado de maturação dos frutos, em "Maturidade Óptima" ou "Maturidade Não Óptima". O sistema foi testado com 60 frutos de café, obtendo como resultado uma eficiência de 96,67% e uma taxa de erro de 3,33%; confirmando assim que o sistema de classificação através do controle do algoritmo e da rede neural multicamada projetada, identifica e classifica com base na maturidade dos frutos de café de forma otimizada.

 

Palavras-chave: Classificação do café; Algoritmo; Cores RGB; Rede neural; Algoritmo de controle

 

INTRODUCCIÓN

 

Actualmente, la selección de los frutos de café considerados aptos para la producción sigue realizándose de forma artesanal o manual en un gran sector de la industria, especialmente en la pequeña industria. Muchos investigadores han propuesto soluciones de automatización para este proceso mediante redes neuronales artificiales, obteniendo niveles de precisión elevados en la clasificación de granos de café empleando algoritmos bayesianos y cámaras de alta definición (1–4) Otros sistemas también están basados en lógica difusa (5) y visión artificial (6-8). Sin embargo, requieren necesariamente de una exigente adquisición de imágenes y elevada iluminación para conseguir mayor eficiencia. Con respecto a los dispositivos de control empleados para la clasificación, proponen el uso de Raspberry (9) evitando el uso de una computadora pero con menores recursos para la programación. En contraparte (4) emplea una laptop con más recursos para realizar procesos de procesamiento de imágenes más avanzados. Por otro lado, (10) emplea Interfaz de Programación de Aplicaciones API con recepción y envío de datos mediante Linux, pero depende de una conexión de internet estable.

 

La Plataforma empleada para el desarrollo del algoritmo más usual por los investigadores es Matlab (11,1), lo cual requiere de licencia para su uso. Otros, emplean OpenCV que es de acceso libre (9,12,13), quienes aplicaron además C++. Python y Visual Studio. Sin embargo, estos sistemas son más complejos a pesar de tener menor carga computacional (6); por lo cual, otros autores proponen conversiones de color mediante RGB, HIS y CIE*L*a*b* (14), para análisis físico-químicas de los frutos, aplicando el método de agrupamiento de K-medias a través de sus características colorimétricas (15). Siendo que esto implica mayor carga computacional e incrementa el tiempo de procesamiento.

 

Como se aprecia, las investigaciones previas proponen la identificación de frutos de café mediante algoritmos de visión artificial (11) mediante el análisis de imágenes (12) y el empleo de métodos de segmentación, reconocimiento de contornos, conversiones de color, redes neuronales, algoritmos bayesianos (16) y lógica difusa, todos ellos implementados en hardware que implican el uso de cámaras de alta definición y procesadores con sistemas operativos, con el consiguiente problema de tener un sistema limitado en su velocidad de respuesta de la cámara, código de procesamiento y sistema operativo.

 

En consecuencia, esta investigación busca determinar un algoritmo de control óptimo y evaluar sus resultados para determinar la eficiencia del sistema de para la identificación de los frutos de café reconociéndolos por su color. Por lo cual, se propone el diseño de un algoritmo en base al reconocimiento de colores que pueda de implementarse en un hardware de bajo costo empleando un microcontrolador y fotodiodos en lugar de cámaras de alta definición buscando conseguir un sistema óptimo respecto al tiempo, precisión y costo. Para ello se tendrá como entrada los datos las características de color de los frutos de café adquiridos mediante un sensor de color con modo RGB, a fin de lograr una mayor velocidad de respuesta en la selección de frutos de café en comparación con los sistemas que emplean cámaras. La implementación de esta propuesta beneficiará a la industria del café, principalmente donde se requiera procesar y garantizar la calidad de los frutos para que sea precisa, rápida y eficiente, cuando se trate de considerables cantidades.

 

MATERIALES Y MÉTODOS

 

Para la presente investigación se evaluaron varias posibles soluciones en busca de un control automático mediante algoritmo que permita la clasificación óptima de los frutos de café, teniendo en cuenta criterios como la velocidad de procesamiento, la carga computacional del sistema, precisión, velocidad de respuesta, consumo de energía y costo del sistema. Es así, que se optó por un sistema de adquisición de datos en base a RGB que se adquiere de las imágenes de las muestras representativas de fruto de café para proceder al entrenamiento y posterior simulación de la red neuronal multicapa, la misma que se implementará al microcontrolador STM32F103C8 por tener una arquitectura ARM de 32 bits y sobretodo una FPU, para finalmente evaluar la eficiencia de este sistema, como se explica en la Figura 1, donde se precisa el proceso metodológico mediante el cual toma la adquisición de las características de color de los frutos de café a través de un sensor de color RGB consistente en fotodiodos con filtro de color y un microcontrolador, llevándose a cabo un sensado por secciones empleando estos datos para la clasificación precisa de los frutos de café y contando para ello con una red neuronal multicapa que se implementó en un microcontrolador Arduino. Este microcontrolador enviará una señal al circuito del driver del servomotor para que lleve a cabo la clasificación de los frutos en base a su madurez apropiada. Por consiguiente, el método empleado para el desarrollo del sistema propuesto se aprecia en la Figura 2.

 

Figura 1. Diseño propuesto para la selección de los frutos de café según su madurez.

 

Toma de imágenes

 

Empleando una cámara digital se tomaron fotos de 120 frutos de café maduros, 120 inmaduros y 120 frutos sobremadurados; es decir 360 frutos en distintos estados de maduración. La captura de fotos se hizo en un fondo blanco considerando una iluminación adecuada y estable aplicándose un filtro con el fin de cambiar el color del fondo blanco al color negro, empleando la aplicación gráfica GIMP para optimizar el sensado posterior. Asimismo, las imágenes fueron seccionadas en matrices tipo simétricas de 150 pixeles. Se utilizaron 300 imágenes para el entrenamiento, así como para la validación y prueba de la red neuronal y 60 para llevar a cabo las pruebas del sistema desarrollado con la red neuronal considerando en cada grupo muestras correspondientes a los frutos maduros, e inmaduros.

 

Figura 2. Método empleado para el desarrollo del sistema.

 

Adquisición de datos RGB

 

Esta etapa del proceso se realizó con el sensor de color RGB TCS3200 de 4 diodos led, el cual se conecta al microcontrolador STM32F103C8 teniendo en cuenta realizar 5 mediciones para cada dato tipo imagen de fruto de café, logrando así un promedio de color de una sección mayor de cada fruto, como se señala en la Figura 3.

 

Figura 3. Circuito para la adquisición de datos.

 

Programación del microcontrolador

 

Haciendo uso de la librería “tcs3200.h” se procede a programar el microcontrolador empleando Arduino, como se aprecia en la Figura 4, se crea la base de datos consistente en promedios de color RGB de los frutos de café evaluados.

 

Figura 4. Adquisición de datos mediante código fuente.

 

Entrenamiento de red neuronal multicapa

 

La red neuronal multicapa es entrenada empleando MatLab, teniendo en cuenta la adquisición de datos organizados en una matriz de datos RGB 3x300; para lo cual, se utilizaron tres entradas (uno para cada color) y una salida para señalar si el fruto de café corresponde al que tiene “madurez óptima” o “madurez no óptima”. Con esto, los valores iniciales se modificaron para conseguir un diseño de red más óptima, considerando el proceso de “prueba y error”, así se obtuvo una red neuronal tipo multicapa consistente en una capa en la entrada, tres capas ocultas y una capa en la salida así como seis neuronas correspondientes a la primera capa oculta de tipo función tangente hiperbólica sigmoidea como función de activación; también, tres neuronas para la segunda y la tercera capa oculta conjunción sigmoidea como función de activación y finalmente, una neurona para la capa de salida con característica de función de activación lineal.

 

De esta manera se obtiene el código desarrollado en la Plataforma MatLab para el diseño de la red neuronal donde se aplica el método bayesiano para el entrenamiento con la plataforma Matlab (17) para el entrenamiento de la red neuronal como se aprecia en la Figura 5. Habiendo obtenido los “pesos” y “bias” éstas fueron declaradas como variables constantes en la programación implementada en el microcontrolador seleccionado consiguiéndose así los códigos fuentes de la red neuronal. En seguida se procede con la programación de la red neuronal empleando la función creada para la adquisición de datos RGB, siendo previamente normalizados para procesarlo en la capa de entrada, de acuerdo a la Figura 6. Cabe señalar que se utilizaron las funciones de activación sigmoidea y tangente hiperbólica sigmoidea.

 

Figura 5. Entrenamiento de la red neuronal con MATLAB.

 

Figura 6. Código fuente de la red neuronal implementado en el microcontrolador.

 

RESULTADOS Y DISCUSIÓN

 

Sistema electrónico

 

El sensor de color TCS3200 y el microcontrolador STM32F103C8 se integraron eficientemente para permitir la calificación óptima de frutos de café, al realizar medidas de características de color aplicando el promedio de 5 medidas de cada muestra con el fin de optimizar la precisión. La velocidad de respuesta del sistema con un tiempo de 269 ms considerando una iluminación adecuada y distancia aproximada de 1,5 cm del fruto a sensar, cuyo resultado se muestra en la Figura 7.

 

Figura 7. Resultados RGB obtenidos con el sensor RGB TCS3200 y microcontrolador STM32F103C8.

 

Plataforma para el entrenamiento de la red neuronal

 

MatLab, como plataforma flexible ha demostrado que permite diversas arquitecturas de redes neuronales con distintos entrenamientos mediante “prueba” y “error” para optimizar la red neuronal, permitiendo utilizar la herramienta “nntraintool” para la visualización de los resultados obtenidos del entrenamiento, como se aprecia en la Figura 8. Asimismo, también permite visualizar el estado actual del entrenamiento, notándose la variación entre la “gradiente” y “mu” así como la conformación de validación, tal como se observa en Figura 9.

 

Figura 8. Rendimiento de la red neuronal.

 

Figura 9. Resultados en MATLAB mostrando el estado y validación de la red neuronal.

 

Desempeño del algoritmo propuesto

 

El tiempo de clasificación de un fruto de café se logró en un tiempo de 454 ms, de acuerdo a la Figura 10, donde se muestra una parte de los resultados a través de la ventana de monitor serial.

 

Figura 10. Resultados de la clasificación de los frutos de café obtenidos de la red neuronal desarrollada en el microcontrolador.

 

Para realizar la evaluación del sistema, se empleó una muestra conformada por 60 imágenes de frutos de café, para ser clasificados como fruto con “Madurez Óptima” (MO) y “Madurez No Óptima” (MNO), en el cual, de una de un total de 60 pruebas para comprobar la eficiencia de la selección, se encontró que en 2 casos fueron erradas, como se observa en la matriz de confusión resultantes en la Tabla 1.

 

Tabla 1. Resultados de la matriz de confusión.

 

 

Clasificación

Madurez Óptima

 

Madurez No Óptima

Clasificación Real

Madurez Óptima

20

2

 

Madurez No Óptima

0

38

Cantidad de frutos

 

20

40

Nivel de Exactitud (%)

 

100

95

Exactitud General (%)

 

96.66666667

 

Nota: En la eficiencia de la selección, se encontró que en 2 casos fueron erradas.

 

Asimismo, en la Figura 11 se evidencia de forma precisa la eficiencia total y la eficiencia especifica respecto al entrenamiento, validación y prueba de la red neuronal.

 

Figura 11. Matrices de confusión de la red neuronal.

 

Discusión

 

Esta investigación permitió demostrar la eficiencia de un algoritmo de control para la clasificación eficiente de los frutos de café, para lo cual se obtuvo una eficiencia de 96.67% evidenciándose en los resultados de la red neuronal implementada a un microcontrolador electrónico (STM32F103C8) operando con un sensor de color (TCS3200), y técnicas bayesianas (16), siendo el color como principal característica para la inspección de alimentos. Así, investigaciones similares, consiguieron eficiencias en un 98,7% (3), (4) e incluso superior partiendo del uso de cámaras de alta precisión, redes neuronales apoyados en Matlab para desarrollar sistemas avanzados de control (17) lo cual nos permite considerar que el nivel del algoritmo propuesto en esta investigación podría llegar al 100% si optimizamos el uso de recursos como el empleo de una cámara de alta definición, puesto que habiendo logrado una exactitud de la clase de madurez óptima en un 100% y la exactitud de madurez no optima en un 95%, la matriz de confusión puede ser elevada sin problemas.

 

CONCLUSIONES

 

De acuerdo a los resultados obtenidos cabe precisar que el algoritmo diseñado para la red neuronal de tipo multicapa es capaz de identificar de manera los frutos de café basados en su estado de maduración, con una eficiencia del 96,67 %; con lo cual, se afirma que el sistema de clasificación mediante el algoritmo propuesto es óptimo. Con respecto al sistema electrónico formado por el sensor TCS 3200 y el microcontrolador STM32F103C8 resultó eficiente para la clasificación de tipos de café considerando su bajo costo y precisión. Respecto a la plataforma flexible capaz de llevar a cabo el modelado del algoritmo, Matlab resultó adecuado y eficiente para diseñar y entrenar una red neuronal con poco uso de fases de programación. Finalmente, la red neuronal implementada en el microcontrolador mostró una buena, con error del 3,33% relativamente bajo, resaltando más bien, la eficiencia conseguida del 96,67%. Precisamente, para optimizar la eficiencia se recomienda entrenar la red neuronal empleando una mayor cantidad de imágenes de frutos de café con diferentes estados de maduración.

 

REFERENCIAS BIBLIOGRÁFICAS

 

1. Saenz KDJB. Clasificación de los frutos de café según su estado de maduración y detección de la broca mediante técnicas de procesamiento de imágenes [Internet]. Prospectiva. 2016;14:15–22. Disponible en: http://ojs.uac.edu.co/index.php/prospectiva/article/view/640

2. Pinto Medina DA, Lemus Cerón ÁJ, Puentes Montañez GA. Elaboración de néctar de durazno (Prunus persica L.), endulzado con sucralosa como aprovechamiento de pérdidas poscosecha. Rev Investig Agrar y Ambient. 2015;6(2):221.

3. Pinto C, Furukawa J, Fukai H, Tamura S. Classification of Green coffee bean images basec on defect types using convolutional neural network (CNN). Proceedings - 2017 International Conference on Advanced Informatics: Concepts, Theory and Applications, ICAICTA 2017.

4. Arboleda ER, Fajardo AC, Medina RP. An image processing technique for coffee black beans identification. 2018, IEEE Int Conf Innov Res Dev ICIRD 2018; (May): 1–5.

5. Rosas-Echevarría CW, Solís-Bonifacio H, Cerna-Cueva AF. Efficient and low-cost system for the selection of coffee beans: An application of artificial vision. Scientia Agropecuaria. 2019;10:347–51.

6. Serrano A. Redes Neuronales. 2022. 5 Real-Time Classification of Green Coffee Beans by Using a Convolutional Neural Network. 2019 3rd International Conference on Imaging, Signal Processing and Communication. 2019.

8. Tovar YT, Calvo AF, Bejarano A. Desarrollo de un sistema de clasificación de imágenes digitales para medir la humedad en granos de café. Inf tecnológica. 2022;33(3):117–28.

9. Pizzaia JPL, Salcides IR, Almeida GM De, Contarato R, Almeida R De. Arabica coffee samples classification using a Multilayer Perceptron neural network. 2018 13th IEEE International Conference on Industry Applications, INDUSCON 2018 - Proceedings. 2019:80–4.

10. Monsalve-Vásquez M. Eficacia de sistemas expertos en la selección de granos de café (Coffea arabica). Rev Amaz Digit. 2022;1(1):e163.

11. De Oliveira EM, Leme DS, Barbosa BHG, Rodarte MP, Alvarenga Pereira RGF. A computer vision system for coffee beans classification based on computational intelligence techniques. J Food Eng [Internet]. 2016;171:22–7. Disponible en: http://dx.doi.org/10.1016/j.jfoodeng.2015.10.009

12. Castrillón Cuervo JM, Sanz Uribe JR, Ramos Giraldo PJ. Técnicas de Visión Artificial para la Identificación de Dos Defectos del Café Lavado. Cenicafé. 2018;69(1):83–90.

13. Fuentes MS, Zelaya NAL, Avila JLO. Coffee Fruit Recognition Using Artificial Vision and neural NETWORKS. 2020 5th International Conference on Control and Robotics Engineering, ICCRE 2020. 2020:224–8.

14. Mendoza F, Dejmek P, Aguilera JM. Calibrated color measurements of agricultural foods using image analysis. Postharvest Biol Technol. 2006;41(3):285–95.

15. Costa AG, Sousa DAG De, Paes JL, Cunha JPB, Oliveira MVM De. CLASSIFICATION OF ROBUSTA COFFEE FRUITS AT DIFFERENT MATURATION STAGES USING COLORIMETRIC CHARACTERISTICS, Vol. 4430, Engenharia Agrícola. 2020:518–25. Disponible en: http://dx.doi.org/10.1590/1809-4430-Eng.Agric.v40n4p518-525/2020%0A http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0100-69162020000400518&tlng=en

16. Saba. Filtros con Aprendizaje de Parámetros para Optimizar Modelos de Redes Neuronales en la Predicción de Series de Precipitaciones. 2010; Plata Cheje RW. MatLab y Redes Neuronales. Rev Inf Tecnol y Soc. 2008;1:7.

 

 

Conflicto de Intereses. Los autores declaran que no existe conflicto de intereses para la publicación del presente artículo científico.