Skip to content

pitmonticone/PlantDiseaseClassification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Size Forks Stars Languages Contributors Licence Twitter

Plant Disease Classification

Dataset Analysis and CNN Models Optimization

Kaggle nbviewer Colab

How to Explore this Work

Extended Abstract

Problem

Misdiagnosis of the many diseases impacting agricultural crops can lead to misuse of chemicals leading to the emergence of resistant pathogen strains, increased input costs, and more outbreaks with significant economic loss and environmental impacts. Current disease diagnosis based on human scouting is time-consuming and expensive, and although computer-vision based models have the promise to increase efficiency, the great variance in symptoms due to age of infected tissues, genetic variations, and light conditions within trees decreases the accuracy of detection.

Objectives

The Plant Pathology Challenge we have attended consists in training a model using images of the training dataset to

  • accurately classify a given image from testing dataset into different diseased category or a healthy leaf;
  • accurately distinguish between many diseases, sometimes more than one on a single leaf;
  • deal with rare classes and novel symptoms;
  • address depth perception—angle, light, shade, physiological age of the leaf;
  • Incorporate expert knowledge in identification, annotation, quantification, and guiding computer vision to search for relevant features during learning.

Submissions are evaluated on mean column-wise ROC AUC.

Data

Both the training and the testing datasets are composed of 1821 high-quality, real-life symptom images of multiple apple foliar diseases to be classified into four categories: healthy, multiple_diseases, rust, scab.

Methods

  1. Class balancing with SMOTE
  2. Data augmentation with Keras ImageDataGenerator
  3. Learning rate schedule
  4. Optimal dropout
  5. Epoch grid search
  6. Visualization of convolutional filters and activation maps of the layers.

Results

  • ROC = 0.972 applying the pre-trained Keras model DenseNet121.
  • ROC = 0.937 applying a CNN which has been defined and trained from scratch.

References

  1. Plant Pathology 2020 - FGVC7: Identify the category of foliar diseases in apple trees, Kaggle (2020).
  2. Ranjita Thapa et al. The Plant Pathology 2020 challenge dataset to classify foliar disease of apples, arXiv pre-print (2020).