Crop Disease Detection using Deep Convolutional Neural Networks

Download Full-Text PDF Cite this Publication

Text Only Version

Crop Disease Detection using Deep Convolutional Neural Networks

Nikhil Patil

Department of Information Technology Vidyalanakar Institute of Technology, Mumbai, India

Vaibhav Wankhedkar

Rajab Ali

Department of Information Technology Vidyalankar Institute of Technology, Mumbai, India

Prof. Deepali Nayak

Department of Information Technology Assist. Professor, Department of Information Technology Vidyalankar Institute of Technology; Vidyalankar Institute of Technology,

Mumbai, India Mumbai, India

Abstract The idea focuses on providing the information regarding the pesticide recommendation and the amount of pesticide to be used for an unhealthy crop. The user, who is the Farmer clicks a picture of the crop and uploads it to the server by using the android application installed in mobile or by using webpage.

After uploading the image the farmer clicks the Predict button which is displayed on screen. Then uploaded image is processed and accordingly the features of that image are extracted. Based on those features the classification of image is done using Convolutional neural network and the classes having maximum probability is selected. Then the result consisting of the disease name is retrieved. This result is then uploaded into the message table in the server and retrieved in mobile application or on the webpage where corresponding information such as pesticide name, amount of pesticide to be used and organic pesticides which are stored. Now the Farmer will be able to retrieve the complete information in a presentable format on the screen of the Application.

Keywords Pesticide, classification, Extraction, Convolutional neural Networks


In India, Agriculture is the main source of income. Farmers grows varieties of crops based on their requirement. Since the plants suffer from the disease, the production of crop decreases due to infections caused by several types of diseases on its leaf, fruit, and stem. Leaf diseases are mainly caused by bacteria, fungi, virus etc. To overcome this, diseases in leaves are classified based on the diseased leaf types using Neural Networks algorithm [1] and thus can take necessary steps in time to minimize the loss of production. In this Idea, Farmer take the picture of the leaf of crop which he has sown in his Farm. After clicking it will be uploaded on server and then uploaded image is processed and accordingly the features of that image are extracted. Based on those features the classification of image is done using Neural Networks then the result consisting of the disease name is retrieved on the screen of the phone. Based on disease name system displays the appropriate list of Fertilizers and Organic The proposed system will increase the efficiency of the crops by recommending relevant use of organic Fertilizers which will help in reduction of soil erosion so it is important to create awareness among the farmers about such system. Plant diseases have turned into a dilemma as it can cause significant

reduction in both quality and quantity of agricultural products. Plant pests and diseases affect food crops, causing significant losses to farmers and threatening food security. The spread of Trans boundary plant pests and diseases has increased dramatically in recent years. Globalization, trade and climate change, as well as reduced resilience in production systems due to decades of agricultural intensification, have all played a part. Outbreaks and upsurges can cause huge losses to crops and pastures, threatening the livelihoods of vulnerable farmers and the food and nutrition security of millions at a time. Since the beginning of agriculture, generations of farmers have been evolving practices for combating the various plagues suffered by our crops [2]. Following the discovery of the causes of plant diseases in the early twenty first century, growing understanding of the interactions of pathogen and host has enabled us to develop a wide array of measures for the control of specific plant diseases. From this accumulated knowledge base, we can distil some general principles of plant disease control that can help us address the management of new problems on whatever crop in any environment. Automatic detection of plant diseases provides benefits in monitoring large fields of crops, and thus automatically detects the diseases from the symptoms that appear on the plant leaves. This enables machine vision that is to provide image based automatic inspection from the advent Digital Image Processing many people have tried and classified diseases using many techniques. To detect the crop disease we have studied many algorithms [3], it involved an application of Convolutional Neural Networks (CNN) with a customized architecture, in the leaf disease from there leaves, including VGG Architecture [4] with 16 and 19 layers (VGG 16 and VGG 19), is proposed to classify the leaves of Tomato Plants

,infected with various diseases including Bacterial Spot, Early Blight, Late Blight, Septoria leaf spot, Spider mites, Mosaic virus, leaf mold, target spot and tomato yellow leaf curl disease. VGG Architecture, uses 3 X 3 Convolutional layers stacked on the top of each other in the manner of their depth in increasing pattern. It is found the training to a VGG 16 and VGG 19 is challenging specially in terms of Convergence on the deeper networks, so to make the training easier, first train the smaller version of VGG with less weight layers. The smaller Networks which are converged and then it is used for initialization of larger deep networks, it is known as pre- training. There are two major drawbacks of VGGNet,

  1. It is very slow to train

  2. There is a large amount of network architecture weights in terms of disk/bandwidth.

    To overcome the drawback of VGG, and to reduce the error rate ResNet comes into picture. It has an error rate of 3.57% on the ImageNet Dataset [5]. Similar to VGG, ResNet also conatins the the several layers stacked on each other. At the end of these layers network learns several low/mid/high level features. Residuals can be nothing but subtraction of feature learned from each input layer. ResNet does this by connecting nth layer to (n+x)th layer. This implies that Training of this form of network is easier than the other form of networks and also solves the problem of error rate as it decreases the error rate.


    Fig.1: Architecture of CNN

    The Architecture takes an input as an Image of which size is 100 X 100 pixels. Data Preprocessing and Data Augmentation is done to filter the image. In Data Augmentation some Noise Data is added and image is flipped so as to make it relevant.

    In the given architecture there are total five Convolution layers. In Convolution layer 1, Input shape of 100 X 100 X 3 is given which extracts the Abstract features from the image. Later on the Result of the Convolution Layer 1 is Downsampled and maxpooled. This result is given to Convolution Layer 2 which extracts more detailed features from the input shape of 49 X 49 and Depth of 32. Similarly this Input is provided to subsequent Convolutional Layers. The Dropout Layer is also added to reduce the amount of Overfitting. In Dropout some of the perceptrons are enabled which improves the overall performance. The Input from the above layers are flattened and provided to the fully connected layers where actual classification happens.

    Fig. 2: Block Diagram of CNN


    In the proposed system at first the images are acquired from the farmer. The images are received from the farmer via the Android Application or webpage devloped exclusively for the service of the farmer. The appropriate image of the leaf captured. Then image will be resized in appropriate format then it will be uploaded on server on which an algorithm is implemented using Convolutional Neural Network [1]. Every Convolutional Neural Network architecture is divided into two parts first is feature extraction and second is classification and has four main components.

    1. Convolutional operation.

    2. Max-pooling (Down sampling)

    3. ReLu (Non Linearity) [7]

    4. Classification (fully connected layer)

      As soon as image is reached to server it is processed with Algorithm here we extract the feature of image with convolutional operation by convolving the filter over image which produces the feature maps such as edges, texture, spots, holes, colour. These features maps are down sampled so that it can be passed to fully connected layer i.e. classifier after each layer we apply ReLu [7] i.e. non linearity so solve complex problem like classification. Then these maps are flattened and given to fully connected layer where it is classified into the different classes of diseases and return

      with the name of Disease which has highest probability and corresponding pesticides are send back to the application. Where it is converted into appropriate format and displayed on the screen of user.

      Fig. 3: Structure of Proposed System

      1. OUTPUTS

        Fig. 4: Screenshot of Actual Output displayed on the User Interface

        Fig. 5: Screenshot of Accuracy test


        Step 1: Data preprocessing: all the images in dataset are resized to 100×100 pixel format.

        Step 2: Data is divided into two parts 80% training set, 20% test set.

        Step 3: Data augmentation: augmentation process is applied


        Training set to rotate, resize and adding some random noise to images in order to avoid over fitting.

        Step 4: Feature extraction: Features would be extracted in

        starting layers of CNN architecture using convolutional operation.

        Step 5: Training the model: In our case we will use LeNet based architecture [9]. Once architecture is developed we will train the model with Training set features.

        Step 6: Evaluation: Accuracy of model would be evaluated with the help of Test set.

        Step 7: Tuning: If results are not satisfactory tune the model by changing the parameters of architecture such as kernel size, Nodes in last fully connected layer.

        Step 8: Store the weights: final model which has trained save it in model_name.p configuration file so that it can be used for new data.

        Step 9: Application android: application would be developed using java for android to upload images on server and display the results.

        Step 10 Server Side application: this application responsible for preprocessing the image uploaded by user and classify it based on its features and give the results in the form of JSON objects.

        Step 11: Capture image, resize image and upload to the server.

        Step 12: extract the features and evaluate with trained model.

        Step 13: Sending back the results to application. Step14: Display the results on smartphone.


        This proposed architecture of the modified CNN can be used in following applications,

        1. To Identify the Name of the Plant from the Structure of Leaf.

        2. Congestion Identification System based on snap taken from Video camera installed on Express Way.

        3. Human Pose Estimation [8].

        4. Finding Nucleus in Cell.


In this paper, we proposed Crop Disease Detection using CNN system based on Deep Learning. The described system can be efficiently used by farmers as it is gives the instant information about the crop disease. It also reduces the Outbreaks, upsurges which causes the huge losses to crops and pastures and threatening the livelihoods of vulnerable farmers. As Comparing with traditional crop disease detection system, the described system gives the accuracy rate of 89% which implies correct detection of 9

crop images from set of 10. The experimental results demonstrate the effectiveness of our proposed system and it can be used widely by Farmers to Detect the crop Disease.


The satisfaction and euphoria that accompany the successful completion of any task would be incomplete without the mention of people who made it possible because Success is the abstract of hard work and perseverance, but steadfast of all is encouraging guidance. So we acknowledge all those whose guidance and encouragement served as a beacon light and crowned our efforts with success. We would like to profoundly thank our Head of Department of Information Technology for providing such a healthy environment for the successful completion of Project Work. We would like to express our thanks to the Vice Principal Varsha Bhosale, for her encouragement that motivated us for the successful completion of Project Work. We wish to express our gratitude to our guide Prof. Deepali Nayak, Assistant Professor of Information Technology, for her help, motivation, sharing her technical expertise and providing inspiration required for taking the project to its completion. Also we would like to thank our Project coordinator Prof. Vidya Chitre, Assistant Professor, Department of Information Technology, for her constant support and guidance throughout the Project Work. We would like to thank our college administration for providing a conducive environment and also suitable facilities for this project. We thank all the teaching and non-teaching staff of the Department of Information Technology for providing resources for the completion of the project. Finally we would hereby acknowledged and thanks to our parents and friends who have been a source of inspiration and also instrumental in the successful completion of this Project.


This system considers only the leaf of the plant to detect the disease of that crop. It will be more convenient if the other parts of the crop such as roots, stem, branches etc. which increases the detection accuracy more than current one. Also image categorization will also be done to check whether the given leaf is of preferred category or not. If a model provided with input other than leaf image then also it shows some name of disease for it.


  1. Neural Networks: H.A. Rowley , Dept. of Comput. Sci., Carnegie Mellon Univ., Pittsburgh, PA, USA.

  2. Deep Residual Learning for tomato plant leaf disease identification

    Habibollah agh atabay.Department of computer, Gonbad Kavous university , Gonbad kavous Iran

  3. Identifying two of tomatoes leaf viruses using support vector machine, in: Information Systems Design and Intelligent Applications : U. Mokhtar, M.A. Ali, A.E. Hassanien, H. Hefny,

  4. Large-scale machine learning on heterogeneous distributed systems

    : M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C. Citro,

    G.S. Corrado, A. Davis, J. Dean, M. Devin.

  5. Deep Residual Learning for Image Recognition : Kaiming He,

    Xiangyu Zhang, Shaoqing Ren, Jian Sun

  6. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks : Alec Radford, Luke Metz, Soumith Chintala.

  7. Learning Activation Functions to Improve Deep Neural Networks :

    Forest Agostinelli, Matthew Hoffman, Peter Sadowski, Pierre Baldi

  8. Applications of Convolutional Neural Networks : Ashwin Bhandare, Maithili Bhide, Pranav Gokhale, Rohan Chandavarkar .

  9. Gradient basel learning applied to document recognition: Yann LeCunn, Leon Bottou, Yoshua Bengio, Patrick Haffner.

Leave a Reply

Your email address will not be published. Required fields are marked *