Introducción
El reconocimiento de frutos y vegetales con base en técnicas de inteligencia artificial e imágenes digitales ha permitido desarrollar tecnologías de visión artificial y automatización para mejorar la producción agrícola (Xiao et al., 2023). En México, el durazno es un fruto de alto consumo, en 2022 la producción fue de 239,133 Mg (SIAP, 2023). Para incrementar la producción agrícola se requiere desarrollar nuevas variedades de alta calidad y con bajos requerimientos de frío (Calderón-Zavala et al., 2019). Las investigaciones sobre detección y reconocimiento de frutos y vegetales se han desarrollado en dos ejes, el desarrollo de sensores [cámaras blanco y negro, cámaras RGB (red, green, blue), espectrales y térmicas] para la adquisición de imágenes digitales y el desarrollo de algoritmos de aprendizaje automático y aprendizaje profundo (Xiao et al., 2023).
Aakif y Khan (2015) utilizaron descriptores morfológicos de hojas de árboles frutales, como la excentricidad y la redondez, para entrenar una red neuronal artificial y reportaron una precisión global de clasificación de 96 %. Apriyanti et al. (2013) identificaron 10 géneros de orquídeas con un modelo máquina de soporte vectorial (SVM) a partir de la distancia al centroide de la hoja, redondez y modelo de color HSV, SVM obtuvo una precisión global de 79.3 %. Wäldchen y Mäder (2018) realizaron una revisión de literatura sobre la aplicación de técnicas de visión por computadora para identificar plantas por medio de hojas y otros órganos; estos autores reportaron que el color de la hoja asociado con descriptores morfológicos mejoró el desempeño de los modelos, con precisiones globales que variaron de 50 a 99 %. Ayala-Niño y GonzálezCamacho (2022) aplicaron algoritmos de aprendizaje automático para identificar variedades de durazno a partir de descriptores cromáticos del haz y envés de hojas, con los que se obtuvo una precisión global máxima de 84.1 %. García et al. (2016) aplicaron un modelo Bayesiano para identificar 20 frutos diferentes con base en descriptores cromáticos, texturales y morfológicos; con este modelo se alcanzó una precisión global de 95 %. Similarmente, Septiarini et al. (2021) utilizaron modelos Naïve Bayes, SVM y perceptrón multicapa para clasificar la madurez de racimos de fruta fresca de palma con base en descriptores cromáticos y de textura; con el perceptrón multicapa se obtuvo una precisión global máxima de 98.4 %.
Barré et al. (2017) utilizaron una red neuronal convolucional (CNN) para identificar nuevas variedades en diversas especies. Li et al. (2020) utilizaron una CNN pre-entrenada VGG-16 (Simonyan y Zisserman, 2015) como capa inicial acoplada a SVM y bosque aleatorio (RF) para identificar enfermedades en maíz, manzana y uva con una precisión global de 94 %. La extracción automática de descriptores por medio de CNN facilita la identificación de variedades; sin embargo, estos enfoques demandan mayores recursos de cómputo que los algortimos de aprendizaje automático (Wäldchen y Mäder, 2018).
En esta investigación se evaluó el desempeño de tres modelos de aprendizaje automático para identificar seis variedades de durazno (Prunus persica L. Batsch) con base en descriptores cromáticos y morfológicos extraídos de imágenes digitales del haz de las hojas; se asume que los modelos de aprendizaje automático mejoran su desempeño para identificar las variedades de durazno con el uso conjunto de descriptores cromáticos y morfológicos extraídos de imágenes digitales de sus hojas.
Materiales y métodos
Conjunto de datos
El conjunto de datos que se utilizó en este estudio proviene del peach dataset, que cuenta con 2530 imágenes de hojas de seis variedades de durazno: CP-03-06 (V1), Oro Azteca (V2), Oro San Juan (V3), Cardenal (V4), Colegio (V5) y Robin (V6), que se obtuvieron en 2019 en el campo experimental del Colegio de Postgraduados, Campus Montecillo, México (https://bit.ly/3cvA9MF). Las imágenes de hojas se capturaron con una cámara EOS REBEL T5i (Canon, Tokio, Japón), en un entorno controlado con fondo blanco e iluminación artificial con una resolución de 72 pixeles por pulgada (ppp) y tamaño de 720 × 480 pixeles en formato JPG (Ayala et al., 2020). Un conjunto de 480 imágenes de hojas de durazno se seleccionaron al azar (80 para cada variedad).
Recursos de cómputo
Se utilizó una computadora portátil con procesador Intel Core i7 8va generación, con un procesador gráfico NVIDIA GTX 1070 MaxQ, lenguaje Python 3.9.5, y el programa OpenCV 4.5.3 para el análisis de imágenes. Los modelos de aprendizaje automático se implementaron en Scikitlearn 0.24.2 y se ejecutaron en la plataforma de modelación Google Colaboratory Pro.
Preprocesamiento de imágenes
Las imágenes se segmentaron para separar la hoja del fondo por medio del algoritmo de Otsu (Kumar y Sodhi, 2020). La segmentación consistió en aplicar un umbral a una imagen en escala de grises para obtener una imagen binaria, donde el fondo de la imagen se representa con pixeles iguales a 1 y la hoja con pixeles iguales a 0 (Otsu, 1979). Las imperfecciones debidas a variaciones de intensidad en las imágenes se eliminaron con un filtro Gaussiano (Marr y Hildreth, 1980) (Figura 1).
Extracción de descriptores cromáticos y morfológicos
Los descriptores cromáticos se obtuvieron a partir de muestras de imagen de tamaño 30 × 30 pixeles del área de la venación primaria y secundaria del haz de la hoja (Lee et al., 2017). Las muestras de píxeles obtenidas con el modelo de color RGB (red, green, blue) se transformaron al modelo de color HSV (hue, saturation, value) (García-Mateos et al., 2015). La extracción de descriptores morfológicos se realizó con el programa OpenCV a partir del contorno de la hoja.
Los descriptores morfológicos fueron: ancho (w, distancia máxima perpendicular al eje mayor de la hoja), largo (l, distancia entre la base y la punta de la hoja, perímetro de la hoja [p, longitud del contorno de la hoja (Suzuki y Be, 1985)], área [a, superficie de la lámina foliar (Wäldchen y Mäder, 2018)], redondez (r, es la relación entre el área de la lámina foliar y el área de un círculo con igual perímetro, que varía de 0 a 1 y se calcula como
El vector de descriptores de entrada se representa como:
Donde x h , x s y x v representan los valores cromáticos y las variables restantes son los descriptores morfológicos. En el conjunto de datos de entrada se eliminaron las muestras repetidas dentro de cada clase objetivo y entre clases objetivo.
El conjunto de datos de entrada consistió de 5976 muestras y 17 descriptores con diferente número de muestras por clase objetivo; esto es, V1 (2340), V2 (243), V3 (825), V4 (240), V5 (1726) y V6 (602). Los descriptores cromáticos y morfológicoss más relevantes se seleccionaron a prueba y error con diferentes subconjuntos de descriptores y su impacto en el desempeño de los modelos; en cada subconjunto se utilizaron como base los descriptores cromáticos H, S, y V y se agregaron descriptores morfológicos.
Modelos de aprendizaje automático
Máquina de soporte vectorial
La optimización de un modelo máquina de soporte vectorial (SVM) consiste en encontrar un hiperplano óptimo que define los límites de decisión de los vectores de descriptores de entrada (Chauhan et al., 2019). La función objetivo a minimizar se define como:
Donde w es el vector de pesos del hiperplano, b es el sesgo, ξ i , i = 1,..., n son variables de holgura que ayudan a evitar problemas de convergencia en casos de no linealidad, x i ∈ R p es el vector de p descriptores de entrada, y i es la clase objetivo de la muestra x i , y n es el número de restricciones.
Las predicciones se obtienen por:
Donde α i es un multiplicador de Lagrange, w 0 es un parámetro de sesgo, y K ( x i , x ) es el kernel que transforma los datos a una dimensión mayor para resolver problemas no lineales; el kernel puede ser Gaussiano K( x i , x j ) = exp (-γ || x i - x j || 2 ), donde || x i - x j || 2 es la norma cuadrática, γ es un hiperparámetro a optimizar; lineal K( x i , x j )= 〈x i - x j 〉; o sigmoide K( x i , x j ) = tanh ( K( x i , x j ) + θ).
Bosque aleatorio
El modelo bosque aleatorio (RF) consiste en una colección de árboles de decisión independientes. La independencia entre árboles se obtiene por medio de una selección aleatoria de muestras (bootstrap) y la selección de un conjunto de descriptores de tamaño m = √p para cada árbol, donde p es el número de descriptores de entrada (Biau y Scornet, 2016).
RF busca incrementar la ganancia de información (IG) en los nodos de cada árbol; los datos se dividen de manera jerárquica de acuerdo con IG, la cual se define como:
Donde D p , D i y D d son conjuntos de datos en el nodo padre, nodo izquierdo y nodo derecho, respectivamente; f es la función que divide los datos; N p , N i y N d son el número de datos en el nodo padre, nodo izquierdo y nodo derecho respectivamente; e I( ) es el criterio de impureza. Los criterios de impureza se definen por medio del índice de Gini o de entropía. Gini se define como:
Y la entropía como:
donde p(i|t) es la proporción de muestras que pertenecen a la clase objetivo i en el nodo t y c es el número total de clases objetivo.
La predicción de una clase se obtiene por medio de mayoría de votos, para una clase binaria se tiene:
donde f j es la predicción del j-ésimo árbol, x es el vector de entrada, nar es el número máximo de árboles, el cual es un hiperparámetro y pmax es la profundidad máxima de un árbol.
Perceptrón multicapa
El modelo perceptrón multicapa (MLP) es un algoritmo que se estructura de la entrada a la salida en capas de neuronas conectadas hacia adelante. MLP aprende a partir de un conjunto de datos de entrenamiento para obtener una respuesta de salida; esto es, se define una función f :R p →R c , donde p es la dimensión de la entrada x y c es el número de clases objetivo. El proceso de propagación hacia adelante en MLP con una capa de entrada, una capa oculta con nn neuronas y una capa de salida; consiste en dados una entrada x y un vector de pesos w j asociado con la neurona j (j = 1, 2, … nn), la capa oculta transforma la entrada x como:
donde W = [w 1 , w 2 , … , w nn ], y z = [z 1 , z 2 , … , z nn ]. El vector z se transforma por medio de una función de activación:
donde f( z ) es una función que se evalúa para cada componente del vector z más un término de sesgo, y el vector de clases objetivo predichas ŷ ∈ Rc. Las funciones de activación más comunes son relu, que se define como f( z ) relu = max(0, z) (Nair y Hinton, 2010) y la función tangente hiperbólica (tanh) que se define como f( z ) tanh = a tanh (bz/2), donde a y b son parámetros de control.
El algoritmo de propagación del error hacia atrás se utilizó para obtener los parámetros óptimos de MLP (Rumelhart et al., 1986). Este algoritmo utiliza el gradiente descendente, o variantes de éste para minimizar la función de costo J (W):
donde n es el número de muestras, y i es la clase objetivo que corresponde a la muestra i, ŷ i es la clase objetivo predicha para la muestra i, L w es la función de costo que se define como entropía cruzada (cross-entropy). En el caso de una clasificación multiclase L w se define como L w = ∑ c i=1 y ln(ŷ) donde c es el número de clases, W es la matriz de pesos de la capa oculta; λ es un hiperparámetro de ajuste con un valor inicial de 0.001, λ ∑ j w j 2 es el término de regularización L 2 y w j es el vector de pesos j de W.
Los métodos de optimización que se utilizaron fueron gradiente descendente estocástico (sgd), adam (adaptive moment estimation) (Kingma y Ba, 2014), y l-bfgs (limitedmemory Broyden-Fletcher-Goldfarb-Shanno).
Métricas de desempeño de los modelos de aprendizaje
Las métricas de desempeño fueron la precisión global de clasificación (Acc, accuracy), puntaje promedio global F1 macro, precisión (P), sensibilidad (S), puntaje F1 y área bajo la curva ROC (AUC).
Acc es la proporción de muestras que se clasifican correctamente, Acc = (TP + TN)/N , donde TP es el total de muestras predichas como positivas que son positivas TN es el total de muestras predichas como negativas que son negativas, N es el número total de muestras que se predicen.
F1 macro es el promedio de F1 para cada clase, F1macro = 1/c ∑ C i=1 F1 i , donde c es el número total de clases, F1 i es el valor de F1 para la clase i.
P se define como P = TP / (TP + FP) , donde FP (falsos positivos) es el total de muestras predichas como positivas que son negativas.
S se define como S = TP / (TP + FN), donde FN son los falsos negativos (muestras positivas predichas como negativas).
F1 se define como F1 = 2 P S / (P + S) , F1 toma valores entre 0 y 1, valores cercanos a 1 indican mejor desempeño en P y S, y cercanos a 0 indican pobre desempeño en P y S.
AUC es el área bajo la curva ROC, AUC indica el desempeño del modelo para identificar cada una de las clases objetivo y toma valores entre 0 y 1 (Fawcett, 2006).
Entrenamiento de los modelos de aprendizaje
Selección de hiperparámetros óptimos
Previo a la selección de hiperparámetros, los conjuntos de entrenamiento se estandarizaron con media μ = 0 y desviación estándar σ = 1 (Obaid et al., 2019). La selección de hiperparámetros óptimos de cada modelo se realizó por medio de validación cruzada (VC) y búsqueda por retícula en el conjunto de entrenamiento. Para cada combinación de hiperparámetros (Cuadro 1), VC consiste en crear k particiones aleatorias disjuntas del conjunto de entrenamiento; cada conjunto de entrenamiento consiste en k - 1 particiones y cada conjunto de prueba se crea con la partición restante. Para cada conjunto de entrenamiento y prueba se obtiene Acc, luego se obtiene el promedio de los k valores de Acc, al término de la búsqueda se selecciona la combinación de hiperparámetros que genera el máximo desempeño del modelo (máximo Acc promedio). El entrenamiento de los modelos se realizó con una partición aleatoria estratificada por clase objetivo (80 % del conjunto de datos original) y la búsqueda de hiperparámetros se realizó con VC (k = 5).
Modelo | Hiperparámetros† | |||
SVM | C | γ | K | |
[0.0001, 0.001, 0.01, 0.1, 1.0, 10.0, 100.0] | [0.0001, 0.001, 0.01, 0.1, 1.0,10.0, 100.0, 1000.0] | Sigmoide y Gaussiano | ||
RF | nar | pmax | crit | |
[50, 100, 150, 200] | [10, 15, 20] | Gini y Entropía | ||
MLP | fa | opt | nn | α |
relu y tanh | sgd, adam, l-bfgs | [100, 150, 200] | [0.001, 0.5, 1] |
†γ: hiperparámetro gamma, K: kernel, nar: número de árboles, pmax: profundidad máxima, crit: criterio de impureza, fa: función de activación, opt: optimizador, nn: número de neuronas, α: hiperparámetro alfa.
Evaluación del desempeño de los modelos de aprendizaje
La evaluación del desempeño en predicción de cada modelo se realizó con los hiperparámetros óptimos VC (k = 10) con 100 % de los datos. Para cada ejecución k, se calcularon las métricas de desempeño Acc, P, S y F1. Para la ejecución k = 10 se obtuvieron AUC de la curva ROC y la curva de validación del modelo con el mejor desempeño.
Resultados y discusión
Hiperparámetros óptimos seleccionados
Los descriptores más relevantes x h , x s , x v , x r y x ε se utilizaron en el entrenamiento y prueba de los modelos para seleccionar los hiperparámetros óptimos de SVM, RF, y MLP (Cuadro 2).
Modelo | Hiperparámetros† | |||
SVM | C | γ | K | |
100.0 | 1.0 | rbf | ||
RF | nar | pmax | crit | |
100 | 15 | entropy | ||
MLP | fa | α | opt | nn |
relu | 0.001 | adam | 150 |
†γ: hiperparámetro gamma, K: kernel, nar: número de árboles, pmax: profundidad máxima, crit: criterio de impureza, fa: función de activación, α: hiperparámetro alfa, opt: optimizador, nn: número de neuronas.
Desempeño en predicción de los modelos
SVM, RF y MLP alcanzaron una Acc de 98.7, 98.6 y 97 %, respectivamente (Cuadro 3). La prueba de Wilcoxon se aplicó para comparar Acc por pares de modelos. Los resultados fueron: SVM vs. RF, estadístico W = 45, p-value = 0.733; SVM vs. MLP, W = 100, p-value = 0.0001736; RF vs. MLP, W = 94, p-value = 0.0009773. SVM y RF no presentaron diferencias significativas y fueron superiores a MLP.
Modelos | Acc † | F1 macro †† |
SVM | 0.987 ± 0.004 | 0.980 ± 0.006 |
RF¶ | 0.986 ± 0.008 | 0.979 ± 0.009 |
MLP | 0.970 ± 0.004 | 0.958 ± 0.008 |
†Acc: precisión global de clasificación correcta, ††F1 macro: promedio de F1.
El desempeño a nivel de clases objetivo, SVM obtuvo un F1 de 99.2 % para clasificar V1 (variedad CP-03-06) y F1 de 96.1 % para clasificar V4 (variedad Cardenal). F1 proporciona una estimación más conservadora que AUC debido al desbalance entre clases objetivo (Cuadro 4).
Clases† | P †† | S ¶ | F1¶¶ | AUC x |
V1 | 0.992 ± 0.004 | 0.991 ± 0.007 | 0.992 ± 0.005 | 0.999 ± 0.001 |
V2 | 0.975 ± 0.027 | 0.966 ± 0.031 | 0.970 ± 0.023 | 0.992 ± 0.012 |
V3 | 0.980 ± 0.015 | 0.974 ± 0.012 | 0.977 ± 0.011 | 0.996 ± 0.006 |
V4 | 0.982 ± 0.020 | 0.941 ± 0.042 | 0.961 ± 0.025 | 0.992 ± 0.016 |
V5 | 0.981 ± 0.008 | 0.993 ± 0.004 | 0.987 ± 0.004 | 0.998 ± 0.001 |
V6 | 0.991 ± 0.010 | 0.990 ± 0.016 | 0.990 ± 0.010 | 0.999 ± 0.001 |
macro | 0.980 ± 0.006 | 0.996 ± 0.008 |
†V1: CP-03-06, V2: Oro Azteca, V3: Oro San Juan, V4: Cardenal, V5: Colegio, V6: Robin, ††P: precisión, ¶S: sensibilidad, ¶¶: F1, x: área bajo la curva ROC.
De acuerdo con la matriz de confusión, SVM obtuvo las tasas más bajas de FN para clasificar las variedades V1 y V5, y las tasas más altas de FN para clasificar las variedades V2, V3 y V4. SVM alcanzó mayor Acc para clasificar V1 y menor Acc para clasificar V3; sin embargo, se observa un alto desempeño de SVM para clasificar las seis variedades (Figura 2).
Los modelos SVM, RF y MLP obtuvieron un Acc superior a 97 %. MLP es un buen aproximador no lineal; sin embargo, en este estudio el espacio de búsqueda de los hiperparámetros (número de capas ocultas, número de neuronas) se limitó debido a los tiempos de cómputo que se requieren para su optimización (Basha et al., 2020).
Los descriptores morfológicos x r y x ε son invariantes a las transformaciones aplicadas a una imagen y pueden tener un uso práctico (Gómez-Flores y Hernández-López, 2020), a diferencia de descriptores como área, perímetro o ancho, que no son invariantes a transformaciones (Bojamma y Shastry, 2021).
Yanikoglu et al. (2014) identificaron plantas del ImageCLEF’2012; (Goëau et al., 2013) y exploraron el uso de otros órganos vegetales como corteza, flores y tallos para identificar plantas con base en descriptores cromáticos y de textura. (Ayala-Niño y González-Camacho, 2022) aplicaron modelos de aprendizaje automático para identificar cuatro variedades de durazno con base únicamente en descriptores cromáticos HSV, estos autores reportaron un desempeño máximo de Acc de 84.1 % con SVM. La similitud de los tonos de verde en el haz de las hojas inducen mayor homogeneidad entre clases objetivo, lo cual limita alcanzar altos valores de clasificación; asimismo, Shrivastava y Pradhan (2021) aplicaron diferentes modelos de aprendizaje para clasificar cuatro enfermedades en arroz con base en 172 descriptores cromáticos (14 espacios de color), donde SVM fue el mejor y obtuvo un Acc de 94.65 %.
Los valores cromáticos del espacio de color HSV, la excentricidad y redondez del haz de las hojas fueron suficientes para identificar con alta precisión global las seis variedades de durazno. Los scripts de los algoritmos de aprendizaje y conjuntos de datos utilizados en esta investigación se encuentran disponibles en el enlace https://github.com/DanielResearch/Identificacion-de-Durazno
Conclusiones
Los modelos máquina de soporte vectorial (SVM), bosque aleatorio (RF) y red neuronal perceptrón multicapa (MLP) incrementaron su capacidad predictiva para identificar variedades de durazno. El modelo SVM obtuvo una precisión global de clasificación correcta (Acc) de 98.7%; la variedad CP-03-06 se identificó con la mayor precisión de 99.2 %; y la variedad Cardenal con la menor de 96.1 %.