Main Phase-1 CHITHARA
Main Phase-1 CHITHARA
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.
7
triangles are used to represent the teeth on the contour of leaves. Features
at each hierarchy are represented statistically.
8
2.5 Leaf Recognition Algorithm Using MLP Neural Network Based
Image Processing by Ekshinge S , IpSambhaji , D. B Andore .
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%.
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).
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).
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].
14
Pros:
Cons:
Applications of K-NN
15
3.1.2 DECISION TREE
Info(D) = - ∑i=1
m p log p
i 2 i
16
V
|Dj|
InfoA (D) = ∑ |D|
X Info(Dj)
j=1
Where,
|Dj|
• acts as the weight of the j-th partition.
|D|
17
Fig 2 : 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.
Cons:
18
3.1.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].
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.
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
• 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.
Benefits of Colab
• It supports Python 2 and Python 3 with free GPU and TPU acceleration
25
aside from a browser and also easy integration of all of Google services
like Drive , Docs, Sheets,etc.,
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
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.
• JupyterLab
• Jupyter Notebook
• QTConsole
• Spyder
• VSCode
Jupyter Notebook
PYTHON
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:
• Interpreted
• Platform Independent
• Free and open source, Redistributable
• Embeddable
• Robust
• Rich Library support
5.3 ABOUT LIBRARIES
KERAS
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.
NUMPY
NumPy is that the fundamental package for scientific computing of arrays
in Python with effective manner. It contains among other things:
29
• sophisticated (broadcasting) functions
• tools for integrating C/C++ and Fortran code
• useful linear calculus, Fourier transform, and random number
capabilities
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