$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Description de l’ensemble de données
L’ensemble de données utilisé dans cette recherche a été obtenu à partir du référentiel Kaggle accessible au public intitulé Paddy Leaf Diseases Detection Dataset. Il se compose de 18 545 images de feuilles de paddy classées en 10 classes de maladies et 1 classe saine. Les images varient en résolution et ont été capturées dans différentes conditions d’éclairage et d’environnement.
Prétraitement de l’image
Toutes les images ont été redimensionnées à 224 x 224 pixels à l’aide de la fonction tf.image.resize() de TensorFlow. Cette uniformité garantit la compatibilité avec les exigences d’entrée des modèles CNN pré-entraînés. : Les valeurs de pixels ont été normalisées à la plage [0,1] à l’aide du paramètre rescale=1./255 dans Keras ImageDataGenerator. Augmentation (pour l’entraînement uniquement) : Des techniques telles que le retournement horizontal et vertical, la rotation (± 20°) et le zoom (jusqu’à 20 %) ont été appliquées à l’aide d’ImageDataGenerator pour améliorer la généralisation.
Segmentation d’image
Un modèle UNet a été utilisé pour la segmentation des images afin d’isoler les zones foliaires malades de l’encombrement de l’arrière-plan. L’architecture UNet a été construite à l’aide de l’API fonctionnelle Keras avec des couches encodeur-décodeur, des connexions de saut et l’activation ReLU. Des masques de segmentation ont été appliqués aux images originales à l’aide de la multiplication au pixel près (cv2.bitwise_and) pour ne conserver que les caractéristiques pertinentes.
Architecture de modèle et formation
Les modèles suivants ont été utilisés comme classificateurs de base : VGG16, ResNet50, InceptionV3, MobileNet, AlexNet et DenseNet121. Les modèles pré-entraînés (sur ImageNet) ont été importés avec include_top=False. Une tête de classification personnalisée a été ajoutée, composée d’une couche de regroupement moyenne globale, de deux couches denses avec 128 et 64 neurones (activation ReLU), d’une couche Dropout (taux = 0,4) et d’une couche dense finale avec 11 sorties et activation Softmax.
Dispositif expérimental
Toutes les expériences ont été menées à l’aide des paramètres suivants : Environnement de programmation : Python 3.11.5 avec TensorFlow et Keras, Plate-forme d’exécution : Jupyter Notebook, Matériel : Intel Core i5-6300U, 8 Go de RAM, Windows 11, Taille du lot : 32, Époques : 50, Optimiseur : Adam, Taux d’apprentissage : 0,0001, Fonction de perte : Crossentropie catégorielle, Fonctions d’activation : ReLU pour les couches cachées, Softmax pour la couche de sortie finale.
Métriques d’évaluation
L’exactitude, la précision, le rappel et le score F1 ont été calculés à l’aide de classification_report de sklearn.metrics. Les matrices de confusion ont été tracées à l’aide de confusion_matrix et seaborn.heatmap. Le rendement a été évalué à l’aide d’images non segmentées et d’images segmentées par l’UNet à des fins d’évaluation comparative.
Développement d’une interface graphique
Une interface utilisateur graphique simple a été créée à l’aide de la bibliothèque Tkinter de Python. Les utilisateurs peuvent télécharger une image feuille à l’aide de l’interface graphique, qui est ensuite transmise via le modèle formé. La classe de maladie prédite s’affiche à l’écran, ainsi qu’un score de confiance.
Création de jeux de données
L’ensemble de données utilisé dans cette étude est l’ensemble de données de détection des maladies des feuilles de paddy de Kaggle36, accessible au public, comprenant un total de 18 545 images haute résolution de feuilles de paddy classées en 10 classes de maladies et 1 classe saine. Les images ont été capturées dans des conditions d’éclairage variables et dans divers contextes environnementaux, ce qui rend l’ensemble de données très représentatif et adapté à la construction de modèles d’apprentissage profond robustes. La taille de l’ensemble de données est d’environ 8,33 Go et contient les classes suivantes : Tungro, Paresse (SB), Paddy Hispa (PH), Neck Blast (NB), Narrow Brown Spot (NBS), Leaf Scald (LS), Leaf Blast (LB), Healthy, Brown Spot (BS) et Bacterial Leaf Blight (BLB).
Pour garantir la reproductibilité et l’évaluation efficace du modèle, l’ensemble de données a été divisé au hasard en sous-ensembles d’entraînement (80 %) et de test (20 %), tout en maintenant la distribution des classes. Le jeu d’entraînement a été utilisé pour entraîner les modèles, tandis que le jeu de test a été réservé à la validation des performances sur des données invisibles. L’évaluation a été basée sur des mesures de classification standard : exactitude, précision, rappel et score F1, qui ont fourni une évaluation complète de la capacité de classification de chaque modèle. L’étude a comparé six modèles d’apprentissage profond : VGG16, ResNet, InceptionV3, MobileNet, AlexNet et DenseNet121, DenseNet121 offrant les meilleures performances pour la tâche.
Distribution des données
La classification de la maladie a été effectuée à l’aide de modèles d’apprentissage profond entraînés sur l’ensemble de données. L’ensemble de données a été divisé en deux sous-ensembles : un ensemble d’entraînement et un ensemble de test. L’ensemble d’entraînement a été utilisé pour enseigner le modèle, tandis que l’ensemble de test a été utilisé pour évaluer ses performances sur des données inédites. Le tableau 1 présente un résumé de la distribution des images entre les dix catégories de maladies et la classe des feuilles saines. Ce tableau fournit une compréhension complète des symptômes visuels associés à chaque maladie, facilitant l’entraînement et l’évaluation des modèles de classification.
Cette répartition garantit une représentation équitable de chaque catégorie de maladies pendant les phases de formation et de test. Le kit d’entraînement comprend la majorité des images, ce qui permet au modèle d’apprendre efficacement les caractéristiques uniques de chaque classe. L’ensemble de test, composé d’un sous-ensemble plus petit d’images, assure une évaluation fiable de la précision du modèle et de sa capacité à généraliser à de nouvelles données inédites.
La distribution équilibrée et diversifiée des images entre les catégories garantit que le modèle dispose de suffisamment de données pour apprendre les modèles uniques associés à chaque type de maladie, tout en atténuant le risque de surajustement ou de biais en faveur d’une classe particulière. Cette répartition des données est essentielle pour obtenir des résultats de classification robustes et fiables.
Nettoyage des données
Dans la phase de prétraitement, le nettoyage des données est essentiel pour améliorer la précision et l’efficacité du modèle de classification. Les images brutes de feuilles de paddy incluent souvent des éléments d’arrière-plan indésirables tels que le sol, la végétation à proximité ou les outils agricoles, qui peuvent introduire du bruit et dégrader les performances globales du modèle.
Pour résoudre ce problème, la segmentation d’images a été réalisée à l’aide du modèle UNet37,38, une architecture de réseau neuronal convolutif bien connue conçue spécifiquement pour les tâches de segmentation sémantique. Le modèle UNET est capable de segmenter les régions feuilles de l’arrière-plan avec une grande précision, en veillant à ce que seules les parties pertinentes des images soient conservées pour un traitement ultérieur39. Le processus de segmentation est illustré à la figure 1.
Processus de segmentation avec le modèle UNet (Figure 2) : Les images brutes de l’ensemble de données sont introduites dans le modèle UNET. Le modèle UNET se compose d’un encodeur qui extrait les caractéristiques hiérarchiques et d’un décodeur qui reconstruit l’image tout en segmentant la région feuille. Le modèle génère un masque binaire dans lequel la région de la feuille est marquée et l’arrière-plan est supprimé. Les images segmentées sont encore affinées par l’application d’opérations morphologiques pour assurer des bords lisses et supprimer tout bruit résiduel (Figure 3).
Formulation mathématique de la segmentation UNet : UNet effectue une segmentation sémantique en apprenant un mappage de l’espace d’image d’entrée à un masque binaire qui met en évidence la région d’intérêt (ROI), c’est-à-dire la zone foliaire malade, tout en supprimant l’arrière-plan non pertinent. Laisser:
désignent l’image RVB d’entrée de taille H*W avec C=3 canaux de couleur.
est la sortie du modèle UNet entraîné, où chaque valeur de pixel dans M représente la probabilité que ce pixel appartienne à la région foliaire malade.
Le masque de segmentation binaire final 
où τ [0,1] est le seuil de segmentation (généralement fixé à 0,5).
L’image
segmentée est alors calculée comme suit :

où
désigne la multiplication élément par élément, appliquée spatialement sur tous les canaux. Cette opération conserve les valeurs de pixels dans la zone d’intérêt (où
) et masque les pixels d’arrière-plan (où
). Cette sortie segmentée est transmise en entrée au modèle de classification (par exemple, DenseNet121), ce qui lui permet de se concentrer exclusivement sur les caractéristiques pertinentes à la maladie tout en ignorant les zones d’arrière-plan bruyantes et non informatives, ce qui améliore les performances de classification et la généralisation du modèle.
Cette étape de prétraitement garantit que les étapes suivantes d’extraction et de classification des caractéristiques sont effectuées sur des données propres et pertinentes, améliorant ainsi les performances globales et la fiabilité du modèle de classification des maladies des feuilles de paddy.
Apprentissage par transfert
L’apprentissage par transfert utilise des réseaux neuronaux pré-entraînés pour s’attaquer à des problèmes nouveaux mais connexes, éliminant ainsi le besoin de créer des modèles à partir de zéro. Cette approche s’appuie sur les connaissances acquises lors des tâches précédentes, ce qui permet un apprentissage efficace40. Les modèles pré-entraînés sont souvent développés sur de vastes ensembles de données et possèdent des capacités d’extraction de caractéristiques robustes, ce qui les rend adaptés à l’optimisation d’ensembles de données spécifiques. Cela réduit le temps d’entraînement, évite le surajustement et permet d’obtenir une grande précision, même avec des ressources de calcul limitées.
Dans cette étude, l’apprentissage par transfert a été utilisé pour identifier les maladies des feuilles de paddy en évaluant divers modèles d’apprentissage profond pré-entraînés. L’architecture explorée dans les expériences comprend VGG16, ResNet, InceptionV3, MobileNet, AlexNet et DenseNet121. Chacun de ces modèles a d’abord été entraîné sur de grands ensembles de données, tels qu’ImageNet, et leurs poids pré-entraînés ont été utilisés dans ce travail. Pour adapter les modèles à la tâche de classification, les modifications suivantes ont été apportées :
Modification du modèle : Les couches d’origine entièrement connectées (classification) de chaque modèle ont été supprimées à l’aide du paramètre include_top=False lors de l’importation du modèle dans Keras. Cela garantissait que seule la base convolutive (extracteur de caractéristiques) de chaque modèle pré-entraîné était conservée. La sortie du dernier bloc convolutif a été aplatie en un vecteur unidimensionnel à l’aide de la couche Flatten().
Couches denses : Trois couches entièrement connectées (denses) ont été ajoutées séquentiellement après l’étape d’aplatissement. Ces couches ont été définies à l’aide de la fonction Keras Dense() : la première avec 256 neurones et l’activation de ReLU, la seconde avec 128 neurones et l’activation de ReLU, et la troisième avec 64 neurones et l’activation de ReLU. Une couche de décrochage a également été ajoutée entre les couches pour réduire le surapprentissage.
Couche de sortie : Trois couches entièrement connectées (denses) ont été ajoutées séquentiellement après l’étape d’aplatissement. Ces couches ont été définies à l’aide de la fonction Keras Dense() : la première avec 256 neurones et l’activation de ReLU, la seconde avec 128 neurones et l’activation de ReLU, et la troisième avec 64 neurones et l’activation de ReLU. Une couche de décrochage (taux de 0,4) a également été ajoutée entre les couches pour réduire le surapprentissage.
La figure 4 illustre l’ensemble du pipeline et du flux de la méthodologie, y compris le prétraitement, la segmentation, la mise en œuvre du modèle d’apprentissage par transfert et l’évaluation. Cette figure donne un aperçu complet des étapes suivies dans cette recherche. En utilisant l’apprentissage par transfert, le temps de formation a été minimisé avec succès, la dépendance à l’égard des ressources de calcul haut de gamme a été réduite et des améliorations significatives des performances ont été obtenues dans la classification des maladies des feuilles de paddy.
Modèle DenseNet121 proposé pour la classification des maladies foliaires
Parmi tous les modèles testés, DenseNet121 a montré les meilleures performances dans la classification des maladies des feuilles de paddy, atteignant une précision remarquable. Ce modèle d’apprentissage profond de pointe se distingue par son architecture innovante40, qui favorise un flux d’informations efficace et améliore la réutilisation des fonctionnalités.
Architecture de DenseNet121 : DenseNet121 se caractérise par des couches densément connectées, où chaque couche peut accéder aux cartes de caractéristiques de toutes les couches précédentes. Cette conception optimise le flux d’informations, réduit la redondance et améliore considérablement l’efficacité globale du modèle.
L’architecture se compose des composants clés suivants :
Calque d’entrée : reçoit les images redimensionnées à 224 x 224 pixels pour un traitement standardisé.
Couche convolutive initiale : applique une opération de convolution 7 x 7 suivie d’un regroupement maximal pour réduire les dimensions spatiales et extraire les entités de bas niveau.
Blocs denses : le modèle contient quatre blocs denses. Chaque bloc comprend plusieurs couches convolutives connectées de manière dense, ce qui signifie que chaque couche a un accès direct aux sorties de toutes les couches précédentes au sein du bloc.
Couches de transition : positionnées entre des blocs denses, ces couches effectuent une convolution de 1 x 1 suivie d’un regroupement moyen pour réduire les dimensions des caractéristiques, améliorant ainsi l’efficacité de calcul.
Global Average Pooling (GAP) : réduit les dimensions spatiales des cartes de caractéristiques avant les couches entièrement connectées.
Couche entièrement connectée : produit le vecteur de sortie pour la classification.
Couches personnalisées pour la classification : Pour cette recherche, les couches entièrement connectées par défaut ont été remplacées par une architecture personnalisée : couche d’aplatissement, trois couches denses (256, 128 et 64 neurones avec activation ReLU) et une couche finale activée par sigmoïde pour la classification binaire.
La capacité de DenseNet121 à réutiliser les fonctionnalités et son architecture compacte ont contribué de manière significative à ses performances supérieures sur l’ensemble de données sur les maladies des feuilles de paddy. Cette efficacité, associée à sa capacité à minimiser le surapprentissage, le rend idéal pour les tâches avec des données d’entraînement limitées. DenseNet121 a obtenu une meilleure précision et une meilleure généralisation que les autres modèles en raison de sa réutilisation des caractéristiques et de ses propriétés de flux de gradient. Alors que des modèles comme ResNet et VGG16 ont obtenu de bons résultats, DenseNet121 les a surpassés en termes de précision et d’efficacité de calcul.
Dans tous les modèles, trois couches entièrement connectées (denses) ont été incluses à l’aide des fonctions d’activation ReLU (comme le montre l’équation 1), aboutissant à une couche dense finale avec une activation SoftMax (équation 2) pour faciliter la classification multiclasse. Cette adaptation a permis à chaque modèle d’utiliser efficacement ses poids pré-entraînés tout en classant les images dans l’ensemble de données.
ReLu f(x) = max(0, X) (1)

où xi représente l’entrée de la fonction SoftMax, ajustée pour la classification dans les dix catégories de maladies des feuilles de paddy. L’architecture unique de chaque modèle, combinée à cette couche de sortie personnalisée, a permis une extraction efficace des caractéristiques et une classification précise des images.
La figure 5 présente la disposition architecturale de DenseNet121, mettant en valeur le flux continu d’informations à travers ses blocs denses, ses couches de transition et les couches de classification adaptées intégrées à cette recherche. Cette représentation visuelle clarifie la façon dont DenseNet121 gère les entrées d’image et génère des sorties de prédiction