0% found this document useful (0 votes)
10 views

Main Phase-1 CHITHARA

PLANT SPECIES RECOGNITION USING CONVOLUTIONAL NEURAL NETWORKS (CNN)

Uploaded by

nivedine27
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Main Phase-1 CHITHARA

PLANT SPECIES RECOGNITION USING CONVOLUTIONAL NEURAL NETWORKS (CNN)

Uploaded by

nivedine27
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

CHAPTER 1

INTRODUCTION
1.1 IMAGE CLASSIFICATION
Image classification is the process of taking an image is an input and
outputting a class (like “oleander”) or a probability that the input image is
a particular class (“there’s a chance of 90% for the input image is a
oleander”). To classify a set of input images into different classes or
categories, we find the relationship between the images and the classes into
which they are classified must be well understood. To achieve this by
computer, the computer must be trained by these input images by any
techniques. Image classification is a process including image pre-
processing, image segmentation, key feature extraction and matching
identification.
Types of Image Classification
• Unsupervised classification
• Supervised classification
Unsupervised classification
Unsupervised classification is where the output classes of groups
(group of pixels with common features) will be finding out based on the
software analysis of an image without providing classes explicitly. Training
sets are selected based on the knowledge of the user.
Supervised classification
Supervised classification is based on the idea that a user can choose
sample pixels in an image that are representative of specific classes and then
give a way to the image processing application to use these training sets as
references for the classification of all other pixels in the image. Training sets
are selected based on the knowledge of the user. Image

1
classification is a type of supervised learning problem, it defines a set of
target classes and train a model to recognize and classify them using labelled
data. Image classification plays an vital role in computer vision
problems[25]. With the latest research of image classification techniques,
we not only get the picture information faster than before, also we apply it
to scientific experiments like object detection for security, medical image
analysis, face recognition and other fields.
1.2 DEEP LEARNING
Deep learning or deep structured learning is a subset of machine
learning based on learning the data representations, rather than state of art
algorithms. Learning could be done by supervised, semi-supervised or
unsupervised. There are many deep learning architectures are available, like
deep neural networks, deep belief networks and recurrent neural networks
which have applied into computer vision, speech recognition, natural
language processing, audio recognition, social network, image dataset
filtering machine translation, bioinformatics, drug design, medical image
analysis, material inspection and board game programs, where they have
produced results comparable to and in some cases superior to human experts.
Deep learning models are developed for the artificial intelligence
problems to solve them by the concept of biological nervous systems, by
information processing and communication patterns. In deep learning, each
stage transforms the input data into a slightly more abstract than previous
one and composite representation. In an image recognition problem, the
input (image) is a matrix of pixel values; the first layer may abstract the
pixels and detect edges of leaves; the second layer may compose the analytic
results to recognize oleander leaf in other leaf images. They are

2
used in applications, which are difficult to express with a traditional
computer algorithm using rule based programming.
An ANN is constructed based on a collection of connected units called
artificial neurons, (act as human neurons in a human brain). Each connection
between every neuron can transmit a signal to another neuron. The receiving
neuron can process the signal(s) and then signal downstream neurons
connected to it. Neurons may also have state, which is generally represented
by real numbers between 0 and 1. Neural networks are used in various type
of tasks, including computer vision for image processing, speech processing,
social network filtering, machine translation and medical image analysis.
Different layers may perform different kinds of transformations on their
inputs. Neural networks typically have a fewthousand to a few million units
and millions of connections.
1.3 NEURAL NETWORKS
A neural network is a connected network of biological neurons, or in
a modern life, an artificial neural network. Thus a neural network is either
a biological neural network i.e. human brain, made up of real biological
neurons, or an artificial neural network made up of artificial neurons, for
solving artificial intelligence (AI) problems. The connections of the
biological neuron are modelled as weights. A positive weight reflects an
important connection, while negative weight reflects unnecessary
connections. All inputs are converted to another form by a weight. This
process is called as a linear combination and then an activation function
converts the previous inputs amplitude of the output.[20] For example,
activation function gives the output between 0 and 1 (sigmoid), or it could
be −1 and 1(ReLU). Neural networks have different types of categories

3
like recurrent neural network, Artificial neural network and Deep
structured neural network.
1.3.1 ARTIFICIAL NEURAL NETWORKS
Artificial neural networks (ANNs) are computing systems motivated
by the biological neural networks that establish human brains. Such systems
learn (gradually improve their capability) to do tasks by considering
examples, generally without task-specific programming. For example, in
image classification, they might learn to classify images that contain
oleander leafs by evaluating example images that have been manually
labeled as "oleander" or "not oleander" and using the logical results to
identify oleander in other images. ANN most used inapplications, which
are difficult to express with a traditional state of art machine learning
algorithm using rule based programming[4].
An ANN is based on a collection of fully connected network of
artificial neurons, (equivalent to biological neurons in a animal brain). Each
connection between neurons can transmit a signal from one neuron to
another neuron. The receiving neuron can process the signal(s) and then
signal downstream neurons connected to it. Neurons may have states, which
are generally represented by real numbers, typically between 0 and
1. Neurons and synapses may also have a weight that differs by way of
learning proceeds, which can increase or decrease the strength of the signal
that it sends downstream. Neural networks have been used on a variety of
tasks, including computer vision for image processing, speech processing,
machine translation, and more.
1.3.2 CONVOLUTIONAL NEURAL NETWORK
A Convolutional Neural Network (CNN) is a type of artificial neural
network (ANN) with multiple hidden layers between the input and output

4
layers and that hidden layers are named as Convolution, Max pooling,
Dropout, etc., . The Convolutional neural network finds the correct
mathematical operation to turn the input into the output, whether it is a linear
relationship or a non-linear relationship.
The network moves through the layers calculating the probability of
each class label. For example, a Convolutional Neural Network that is
trained to recognize plant species will go over the given image and calculate
the probability that the plant in the image. The user or system can evaluate
the results and select and display which probabilities above a certain
threshold by the network and return the proposed label. The goal is that
ultimately, the network will be trained to crumble an image into features,
identify fashions that exist across all samples and classify new images by
their similarities without requiring human input.
Convolutional Neural Network can construct complex non-linear
relationships. Deep structured neural network architectures generate
compositional models where the object is articulated as a layered
composition of primitives. The extra layers can find out new composition of
features from lower layers, potentially modelling complex data with fewer
units than a similarly performing shallow neural network. Deep
architectures include many alternatives of a few basic techniques. Each
architecture achieve in specific domains. It is not always possible to compare
the performance of multiple architectures, unless they have been evaluated
on the same data sets. Convolutional Neural Networks (CNNs) are used
in computer vision problems for image processing. CNNs also have been
applied to audio processing for automatic speech recognition (ASR). CNN
eliminates the over-fitting, due to the added

5
layers of generalization, which allow them to model rare dependencies in
the training data.

6
CHAPTER 2
LITERATURE SURVEY
In this section the literature survey has been carried out. The main
focus is on image classification on machine learning algorithms and neural
networks. The literature survey gives a clear idea for proposed system.

2.1 Plant Species Recognition Using Morphological Features and


Adaptive Boosting Methodology by Munish Kumar , Surbhi Gupta
, Xiao-ZhiGao&Amitoj Singh.
In this paper , the authors build a classifier based on the extraction
of morphological features using a Multilayer Perceptron with Adaboosting
techniques.. Initially, some pre-processing techniques are used to set up a
leaf image for the feature extraction process [25]. The authors used various
morphological features named as centroid, major axis length, minor axis
length, solidity, perimeter, and orientation are mined from the images of
various classes of leaves. k-NN, Decision Tree and Multi Layer Perceptron
are applied in the Flavia dataset to test the accuracy of the model. They
achieved a precision rate of 95.42% using the proposed machine learning
classifier, which outperformed the state-of the-art algorithms.

2.2 A Hierarchical Method of Recognizing Plant Species by Leaf


Shapes by C. Im , H. Nishida, T. L. Kunii.
Authors of this paper presented a hierarchical representation of
leaves, due to deal with the complexities and variations of contours of
leaves. First, polygons are used to represent the global structures and shapes
of leaves, whose vertices are critical points of curvature of smoothed
contours of leaves. Second, linear approximation of the contours of pieces
are used to represent the shapes of mid-most pieces [14]. At last,

7
triangles are used to represent the teeth on the contour of leaves. Features
at each hierarchy are represented statistically.

2.3 MedLeaf: Mobile application for medicinal plant identification


based on leaf image by D.S. Prasvita, Y. Herdiyeni .
MedLeaf is a new mobile application for medicinal plants
identification based on leaf image. This MedLeaf runs on the Android
operating system or android emulators. MedLeaf has two main
functionalities, i.e. medicinal plants identification and document searching
of medicinal plant [16].The authors using the Local Binary Patterns to
extract the leaf surface and Probabilistic Neural Network to classifying the
image. In this paper, they used 30 classes of Indonesian medicinal plants and
each classes consists of 48 digital leaf images. They used the questionnaire
based on heuristic evaluation to estimate the user satisfaction of the
application. From these evaluation result proving that MedLeaf is a perfect
application for medicinal plants identification.

2.4 A leaf recognition technique for plant classification using RBPNN


and Zernike moments by A. H. Kulkarni, H. M. Rai, K. A. Jahagirdar,
P. S. Upparamani .
The authors used the novel framework for recognizing and identifying
plants using shape, vein, colour, texture features which are combined with
Zernike movements. They used the Radial basis probabilistic neural network
(RBPNN) as a classifier for the classification. They use a dual stage training
algorithm which expressively improves the performance of the classifier.
Model results on the Flavia leaf dataset shows that the proposed technique
for leaf recognition gives an accuracy rate of 93.82% [3].

8
2.5 Leaf Recognition Algorithm Using MLP Neural Network Based
Image Processing by Ekshinge S , IpSambhaji , D. B Andore .

Authors proposed the Multilayer Perceptron with image and data


processing techniques and neural network to implement the general purpose
automated leaf recognition. Sampling leaves and snapping them are low cost
and suitable. They designed the anybody can easily transfer the leaf image
to a system and it can extract features automatically by image processing
techniques [28].The authors developed leaf recognition model using easy-
to-extract features and high efficient recognition algorithm. The main
developments are on feature extraction in which all features are extracted
automatically from digital leaf image and the classifier.

2.6 A Leaf Recognition Algorithm for Plant Classification Using


Probabilistic Neural Network by S. G. Wu, F. S. Bao, E. Y. Xu, Y.-
X. Wang, Y.-F. Chang, Q.-L. Xiang .
Probabilistic neural network (PNN) with image and data processing
techniques are used to implement a general purpose automated leaf
recognition for plant classification [29]. 12 leaf features are extracted and
orthogonalized into 5 principal variables which consists the input vector of
the PNN. The authors proposed PNN produced the accuracy greater than
90%, which trained by 1800 leaf images of 32 types of plants. They
compared with other approaches with proposed method and then concluded
that the proposed method is an accurate artificial intelligence approach
which is fast in execution and easy in implementation.

9
2.7 Plant species identification using Elliptic Fourier leaf shape
analysis by J. C. Neto, G. E. Meyer, D. D. Jones, A. K. Samal .
The authors using the Elliptic Fourier (EF) and discriminant analysis
to identify plants, based on leaf shape. By these techniques Elliptic Fourier
harmonic functions generated based on leaf boundary. Principle component
analysis was used for select the Fourier coefficients with the best
discriminatory values[21]. The classification results are showing that the
proposed method was successfully identified the plant species with an
average of correct classification rate of 89.4%. The overall classification
accuracy for all types of leaves was 89.2%.

2.8 An efficient leaf recognition algorithm for plant classification using


support vector machine by C. A. Priya, T. Balasaravanan, A. S.
Thanamani .
The authors proposed approach contains three phases such as pre-
processing, feature extraction and classification. The pre-processing stage
includes a classic image processing steps such as converting to grayscale
and boundary enhancement. The feature extraction stage deduces the
common DMF from five fundamental features. The authors are using the
Support Vector Machine (SVM) for the classification of leaf recognition
[12]. 12 leaf features which are mined and orthogonalized from the leaf
images into 5 principal variables that are given as input vector to the SVM.
Model tested with Flavia dataset and a real leaf images and compared with
k-NN classifier. The proposed model yields very high accuracy and takes
very less execution time.

10
2.9 Computer vision system for on-line sorting of pot plants using an
artificial neural network classifier by A.J.M.Timmermans, A.A.
Hulzebosch .
The author developed the system which contains the color camera, an
image processing system and specially developed software. This system was
applied to several categories of pot plants due to its implementation of
learning techniques. Statistical discriminant analysis and a neural network
(NN) classifier are used as techniques for pattern recognition [4]. Neural
Networks gave simple applications with equivalent results as linear
discriminant analysis (LDA) or quadratic discriminant analysis (QDA).

2.10 Plant leaf identification using moment invariants & General


Regression Neural Network by Z. Zulkifli , P.Saad , I.A.Mohtar .
The features are extracted from the most effective moment invariant
technique are classified using the General Regression Neural Network
(GRNN). Authors construct a system with two main phases involved in plant
leaf identification. The first stage is known as feature extraction process
where moment invariant methods are applied [34]. This phase gives an
output as a set of global vector feature, which represents the shape of the
leaf images. It is shown that TMI can extract vector feature with Percentage
of Absolute Error (PAE) less than 10.38% .

2.11 In Situ Leaf Classification Using Histograms of Oriented


Gradients by A. Olsen, S. Han, B. Calvert, P. Ridd, O. Kenny.
The authors developed a novel method for segmenting leaves from
a textured background. Then they investigate a scale and rotation invariant
enhancement of the HOG feature set for texture-based leaf classification,
whose results compare well with a multi-feature probabilistic neural

11
network classifier on a In situ data set. Proposed classifier achieves high
accuracy (86.07%) in reasonable time [7].

12
CHAPTER 3
SYSTEM ANALYSIS
3.1 EXISTING SYSTEM
Machine learning (ML) is the subset of artificial intelligence domain
which contains logical study of algorithms and statistical models that used
to effectively perform a specific task without using explicit userguidelines,
trusting on patterns and inference in its place. Machine learning algorithms
construct a model of sample data, known as "training data", in order to make
decisions automatically to perform the task.
Machine learning algorithms give less accuracy in Image
classification when compared to Deep learning and also it takes huge time
to process the data.
Machine learning algorithms can process less number of dataset than in
Deep learning algorithms.[12] Some of the machine learning algorithms are
K-Nearest Neighbors (K-NN) algorithm, Decision Tree, Support Vector
Machine (SVM), Multi Layer Perceptron(MLP) or Artificial Neural
Network(ANN).

3.1.1 K- NEAREST NEIGHBORS ALGORITHM

K-Nearest Neighbors (K-NN) algorithm is a type of supervised


machine learning algorithm which can be used for both classification as well
as regression predictive problems. Both classification and regression type
problems, K-NN is a useful technique and it can be to assign weights to the
contributions of the neighbors, so that the nearer neighbors contribute more
than the more distant ones.

13
The neighbors are taken from a set of items for which the group or the
object property value (for K-NN regression) is known. This can be assumed
as the training set for the algorithm, however no explicit training step is
required.

Due to it doesn’t have any specialized training phase and uses all the
training data for training while classification, it called as lazy learning
algorithm. Due to it doesn’t assume anything about the underlying data , it
is called as a non-parametric learning algorithm [25].

K-NN uses feature similarity measure to predict the result of new


unknown data points which means that the new unknown data point will be
assigned a value based on how closely it matches the points in the training
set.

Anyway, it is mainly used for classification predictive problems in


industry.

Fig 1 : K- Nearest Neighbors

Pros and Cons of K-NN

14
Pros:

• It is very simple algorithm for understand the model and interpret


the results.

• Due to there is no assumption about data in this algorithm ,it is very


useful for nonlinear data

• It is a versatile algorithm as we can use it for classification as well


as regression.

Cons:

• Due to it stores all the training data ,it is computationally a bit


expensive algorithm. So it requires high memory storage compared
to other supervised learning algorithms.

• It is very delicate to the scale of data as well as unrelated features.

Applications of K-NN

KNN can be used to solve some of real world problems:

• In the Banking system, prediction of a person’s fitness for loan


approval.

• In recommendation systems, to find the person’s credit rating by


matching with the persons having similar qualities.

• Speech Recognition, Handwriting Detection, Image Recognition


and Video Recognition.

15
3.1.2 DECISION TREE

A decision tree is a hierarchical structure model that is tree structure


where an internal vertex represents feature (or attribute), the edge represents
a decision rule, and each leaf vertex represents the output class. The topmost
vertex in a decision tree is known as the root node. It studies to partition the
tree on the basis of the feature value. By recursive partitioning, it partitions
the tree in recursive manner.

This flowchart-like structure helps the system for the decision


making. It's appearance is look like a flowchart which easily imitates the
human level thinking. This is the reason why decision trees are easy to
understand and interpret compare to others.

Decision Tree is a white box type of ML algorithm. It segments


internal decision-making logic, which does not exist in the black box type
of algorithms such as Neural Network. Its training time is faster compared
than the neural network algorithm. The time complexity of decision trees
is a function of the number of data and number of features in the given
dataset. Decision trees can handle high dimensional data and gives good
accuracy[25].

Feature selection measure is a heuristic for selecting the splitting


criterion that partition data into the best possible fashion. It is also known
as splitting rules because it helps us to define breakpoints for rows on a
given node. Best score feature will be selected as a splitting feature. Oneof
the most popular selection measure is Information Gain

Info(D) = - ∑i=1
m p log p
i 2 i

Where, pi is the probability that an arbitrary tuple in D belongs to class Ci.

16
V
|Dj|
InfoA (D) = ∑ |D|
X Info(Dj)
j=1

Gain(A) = Info (D) − InfoA(D)

Where,

• Info(D) is the average amount of information needed to identify the


class label of a tuple in D.

|Dj|
• acts as the weight of the j-th partition.
|D|

• InfoA(D) is the expected information required to classify a tuple


from D based on the partitioning by A.

The attribute A with the highest information gain, Gain(A), is chosen as


the splitting attribute at node N().

17
Fig 2 : Decision Tree

Pros and Cons of Decision Tree

Pros:

• Decision trees are easy to interpret and visualize and it can easily
capture Non-linear patterns.

• It requires fewer data preprocessing from the user, for example, there
is no need to normalize columns and it is used for feature engineering
such as predicting missing values, suitable for variable selection.

• The decision tree has no assumptions about distribution because of


the non-parametric nature of the algorithm.

Cons:

• Sensitive to noisy data. It can overfit noisy data.

• The small variation(or variance) in data can result in the different


decision tree. This can be reduced by bagging and boosting
algorithms.

• Decision trees are biased with imbalance dataset, so it is


recommended that balance out the dataset before creating the decision
tree.

18
3.1.3 SUPPORT VECTOR MACHINE

Support Vector Machine or SVM is one of the most popular


Supervised Machine Learning algorithms, which is used for Classification
as well as Regression problems. However, mainly, it is used for
Classification problems in Machine Learning.

The objective of the SVM algorithm is to create the finest splitting


line or decision boundary that can separate n-dimensional space into groups
so that we can easily place the new data point in the correct group in the
future. This best decision boundary is called a hyper plane[26].

SVM chooses the extreme points/vectors that support in generating


the hyper plane. These extreme cases are called as support vectors, and
hence algorithm is termed as Support Vector Machine.

Fig 3: Support vector machine

19
Pros and Cons of SVM
Pros:
• It works really well with clear margin of separation. So, it is
effective in high dimensional spaces.
• It is effective in cases where number of dimensions is greater than
the
number of samples.
Cons:
• It doesn’t perform well, when we have large data set because the
required training time is higher.
• It also doesn’t perform very well, when the data set has more noise
i.e. target classes are overlapping.
Applications
SVMs can be used to solve various real-world problems:
• Classification of images can also be performed using SVMs[12].

• Hand-written characters can be recognized using SVM.

3.1.4 ARTIFICIAL NEURAL NETWORK (ANN) / MULTI LAYER


PERCEPTRON (MLP)
An Artificial Neural Network(ANN) or Multi Layer
Perceptron(MLP) is an collection of fully connected neurons, similar to the
massive network of neurons in a human brain. [20]The neural network is not
an algorithm, but relatively it is a framework for many different machine
learning algorithms to work together and process difficult data inputs. The
objective of the ANN approach was to crack problems in the same way that
a human brain would.

20
For example, in image recognition, they might acquire to identify
images that contain leaves by examining example images that have been
manually labelled as "oleander" or "not oleander" and using the results to
identify oleander in other images. [4]They do this without any prior
information about oleander, Instead, they automatically generate
recognizing features from the learning material that they process.
An ANN is based on a collection of fully connected neurons called
artificial neurons, which lightly model the neurons in a human brain. Here,
each circular node denotes an artificial neuron and an arrow denotes a
connection from the output of one artificial neuron to the input of another.

Fig 4 : Multi Layer Perceptron

21
Applications
Application areas consist of system identification and control
quantum chemistry, general game playing, pattern recognition, medical
diagnosis[34], finance, data mining, visualization, machine translation,
social network filtering and e-mail spam filtering.
Artificial neural networks have been used to identify cancers, with
lung cancer, prostate cancer, and colorectal cancer and to differentiate highly
offensive cancer cell lines from less offensive lines using only cell shape
information.

22
3.2 PROPOSED SYSTEM
In deep learning, a Convolutional Neural Network (CNN) is a class
of deep neural networks, most frequently used to analysing visual imagery.
A convolutional neural network contains an input and an output layer, as
well as multiple hidden layers. The hidden layers of a CNN usually contain
convolutional +ReLU layer, max pooling layers, fully connected dense
layers and dropout layers. CNN architectures make the clear assumption that
the inputs are images, which allows us to convert certain assets into the
architecture. These then make the forward function more efficient to
implement and massively decrease the amount of parameters in the network.
They have applications in image recognition, object detection,
recommendation systems, medical image analysis, and natural language
processing. Deep Convolutional Neural Networks (CNNs) are used in
computer vision problems. CNNs also have been applied to acoustic
modelling for automatic speech recognition (ASR).

23
CHAPTER 4
SYSTEM REQUIREMENTS
4.1 HARDWARE REQUIREMENTS
• CPU SPEED : 3.1 GHz
• CPU TYPE : 64 bit
• STORAGE : 250 GB
• OS : Windows 10 64 bit
• RAM : 4 GB
4.2 SOFTWARE REQUIREMENTS
• COLAB
• JUPYTER NOTEBOOK

4.3 LANGUAGES USED

• PYTHON
4.4 LIBRARIES USED
• KERAS
• NUMPY

24
CHAPTER 5
SOFTWARE DESCRIPTION
5.1 ABOUT SOFTWARE

COLAB

Colaboratory or Colab could be a free open source cloud service for the
python environment provided by Google and now it supports free GPU and
also TPU.

• Develop Python programing language coding skills.


• Develop deep learning solutions using standard libraries like Keras,
TensorFlow, PyTorch, and OpenCV and Numpy.
• The utmost important feature that discriminates Colab from other free
cloud services is: Colab provides GPU and TPU and these are totally
free.

Benefits of Colab

Besides being easy to use the Colab is fairly lithe in its


configuration and does much of the substantial lifting for you.

• It supports Python 2 and Python 3 with free GPU and TPU acceleration

• All major Python packages like TensorFlow, Keras , Scikit-learn,


Matplotlib, Numpy among many others are pre-installed and prepared
to be imported by user.

• Built on top of Jupyter Notebook and also supports bash commands

• Google Colab allows developers to use and share Jupyter notebook


among one other without having to download, install, or run anything

25
aside from a browser and also easy integration of all of Google services
like Drive , Docs, Sheets,etc.,

• Google Colab notebooks are stored on the Google Drive.


Anaconda Navigator

Anaconda Navigator may be a desktop application i.e. graphical user


interface (GUI) comprised in Anaconda® distribution that permits you to
launch applications and easily simply manage conda packages,
environments and channels without using command-line commands.
Navigator can hunt for packages on Anaconda Cloud or in a very local
Anaconda Repository. It is available for Windows, macOS and Linux.
Anaconda® could be a package manager, an environment manager, a
Python/R data science distribution, and a pool of over 1500+ open source
packages.

Anaconda is free and simple to put in, and it offers free community
support. Navigator is a simple, point-and-click method to work with
packages and environments while not having to type conda commands in a
command prompt or terminal window.

Conda

Conda is an open source package management system and


environment management system that runs on Windows, macOS and Linux.
Conda quickly installs runs and updates packages and their dependencies.
Conda easily creates, saves, loads and switches between environments on
your local computer. It had been created for Python programs, but it can
package and distribute software for any language.

26
Conda are often combined with continuous integration systems like
Travis CI and AppVeyor to offer frequent, automated testing of your code.
The conda package and environment manager is included in all told versions
of Anaconda and Miniconda, Anaconda Repository. Conda is additionally
included in Anaconda Enterprise , which provides on-siteenterprise package
and environment management for Python, R, Node.j.

Applications Available in Navigator

• JupyterLab
• Jupyter Notebook
• QTConsole
• Spyder
• VSCode

Jupyter Notebook

The Jupyter Notebook is an open-source web application that permits


you to produce and share documents that contain live code, equations,
visualizations and narrative text. Uses include: data visualization, machine
learning, numerical simulation, statistical modeling, data cleaning and
transformation, and far more.

5.2 ABOUT LANGUAGE

PYTHON

Python could be a widely used general-purpose, high level


programing language. It had been initially designed by Guido van Rossum
in 1991 and developed by Python Software Foundation. It had been mainly
developed for importance on code readability, and its syntax allows

27
programmers to direct notions in fewer lines of code. Python is a
programming language that permits you to work quickly and integrate
systems more efficiently. There are two major Python versions- Python 2 and
Python 3. Both are quite different. A number of the benefits of using python:

• Emphasis on code readability, shorter codes, simplicity


of writing
• Programmers can express logical concepts in fewer lines of code
as compared to languages like C++ or Java.
• Python supports multiple programming paradigms, like object-
oriented, imperative and functional programming or procedural.
• There exist inbuilt functions for nearly all of the commonly used
concepts.
Features

• Interpreted
• Platform Independent
• Free and open source, Redistributable
• Embeddable
• Robust
• Rich Library support
5.3 ABOUT LIBRARIES
KERAS

Keras is an open-source neural-network library written in Python. It’s


capable of running on top of TensorFlow, Microsoft Cognitive Toolkit,
Theano, or PlaidML.

28
Keras designed to enable fast experimentation with deep neural
networks, it concentrates on being user-friendly, flexible, and extensible. It
absolutely developed as a part of the research effort of project ONEIROS
(Open-ended Neuro-Electronic Intelligent Robot Operating System),and its
primary author and maintainer is François Chollet,a
Google engineer.Chollet is also the author of the XCeption deep neural
network model.

Keras contains numerous implementations of commonly used neural-


network building blocks like layers, objectives, activation functions,
optimizers, and a bunch of tools to form working with imageand text
data easier. The code is hosted on GitHub, and community support forums
include the GitHub issues page, and a Slack channel.

• In addition to usual neural networks, Keras has support for


convolutional and recurrent neural networks. It supports other
common utility layers like dropout, batch normalization, and pooling.

• Keras allows users to productize deep models on smartphones (iOS


and Android), on the web, or on the Java Virtual Machine. It also
allows use of distributed training of deep-learning models on clusters
of Graphics Processing Units (GPU) and Tensor processing units
(TPU).

NUMPY
NumPy is that the fundamental package for scientific computing of arrays
in Python with effective manner. It contains among other things:

• a powerful N-dimensional array object

29
• sophisticated (broadcasting) functions
• tools for integrating C/C++ and Fortran code
• useful linear calculus, Fourier transform, and random number
capabilities

Besides its obvious scientific uses, NumPy may also be used as an


efficient multi-dimensional container of generic data. Arbitrary data-types
may be defined. This permits NumPy to effortlessly and quickly integrate
with a wide range of databases.

30
REFERENCES
1. A. Dell'Aquila, (2004) “Application of a computer-aided image
analysis system to evaluate seed germination under different
environmental conditions”, Italian J. Agronomy, vol. 8, pp. 51-62.
2. A. Ehsanirad and Y. H. S. Kumar, (2010) “Leaf recognition for plant
classification using GLCM and PCA methods”,Oriental J. Comput.
Sci. Technol., vol. 3,no. 1, pp. 31-36.
3. A. H. Kulkarni, H. M. Rai, K. A. Jahagirdar, and P. S. Upparamani,
(2013) “A leaf recognition technique for plant classification using
RBPNN and Zernike moments”,Int. J. Adv. Res. Comput. Commun.
Eng., vol. 2, no. 1,pp. 984-988.
4. A. J. M. Timmermans and A. A. Hulzebosch,(1996) “Computer
vision system for on-line sorting of pot plants using an artificial neural
network classifier”, Comput. Electron. Agricult., vol. 15, no. 1, pp.
41-55.
5. A. J. Pérez, F. López, J. V. Benlloch, and S. Christensen,(2000)
“Color and shape analysis techniques for weed detection in cereal
fields”, Comput. Electron. Agricult., vol. 25, no. 3, pp. 197-212.
6. A. Kadir, L. Nugroho, A. Susanto, and I. P.
Santosa,(2014)“Performance improvement of leaf identification
system using principal component analysis”,Int. J. Adv. Sci.
Technol., vol. 44, pp. 113-124.

31
7. A. Olsen, S. Han, B. Calvert, P. Ridd, and O. Kenny,(2015) “In situ
leaf classification using histograms of oriented gradients,”
in Proc. Int. Conf. Digit.ImageComput., Techn. Appl. (DICTA), pp.
1-8.
8. B. S. Anami, S. S. Nandyal, and A. Govardhan,(2010) “A combined
color, texture and edge features based approach for identification and
classification of Indian medicinal plants,” Int. J. Comput. Appl., vol.
6, no. 12, pp. 45-51.
9. B. S. Bama, S. M. Valli, S. Raju, and V. A. Kumar,( 2011)“Content
based leaf image retrieval (CBLIR) using shape, color and texture
features,” Indian J. Comput. Sci. Eng., vol. 2, no. 2, pp. 202-211.
10. B. K. Yadav and V. K. Jindal,( 2011) “Monitoring milling qualityof
rice by image analysis,” Comput. Electron. Agricult., vol. 33, no. 1,
pp. 19-33.
11. C.Ananthi, A. Periasamy, and S. Muruganand,(2014)“Pattern
recognition of medicinal leaves using image processing techniques,”
J. Nano Sci. Nano Technol., vol. 2, no. 2, pp. 214-218.
12. C. A. Priya, T. Balasaravanan, and A. S. Thanamani,( 2012) “An
efficient leaf recognition algorithm for plant classification using
support vector machine,” in Proc. Int. Conf. Pattern Recognit.,
Inform. Med. Eng. (PRIME), pp. 428-432.
13. C. C. Yang, S. O. Prasher, J. A. Landry, J. Perret, and H. S.
Ramaswamy, (2000)“Recognition of weeds with image processing
and their use with fuzzy logic for precision farming,” Can. Agricult.
Eng., vol. 42, no. 4, pp. 195-200.

32
14. C. Im, H. Nishida, and T. L. Kunii,( 1998) “A hierarchical method
of recognizing plant species by leaf shapes,” in Proc. IAPR Workshop
Mach. Vis. Appl. , pp. 158-161.
15. C. V. Maheshwari,(2013)“Quality assessment of Oryzasativa SSP
indica (rice) using computer vision,” Int. J. Innov. Res. Comput.
Commun. Eng., vol. 1,no. 4, pp. 1107-1115.
16. D. S. Prasvita and Y. Herdiyeni,(2013)“MedLeaf: Mobile application
for medicinal plant identification based on leaf image,” Int. J. Adv.
Sci., Eng. Inf.Technol., vol. 3, no. 2, pp. 5-8.
17. H. Kebapci, B. Yanikoglu, and G. Unal,(2011)“Plant image retrieval
using color, shape and texture features,” Comput. J., vol. 54, no. 9,
pp. 1475-1490.
18. H. Zhang, P. Yanne, and S. Liang,(2011)“Plant species classification
using leaf shape and texture,” Amer. J. Eng. Technol. Res., vol. 11,
no. 9.
19. J. Chaki and R. Parekh,(2011)“Plant leaf recognition using shape
based features and neural network classifiers,” Int. J. Adv. Comput.
Sci. Appl., vol. 2, no. 10, pp. 41-47.
20. J. Chaki, R. Parekh, and S. Bhattacharya,(2015)“Plant leaf
recognition using texture and shape features with neural classifiers,”
Pattern Recognit. Lett.,vol. 58, pp. 61-68.
21. J. C. Neto, G. E. Meyer, D. D. Jones, and A. K. Samal,(2006) “Plant
species identification using Elliptic Fourier leaf shape analysis,”
Comput. Electron. Agricult., vol. 50, no. 2, pp. 121-134.
22. J. S. Cope, D. Corney, J. Y. Clark, P. Remagnino, and P. Wilkin,
(2012)“Plant species identification using digital morphometrics: A
review,” Expert Syst.Appl., vol. 39, no. 8, pp. 7562-7573.

33
23. M. F. Bong, G. B. Sulon, and M. S. M. Rahim,(2013)“Recognition of
leaf based on its tip and base using centroid contour gradient,”Int.
J. Comput. Sci.Issues, vol. 10, no. 2, pp. 477-482.
24. M. Pietikäinen, T. Mäenpää, and J. Viertola,(2002)“Color texture
classification with color histograms and local binary patterns,” in
Proc. Workshop Texture Anal. Mach. Vis., pp. 109-112.
25. MunishKumar,SurbhiGupta,Xiao-ZhiGao,Amitoj Singh,(2019)
“Plant Species Recognition Using Morphological Features and
Adaptive Boosting Methodology”, IEEE Access,vol. 7 , pp. 163- 170.
26.Q.-K. Man, C.-H. Zheng, X.-F.Wang, and F.-Y.
Lin,(2008)“Recognition of plant leaves using support vector
machine,” in Proc. Int. Conf. Intell. Comput., pp. 192-199.
27. S. Abbasi, F. Mokhtarian, and J. Kittler,(1997)“Reliable classification
of chrysanthemum leaves through curvature scale space,” in Proc. Int.
Conf. Scale-Space Theories Comput. Vis., vol. 1252, pp. 284-295.
28. S. Ekshinge, I. Sambhaji, and M. D. Andore,(2014)“Leaf recognition
algorithm using neural network based image processing,” Asian J.
Eng. Technol.Innov., vol. 2, no. 2, pp. 10-16.
29. S. G. Wu, F. S. Bao, E. Y. Xu, Y.-X. Wang, Y.-F. Chang, and Q.-L.
Xiang,(2007)“A leaf recognition algorithm for plant classification
using probabilistic neural network,” in Proc. IEEE Int. Symp. Signal
Process. Inf. Technol., pp. 11-16.
30. S. H. Lee, C. S. Chan, S. J. Mayo, and P. Remagnino,( 2017)“How
deep learning extracts and learns leaf features for plant classification,”
Pattern Recognit.,vol. 71, pp. 1-13.

34
31. S. Kumar,(2012)“Leaf color, area and edge features based approach
for identification of Indian medicinal plants,” Indian J. Comput. Sci.
Eng., vol. 3,no. 3, pp. 436-442.
32. Y. Freund, R. E. Schapire, and N. Abe,(1999)“A short introduction to
boosting,”J.-Jpn. Soc. Artif. Intell., vol. 14, no. 5, pp. 771-780.
33. S. Zhang, H. Wang, and W. Huang,(2017)“Two-stage plant species
recognition by local mean clustering and weighted sparse
representation classification,”ClusterComput., vol. 20, no. 2, pp.
1517-1525.
34. Z. Zulkifli,(2009) “Plant leaf identification using moment invariants
& general regression neural network,” M.S. thesis, Univ. Teknologi
Malaysia, Johor Bahru, Malaysia.

35

You might also like