$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Descripción del conjunto de datos
El conjunto de datos utilizado en esta investigación se obtuvo del repositorio Kaggle disponible públicamente titulado Paddy Leaf Diseases Detection Dataset. Consta de 18.545 imágenes de hojas de arroz clasificadas en 10 clases de enfermedades y 1 clase saludable. Las imágenes varían en resolución y se capturaron bajo diferentes condiciones ambientales y de iluminación.
Preprocesamiento de imágenes
Se cambió el tamaño de todas las imágenes a 224 x 224 píxeles mediante la función tf.image.resize() de TensorFlow. Esta uniformidad garantiza la compatibilidad con los requisitos de entrada de los modelos CNN previamente entrenados.: Los valores de píxeles se normalizaron al rango [0,1] utilizando el parámetro rescale=1./255 en Keras ImageDataGenerator. Aumento (solo para entrenamiento): Se aplicaron técnicas como volteo horizontal y vertical, rotación (± 20°) y zoom (hasta un 20%) utilizando ImageDataGenerator para mejorar la generalización.
Segmentación de imágenes
Se empleó un modelo UNet para la segmentación de imágenes para aislar las áreas foliares enfermas del desorden del fondo. La arquitectura UNet se creó utilizando la API funcional de Keras con capas de codificador-decodificador, conexiones de omisión y activación de ReLU. Las máscaras de segmentación se aplicaron a las imágenes originales utilizando la multiplicación de píxeles (cv2.bitwise_and) para conservar solo las características relevantes.
Arquitectura y entrenamiento de modelos
Los siguientes modelos se utilizaron como clasificadores troncales: VGG16, ResNet50, InceptionV3, MobileNet, AlexNet y DenseNet121. Los modelos previamente entrenados (en ImageNet) se importaron con include_top=False. Se agregó un cabezal de clasificación personalizado, que consta de una capa de agrupación promedio global, dos capas densas con 128 y 64 neuronas (activación de ReLU), una capa de abandono (tasa = 0.4) y una capa densa final con 11 salidas y activación de Softmax.
Configuración experimental
Todos los experimentos se realizaron utilizando las siguientes configuraciones: Entorno de programación: Python 3.11.5 con TensorFlow y Keras, Plataforma de ejecución: Jupyter Notebook, Hardware: Intel Core i5-6300U, 8 GB de RAM, Windows 11, Tamaño de lote: 32, Épocas: 50, Optimizador: Adam, Tasa de aprendizaje: 0.0001, Función de pérdida: Crossentropía categórica, Funciones de activación: ReLU para capas ocultas, Softmax para la capa de salida final.
Métricas de evaluación
La exactitud, la precisión, el recuerdo y la puntuación F1 se calcularon utilizando classification_report de sklearn.metrics. Las matrices de confusión se trazaron utilizando confusion_matrix y seaborn.heatmap. El rendimiento se evaluó en imágenes no segmentadas y segmentadas por UNet para su evaluación comparativa.
Desarrollo de GUI
Se creó una interfaz gráfica de usuario simple utilizando la biblioteca Tkinter de Python. Los usuarios pueden cargar una imagen hoja mediante la GUI, que luego se pasa a través del modelo entrenado. La clase de enfermedad predicha se muestra en la pantalla, junto con una puntuación de confianza.
Creación de conjuntos de datos
El conjunto de datos utilizado en este estudio es el conjunto de datos de detección de enfermedades de la hoja de arroz disponible públicamente de Kaggle36, que comprende un total de 18,545 imágenes de alta resolución de hojas de arroz clasificadas en 10 clases de enfermedades y 1 clase saludable. Las imágenes se capturaron en diferentes condiciones de iluminación y diversos entornos ambientales, lo que hace que el conjunto de datos sea altamente representativo y adecuado para construir modelos sólidos de aprendizaje profundo. El conjunto de datos tiene un tamaño aproximado de 8,33 GB y contiene las siguientes clases: Tungro, tizón de la vaina (SB), Paddy Hispa (PH), Explosión del cuello (NB), Mancha marrón estrecha (NBS), Escaldadura de la hoja (LS), Explosión de la hoja (LB), Saludable, Mancha marrón (BS) y Tizón bacteriano de la hoja (BLB).
Para garantizar la reproducibilidad y la evaluación efectiva del modelo, el conjunto de datos se dividió aleatoriamente en subconjuntos de entrenamiento (80%) y prueba (20%) mientras se mantenía la distribución de clases. El conjunto de entrenamiento se utilizó para entrenar los modelos, mientras que el conjunto de prueba se reservó para la validación del rendimiento en datos no vistos. La evaluación se basó en métricas de clasificación estándar: Exactitud, Precisión, Recuperación y Puntuación F1, que proporcionaron una evaluación integral de la capacidad de clasificación de cada modelo. El estudio comparó seis modelos de aprendizaje profundo: VGG16, ResNet, InceptionV3, MobileNet, AlexNet y DenseNet121, con DenseNet121 ofreciendo el mejor rendimiento para la tarea.
Distribución de datos
La clasificación de la enfermedad se llevó a cabo utilizando modelos de aprendizaje profundo entrenados en el conjunto de datos. El conjunto de datos se dividió en dos subconjuntos: un conjunto de entrenamiento y un conjunto de pruebas. El conjunto de entrenamiento se utilizó para enseñar el modelo, mientras que el conjunto de prueba se utilizó para evaluar su rendimiento en datos no vistos anteriormente. En la Tabla 1 se proporciona un resumen de la distribución de imágenes en las diez categorías de enfermedades y la clase de hojas sanas. Esta tabla proporciona una comprensión completa de los síntomas visuales asociados a cada enfermedad, facilitando el entrenamiento y la evaluación de los modelos de clasificación.
Esta distribución garantiza una representación equitativa de cada categoría de enfermedad durante las fases de entrenamiento y prueba. El conjunto de entrenamiento incluye la mayoría de las imágenes, lo que permite que el modelo aprenda de manera efectiva las características únicas de cada clase. El conjunto de pruebas, que consta de un subconjunto más pequeño de imágenes, garantiza una evaluación confiable de la precisión del modelo y su capacidad para generalizar a datos nuevos e invisibles.
La distribución equilibrada y diversa de imágenes en todas las categorías garantiza que el modelo tenga datos suficientes para aprender los patrones únicos asociados con cada tipo de enfermedad, al tiempo que mitiga el riesgo de sobreajuste o sesgo hacia cualquier clase en particular. Esta división de datos es esencial para lograr resultados de clasificación sólidos y confiables.
Limpieza de datos
En la fase de preprocesamiento, la limpieza de los datos es esencial para mejorar la precisión y la eficiencia del modelo de clasificación. Las imágenes de hojas de arroz sin procesar a menudo incluyen elementos de fondo no deseados, como tierra, vegetación cercana o herramientas agrícolas, que pueden introducir ruido y degradar el rendimiento general del modelo.
Para abordar esto, la segmentación de imágenes se llevó a cabo utilizando el modelo UNet37,38, una conocida arquitectura de red neuronal convolucional diseñada específicamente para tareas de segmentación semántica. El modelo UNET es capaz de segmentar regiones foliar desde el fondo con alta precisión, asegurando que solo se conserven las partes relevantes de las imágenes para su posterior procesamiento39. El proceso de segmentación se ilustró en la Figura 1.
Proceso de segmentación con el modelo UNet (Figura 2): Las imágenes sin procesar del conjunto de datos se introducen en el modelo UNET. El modelo UNET consta de un codificador que extrae características jerárquicas y un decodificador que reconstruye la imagen mientras segmenta la región hoja. El modelo genera una máscara binaria donde se marca la región hoja y se elimina el fondo. Las imágenes segmentadas se refinan aún más aplicando operaciones morfológicas para garantizar bordes suaves y eliminar cualquier ruido residual (Figura 3).
Formulación matemática de la segmentación de la UNet: UNet realiza una segmentación semántica aprendiendo un mapeo del espacio de la imagen de entrada a una máscara binaria que resalta la región de interés (ROI), es decir, el área de la hoja enferma, mientras suprime el fondo irrelevante. Dejar:
denota la imagen RGB de entrada de tamaño H * W con canales de color C = 3.
ser la salida del modelo UNet entrenado, donde cada valor de píxel en M representa la probabilidad de que ese píxel pertenezca a la región hoja enferma.
La máscara de segmentación binaria final 
donde τ [0,1] es el umbral de segmentación (comúnmente establecido en 0.5).
La imagen
segmentada se calcula como:

donde
denota multiplicación por elementos, aplicada espacialmente en todos los canales. Esta operación conserva los valores de píxel en el ROI (donde
) y enmascara los píxeles de fondo (donde
). Esta salida segmentada se pasa como entrada al modelo de clasificación (por ejemplo, DenseNet121), lo que le permite centrarse exclusivamente en las características relevantes para la enfermedad e ignorar las áreas de fondo ruidosas y no informativas, lo que mejora el rendimiento de la clasificación y la generalización del modelo.
Este paso de preprocesamiento garantiza que las siguientes etapas de extracción y clasificación de características se realicen con datos limpios y relevantes, mejorando así el rendimiento general y la confiabilidad del modelo de clasificación de enfermedades de la hoja de arroz.
Aprendizaje por transferencia
El aprendizaje por transferencia utiliza redes neuronales preentrenadas para abordar problemas nuevos pero relacionados, eliminando la necesidad de construir modelos desde cero. Este enfoque aprovecha el conocimiento adquirido de tareas anteriores, lo que permite un aprendizaje eficiente40. Los modelos preentrenados a menudo se desarrollan en conjuntos de datos extensos y poseen sólidas capacidades de extracción de características, lo que los hace adecuados para ajustar conjuntos de datos específicos. Esto reduce el tiempo de entrenamiento, evita el sobreajuste y logra una alta precisión incluso con recursos computacionales limitados.
En este estudio, se empleó el aprendizaje por transferencia para identificar enfermedades de la hoja de arroz mediante la evaluación de varios modelos de aprendizaje profundo preentrenados. La arquitectura explorada en los experimentos incluye VGG16, ResNet, InceptionV3, MobileNet, AlexNet y DenseNet121. Cada uno de estos modelos se entrenó inicialmente en grandes conjuntos de datos, como ImageNet, y sus pesos preentrenados se utilizaron en este trabajo. Para adaptar los modelos a la tarea de clasificación, se realizaron las siguientes modificaciones:
Modificación del modelo: Las capas originales totalmente conectadas (clasificación) de cada modelo se eliminaron utilizando el parámetro include_top=False durante la importación del modelo en Keras. Esto aseguró que solo se conservara la base convolucional (extractor de características) de cada modelo preentrenado. La salida del último bloque convolucional se aplanó en un vector unidimensional utilizando la capa Flatten().
Capas densas: Se agregaron secuencialmente tres capas completamente conectadas (densas) después del paso de aplanamiento. Estas capas se definieron utilizando la función Keras Dense(): la primera con 256 neuronas y activación de ReLU, la segunda con 128 neuronas y activación de ReLU, y la tercera con 64 neuronas y activación de ReLU. También se agregó una capa de caída entre capas para reducir el sobreajuste.
Capa de salida: Se agregaron secuencialmente tres capas completamente conectadas (densas) después del paso de aplanamiento. Estas capas se definieron utilizando la función Keras Dense(): la primera con 256 neuronas y activación de ReLU, la segunda con 128 neuronas y activación de ReLU, y la tercera con 64 neuronas y activación de ReLU. También se agregó una capa de abandono (tasa 0.4) entre capas para reducir el sobreajuste.
La canalización general y el flujo de la metodología, incluido el preprocesamiento, la segmentación, la implementación del modelo de aprendizaje por transferencia y la evaluación, se muestran en la Figura 4. Esta figura proporciona una descripción general completa de los pasos seguidos en esta investigación. Al emplear el aprendizaje por transferencia, el tiempo de entrenamiento se minimizó con éxito, se redujo la dependencia de recursos computacionales de alta gama y se lograron mejoras significativas en el rendimiento en la clasificación de enfermedades de la hoja de arroz.
Modelo DenseNet121 propuesto para la clasificación de enfermedades foliares
Entre todos los modelos probados, DenseNet121 exhibió el mejor rendimiento en la clasificación de enfermedades de las hojas de arroz, logrando una precisión notable. Este modelo de aprendizaje profundo de vanguardia se distingue por su arquitectura innovadora40, que promueve un flujo de información eficiente y mejora la reutilización de funciones.
Arquitectura de DenseNet121: DenseNet121 se caracteriza por capas densamente conectadas, donde cada capa puede acceder a los mapas de características de todas las capas anteriores. Este diseño optimiza el flujo de información, reduce la redundancia y mejora significativamente la eficiencia general del modelo.
La arquitectura consta de los siguientes componentes clave:
Capa de entrada: recibe imágenes redimensionadas a 224 x 224 píxeles para un procesamiento estandarizado.
Capa convolucional inicial: aplica una operación de convolución de 7 x 7 seguida de agrupación máxima para reducir las dimensiones espaciales y extraer entidades de bajo nivel.
Bloques densos: El modelo contiene cuatro bloques densos. Cada bloque comprende varias capas convolucionales conectadas de manera densa, lo que significa que cada capa tiene acceso directo a las salidas de todas las capas anteriores dentro del bloque.
Capas de transición: colocadas entre bloques densos, estas capas realizan una convolución de 1 x 1 seguida de una agrupación promedio para reducir las dimensiones de las características, mejorando la eficiencia computacional.
Agrupación media global (GAP): reduce las dimensiones espaciales de los mapas de entidades antes de las capas totalmente conectadas.
Capa totalmente conectada: Produce el vector de salida para la clasificación.
Capas personalizadas para la clasificación: Para esta investigación, las capas predeterminadas completamente conectadas se reemplazaron con una arquitectura personalizada: capa aplanada, tres capas densas (256, 128 y 64 neuronas con activación de ReLU) y una capa final activada por sigmoide para clasificación binaria.
La capacidad de DenseNet121 para reutilizar características y su arquitectura compacta contribuyeron significativamente a su rendimiento superior en el conjunto de datos de enfermedades de la hoja de arroz. Esta eficiencia, junto con su capacidad para minimizar el sobreajuste, lo hace ideal para tareas con datos de entrenamiento limitados. DenseNet121 logró una mejor precisión y generalización que otros modelos debido a sus propiedades de reutilización de características y flujo de gradiente. Si bien modelos como ResNet y VGG16 funcionaron bien, DenseNet121 los superó en términos de precisión y eficiencia computacional.
En todos los modelos, se incluyeron tres capas completamente conectadas (densas) utilizando funciones de activación de ReLU (como se muestra en la Ecuación 1), culminando en una capa densa final con una activación SoftMax (Ecuación 2) para facilitar la clasificación de múltiples clases. Esta adaptación permitió que cada modelo utilizara de manera efectiva sus pesos preentrenados mientras clasificaba las imágenes en el conjunto de datos.
ReLu f(x) = max(0, X) (1)

donde xi representa la entrada a la función SoftMax, ajustada para la clasificación en las diez categorías de enfermedades de la hoja de arroz. La arquitectura única de cada modelo, combinada con esta capa de salida personalizada, permitió una extracción efectiva de características y una clasificación precisa de imágenes.
La Figura 5 presenta el diseño arquitectónico de DenseNet121, mostrando el flujo continuo de información a través de sus bloques densos, capas de transición y las capas de clasificación personalizadas integradas para esta investigación. Esta representación visual aclara cómo DenseNet121 maneja las entradas de imagen y genera salidas de predicción