Use of Machine Learning Model
I observed that, so many farmers unable to identify diseases spreading on their crops and eventually losses there yield.
I saw a farmer has planted around 300 Guava plants 3 years ago. He was taking care of them and expecting some yield this year. In the month of June 2020, he observed some spots on leaves of Guava, thought might be appearing due to variation in Sun heat and neglected it.
In next 15 days,same spots were seen on many trees, also those plants having these spots from beginning, getting dry (on verge of dying). By rough calculation,total plants affected was 200/225 and around 100 of them dried already or drying.
Later, farmer came to know that,spots were occurred due to fungi Gloeosporium and Phytophthora parasitica (Anthracnose or Die Back Disease).
So I just thought to produce some kind of system to prevent such type of incident and made a Mask-R-CNN model to identify the spots/marks on Guava Plant.
So Lets take a look how I started:>
1) I gathered some images of leaves to make a dataset.
2) Take help of Supervisely to further process them.
BTW, Supervisely is really a great tool/platform.
- Supervisely is a powerful platform for computer vision development, where individual researchers and large teams can annotate and experiment with datasets and neural networks.
With Supervisely you can
- Label images, videos, 3D point clouds, volumetric slices and other data in the best labeling tool.
- Manage and track annotation workflow at scale with teams, workspaces, roles and labeling jobs.
- Train and apply Neural Networks on our data.
- Explore our data and automate common tasks with integrated Python Notebooks and Scripts.
3) Then, I uploaded my dataset on Supervisely and annotated the spots of disease.
4) I don't have a much bigger dataset for this, so by using Augmentation (DTL) feature in Supervisely.
Supervisely helps to reduce that task by using some pre-configured file in JSON format. Supervisely solved this issue by designing a special language named DTL that allows to fully automate data manipulation: merge projects and datasets, make class mapping, various augmentations of images and annotations, save to different formats, and more.
5) Now our dataset is ready to train. I used Mask R-CNN (Keras + TF) (COCO)
model for training.
6) But for training, we need to attach agent (computation power) to supervisely.
7) Most of the times,we dont have GPU installed in our laptop so we can take help of Cloud Computing to do this. I used AWS infrastructure for this purpose.
The instance (OS) i used was this..
Further selected G-type g4dn.xlarge (found cheaper price than P-type)as CPU. Provided 90GB storage along it.
8) After instance gets started, execute the command provided by Supervisely. It will automatically starts the process of Training dataset.
(Unfortunately i cant take screenshots of that process.)
As model getting trained, on Supervisely you can see a graph of it.
9) After training, I test the model and found that it is predicting very well.
10) But for real testing it is not good that every time we take help of Supervisely for prediction purpose. So I downloaded the weights of trained model in order to deploy it on own environment. Using COCO MaskRCNN model file, I made some changes in that and try to predict and surprise.....ITS WORKING !!!
P.S. I will definitely gonna implement this to solve real life problems.
Thanks To Mr. Vimal Daga Sir for all teaching and mentorship.
#Task6 of MLOps
Nice👍
Great 👍🏼
Wow that's great