PlantDoc: Plant Disease Classification

Tags:Computer Vision, CNN, Attention, PyTorchDate:Aug 17, 2025

> Overview

PlantDoc is a complete implementation of a plant disease classification system using a CBAM (Convolutional Block Attention Module) augmented ResNet18 architecture. Plant diseases cause significant crop losses worldwide, and early, accurate detection is crucial for sustainable agriculture. This project implements a state-of-the-art deep learning approach to identify 39 plant disease classes using dual attention mechanisms for enhanced performance.

> Technologies

Python
PyTorch
NumPy
Pandas
OpenCV

> Key Features

  • Integration of CBAM attention modules into ResNet18 architecture
  • Advanced data augmentation and preprocessing with Albumentations
  • Class balancing techniques for improved performance on imbalanced data
  • Mixed precision training (FP16) and cosine annealing learning rate scheduling
  • Comprehensive model evaluation dashboards with ROC, PR curves, and Grad-CAM visualizations

> Performance Metrics

v1

accuracy:0.9746

precision:0.9921

recall:0.9917

v2

accuracy:0.9671

precision:0.9921

recall:0.9917

> Visualizations

Model Evaluation Dashboard

Model Evaluation Dashboard

Dashboard showing classification examples, confidence distributions, and confusion matrix

Classification Examples

Classification Examples

Examples of correct vs incorrect classifications

Confidence Distribution

Confidence Distribution

Prediction confidence histogram for correct and incorrect predictions

Confusion Matrix

Confusion Matrix

Confusion matrix across all classes

Class Distribution

Class Distribution

Dataset class distribution pie chart

Precision-Recall Curves

Precision-Recall Curves

Precision-Recall curves for top-performing model

ROC Curves

ROC Curves

ROC curves for top-performing model

Training History

Training History

Training confidence and accuracy evolution over epochs

Grad-CAM Visualization

Grad-CAM Visualization

Grad-CAM heatmap highlighting disease regions

> Team

Jeremy Cleland

Graudate Student