Posts Detecting diseases in plants
Post
Cancel

Detecting diseases in plants

Is it possible to detect diseases in plants using just images (of their leaves)? It turns out that we can!
This was a Research Project that I worked on from Aug 2019 - Aug 2020 at BITS Pilani.

About

The aim of this project is to automate the process of identifying diseases in plants. I focus on the Downy Mildew disease found in Pearl Millets (Bajra).

Collecting data

The data was collected from Agriculture University, Jodhpur under the ICAR-AICPMIP. I along with a fellow PhD candidate, went to the fields and snapped pictures with our cameras. Between the two of us, we were able to capture about 750 images. For ease in labelling, we divided into two parts - ears and leaves. Each category is further subdivided into healthy and diseased.
The exact number of collected samples is given below:

Plant FeatureTypeNumber
LeavesHealthy235
LeavesDiseased206
EarsHealthy211
EarsDiseased110
Total-762

Basic methodology

Our aim is to be able to detect diseased plants by identifying components which could be infected.
The challenge was to develop models that can identify the general features of a disease from a relatively small dataset. It would also be beneficial if the model could focus on just the leaves and ears while ignoring irrelevant features like the image’s background, orientation, etc. To facilitate this, I used a general framework that could be used to detect these diseases in any image:

Overview:

  • Use an object detection model to draw bounding boxes on all relevant objects (leaves and ears) in the image
  • Use another model to separate each image into background and foreground
  • Feed the processed image to a third model that detects the presence/absence of diseases

Pseudo code:

1
2
3
4
5
6
7
For each object in the image:
  crop all area outside the bounding box
  separate the area in the bounding box into background and foreground
  replace the background pixels with zeros
  Resize the object to specified size while maintaining the aspect ratio and pad with zeros
  Get predictions for the processed object (single prediction)
label entire image with the relevant disease labels  

Example:

leaf
leaf bbox
leaf foreground

Results

The project is still ongoing. I am currently working on training the object detection model as well as recording my findings in a research paper that I will then (hopefully) publish.
I will edit this section once I move forward with any step.

This post is licensed under CC BY 4.0 by the author.

Contents

Comments powered by Disqus.