Plant Disease Recognition Based On Leaf Image Classification
Plant Disease Recognition Based On Leaf Image Classification
RAJAMAHENDRAVARAM
UNIVERSITY COLLEGE OF ENGINEERING
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
To solve the above problem a tool can be developed that uses computer vison, that can
classify images based on the diseases.
In order to bring it closer to the common people, this tool is developed as a mobile
application, such that it can be directly used from mobile only.
This “tool” works on image processing and classifications using CNN.
For the mobile application, flutter framework is used which is capable of running on both
Android as well as IOS
Existing System
In Traditional System scientists from agricultural department will come and inspect the situation,
take some samples, and after testing they will suggest the appropriate cure for the problem.
If the disease is already known they is suggest the sure immediately, but if not it takes some time.
But above step is also done after the appropriate observation only, which also takes some time.
Few applications are already available but using similar procedure as mine but not using CNN.
Proposed System
Hardware Requirements:-
RAM:- 8GB or above (higher recommended)
Hard disk:- 1TB
Processor:- i5 or above
Sofware Requirements:-
Operating System:- Windows
Work station:- Google Colab/ Anaconda
Editor:- Vs Code
Front end:- Android Studio, Flutter, Java
Language:- Dart, Python
DataSet :- Tobacco Disease Dataset
continue…
Functional Requirements:-
This model is used to predict whether the Leaf which is given as input has a
disease or not, if its having a disease, it will classify which type of disease it
is.
The dataset which is taken as a Input, consists of all the images, separated
with respective disease. On the whole the set of diseases are separated as train,
test, and validation datasets to get a better output.
Non Functional Requirements:-
Accuracy: finding the Accuracy for different types of classifier classes taken,
such that we may know which classifier model will give a better output.
Architecture
Functional Design
➢ CNN Modules :-
a. Redefining the selected classifier algorithm, and adding output label's as final layers
b. Data Augmentation, applying various methods to change the positional and aspect ratio
characteristics of the image, and adding to the model eg: horizontal flip, Zoom etc.
c. Training and testing the model
d. converting the generated model into tflite format
Defining the
Classifier Algorithm
Data
Augmentation
Tflite file
continue..
➢ Mobile Application :-
a. Load image :- either “Take Image” from camera else “Select Image” from
the gallery .
b. Classify image:- Using the model.tflite file , the image taken from above
gets classified, with its respective label.
c. Display image:- After getting a appropriate result, the image along with its
respective class is displayed
UML Diagrams
UseCase Diagram:
Continue…
Class diagram :-
Continue…
Sequence Diagram:-
Implementation
Neural Networks:
Neural networks(NN) are set layers of highly interconnected processing elements (neurons) that
make a series of transformations on the data to generate its own understanding of it(what we
commonly call features).
Neural Networks mimic the human brain, the data is stored in storage elements called neurons,
and these nodes are interconnected through nodes. NN consists of different hidden layers which
filtering on the previous layers, the crucial features are stored along the hidden layers.
Continue…
Tensor flow:
TensorFlow is a software library or framework, designed by the Google team to
implement machine learning and deep learning concepts. It combines the
computational algebra of optimization techniques for easy calculation of many
mathematical expressions.
Tensor Refers to the representation of t data as multi-dimensional array which
represents the object of consideration whereas the term flow refers to the series of
operations that one performs on tensor.
Continue…
Transfer learning :-
IMAGENET
It is very hard and time consuming to collect images belonging to a domain of
interest and train a classifier from scratch. So, we use a pre-trained model as our base
and change the last few layers so we can classify images according to our desirable
classes. This helps us get good results even with a small dataset since the basic
image features have already been learnt in the pre-trained model from a much larger
dataset
Continue…
Inception V3:-
Inception-v3 is a convolutional neural network that is 48 layers deep. You can load a pretrained
version of the network trained on more than a million images from the ImageNet database
Architecture of Inception V3
Continue…
Flutter :-
Flutter is an open-source UI software development kit developed by
Google.
Flutter is the tool that allows you to build native cross-platform(Android
and IOS) Applications with one programming language and code base.
Flutter uses Programming language “Dart”.
Dart is a Object oriented programming language.
It is a programming language which is focused on frontend(Android and
IOS application) and User interface(UI) development.
This Dart programming language developed by google.
Continue…
Still the concept of medication and details about those disease are yet to be
included. Even though this project already implemented, using Transfer Learning
concepts, the accuracy of the result may increase and being a precompiled model the
weights are predefined hence the time taken to build the model will decrease.
This application is very useful for the farmers to detect the disease within no time,
such that the prevention of the disease from a wide spread can be stopped.
Thank You