Skip to content

xecyborg/Plant-disease-detection-using-CNN

Repository files navigation

Plant Disease Detection using CNN

This project demonstrates the use of a Convolutional Neural Network (CNN) to detect plant diseases using leaf images. It utilizes the Plant Village Dataset, which consists of over 61,000 images, and various augmentation techniques to improve the model's robustness.

Dataset

  • Source: Plant Village Dataset
  • The dataset contains 61,486 images from 39 different categories of 16 plant species.
  • Augmentation techniques applied:
    • Image flipping
    • Gamma correction
    • Noise injection
    • PCA color augmentation
    • Rotation
    • Scaling

Model Architecture

The model is built using 9 Convolutional layers, each followed by the following components:

  • ReLU (Rectified Linear Unit): To introduce non-linearity.
  • Batch Normalization: To stabilize and accelerate training.
  • Max Pooling: To reduce dimensionality and extract important features.

Model Summary

Model Architecture

Model Summary

Training and Data Split

  • Training set: 80% of the dataset
  • Validation set: 10% of the dataset
  • Testing set: 10% of the dataset

Training Configuration

  • The model was trained for 10 epochs with the use of data augmentation techniques to avoid overfitting and to improve generalization.

Performance

  • Training accuracy: 99.07%
  • Validation accuracy: 97.53%
  • Test accuracy: 96.94%

Training Loss

Loss Chart

Confusion Matrix

The confusion matrix below illustrates the performance of the model on the test set, showing how often the classifier misclassifies each category.

Confusion Matrix Heatmap

References