Med - Leaf - Full Report
Med - Leaf - Full Report
Med - Leaf - Full Report
Abstract
Acknowledgement
Table of Contents
Table of Figures
CHAPTER 1: INTRODUCTION
1.1 Overview
1.2 Objectives
1.3 Purpose, Scope, and Applicability
1.3.1 Purpose
1.3.2 Scope
1.3.3 Applicability
1.4 Organization of Report
CHAPTER 2: LITERATURE SURVEY
2.1. Introduction
2.2. Summary of papers
2.3. Drawbacks of Existing System
2.4. Problem Statement
2.5. Proposed Solution
CHAPTER 3: REQUIREMENT
ENGINEERING
3.1Software and Hardware Tools Used
3.2Conceptual/ Analysis Modeling
3.2.1 Use case diagram
3.2.2 Sequence diagram
3.2.3 Activity diagram
3.2.4 State chart Diagram
3.3 Software Requirements Specification
CHAPTER 4: PROJECT PLANNING
4.1Project Planning and Scheduling
REFERENCES
Abstract
The proposed system helps in identification of plant disease and provides remedies that can be used as a defense mechanism against the disease. The database
obtained from the Internet is properly segregated and the different plant species are identified and are renamed to form a proper database then obtain test-database which
consists of various plant diseases that are used for checking the accuracy and confidence level of the project .Then using training data we will train our classifier and then
output will be predicted with optimum accuracy . We use Convolution Neural Network(CNN) which comprises of different layers which are used for prediction. A
prototype drone model is also designed which can be used for live coverage of large agricultural fields to which a high resolution camera is attached and will capture
images of the plants which will act as input for the software, based of which the software will tell us whether the plant is healthy or not. With our code and training model
we have achieved an accuracy level of 78% .Our software gives us the name of the plant species with its confidence level and also the remedy that can be taken as a cure.
Chapter 1: Introduction
Ayurveda is the ancient Indian system healing using medicinal plants available naturally in the Indian subcontinent, also called as the mother of healing arts.
History says, Ayurveda originated more than 5,000 years ago and was developed by ancient Indian sages like, Charka, Sushruta and Vaghbhata [25].AcharyaCharaka has
said that all herbs on the earth contains medicinal values, curing the diseases and also teaches us how to balance of our body, sense of organs, mind and soul. According to
World Health Organization (WHO), 65% to 80% of world population currently uses medicinal plants as remedies for various diseases [12]. Because of environmental
factors and lack of awareness about medicinal plants in human beings, plants are becoming extinct and rare. Botanist identifies the medicinal plants based on biological
characteristics. This is lengthy process and consumes more time to identify plants species because one plant may have a similar kind of morphological features with another
plant. Incorrect identification will create a bad impression about Ayurvedic medicines and produce unexpected side effects in human beings. It is difficult for a person to
remember names of every medicinal plant hence it is very much essential to build an automatic identification and classification system for greater benefit. The purpose of
automatic identification and classification of medicinal plants is to educate and provide correct knowledge to common people and farmers, which will help to increase the
cultivation of medicinal plants. This system also provides medicinal information details and species database to the suppliers, agents, pharmacy students, pharmaceutical
companies, research students, Ayurveda practitioners, herbal plant researchers, botanists and to the cosmetic industry. Plants are identified based on leaves, flowers, bark,
seed, fruits, roots, stem and other parameters like height, region of its growth and environmental factors. For identification of plants many authors consider only leaves of
the plants, because leaves are of two- dimensional nature and are available at all the time [26]. But less research is done in identification of medicinal plants using flower
and fruits/seeds because they are three-dimensional in nature and available only in specific seasons. This paper will give brief review about medicinal plants identification
and classification using different technologies used in preprocessing, feature extraction and classification phases. Following section will explain the related work of
medicinal plants identification and classification using image reprocessing techniques, machine learning techniques and computer vision.
Overview:
Flora recognition is an intelligent system which has an ability to identify the plant species from the photographs and provide the medicinal information along
with the diseases that can be cured by the plants within no matter of seconds.
Objectives:
The project aims at designing an automated system for flora Identification that helps in providing medicinal knowledge to common people.
The objective of this project is to reduce manual work and increase the efficiency by the automatic identification of medicinal plants using image processing techniques.
This helps in identification of which part of the plant has medicinal value for which disease this medicine is going to be used.
Purpose:
MedLeaf - a mobile application for medicinal plant identification based on leaf image.
The application consists of two main functionalities, i.e. medicinal plant identification and
recognition system that use technology of image processing, computer vision and intelligent
information processing techniques. They used Local Binary Pattern to extract leaf texture and
Probabilistic Neural Network to classify the image. Now, we have been developed MedLeaf
using combinations of leaf features such as shape, color and texture. MedLeaf will help
botanical garden or natural reserve park management to discover new plant species, plant
taxonomy, exotic plant detection, edible/poisonous plant identification and so on. Also, it will
help individual, groups and communities to find unused and undeveloped their skill to
optimize the potential of medicinal plants. As the results, it will increase of their resources,
Scope:
Applicability:
Proposed system takes plant as an input and classifies it based on leaf and flowers.
This system includes the diseases that can be cured by the respective plants along with
Organisation of Report:
Chapter 1 : This chapter givesthe introduction about Medicinal Plants,aim,objective, problem statement and problem solution for the project.
Chapter 3 : This chapter tells the methods used to implement the project.
Chapter 4 : This chapter tells about how the project can be implemented.
Chapter 2:
LITERATURE SURVEY
. obile Application For ication is based on will help botanical garden only on android
detection,
edible/poisonous plant
communities to find
potential of medicinal
plants
Medicinal Plants using laboratory setup. obtained from the random plants and less
techniques
. n of Ayurvedic ication of medicinal sufficient for building apps only leaf as an input.
medicinal Plants from plants based on leaf. for real life use.
Leaves:A computer
Vision Approach
4 Fully Thi-Lan Le, Duc-Tuan Tran, Van-Nam Among This Even the
. automatic leaf-based Hoang different parts of the application provides both improved KDES
plant identification, plant, leaf is widely search modalities: text- obtains the best result
application for used for plant based and image-based. this descriptor is
available in botanical
reference collections
studies.
CHAPTER 3:
REQUIREMENT ENGINEERING
HARDWARE:
System : Pentium IV 2.4 GHz, intel i3/i4/i5.
Hard Disk : 500GB min.
Ram : 4 GB min
SOFTWARE:
Functional Requirements:
for every program and then documented as program specifications. For every program, a unit test plan is created.
The DFD is also called as bubble chart. It is a simple graphical formalism that can be used to represent a system in terms of input data to the system, various processing
carried out on this data, and the output data is generated by this system.
The data flow diagram (DFD) is one of the most important modeling tools. It is used to model the system components. These components are the system process, the data
used by the process, an external entity that interacts with the system and the information flows in the system.
DFD shows how the information moves through the system and how it is modified by a series of transformations. It is a graphical technique that depicts information flow
and the transformations that are applied as data moves from input to output.
DFD is also known as bubble chart. A DFD may be used to represent a system at any level of abstraction. DFD may be partitioned into levels that represent increasing
DFD DIAGRAM:
Sequence Diagram:
A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram that shows how processes operate with one another and in what
order. It is a construct of a Message Sequence Chart. Sequence diagrams are sometimes called event diagrams, event scenarios, and timing diagrams.
Activity Diagram:
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the
Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system. An activity
The class diagram is the main building block of object-oriented modeling. It is used for general conceptual modeling of the structure of the application, and for
detailed modeling translating the models into programming code. Class diagrams can also be used for data modeling.
Chapter 4:
PROJECT PLANNING
System Architecture
Algorithm Design
detections, recognition faces etc., are some of the areas where CNNs are widely used.
CNN image classifications takes an input image, process it and classify it under certain categories (Eg., Dog, Cat, Tiger, Lion). Computers sees an input image
as array of pixels and it depends on the image resolution. Based on the image resolution, it will see h x w x d( h = Height, w = Width, d = Dimension ). Eg., An image of 6
x 6 x 3 array of matrix of RGB (3 refers to RGB values) and an image of 4 x 4 x 1 array of matrix of grayscale image.
Figure 1 : Array of RGB Matrix
Technically, deep learning CNN models to train and test, each input image will pass it through a series of convolution layers with filters (Kernals), Pooling,
fully connected layers (FC) and apply Softmax function to classify an object with probabilistic values between 0 and 1. The below figure is acomplete flow of CNN to
Convolution Layer
Convolution is the first layer to extract features from an input image. Convolution preserves the relationship between pixels by learning image features using
small squares of input data. It is a mathematical operation that takes two inputs such as image matrix and a filter or kernel.
Consider a 5 x 5 whose image pixel values are 0, 1 and filter matrix 3 x 3 as shown in below
Figure 4: Image matrix multiplies kernel or filter matrix
Then the convolution of 5 x 5 image matrix multiplies with 3 x 3 filter matrix which is called “Feature Map” as output shown in below
Convolution of an image with different filters can perform operations such as edge detection, blur and sharpen by applying filters. The below example shows
Strides
Stride is the number of pixels shifts over the input matrix. When the stride is 1 then we move the filters to 1 pixel at a time. When the stride is 2 then we move
the filters to 2 pixels at a time and so on. The below figure shows convolution would work with a stride of 2.
Figure 6 : Stride of 2 pixels
Padding
Sometimes filter does not fit perfectly fit the input image. We have two options:
Drop the part of the image where the filter did not fit. This is called valid padding which keeps only valid part of the image.
ReLU stands for Rectified Linear Unit for a non-linear operation. The output is ƒ(x) = max(0,x).
Why ReLU is important :ReLU’s purpose is to introduce non-linearity in our ConvNet. Since, the real world data would want our ConvNet to learn would be
There are other non linear functions such as tanh or sigmoid that can also be used instead of ReLU. Most of the data scientists use ReLU since performance
Pooling Layer
Pooling layers section would reduce the number of parameters when the images are too large. Spatial pooling also called subsampling or downsampling which
reduces the dimensionality of each map but retains important information. Spatial pooling can be of different types:
Max Pooling
Average Pooling
Sum Pooling
Max pooling takes the largest element from the rectified feature map. Taking the largest element could also take the average pooling. Sum of all elements in
The layer we call as FC layer, we flattened our matrix into vector and feed it into a fully connected layer like a neural network.
Figure 9 : After pooling layer, flattened as FC layer
In the above diagram, the feature map matrix will be converted as vector (x1, x2, x3, …). With the fully connected layers, we combined these features together
to create a model. Finally, we have an activation function such as softmax or sigmoid to classify the outputs as cat, dog, car, truck etc.,
Figure 10 : Complete CNN architecture
Choose parameters, apply filters with strides, padding if requires. Perform convolution on the image and apply ReLU activation to the matrix.
Flatten the output and feed into a fully connected layer (FC Layer)
Output the class using an activation function (Logistic Regression with cost functions) and classifies images.
Chapter 9
Testing
Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not.
Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.
Testing Principle
Before applying methods to design effective test cases, a software engineer must understand the basic principle that guides software testing. All the
Testing Methods
There are different methods that can be used for software testing. They are,
1. Black-Box Testing
The technique of testing without having any knowledge of the interior workings of the application is called black-box testing. The tester is
oblivious to the system architecture and does not have access to the source code. Typically, while performing a black-box test, a tester will
interact with the system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon.
2. White-Box Testing
White-box testing is the detailed investigation of internal logic and structure of the code. White-box testing is also called glass testing or open-
box testing. In order to perform white-box testing on an application, a tester needs to know the internal workings of the code. The tester needs to
have a look inside the source code and find out which unit/chunk of the code is behaving inappropriately.
Levels of Testing
There are different levels during the process of testing. Levels of testing include different methodologies that can be used while conducting
Functional Testing:
This is a type of black-box testing that is based on the specifications of the software that is to be tested. The application is tested by providing
input and then the results are examined that need to conform to the functionality it was intended for. Functional testing of software is conducted
on a complete, integrated system to evaluate the system's compliance with its specified requirements. There are five steps that are involved while
The determination of the functionality that the intended application is meant to perform.
The creation of test data based on the specifications of the application.
The output based on the test data and the specifications of the application.
The writing of test scenarios and the execution of test cases.
The comparison of actual and expected results based on the executed test cases.
Non-functional Testing
This section is based upon testing an application from its non-functional attributes. Non-functional testing involves testing software from the
requirements which are non-functional in nature but important such as performance, security, user interface, etc. Testing can be done in different
levels of SDLC. Few of them are
Unit Testing
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and
independently scrutinized for proper operation. Unit testing is often automated but it can also be done manually. The goal of unit testing is to
isolate each part of the program and show that individual parts are correct in terms of requirements and functionality. Test cases and results are
Development is faster.
The cost of fixing a defect detected during unit testing is lesser in comparison to that of defects detected at higher levels.
Debugging is easy.
Unit testing:
upload successful
Actual output: -
Remarks: - Pass.
Integration Testing:
Integration testing is a level of software testing where individual units are combined and tested as a group. The purpose of this level of testing is
to expose faults in the interaction between integrated units. Test drivers and test stubs are used to assist in Integration Testing. Integration testing
is defined as the testing of combined parts of an application to determine if they function correctly. It occurs after unit testing and before
validation testing. Integration testing can be done in two ways: Bottom-up integration testing and Top-down integration testing.
1. Bottom-up Integration
This testing begins with unit testing, followed by tests of progressively higher-level combinations of units called modules or builds.
2. Top-down Integration
In this testing, the highest-level modules are tested first and progressively, lower-level modules are tested thereafter.
In a comprehensive software development environment, bottom-up testing is usually done first, followed by top-down testing. The process
concludes with multiple tests of the complete application, preferably in scenarios designed to mimic actual situations. Table 8.3.2 shows the test
Item being tested: - Selecting different images and verifying names of Leaf and its characteristics
Remarks: - Pass.
System testing:
System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its
specified requirements. System testing falls within the scope of black-box testing, and as such, should require no knowledge of the inner design
of the code or logic. System testing is important because of the following reasons:
System testing is the first step in the Software Development Life Cycle, where the application is tested as a whole.
The application is tested thoroughly to verify that it meets the functional and technical specifications.
The application is tested in an environment that is very close to the production environment where the application will be deployed.
System testing enables us to test, verify, and validate both the business requirements as well as the application architecture.
Remarks: - Pass
CHAPTER 6:
APPLICATIONS & CONCLUSION
Our work is to enhance the research in identification and classification of medicinal plants as herbs, shrubs and trees using flowers and fruits/seeds
features including leaf.
Automatic identification and classification of medicinal plants will provide medicinal knowledge to common people and farmers which help in
increasing production of such essential plants.
This automatic classification system also helps botanists, consumers, forestry services, taxonomists, pharmaceutical companies and Ayurveda
practioners to identify and classify the medicinal plants without any human assistance.
REFERENCES
[1] Manojkumar P., Surya C. M., and Varun P. Gopi, “Identification of Ayurvedic Medicinal Plants by Image Processing of Leaf Samples”, 2017 Third
International Conference on Research in Computational Intelligence and Communication Networks (ICRCICN), pp 978- 1- 5386-1931-5.
[2] Mr. K.Nithiyanandhan and Prof.T.Bhaskara Reddy, “Analysis of the Medicinal Leaves by using Image Processing Tech niques and ANN”, Vol 8, No. 5,
Learning Techniques”, International Journal of Advanced Computer Science and Applications, Vol. 8, No. 4, 2017.
[4] H. X. Kan, L. Jin, and F. L. Zhou,” Classification of Medicinal Plant Leaf Image Based on Multi-Feature Extraction”, Pattern Recognition and Image
Analysis, Vol. 27, No. 3, 2017, pp. 581–587, 1054-6618. © Pleiades Publishing, Ltd.
[5] Riddhi H. Shaparia, Dr. Narendra M. Patel and Prof. Zankhana H. Shah,” Flower Classification using Texture and Color Features”, International
Conference on Research and Innovations in Science, Engineering &Technology, Volume 2, 2017, Pages 113–118.
[6] Marco Seeland, Michael Rzanny, NedalAlaqraa, Jana Wa ¨ldchen, Patrick Ma ¨der, “Plant species classification using flower images—A comparative
study of local feature representations”, PLOS ONE | DOI:10.1371/journal.pone.0170629 February 24, 2017.
[7] PradeepkumarChoudhary, Rahul Khandekar, AakashBorkar, and PunitChotaliya, “Image processing algorithm for fruit identification”, International
Research Journal of Engineering and Technology (IRJET), Vol 4 Issue 3, e-ISSN: 2395 -0056, p-ISSN: 2395- 0072, Mar -2017.
[8] D Venkataraman and Mangayarkarasi N, “Computer Vision Based Feature Extraction of Leaves for Identification of Medicinal Values of Plants”, IEEE
International Conference on Computational Intelligence and Computing Research, 978-1-5090-0612-0/16/$31.00 ©2016 IEEE