PLANT LEAF IMAGE RECOGNITION SYSTEM

: Plants play a vital role in our day-to-day life. Hence, a good understanding of plants is needed to help in identifying new or rare plant species. Such identification will in turn improve the drug industry, balance the ecosystem as well as the agricultural productivity and sustainability. We often come across various plants with different variety of leaves and flowers every single day. We try to recognize it, but we fail. So we need some system which can tell us about the leaf/flower instantly. So, to solve such problems, we introduce a plant recognition system (PRS) which tells you the details about a leaf by just uploading the image of the leaf. For this system, we use image processing and some identification techniques which can recognize the leaf by its structure, colour, shape etc and fetch the details about it and provide the details of it to the user. This paper gives a understanding about the different methods used under image processing and various methods and algorithm used to identify that leaf in a short and simple way. Object recognition and detection are techniques with similar end results and implementation approaches. Therefore, it requires heavy pre-processing and implements various processes to obtain the end results. identification of plants on leaf features a methodology of characterizing and recognizing plant leaves using a combination of texture and shape features. Texture of the leaf modelled using Gabor filter and grey level co-occurrence matrix (GLCM) while shape of the leaf captured using a set of curve let transform coefficients together with invariant moments. these in general sensitive to the orientation and scaling of the leaf image, a pre-processing stage prior to feature extraction is applied to make for rotation and scaling factor


INTRODUCTION:
It is important to know about the various species of plants which come across every day in our life. They play a vital role in our life and it's our responsibility to plant more trees and grow them. It is essential to know about the plants, its different species etc. So, therefore this paper presents a system which can identify the plants by just uploading its leaf images. When a user uploads an image of a leaf, the system tells the user about the plant. The main objectives of creating such a system are to identify the plants by uploading its image and getting to know about its different features, fast recognition of a plant. Also, such identification can help to improve the drug industry too. Also, it can perform a role in balancing the ecosystem as well as the agricultural productivity and sustainability. In addition to this, this paper can also be a good search for the researchers who want to work on identication systems using open CV, image processing etc.
Talking about the project implementation and different techniques used to construct the model, firstly, the language used for this project is python and implemented in Jupyter notebook. Jupyter notebooks are one the best platform for implementation of python projects. For working on any project like this, we need to collect the data and preprocess that data. Now, considering this project, after taking the leaves dataset, the images need to preprocess. Preprocessing further includes different steps such as conversion of RGB to Grayscale, smoothing of the image, closing of holes, boundary extraction using contours, etc. After pre-processing we need to move further towards feature extraction and model building. Also, after model building, model testing is one of the crucial parts of the project which needs to be implemented. So therefore, in short, this paper introduces to the different steps to construct such a plant recognition system and gives a brief idea about the system which can be further used.

LITERATURE SURVEY:
This paper explains about the different digital image processing techniques to detect, quantify and classify the plant diseases from digital images in visible spectrum. Only the methods that can the visible symptoms in were considered. Therefore the paper has the potential to be useful for the researchers working on vegetable pathology and pattern recognition [1].
In this paper, the author employ probabilistic neural network (PNN) with image and data processing techniques to implement general purpose automated leaf recognition for plant classification. 12 leaf features are extracted and orthogonal into 5 principal variables which consist the input vector of the PNN. The PNN is trained by 1800 leaves to classify 32 kinds of plants with accuracy greater than 90%.
Compared with other approaches, our algorithm is an accurate artificial intelligence approach which is fast in execution and easy in implementation [2].
The identification of plant diseases is the key to preventing the losses in the yield and quantity of the agricultural product. The studies of the plant diseases mean the studies of visually observable patterns seen on the plant. Health monitoring and disease detection on plant is very critical for sustainable agriculture. This paper discussed the methods used for the detection of plant diseases using their leaves images. This paper also discussed some segmentation and feature extraction algorithm used in the plant disease detection [3].
Recognition of plants has become an active area of research as most of the plant species are at the risk of extinction. This paper uses an efficient machine learning approach for the classification purpose. This proposed approach consists of three phases such as preprocessing, feature extraction and classification. The pre-processing phase involves a typical image processing steps such as transforming to grey scale and boundary enhancement. The feature extraction phase derives the common DMF from five fundamental features. The main contribution of this approach is the Support Vector Machine (SVM) classification for efficient leaf recognition. 12 leaf features which are extracted and orthogonalized into 5 principal variables are given as input vector to the SVM. Classifier tested with Flavia dataset and a real dataset and compared with k-NN approach, the proposed approach produces very high accuracy and takes very less execution time [4].
Agricultural productivity is something on which economy highly depends. This is the one of the reasons that disease detection in plants plays an important role in agriculture field, as having disease in plants are quite natural. If proper care is not taken in this area then it causes serious effects on plants and due to which respective product quality, quantity or productivity is affected. Detection of plant disease through some automatic technique is beneficial as it reduces a large work of monitoring in big farms of crops, and at very early stage itself it detects the symptoms of diseases. This paper presents an algorithm for image segmentation technique which is used for automatic detection and classification of plant leaf diseases. It also covers survey on different diseases classification techniques that can be used for plant leaf disease detection [5].
Plant identification based on leaf is becoming one of the most interesting and a popular trend. Each leaf carries unique information that can be used in the identification of plants. In the identification of plants based on leaf, the leaf images needs to be preprocessed accordingly to extract the various critical features. In this paper, we present the identification of plants based on leaf features using Multiclass SVM (MSVM) as a classifier [6].
This paper proposes a novel methodology of characterizing and recognizing plant leaves using a combination of texture and shape features. Texture of the leaf is modelled using Gabor filter and grey level co-occurrence matrix (GLCM) while shape of the leaf is captured using a set of curve let transform coefficients together with invariant moments. Since these features are in general sensitive to the orientation and scaling of the leaf image, a pre-processing stage prior to feature extraction is applied to make corrections for varying translation, rotation and scaling factor [7].
In this paper, we propose and implement a leaf recognition system using the leaf vein and shape that can be used for plant classification. The proposed approach uses major main vein and frequency domain data by using Fast Fourier Transform (hereinafter, FFT) methods with distance between contour and centroid on the detected leaf image. Total 21 leaf features were extracted for the leaf recognition [8].
Plant recognition is an important and challenging task. Leaf recognition plays an important role in plant recognition and its key issue lies in whether selected features are stable and have good ability to discriminate different kinds of leaves. From the view of plant leaf morphology (such as shape, dent, margin, vein and so on), domain-related visual features of plant leaf are analysed and extracted first. On such a basis, an approach for recognizing plant leaf using artificial neural network is brought forward. The prototype system has been implemented. Experiment results prove the effectiveness and superiority of this method [9].
In this paper, RSC features have been proposed and extracted from leaf images and use SVM classifier to implement an automated leaf recognition system for plant leaf identication and classification. Automatic plant species identification and classification is helpful in biology, forest and agriculture to study and discover new species in plant in botanical gardens and is also used to recognize the medical plants to prepare herbal medicines [10].

DATA SET COLLECTION:
The dataset collected used for this project is of Flavia leaves dataset. The Flavia leaves dataset a standard leaves dataset which is available for everyone to download.

PROJECT WORKFLOW:
To classify and recognize the image of leaf, there are certain steps to be followed in the project to train the system to recognize that particular image. In this project too, certain steps have been followed to train the system with recognizing power. Therefore, this project mainly follows three basic steps; Pre-processing, Feature extraction and the Model Building.

PROPOSED SYSTEM:
For working on any project like this, we need to collect the data and preprocess that data. Now, considering this project, after taking the leaves dataset, the images need to preprocess. Preprocessing further includes different steps such as conversion of RGB to Grayscale, smoothing of the image, closing of holes, boundary extraction using contours, etc. After pre-processing we need to move further towards feature extraction and model building. Also, after model building, model testing is one of the crucial parts of the project which needs to be implemented. So therefore, in short, this paper introduces to the different steps to construct such a plant recognition system and gives a brief idea about the system which can be further used.

(i.) Preprocessing:
In this working of the system, the preprocessing includes main five steps: (a.) Converting the RGB image to Grey scale: To extract proper features from the image, we need to smooth the image and to reduce the noise from the image, we have used the gaussian filter technique. Gaussian filter basically blurs the image to reduce the noise. The gaussian filter will alone blur edges and reduces contrast.
(c.) Adaptive image thresholding using Otsu's thresholding method: So now, after performing different pre-processing techniques, the next step comes towards extracting features based on the leaf shape. The shape features includes its physiological length, physiological width, area, perimeter, aspect ratio, rectangularity, circularity.  After calculating the shape based features and colour based features, the text based features includes calculating the contrast, correlation, inverse difference moments, entropy.

(iii.) Model Building and Model Testing:
For model building purpose, the algorithm used is the SVM classifier. It is a supervised machine learning algorithm which can be used for both classification and regression challenges. However, it is mostly used in classification problems. In the SVM algorithm, we plot each data item as a point in n-dimensional space (where n is number of features you have) with the value of each feature being the value of a particular coordinate. Then, we perform classification by finding the hyper-plane that differentiates the two classes very well. Features were then scaled using Standard Scaler. Also parameter tuning was done to find the appropriate hyper parameters of the model using Grid Search CV. After receiving this kind of output, we can easily determine that which kind of leaf it is. After performing all kind of preprocessing techniques, the feature extraction, model building and testing, the leaf obtained as above, we can create a simple GUI with some data stored with images. And as this image is obtained by performing these heavy techniques, it can easily retrieve the data stored and identify the leaf and can give the obtained results. As this project is just built at a small level, but can be a big one if it is to be applied in the industry.