Leaf Stress Image Classifier Project

Leaf Stress Image Classifier Project

ISEF Category: Plant Sciences

Ready to Turn This Idea Into a Real Project?

This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

Subcategory: Other  ·  Difficulty: Advanced  ·  Setup: School Lab  ·  Time: Full Year

The Hook

A sick leaf can look like the wrong problem. Herbicide injury, nutrient deficiency, and virus infection often share the same yellowing, spotting, or curling. If you can tell them apart from a photo, you are building a tool that could help growers act faster and waste fewer inputs.

What Is It?

This project asks a simple question with a hard answer: can a computer learn to tell different kinds of leaf stress apart from smartphone images? You are not just asking whether a leaf looks healthy. You are asking whether a model can separate three different causes of damage that can look similar at first glance.

Think of it like teaching a student to spot the difference between three people wearing similar coats. The coat color alone is not enough. The student has to notice shape, pattern, spacing, and small details. In machine learning, those details are called features. The model learns features from many labeled images, then uses them to make predictions on new photos.

The class-imbalanced augmentation part matters because real datasets are rarely balanced. You may have many more images of one stress type than another. Augmentation means making extra training examples by flipping, cropping, or adjusting images in controlled ways. That lets you test whether the model gets better at spotting the rare class or just memorizes the common one.

Why This Is a Good Topic

This is a strong science fair topic because you can test real performance, not just build a flashy app. You can measure accuracy, recall, precision, and confusion between stress types. Those numbers tell you whether the model actually helps, especially when one category has fewer images. The topic also connects to agriculture, plant health, and fast field diagnosis, which gives your project a clear real-world use.

Research Questions

  • How does class-imbalanced augmentation affect recall for the rarest leaf stress class?
  • What is the effect of training set balance on the model's ability to distinguish herbicide damage from nutrient deficiency?
  • Does adding image augmentation improve overall accuracy for leaf stress classification?
  • To what extent do lighting changes in smartphone photos reduce prediction accuracy?
  • Which model architecture gives the best separation between virus-infected and nutrient-deficient leaves?
  • How does cropping to the leaf area only change confusion between stress categories?

Basic Materials

  • Smartphone camera with manual exposure control or a consistent camera app.
  • Mixed leaf image dataset with labels for herbicide damage, nutrient deficiency, and virus infection.
  • Computer with internet access.
  • Spreadsheet software for logging labels and model outputs.
  • Free image annotation tool or folder-based labeling system.
  • Notebook for tracking dataset balance, augmentation choices, and evaluation results.

Advanced Materials

  • Plant pathology image dataset with metadata on symptoms and labels.
  • School lab access for controlled image capture under fixed lighting.
  • Color calibration card for consistent photography.
  • GPU-enabled computer or cloud notebook with Python support.
  • External storage for large image sets.
  • Optional microscope or macro lens attachment for symptom close-ups.

Software & Tools

  • Google Colab: Runs Python notebooks in a browser and supports common ML libraries for training and testing image classifiers.
  • Python: Handles data cleaning, augmentation, model training, and evaluation.
  • ImageJ: Measures image features and helps you inspect whether preprocessing changes the leaf signal.
  • scikit-learn: Calculates confusion matrices, precision, recall, and other evaluation metrics.
  • TensorFlow: Trains image classification models and supports transfer learning on limited datasets.

Experiment Steps

  1. Define the three stress classes you will compare and write clear label rules for each one.
  2. Gather a balanced test set first, then map where the class imbalance appears in your training data.
  3. Choose one model approach and one augmentation plan so you can test the effect of each change cleanly.
  4. Set up a fixed evaluation method with the same held-out test images for every trial.
  5. Plan controls for lighting, leaf crop size, and background so the model learns symptoms, not photo noise.
  6. Compare confusion patterns across classes, not just overall accuracy, so you can see which stress types the model mixes up.

Common Pitfalls

  • Using images from different lighting conditions for each class, which makes the model learn brightness instead of leaf symptoms.
  • Mixing up virus symptoms with nutrient deficiency symptoms, which creates bad labels and weak training data.
  • Letting one class dominate the training set, which can make accuracy look good while recall stays poor for the rare class.
  • Cropping leaves inconsistently, which adds background clutter and hides the damage pattern you want the model to learn.
  • Reporting only overall accuracy, which can hide the fact that the model fails on one stress category.

What Makes This Competitive

A competitive version of this project goes beyond a simple classifier. You test several imbalance strategies, then show which one improves minority-class recall without hurting the other classes. You also compare performance across different lighting, crop size, or leaf background conditions. Strong projects explain why the model fails, not just whether it works.

Project Variations

  • Use crop leaves from one species only, then test whether the model still separates stress types on a different species.
  • Compare a simple CNN with transfer learning to see which one handles class imbalance better.
  • Add symptom localization by asking whether the model performs better when trained on full leaves or on symptom-focused crops.

Learn More

  • NIH PubMed: Search review articles on plant virus symptoms, nutrient deficiency, and herbicide injury to compare how experts describe each pattern.
  • USDA Plant Disease Diagnostic resources: Find symptom guides and diagnostic basics through USDA extension and plant health pages.
  • NASA Earthdata: Explore free remote sensing and vegetation stress resources that explain plant health signals at larger scales.
  • MIT OpenCourseWare, Introduction to Machine Learning: Use free course materials to learn the basics of classification, overfitting, and evaluation.
  • TensorFlow tutorials: Read the free image classification and transfer learning guides in the official TensorFlow documentation.
  • scikit-learn User Guide: Find free explanations of confusion matrices, precision, recall, and model testing on the official documentation site.
Shopping Cart