Table des matières:

Comment détecter les maladies des plantes à l'aide de l'apprentissage automatique : 6 étapes
Comment détecter les maladies des plantes à l'aide de l'apprentissage automatique : 6 étapes

Vidéo: Comment détecter les maladies des plantes à l'aide de l'apprentissage automatique : 6 étapes

Vidéo: Comment détecter les maladies des plantes à l'aide de l'apprentissage automatique : 6 étapes
Vidéo: Comprendre le DeepLearning et les Réseaux de neurones en 10 mins ! 2024, Juillet
Anonim
Comment détecter les maladies des plantes à l'aide de l'apprentissage automatique
Comment détecter les maladies des plantes à l'aide de l'apprentissage automatique

Le processus de détection et de reconnaissance des plantes malades a toujours été un processus manuel et fastidieux qui oblige les humains à inspecter visuellement le corps de la plante, ce qui peut souvent conduire à un diagnostic incorrect. Il a également été prédit qu'à mesure que les régimes météorologiques mondiaux commenceraient à varier en raison du changement climatique, les maladies des cultures deviendraient probablement plus graves et plus répandues. Par conséquent, il est important de développer des systèmes qui analysent rapidement et facilement les cultures et identifient une maladie particulière afin de limiter les dommages supplémentaires aux cultures.

Dans ce Instructable, nous explorerons un concept d'apprentissage automatique connu sous le nom de « Transfer Learning » pour classer les images de plants de riz malades. La même méthode peut être réutilisée pour tout autre problème de classification d'images.

Étape 1: Types de maladies du riz

Types de maladies du riz
Types de maladies du riz

Le riz est l'une des cultures vivrières de base les plus populaires cultivées principalement en Asie, en Afrique et en Amérique du Sud, mais il est sensible à une variété de ravageurs et de maladies. Les caractéristiques physiques telles que la décoloration des feuilles peuvent être utilisées pour identifier plusieurs maladies pouvant affecter la culture du riz. Par exemple, dans le cas de Brown-Spot, une maladie fongique qui affecte la gaine protectrice des feuilles, les feuilles sont couvertes de plusieurs petites taches brunes ovales avec des centres gris alors que, dans le cas de Leaf-Blast, les feuilles sont couvertes avec de plus grandes lésions brunes. De même, les feuilles affectées par le ravageur Rice Hispa peuvent être identifiées par les longues marques de traînée qui se développent à la surface de la feuille.

Étape 2: Comment les méthodes précédentes détectaient-elles les maladies ?

Comment les méthodes antérieures détectaient-elles les maladies ?
Comment les méthodes antérieures détectaient-elles les maladies ?

Les méthodes antérieures pour classer automatiquement les images de plantes malades telles que les classificateurs basés sur des règles tels qu'utilisés dans [1], reposent sur un ensemble fixe de règles pour segmenter la feuille en régions affectées et non affectées. Certaines des règles pour extraire des caractéristiques impliquent d'observer le changement de la moyenne et de l'écart type entre la couleur des régions affectées et non affectées. Les règles d'extraction des caractéristiques de forme impliquent de placer individuellement plusieurs formes primitives au-dessus de la région affectée et d'identifier la forme qui couvre la zone maximale de la région affectée. Une fois les caractéristiques extraites des images, un ensemble de règles fixes est utilisé pour classer les images en fonction de la maladie qui a pu affecter la plante. Le principal inconvénient d'un tel classificateur est qu'il nécessitera plusieurs règles fixes pour chaque maladie, ce qui pourrait à son tour le rendre sensible aux données bruitées. Les images ci-dessus montrent comment un arbre de décision basé sur des règles peut être utilisé pour segmenter l'image en deux régions.

1. Santanu Phadikar et al., « Classification des maladies du riz à l'aide de techniques de sélection de caractéristiques et de génération de règles », Computers and Electronics in Agriculture, vol. 90, janvier 2013.

Étape 3: Transférer l'apprentissage

Apprentissage par transfert
Apprentissage par transfert

La technique de classification d'images décrite dans ce Instructables utilise la structure de base d'un CNN qui se compose de plusieurs couches convolutives, d'une couche de mise en commun et d'une couche finale entièrement connectée. Les couches convolutives agissent comme un ensemble de filtres qui extraient les caractéristiques de haut niveau de l'image. Le regroupement maximal est l'une des méthodes couramment utilisées dans le regroupement des couches pour réduire la taille spatiale des entités extraites, réduisant ainsi la puissance de calcul requise pour calculer les poids de chaque couche. Enfin, les données extraites sont transmises à travers une couche entièrement connectée avec une fonction d'activation softmax qui détermine la classe de l'image.

Mais la formation de CNN personnalisés à partir de zéro peut ne pas produire les résultats souhaités et peut nécessiter un temps de formation très long.

Afin d'apprendre les caractéristiques des images d'entraînement, nous utilisons une méthode appelée apprentissage par transfert dans laquelle les couches « supérieures » d'un modèle pré-entraîné sont supprimées et remplacées par des couches qui peuvent apprendre les caractéristiques spécifiques à l'ensemble de données d'entraînement. L'apprentissage par transfert réduit le temps d'apprentissage par rapport aux modèles qui utilisent des poids initialisés de manière aléatoire. Notre méthode utilise six modèles pré-formés différents, à savoir AlexNet, GoogLeNet, ResNet-50, Inception-v3, ShuffleNet et MobileNet-v2.

L'image montre l'architecture GoogLeNet où le bleu est utilisé pour les couches convolutives, le rouge pour les couches de regroupement, le jaune pour les couches softmax et le vert pour les couches concat. Vous pouvez en savoir plus sur le fonctionnement interne d'un CNN ici.

L'ensemble de données sur les maladies du riz se compose d'images de feuilles de plants de riz sains et malades. Les images peuvent être classées en quatre classes différentes, à savoir Brown-Spot, Rice Hispa, Leaf-Blast et Healthy. L'ensemble de données se compose de 2092 images différentes, chaque classe contenant 523 images. Chaque image se compose d'une seule feuille saine ou malade placée sur un fond blanc.

Nous avons divisé l'ensemble de données d'images en ensembles d'images d'entraînement, de validation et de test. Pour éviter le surapprentissage, nous augmentons les images d'apprentissage en mettant à l'échelle et en retournant les images d'apprentissage pour augmenter le nombre total d'échantillons d'apprentissage.

Le code et les dépendances sont open-source et peuvent être trouvés ici: Code GitHub

Pour différentes applications de classification d'images, nous pouvons simplement modifier l'ensemble de données d'images d'apprentissage.

Étape 4: Formation du modèle

Formation du modèle
Formation du modèle
Formation du modèle
Formation du modèle
Formation du modèle
Formation du modèle

En fonction de la taille de mémoire requise par chaque modèle, les modèles pré-entraînés sont classés en modèles plus grands et plus petits. Les modèles plus petits consomment moins de 15 Mo et sont donc mieux adaptés aux applications mobiles.

Parmi les modèles plus grands, Inception-v3 avait le temps de formation le plus long d'environ 140 minutes alors qu'AlexNet avait le temps de formation le plus court d'environ 18 minutes. Parmi les modèles plus petits orientés mobile, MobileNet-v2 avait le temps de formation le plus long d'environ 73 minutes tandis que ShuffleNet avait le temps de formation le plus court d'environ 38 minutes.

Étape 5: Test du modèle

Test du modèle
Test du modèle
Test du modèle
Test du modèle
Test du modèle
Test du modèle

Parmi les modèles plus grands, Inception-v3 avait la précision de test la plus élevée d'environ 72,1 %, tandis qu'AlexNet avait la précision de test la plus faible d'environ 48,5 %. Parmi les plus petits modèles orientés mobile, MobileNet-v2 avait la précision de test la plus élevée de 62,5% tandis que ShuffleNet avait la précision de test la plus faible de 58,1%.

MobileNet-v2 s'est très bien comporté lors de la classification des images de taches brunes, d'explosion de feuilles et de feuilles saines tout en faisant plusieurs erreurs de classification pour Rice Hispa avec une précision de seulement 46,15%.

Inception-v3 a montré des résultats de classification similaires à MobileNet-v2.

Étape 6: Tests supplémentaires

Tests supplémentaires
Tests supplémentaires
Tests supplémentaires
Tests supplémentaires

L'image ci-dessus montre comment le modèle MobileNet-v2 classe à tort une image d'une feuille d'herbe sur un fond blanc comme Rice Hispa.

Nous avons également testé la précision de MobileNet-v2 sur des images recadrées de Rice Hispa dans lesquelles le fond blanc a été minimisé de sorte que la feuille occupe une zone maximale dans l'image. Pour les images recadrées de Rice Hispa, nous avons observé une précision d'environ 80,81 %, c'est-à-dire que pour les images recadrées de Rice Hispa, nous avons observé une augmentation significative de la précision de la classification par rapport aux échantillons de test non recadrés. Par conséquent, nous proposons que les implémentations réelles de la détection des maladies du riz à l'aide de réseaux de neurones convolutifs doivent recadrer les images de test pour supprimer le bruit de fond afin d'améliorer la précision.

Conseillé: