Flower Recognition using Machine Learning
In this project, I initialize my model architecture and modify its higher level
convolutional layer to learn the flower species. I do not handcraft any feature descriptor for the fusion features, but introduce convolution layers to learn the filters themselves. To incorporate species of flowers, we first train the layers CNN based on flower classes. After we trained the species layers, I test my model for the classification of the data.
I have used the dataset of 5 different flowers. Even before using Deep learning, Flower Recognition using ML has been made possible, however their accuracies were really low or they had a relatively dataset. Flower Recognition using ML is a classic pattern recognition problem for which researchers have worked since the early days of computer vision.
Implementation of Flower Recognition using ML:
Flower Recognition using ML works in stages as pre-processing, segmentation, feature extraction and recognition using neural networks. Pre-processing includes series of operations to be carried out on document image to make it ready for segmentation.
What is Neural Network:
A Convolutional Neural Network (CNN) is an information-processing paradigm that is in- spired by the way biological nervous systems, such as the brain, process information . The key element of this paradigm is the novel structure of the information processing system. It is composed of large no. of highly interconnected processing elements (neurons) working in union to solve specific problems. CNN‘s like peopling, learning by example. A CNN is configured for a specific application. such as pattern recognition or data classification, through a learning process. Learning in a Biological system involves adjustments to the synaptic connections that exist between the neurons.
Why use Neural Network:
Neural network with their remarkable ability to derive meaning from complicated or imprecise data can be used to extract patterns and detect trends that are too complex to be noticed by either humans or other computer techniques. A trained neural network can be thought of as an “expert” in the category of information it has been given to analyze. This expert can then be used to provide projections given new situations of interest and answer “what if” questions. Other Advantages Include:
Adaptive Learning: An ability to learn how to do tasks based on the data given for training or initial experience.
Self-Organization : A CNN can create its own organization or representation of the information it receives during learning time.
Convolutional Neural Networks:
Convolution — The main building block of CNN is the convolutional layer which is a mathematical operation to merge two sets of information. The convolution is applied on the input data using a convolution filter to produce a feature map. The first layer to extract features from an input image is convolution.
Striding — The number of shifts over the input image is called stride. Example- When stride is 1 then we move the filters to 1 pixel at a time.
Pooling Layer — After a convolution operation we usually perform pooling to reduce the dimensionality. This enables us to reduce the number of parameters, which in turn shortens the training time and reduces chances of overfitting.
Pooling layers down sample each feature map independently, reducing the height and width, keeping the depth intact. The most common type of pooling is max pooling which just takes the maximum value in the pooling space. Contrary to the convolution operation, pooling has no parameters. It slides a window over its input, and simply takes the maximum value in the window. The largest element from the feature map is selected by using this operation.
Functional Requirements:
The functional requirements for a system describe what system do.
- The developed system should recognize identify, segment and classify flower into its respective class.
- System must provide the quality of service to user.
Nonfunctional requirements:
Performance : Flower in the input image will be recognised with good accuracy.
Flexibility : It provides the users to load the image easily and displays the output.
Learning ability: The software is very easy to use and reduces the learning work.
Diagram:
The use case view models functionality of the system as perceived by outside uses. A use case is a coherent unit of functionality expressed as a transaction among actors and the system.
Flow Diagram:
CONTENTS
1 ) Importing Various Modules
2 ) Preparing the Data
3 ) Modelling
4 ) Evaluating the Model Performance
5 ) Visualizing Predictions on the Validation Set