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 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.