top of page

Cassava is a plant, known for its durability and low water requirement is mostly planted and harvested in Africa. It is known for its carrot-potato shape and high carbohydrate content.

Diseases caused by microorganisms constantly threaten the lives of living creatures. Plants Leaves are no exception. For Cassava leaves, there are four major diseases: Bacterial Blight, Brown Streak, Green Mottle, and the most common one, Cassava Mosaic disease.

A solution for identifying these diseases and diagnosing them with the proper pesticide could be using a Deep Learning approach. I used python3 programming language and PyTorch models to classify the diseases. Keep in mind this from a Kaggle competition that finished in Feb. 2021.

I trained my models in Google Colab and Kaggle Notebook, but I mostly used my computer to code, train, and test the models. I have a 1080ti Nvidia GPU and an INTEL i7-7700 CPU.

​

Link to my code on Github: https://github.com/soroushtou/cassava-disease-classification

Kaggle competition link: https://www.kaggle.com/c/cassava-leaf-disease-classification

a1.png

These are the number of images in each class.

0: Cassava Bacterial Blight

1:Cassava Brown Streak

2: Cassava Green Mottle

3:Cassava Mosaic Disease

4: Healthy

Total size is 21397.

You can find examples of each class below :

a2.png
a3.png
a4.png
a5.png
a6.png
All of the above images are generated with pyplot library.
Confusion matrix:

These are parts of my code in Jupyter notebooks. Make sure to Check out my entire code on my Github page!

Define the dataset :
Use data augmentation :
Batch Gradient Descent function :
Accuracy and base confusion matrix:
As you may have seen before, with the models from PyTorch, I was able to reach an accuracy of 85%, but the top competitors achieved accuracies of above 90%! The first team solution was to use multiple models and ensemble them or get a mean of their results. With this strategy, they reached 91.4%.

There is a model from KerasLayer library named "Cropnet", which is used specifically for cassava leaf diseases. I need to find out the inner layers' structure and edit them so I can get at least 90% accuracy!

Also, if you look at the images that Kaggle provides, you can see there are some mislabeled images, especially in first class, "Cassava Bacterial Blight". This is the reason we can hardly reach higher accuracies. 
bottom of page