Order from us for quality, customized work in due time of your choice.
Abstract
With increase in population the need for food is on rise, in such circumstances, plant diseases prove to be a major threat to agricultural produce and result in disastrous consequences for farmers. Early detection of plant disease can help in ensuring food security and controlling financial losses. The images of diseased plants can be used to identify the diseases. Classification abilities of Convolutional Neural Networks are used to obtain reliable output. Googles pretrained model Inception v3 is used. The Inception v3 model is trained over a dataset of diseased plants obtained from PlantVillageDataset. The developed detection approach is evaluated on measures of F1 score, precision and recall.
INTRODUCTION
Plant diseases are one of major reasons behind the production and economic losses in agriculture. Identifying disease correctly is a challenging task and requires expertise. Usually the diseases or its symptoms such as colored spots or streaks are seen on the leaves of a plant. In plants fungi, bacteria, and viruses are the cause of most of the diseases. The diseases caused due to these organisms are characterized by different visual symptoms that could be observed in the leaves or stem of a plant.
Deep neural networks have recently been successfully applied in many diverse domains as examples of end to end learning. The nodes in a neural network are mathematical functions that take numerical inputs from the incoming edges and provide a numerical output as an outgoing edge. Deep neural networks are simply mapping the input layer to the output layer over a series of stacked layers of nodes.
The CNN could be used in the field of agriculture for several applications. It includes detection of diseased leaf to measure the affected area by disease. Usually the diseases are identified by naked eye observation by an expert. This approach is time consuming in huge farms or land areas. The use of convolutional neural network in detection and identification of plant diseases in the earlier stages so that the quality of the product could be increased.
In order to develop such an accurate image classifier for diagnosis of plant disease, we need a large, processed and verified dataset containing various diseased and healthy plant images. PlantVillage project has collected thousands of plant images and made it open and free to use. The dataset is already processed and is available in three versions as Colored, gray scale and segmented.
LITERATURE SURVEY
In the paper Deep learning for Image-Based Plant detection [1] the authors Prasanna Mohanty et al., has proposed an approach to detect disease in plants by training a convolutional neural network. The CNN model is trained to identify healthy and diseased plants of 14 species. The model achieved an accuracy of 99.35% on test set data. When using the model on images procured from trusted online sources, the model achieves an accuracy of 31.4%, while this is better than a simple model of random selection, a more diverse set of training data can aid to increase the accuracy. Also some other variations of model or neural network training may yield higher accuracy, thus paving path for making plant disease detection easily available to everyone.
Malvika Ranjan et al. in the paper Detection and Classification of leaf disease using Artificial Neural Network proposed an approach to detect diseases in plant utilizing the captured image of the diseased leaf. Artificial Neural Network (ANN) is trained by properly choosing feature values to distinguish diseased plants and healthy samples. The ANN model achieves an accuracy of 80%.
According to paper Detection of unhealthy region of plant leaves and classification of plant leaf diseases using texture features [3] by S. Arivazhagan, disease identification process includes four main steps as follows: first, a color transformation structure is taken for the input RGB image, and then using a specific threshold value, the green pixels are identified and removed, which is followed by segmentation process, and for getting useful segments the texture statistics are computed. At last, classifier is used for the features that are extracted to classify the disease. The efficiency of the proposed algorithm is proved by using test results of about 500 plant leaves in a database.
Kulkarni et al. in the paper Applying image processing technique to detect plant diseases [4], a methodology for early and accurately plant diseases detection, using artificial neural network (ANN) and diverse image processing techniques. As the proposed approach is based on ANN classifier for classification and Gabor filter for feature extraction, it gives better results with a recognition rate of up to 91%. An ANN based classifier identifies different plant diseases and recognizes these diseases with help of colour texture and features.
In paper Plant disease detection using CNN and GAN [5], by Emaneul Cortes, an approach to detect plant disease using Generative Adversarial networks has been proposed. Background segmentation is used for ensuring proper feature extraction and output mapping. It is seen that using Gans may hold promise to classify diseases in plants, however segmenting based on background did not improve accuracy.
[bookmark: _Hlk33338675]In the paper Convolutional Neural Network based Inception v3 Model for Animal Classification [6], Jyotsna Bankar et al. have proposed use of inception v3 model in classifying animals in different species. Inception v3 can be used to classify objects as well as to categorize them, this capability of inception v3 makes it intrumental in various image classifiers.
PROPOSED METHOD
- Dataset Classification
- Building the CNN using transfer learning
- Training our Network
- Testing
Dataset Classification
Selection of proper set of images for training of model is a significant task. Centroid of each image is calculated to retrieve select images. Centroid can be calculated by use of contours.
Contour is a curve that joins all the points along the periphary of a shape. Contours can much be detected much precisely on binary images. Hence, every image has to be converted to grayscale with a threshold applied on it. findContours function can be use for this purpose. Three arguments provided to this funtion are Source image, contour retrieval mode and contour approximation method. Output of the funtion contains the images, contours and hierarchy. Output contains all contours in the image. Every contour is array of (x,y) coordinates of boundary points.
Contour Approximation Method is used to specify the coordinates to be stored. CHAIN_APPROX_NONE stores all boundary points. But all boundary points are not required. Because for finding contour of a straight line all points are not needed only two points are sufficient. CHAIN_APPROX_SIMPLE provides this kind of output by eliminating all redundant points and compressing the contour.
Having found the contours, the image moments are calculated. Image moments are used to calculate the centre of mass or the centroid of an object. The function cv2. Moments return a dictionary of all moment values. From this moments one can extract data such as centroid, area, etc. As we only need centroid of the image, it is given by the relations, here, M is the dictionary of moments.
After calculating the centroid of each image using the above method, we set a definite range for (x, y) coordinates after overlooking all the centroids. The images falling between the range are selected for further processing.
Building the CNN using transfer learning
Image identification has become feasible with the advent of Convolutional Neural Networks. But designing a CNN that identifies objects and classifies them into distinct classes is a complex task. By making use of transfer learning it can be simplified. In transfer learning we have trained our model that has been trained on Plant Village dataset using 12GB TESLA k80 GPU. Also Transfer learning significantly reduces training time and gives much better performance for relatively small dataset.
Google has released pretrained models on tensorflows official website. Inception v3 is one of such models, that is trained on ImageNet dataset and can identify 1000 classes such as television, keyboard, car and some animals. It is one of the most widely used model for image classification.
The Inception v3 network is 48 layers deep and has an input image size of 299 by 299. The network takes image as input and gives label as output. The characteristic of Inception v3 is factorization. The aim of factorizing convolutions is to reduce the number of parameters and connections while retaining the efficiency of the network.
a. Factorizing Convolutions
By means of factorizing convolutions the no. of connections and parameters are reduced to a considerable degree without adversly affecting the efficiency of the system.
Factorization can be into smaller convolutions such as, two 3 by 3 convolutions replace one 5 by 5 convolution; or assymetric convolutions such as 3 by 1 convolution followed by 1 by 3 replaces 3 by 3 convolution.
b. Auxilary classifier
In Inception-v3, auxiliary classifier is used as regularizer. Batch normalization, introduced in Inception v2, is also used in the auxiliary classifier.
c. Efficient Grid Size Reduction
Usually feature map downsizing is done by max pooling. But the approach either tends to be too greedy or too expensive. In inception v3 320 feature maps are obatined by max pooling and these are concatenated to obatin 640 feature maps. Efficient grid size reduction in Inception v3 produces inexpensive yet effective network.
Training the network
The deep convolutional model can be used to classify labels specific to the task at hand. For this the Inception v3 model is loaded. New classes to be recognised are specified and Inception v3 model is trained over different batches for certain number of epoches, thus harnessing the image classifying abilities of Inception v3 to classify diseased plants.
Retrain script is an important medium to generate custom image classifier using inception v3. It traines a new layer which performs task of classifying the custom specified classes. The script can be can be altered for parameters such as:- image_dir, intermediate_output_graphs_dir, output_graph, output_labels, ditortion feature, number of training steps(epoches), learning rate, etc.
The dataset contains labelled folders with images, the path to these folders is provided to the retrain script. A portion of these images is retained for testing.
The Inception v3 model is iteratively trained over differrent batches for certain number of epochs. Labels for each of the disease is provided to the network along with the images belonging to the label. A separate set of images is kept aside for testing. Callback functions are used to obtain statistics during model traning. Parameters such as loss, validation loss and accuracy are obtained with callbacks. We use these values to monitor the performance of the model through different epoches. Callbacks enable us to interact with the model during the training of model. Callbacks can also be used to inhibit training after a certain level of required effeciency is achieved to stop model from overfitting.
Testing
The trained model is tested on a set of images.
Random images are introduced to the network and output label is compared to the original known label of the image. Parameters used for evaluation are F1 score, precision and recall. Precision is the proportion of predicted positives that are truly positives. Recall gives the proportion of actual positives correctively classifed. F1 score helps in maintaining a balance between precision and recall.
Conclusion
This paper proposes a CNN bassed method for plant disease classification using the leaves of diseased plants. Building such a neural network with high efficiency is a complex task. Transfer learning can be employed to achieve greater efficiency . Inception v3 is one of the models available that inherently have the capability to classify images and further can be trained to identify different classes. Thus, use of Inception v3 can play key role in obtaining fast and effective plant disease identifiers. Also by dataset classification using contour method, the training set can be choosen to ensure proper training of model for all features. This provides better feature extraction than randomly classifying the dataset. Optimal results were obtained by employing the methods specified in the paper. Thus, with implementation and use of these methods for plant disease classification losses in agriculture can be reduced.
REFERENCES
- Mohanty, S. P., Hughes, D. P., & Salathé, M. (2016). Using deep learning for image-based plant disease detection. Frontiers in Plant Science, 7(September), [1419]. https://doi.org/10.3389/fpls.2016.01419
- Ser Serawork Wallelign, Mihai Polceanu, Cédric Buche. Soybean Plant Disease Identification Using Convolutional Neural Network. FLAIRS-31, May 2018, Melbourne, United States. https://hal.archives-ouvertes.fr/hal-01807760
- S.Arivazhagan, R. Newlin Shebiah, S.Ananthi, S.Vishnu Varthini. 2013. Detection of unhealthy region of plant leaves and classification of plant leaf diseases using texture features. Agric Eng Int: CIGR Journal.
- Huu Quan Cap, Katsumasa Suwa, Erika Fujita, Satoshi Kagiwada, Hiroyuki Uga, and Hitoshi Iyatomi. A deep learning approach for on-site plant leaf detection. 2018 IEEE 14th International Colloquium on Signal Processing & Its Applications (CSPA).
- Santhosh Kumar S, and B. K. Raghavendra.Diseases Detection of Various Plant Leaf Using Image Processing Techniques: A Review. 2019 5th International Conference on Advanced Computing & Communication Systems (ICACCS)
- Jyotsna Bankar, and Nitin R Gavai. Convolutional Neural Network based Inception v3 Model for Animal Classification. International Journal of Advanced Research in Computer and communication Engineering, May 2018
- Abirami Devaraj, Karunya Rathan, Sarvepalli Jaahnavi, and K Indira. Identification of Plant Disease using Image Processing Technique. 2019 International Conference on Communication and Signal Processing (ICCSP).
- Mercelin Francis, and C. Deisy. Disease Detection and Classification in Agricultural Plants Using Convolutional Neural Networks A Visual Understanding. 2019 6th International Conference on Signal Processing and Integrated Networks (SPIN).
- S. Sankaran, A. Mishra, R. Ehsani, and C. Davis, A review of advanced techniques for detecting plant diseases, Computers and Electronics in Agriculture, vol. 72, no. 1, pp. 113, 2010.
Order from us for quality, customized work in due time of your choice.