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
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 agosto 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.
7. Huang,
N.-F., Chou, D.-L., & Lee, C.-A. (2019). Real-Time Classification of Green
Coffee Beans by Using a Convolutional Neural Network. 2019 3rd International
Conference on Imaging, Signal Processing and Communication (ICISPC), 107-111. doi:10.1109/ICISPC.2019.8935644.
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.
17. Lebarck Pizzaia, J.
P., Rodrigues Salcides, I., Maia de Almeida, G., Contarato, R., & de
Almeida, R. (2018). Arabica coffee samples
classification using a Multilayer Perceptron neural network. 2018 13th IEEE
International Conference on Industry Applications (INDUSCON), 80-84.
doi:10.1109/ INDUSCON.2018.8627271
Conflicto de Intereses. Los autores declaran que no existe conflicto de intereses para la
publicación del presente artículo científico.