0% found this document useful (0 votes)
8 views

Final Doc Merged (1)

The project report titled 'Plant Disease Detection Using Machine Learning' presents a system that utilizes Convolutional Neural Networks (CNN) for accurate and real-time identification of plant diseases to enhance agricultural productivity. The methodology involves advanced machine learning techniques and aims to overcome limitations of current methods by providing insights for better disease management. The report outlines the project's objectives, implementation details, and future development plans to expand the dataset and refine algorithms.

Uploaded by

smanasa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Final Doc Merged (1)

The project report titled 'Plant Disease Detection Using Machine Learning' presents a system that utilizes Convolutional Neural Networks (CNN) for accurate and real-time identification of plant diseases to enhance agricultural productivity. The methodology involves advanced machine learning techniques and aims to overcome limitations of current methods by providing insights for better disease management. The report outlines the project's objectives, implementation details, and future development plans to expand the dataset and refine algorithms.

Uploaded by

smanasa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 72

A project report on

PLANT DISEASE DETECTION USING MACHINE


LEARNING
Submitted in partial fulfilment of the requirements for award of the degree of

BACHELOR OF TECHNOLOGY

In

COMPUTER SCIENCE & ENGINEERING


By

D. Bhaskar
(21U41A0507)

A. Tarun P. Hemakash R. Ganesh


(21U41A0501) (21U41A0539) (21U41A05A1)

Under the Esteemed guidance of


Mrs. S. Venkata Lakshmi
Assistant Professor
Department of Computer Science & Engineering

DEPARTMENT OF Computer Science & Engineering


DADI INSTITUTE OF ENGINEERING & TECHNOLOGY
AN AUTONOMOUS INSTITUTE
(Approved by A.I.C.T.E., Permanently Affiliated to JNTU GV)
Accredited by NAAC with ‘A’ Grade and Inclusion u/s 2(f) & 12(B) of UGC Act
An ISO 9001:2015, ISO 14001:2015 & ISO 45001:2018 Certified Institute.
NH-16, Anakapalle – 531002, Visakhapatnam, A.P.

(2021-2025)

I
VII
DEPARTMENT OF

Computer Science & Engineering

CERTIFICATE
. This is to certify that the project report entitled “PLANT DISEASE DETECTION USING
MACHINE LEARNING” submitted by D. Bhaskar (21U41A0507), A. Tarun
(21U41A0501), P.Hemakash(21U41A0539), R. Ganesh (21U41A05A1). In partial fulfilment of the
requirements for award of the Degree of Bachelor of Technology in Computer Science &
Engineering, from Dadi Institute of Engineering & Technology(A), Anakapalle affiliated to
JNTUGV, accredited by NAAC with 'A' grade is a record of bonafide work carried out by them under
my guidance and supervision

PROJECT GUIDE HEAD OF THE DEPARTMENT

EXTERNAL EXAMINER

II
VII
ACKNOWLEDGEMENT

We would like to express our gratitude to our project guide, Mrs.S.Venkata lakshmi, Assistant
Professor of the Computer Science & Engineering, for her guidance and assistance
throughout the development of this project. Without her supervision, support, and
encouragement, we would not have gained awareness of many new things during our project.

We convey our heartfelt thanks to Dr.K.Sujatha, Professor & Head of the Department of
Computer Science & Engineering, for motivating us to successfully complete the project.

We would like to thank Principal Dr. R. Vaikunta Rao, Dadi Institute of Engineering &
Technology, for providing the necessary facilities to carry out our project work successfully.

We express our gratitude to the Teaching and Non-teaching Staff of the Department of
Computer Science & Engineering, who have been directly and indirectly involved in this
journey, for their encouragement in completing our project.

We would like express our deep sense of gratitude to Honorable Chairman, Sri Dadi
Ratnakar, of Dadi Institute of Engineering & Technology, for providing necessary facilities to
carry out our project work successfully.

Endeavors over a long period can also be successful through constant effort and encouragement.
We wish to take this opportunity to express our deep gratitude to all the people who have
extended their cooperation in various ways during our project. It is our pleasure to acknowledge
the help of all those respected individuals.

PROJECT ASSOCIATES

D. Bhaskar (21U41A0507)
A. Tarun (21U41A0501)
P. Hemakash (21U41A0539)
R. Ganesh (21U41A05A1)

III
VII
DECLARATION

We hereby declare that the project entitled “PLANT DISEASE DETECTION USING
MACHINE LEARNING” is submitted in partial fulfillment of the requirements for the award
of Bachelor of Technology in Computer Science & Engineering under esteemed supervision of
Mrs.S.Venkata lakshmi, Assistant Professor. This is a record of work carried out by us and
results embodied in this project report have not been submitted to any other university for the
award of any Degree.

PROJECT ASSOCIATES

D. Bhaskar (21U41A0507)
A. Tarun (21U41A0501)
P. Hemakash (21U41A0539)
R. Ganesh (21U41A05A1)

IV
VII
ABSTRACT

A good diagnosis of plant diseases is necessary to increase agricultural productivity and ensure
sustainable food production. The recent revolution in smart access models and computer vision
has created an opportunity for image classification in agriculture. Current methods often struggle
with limited accuracy, scalability and adaptability to plant species and environmental conditions.
This project proposes a new plant disease detection system that addresses these issues using a
combination of plant image sets and advanced machine learning techniques. Our system uses
convolutional neural networks (CNN) to achieve high accuracy in disease classification and
provides real-time processing and image recognition. This methodology includes the use of
Python for interpretation, model architecture for synthesis, and advanced algorithms for better
search. Future development will focus on expanding the data set and refining the algorithms to
cover a variety of plants and conditions. The proposed system is designed to provide insights to
farmers, to improve disease management and crop health. By overcoming the limitations of
today's systems.

Keywords: Plant Disease, TensorFlow, CNN (Convolutional Neural Network) Algorithm,


Machine Learning

V
VII
TABLE OF CONTENTS

1 INTRODUCTION

2 LITERATURE REVIEW

3 SYSTEM ANALYSIS

4 SYSTEM DESIGN

5 IMPLEMENTATION

6 TESTING

7 RESULTS

8 CONCLUSION

9 FUTURE SCOPE

10 REFERENCES

11 APPENDIX

VI
VII
LIST OF CONTENTS

ABSTRACT V
LIST OF FIGURES IX
LIST OF SYMBOLS, ABBREVIATIONS AND NOMENCLATURE X
1 INTRODUCTION 12-18
1.1 OVERVIEW OF NEURAL NETWROKS
1.2 WHY NEURAL NETWORK
1.3 CLASSIFICATION
1.4 CLUSTERING
1.5 ELEMENTS OF NEURAL NETWORK
1.6 KEY CONCEPTS OF NEURAL NETWORK
1.7 IMAGE PROCESSING IN PLANT DISEASE DETECTION
1.8 TYPES OF PLANT DISEASES CONSIDERED
1.9 OVERVIEW OF PLANT DISEASE DETECTION USING CNNS

2 LITERATURE SURVEY 20-22


3 SYSTEM ANALYSIS 24-28
3.1 PROBLEM DEFINITION
3.2 PROPOSED SYSTEM
3.3 ADVANATAGES OF PROPOSED SYSTEM
3.4 REQUIREMENTS
3.4.1 FUNCTIONAL REQUIREMENTS
3.4.2 NON-FUNCTIONAL REQUIREMENTS
3.4.3 HARDWARE REQUIREMENTS
3.4.4 SOFTWARE REQUIREMENTS
3.5 ISSUES IN EXISTING METHODOLOGY

3.6 NEW METHODOLOGY


4 SYSTEM DESIGN 30 - 35
4.1 ALGORITHM
4.2 MODULES
4.3 UNIFIED MODELING LANGUAGE

4.3.1 USE CASE DIAGRAM

4.3.2 ACTIVITY DIAGRAM

VII
VII
4.3.3 SEQUENCE DIAGRAM
4.3.4 CLASS DIAGRAM
5 IMPLEMENTATION 37-40

5.1 CNN MODEL FOR PLANT DISEASE DETECTION


5.1.1 DATASETS USED
5.1.2 IMAGE PREPROCESSING
5.1.3 SEGMENTATION TECHNIQUES
5.1.4 FEATURE EXTRACTION
5.1.5 PLANT DISEASE CLASSIFICATION
5.2 INTEGRATING CNN MODEL WITH STREAMLIT
5.2.1 DEPLOYMENT OF CNN MODEL IN STREAMLIT
5.2.2 STREAMLIT APP FEATURES
5.2.3 BACKEND AND FRONTEND DOCUMENTATION
6 TESTING 42- 45
6.1 UNIT TESTING
6.2 INTEGRATION TESTING
6.3 SYSTEM TESTING
6.4 REGRESSION TESTING
6.5 SMOKE TESTING
6.6 ACCEPTANCE TESTING

7 RESULTS 47– 50
7.1 OBTAINED RESULTS
7.2 CONFUSION MATRIX AND ACCURACY GRAPHS

8 CONCLUSION 51
9 FUTURE SCOPE 52

10 REFRENCES 53 - 54

11 APPENDIX 55 - 61

12 RESEARCH PAPER 62- 72

13 CERTIFICATES OF PRESENTATION

VIII
VII
LIST OF FIGURES

Fig. No. Description Page No.

1.2 CNN Model Architecture 18

4.3.1 Use Case Diagram of The Model 32

4.3.2 Activity Diagram of The Disease Detection Process 33

4.3.3 Sequence Diagram for The Plant Disease Detection 34

4.3.4 Class Diagrams for Plant Disease Detection Using Ml 35

7.1 Output Interface and Results 49

7.2.1 Model Training and Validation Accuracy 50

IX
VII
LIST OF SYMBOLS, ABBREVIATIONS
1 CNN Convolutional Neural Network

2 ML Machine Learning

3 DL Deep Learning

4 TP True Positive

5 TN True Negative

6 FP False Positive

7 FN False Negative

8 RGB Red, Green, and Blue Color Channels

9 SVM Support Vector Machine

10 F1-SCORE F1-Score

11 IOT Internet Of Things

12 ResNet Residual Network

X
CHAPTER 1

INTRODUCTION

XI
CHAPTER 1
INTRODUCTION
Plant disease diagnosis is an important area of study in agriculture because
it affects yields, food security and agricultural economics. Plants, like all living organisms,
are susceptible to many diseases caused by pathogens, including fungi, bacteria, viruses
and pests. Accurate and precise diagnosis of these diseases is essential for effective
management and treatment, which helps to reduce morbidity and ensure good productivity.
Traditional methods of diagnosing plant diseases involve manual inspection by experts,
which is time-consuming, labor-intensive, and multi-purpose. These methods are also
limited in their ability to scale, especially in large-scale agriculture. By using the latest
technology. Recent developments in machine learning and artificial intelligence have
brought creative answers to these problems. Convolutional Neural Networks (CNNs) are
one of them that has shown to be an effective tool for identifying plant diseases. CNNs are
a family of deep learning models that are particularly good at image identification tasks
because of their automated feature extraction and learning from unprocessed picture data.
CNNs identify and discover patterns in pictures by utilizing many layers of convolutions,
pooling, and fully linked layers. This talent is especially helpful in the diagnosis of plant
diseases, as it can be difficult to distinguish minor visual signs and differences in plant
appearance using conventional approaches. Large datasets of tagged plant photos are used
to train CNNs so they can identify intricate traits linked to a range of illnesses. There are
several important advantages of using CNNs for plant disease detection. First, disease
detection is fast and accurate - even in large agricultural fields. Second, farmers and other
agricultural workers can access CNN in the field by sending CNN through mobile devices
and remote sensing. The ability of CNNs to continuously learn from new data ensures that
surveillance systems continue to work even when new plant diseases appear. The
transformative potential of CNN to transform plant disease needs is demonstrated in this
introduction. Researchers and practitioners can improve the effectiveness of disease control
methods and ultimately contribute to more robust and productive agricultural systems
through deep learning.

12
1.1 Overview of Neural Networks

Neural networks are a fundamental part of artificial intelligence (AI) and machine
learning (ML), designed to simulate the way human brains process information. These
networks consist of layers of artificial neurons that work together to recognize patterns,
analyze data, and make predictions. They are widely used in image recognition, speech
processing, and decision-making systems.

In the context of plant disease detection, neural networks, particularly Convolutional


Neural Networks (CNNs), have proven to be highly effective. They can analyze plant
images, detect signs of diseases, and classify them without requiring manual feature
extraction. The ability of CNNs to learn patterns from raw image data makes them well-
suited for agricultural applications.

1.2 Why Neural Networks?

Neural networks are preferred over traditional machine learning methods because they
offer several advantages:

1. Automated Feature Learning – Unlike traditional models that require manual


feature selection, neural networks extract meaningful patterns directly from raw
data.
2. High Accuracy – Deep learning models, particularly CNNs, outperform
conventional approaches by detecting subtle disease symptoms that are difficult
for the human eye to recognize.
3. Adaptability – Neural networks can continuously learn and improve, allowing
them to adapt to different environmental conditions and plant species.
4. Robust Performance – They handle complex, non-linear relationships between
inputs and outputs, making them reliable for real-world applications.
In plant disease detection, CNNs significantly improve accuracy by identifying key disease
characteristics in plant leaves, stems, and fruits, reducing reliance on manual inspection.

1.3 Classification

Classification is a supervised learning approach used in neural networks to categorize

13
input data into predefined labels. In plant disease detection, classification is used to assign
an image of a plant to a specific category, such as healthy or diseased.

The classification process involves the following steps:


1. Image Preprocessing – Removing noise, adjusting contrast, and resizing images
for consistency.
2. Feature Extraction – Identifying key disease symptoms such as color changes,
lesions, or texture variations.
3. Prediction – Assigning a disease label to the image based on learned patterns.
CNN-based classifiers improve accuracy in identifying plant diseases, helping farmers
take timely action to prevent crop loss.

1.4 Clustering

Clustering is an unsupervised learning technique used to group similar data points


without predefined labels. In plant disease detection, clustering helps in:

1. Grouping similar diseased plants based on visual characteristics.


2. Identifying new or emerging diseases by finding anomalies in plant images.
3. Reducing complexity before classification by segmenting large datasets into
meaningful clusters.
4. Techniques like K-Means Clustering and Hierarchical Clustering organize plant
images based on similarities in texture, color, and shape. This helps researchers
analyze disease patterns and develop targeted treatment strategies.

1.5 Elements of Neural Networks

A neural network is composed of multiple components that work together to process


information and make predictions:

1. Input Layer – Receives the raw data (e.g., plant image pixels).
2. Hidden Layers – Perform feature extraction and transformation.
3. Neurons – Process information and apply mathematical operations.
4. Weights & Biases – Adjustable parameters that influence the learning process.
5. Activation Functions – Apply non-linearity, helping the network learn complex

14
patterns
6. Output Layer – Produces the final result, such as disease classification.

1.6 Key Concepts of Neural Networks

Neural networks rely on several core principles to optimize learning:

1. Forward Propagation – The data moves through the network from the input
layer to the output layer.
2. Backpropagation – Errors are calculated and sent back through the network to
adjust weights, improving accuracy.
3. Loss Function – Measures the difference between the predicted output and the
actual label, guiding model improvement.
4. Gradient Descent – Optimizes the network by adjusting weights to minimize
error.
5. Overfitting Prevention – Techniques like dropout and regularization prevent the
model from memorizing data instead of generalizing.

1.7 Image Processing in Plant Disease Detection

Image processing plays a crucial role in plant disease detection by enhancing the quality
of input images and extracting meaningful features. The process includes:

1. Preprocessing:

• Noise Reduction – Techniques like Gaussian Blur smooth the image to remove
unwanted distortions.
• Contrast Enhancement – Histogram Equalization is used to improve visibility of
disease symptoms.
2. Segmentation:

1. Thresholding – Separates diseased areas from the background.


2. K-Means Clustering – Groups pixels with similar characteristics to highlight
affected areas.
3. Feature Extraction:

• Edge Detection (Canny Algorithm) – Identifies sharp changes in the image,


15
highlighting diseased regions.
These techniques prepare images for CNN-based classification, improving detection
accuracy.

1.8 Types of Plant Diseases Considered

1. Healthy Plants
• Plants that show no visible symptoms of disease and have normal leaf color,
texture, and structure.
• These are used as reference images in the dataset to help the model differentiate
between diseased and non-diseased plants.
2. Powdery Mildew
• A fungal disease that appears as white or grayish powdery spots on leaves, stems,
and sometimes flowers.
• It thrives in humid environments and spreads rapidly, reducing photosynthesis and
overall plant growth.
• Commonly affects crops like grapes, cucumbers, tomatoes, and wheat.
3. Rust Disease
• Another fungal infection that manifests as reddish-brown or orange spots on the
surface of leaves.
• It weakens plants by reducing their ability to photosynthesize, eventually leading
to defoliation and yield loss.
• Often found in cereal crops such as wheat, barley, and maize.
These three categories are used in the Convolutional Neural Network (CNN) model to
differentiate between healthy plants and those infected with Powdery Mildew or Rust
Disease. The system processes plant images and classifies them into one of these
categories, helping farmers take timely preventive measures.

1.9 Overview of Plant Disease Detection Using CNNs

CNNs have transformed plant disease detection by automating feature extraction and
classification. The process follows these key steps:

16
1. Data Collection & Preprocessing:

• Large datasets of healthy and diseased plant images are gathered.


• Images are resized, enhanced, and augmented for better training.
2. Model Training:

• CNNs learn distinct disease patterns from labeled images.


• Models like VGG, ResNet, and EfficientNet are trained to optimize classification
accuracy.
3. Disease Prediction & Classification:

• The trained model processes new plant images and classifies them.
• The system can integrate IoT sensors for real-time environmental monitoring.
4. Deployment & Real-World Applications:

• Farmers and agricultural experts can use mobile apps or cloud-based platforms for
remote disease detection.
• The system provides real-time alerts and disease prevention recommendations.
With the integration of deep learning, mobile accessibility, and predictive analytics,
CNN-based plant disease detection significantly improves agricultural productivity and
disease management.

17
Fig. 1.2 Cnn Model Architecture

18
CHAPTER 2

LITERATURE REVIEW

19
CHAPTER 2
LITERATURE SURVEY

2.1 PREVIOUS WORK RELATED TO PROPOSED SYSTEM

1. Traditional plant disease detection relied heavily on manual inspection by farmers


or agricultural experts. The process involved visually examining plants for
symptoms such as leaf discoloration, spots, wilting, or deformities. While this
method required minimal technology, it had significant limitations. It was time-
consuming, labor-intensive, and highly subjective, depending on the expertise of
the individual performing the inspection. Moreover, large-scale farms made manual
inspections impractical, leading to delays in disease detection, which could result
in significant crop losses. The accuracy of this approach varied due to inconsistent
assessments and environmental factors affecting symptom visibility. These
drawbacks highlighted the need for more reliable and scalable disease detection
methods.
2. To improve the efficiency of disease detection, early research focused on image
processing techniques that could identify plant diseases using digital images. These
techniques involved preprocessing images using methods such as Histogram
Equalization, which enhanced contrast and made disease symptoms more
distinguishable. Edge detection algorithms, like the Canny Edge Detector, were
used to locate the boundaries of diseased areas. Despite these improvements,
traditional image processing methods had several limitations. They required
optimal lighting conditions, struggled with distinguishing between different
diseases, and lacked adaptability to environmental variations. Additionally, they
depended on predefined feature extraction, making them less effective for real-
world applications where symptoms varied widely.
3. To detect plant diseases at an earlier stage, researchers explored infrared and
thermal imaging technologies. These methods allowed for the detection of
temperature variations and stress levels in plants, which often indicated infections
before visible symptoms appeared. Thermal cameras, sometimes mounted on

20
drones or ground-based robots, captured heat patterns to identify areas of plant
stress. Additionally, multispectral and hyperspectral imaging techniques were used
to analyze changes in chlorophyll content, which is often affected by disease.
However, these methods had drawbacks, such as sensitivity to weather conditions
and high costs associated with specialized imaging equipment. Despite their
potential, widespread adoption remained a challenge due to technical and financial
constraints.
4. The introduction of machine learning techniques significantly improved the
accuracy and efficiency of plant disease detection. Traditional machine learning
models, such as Support Vector Machines (SVM), Decision Trees, and k-Nearest
Neighbors (KNN), were applied to classify plant diseases based on extracted
features. Researchers manually selected attributes such as color, texture, and shape
to train these models. Although these techniques outperformed basic image
processing methods, they still required human intervention in feature selection and
struggled with complex disease variations. These limitations paved the way for the
adoption of deep learning models, which could automatically learn features from
raw image data.
5. A major breakthrough in deep learning applications for plant disease detection was
the implementation of transfer learning using pre-trained models. Instead of training
CNNs from scratch, researchers fine-tuned models such as ResNet, InceptionV3,
and MobileNet on plant disease datasets. These models, initially trained on large
image classification datasets like ImageNet, were adapted to recognize plant
diseases with minimal additional training. This approach significantly reduced
computational requirements and improved accuracy, making deep learning more
accessible for agricultural applications. Transfer learning allowed researchers to
achieve robust results even when only a limited number of labelled plant disease
images were available.
6. One of the critical challenges in developing effective plant disease detection models
was the availability of diverse datasets. The Plant Village dataset, managed by Penn
State University, became a widely used resource for training deep learning models.
This dataset contained thousands of labelled images of healthy and diseased plants,

21
helping researchers develop and evaluate machine learning algorithms. Other large-
scale datasets were also collected from agricultural fields worldwide, allowing
models to generalize across different plant species and environmental conditions.
However, real-world deployment remained challenging, as field conditions were
more complex than controlled datasets, requiring further improvements in model
robustness.
7. For large-scale farms, the use of drones and satellite imaging provided an efficient
solution for disease detection and crop monitoring. Drones equipped with
multispectral and hyperspectral cameras captured high-resolution images of vast
agricultural fields, detecting early signs of plant stress. Normalized Difference
Vegetation Index (NDVI) mapping was used to analyze vegetation health, enabling
farmers to identify affected areas quickly. Additionally, AI-powered drone
analytics automated the classification of diseases, suggesting targeted pesticide
application to minimize chemical usage. While promising, drone-based solutions
faced challenges such as high operational costs, regulatory restrictions, and
technical expertise requirements for effective deployment.
8. To make AI-driven plant disease detection more accessible, researchers developed
cloud-based and mobile applications that allowed farmers to diagnose plant diseases
using smartphone cameras. These applications enabled users to capture plant
images and upload them to cloud servers, where deep learning models analyzed the
images and provided instant feedback. Cloud computing services such as Google
Cloud AutoML and AWS Sage Maker played a crucial role in supporting these real-
time applications. Additionally, mobile apps integrated with AI chatbots and voice
assistants provided farmers with disease management recommendations, making
cutting-edge technology available even in remote agricultural areas.

22
CHAPTER 3
SYSTEM ANALYSIS

23
CHAPTER 3
SYSTEM ANALYSIS
3.1 PROBLEM DEFINITION

Plant diseases significantly impact agricultural productivity, leading to reduced crop


yields and economic losses. Traditional methods of disease detection rely on manual
inspection by farmers or agricultural experts, which is time-consuming, subjective, and
prone to human error. Furthermore, these methods often fail to detect diseases in their
early stages, resulting in delayed intervention and further crop damage.

Existing automated approaches, such as basic image processing and traditional machine
learning models, require extensive manual feature extraction and struggle with scalability,
adaptability, and accuracy under varying environmental conditions. Additionally, many
solutions lack real-time disease detection and predictive analytics, making it difficult for
farmers to take proactive measures.

To address these challenges, an intelligent, automated, and scalable plant disease


detection system using Convolutional Neural Networks (CNNs) is required. This system
should be capable of accurately classifying plant diseases using deep learning techniques
while ensuring real-time processing, high accuracy, and ease of use for farmers.

3.2 Proposed System

The proposed Plant Disease Detection System using CNNs aims to provide an accurate,
efficient, and scalable solution for detecting plant diseases. The system will leverage deep
learning techniques, particularly CNNs, to automatically extract features and classify
plant diseases from images without the need for manual intervention.

Key Features of the Proposed System:


1. High-Resolution Imaging: Uses RGB and multispectral cameras to capture
detailed plant images, ensuring precise disease classification.

24
2. Deep Learning-Based Disease Detection: Utilizes CNN architectures such as
ResNet, VGG, or MobileNet to automatically learn disease characteristics and
improve classification accuracy.
3. Transfer Learning for Better Accuracy: Pre-trained deep learning models will be
fine-tuned on plant disease datasets to enhance recognition capabilities with
minimal training data.
4. Real-Time Analysis and Alerts: The system will integrate IoT sensors to monitor
environmental conditions like temperature, humidity, and soil moisture, providing
predictive analytics for disease outbreaks.
5. Cloud-Based and Mobile Integration: The platform will allow farmers to upload
images via mobile applications, with cloud computing enabling fast and scalable
disease detection.
6. User-Friendly Interface: A mobile and web-based interface will provide easy
access to disease classification results and treatment recommendations.

3.3 Advantages of the Proposed System

The proposed CNN-based plant disease detection system offers several advantages over
traditional and existing automated approaches:

1. High Accuracy: CNNs provide superior accuracy compared to traditional machine


learning and manual inspections.
2. Automated Feature Extraction: Unlike traditional methods, CNNs automatically
extract relevant disease features, reducing manual effort.
3. Early Disease Detection: The system can identify diseases at an early stage,
enabling timely intervention and reducing crop loss.
4. Scalability: Can be used across different plant species and environmental
conditions without requiring significant modifications.
5. Real-Time Analysis: IoT-based environmental monitoring enables predictive
analysis of potential disease outbreaks.
6. Remote Access: Cloud and mobile app integration allow farmers to access disease
detection services from anywhere.

25
7. Reduced Dependence on Experts: Farmers can diagnose plant diseases without
relying on agricultural specialists, making disease detection more accessible.
8. Cost-Effective: Reduces the need for expensive expert consultations and
minimizes crop losses through timely disease identification.

3.4 Requirements

The system requirements are categorized into functional requirements, non-functional


requirements, hardware requirements, and software requirements to ensure the smooth
implementation and performance of the proposed system.

3.4.1 Functional Requirements


1. The system should be able to capture and process images of plants for disease
detection.
2. It should utilize a CNN-based deep learning model to classify plant diseases with
high accuracy.
3. The platform must support image preprocessing techniques such as noise
reduction, contrast enhancement, and resizing.
4. The system should allow users to upload images via a mobile application or web
interface.
5. Disease classification results should be displayed in real-time with appropriate
disease treatment suggestions.
6. The system should integrate IoT sensors to collect environmental data for
predictive analytics.
7. The model should continuously update and learn from new datasets to improve
accuracy.
8. It must provide alerts and notifications to users in case of potential disease
outbreaks.
3.4.2 Non-Functional Requirements

1. Performance: The system should process images and provide results within a few
seconds.

26
2. Scalability: It should support a large number of users and images without
performance degradation.
3. Reliability: The system must ensure consistent and accurate disease detection
results.
4. Security: User data, including images and environmental data, should be
protected against unauthorized access.
5. User-Friendly Interface: The application should have an intuitive and easy-to-
use interface for farmers with minimal technical knowledge.
6. Compatibility: The system should be accessible across multiple platforms,
including web, mobile, and cloud services.
7. Maintainability: The software should be easily upgradable with new plant
disease datasets and model improvements.
3.4.3 Hardware Requirements

1. High-Resolution Camera: For capturing detailed plant images.


2. Cloud Server or GPU Workstation: Required for training and running CNN
models efficiently.
3. Smartphones/Tablets: For farmers to upload plant images and receive results via
a mobile application.
4. Computing Devices: Laptops or servers for local processing and data storage if
needed.
3.4.4 Software Requirements

1. Programming Languages: Python (for deep learning model development).


2. Frameworks and Libraries: TensorFlow, Keras, OpenCV (for image processing
and deep learning).
3. Operating System: Linux or Windows for system deployment.
4. Mobile and Web Frameworks: Streamlit (for mobile and web app development).

3.5 Issues in Existing Methodology

Despite advancements in plant disease detection, existing methodologies still suffer from
various challenges, which the proposed system aims to resolve:

27
1. Low Accuracy of Traditional Methods: Manual inspection and traditional
machine learning models often result in low detection accuracy, leading to
misclassification.
2. Dependency on Manual Feature Extraction: Many machine learning-based
approaches require manual feature selection and preprocessing, making them
inefficient.
3. Limited Scalability: Existing models are not generalized to handle multiple plant
species and diverse environmental conditions.
4. Delayed Disease Detection: Most systems detect diseases only when visible
symptoms appear, reducing the effectiveness of treatment.
5. Environmental Sensitivity: Factors like lighting conditions, plant orientation,
and background noise affect the performance of existing image processing-based
systems.
6. Lack of Real-Time Monitoring: Many systems do not integrate IoT sensors to
predict potential disease outbreaks based on environmental conditions.
7. Limited Accessibility: Farmers in remote areas lack access to expert
consultations and technology-driven solutions.
8. High Computational Costs: Some deep learning models require powerful
hardware, making them inaccessible to small-scale farmers.
9. Poor Integration with Mobile Devices: Many existing systems lack user-friendly
mobile applications that allow easy disease detection and monitoring.
10. No Predictive Analysis: Traditional approaches focus only on classification
without predicting disease spread or providing preventive measures.

28
CHAPTER 4
SYSTEM DESIGN

29
CHAPTER 4
SYSTEM DESIGN

4.1 ALGORITHM

The algorithm for plant disease detection using CNN involves multiple steps, including
data collection, preprocessing, model training, and classification. Initially, a dataset
comprising healthy and diseased plant images is gathered from various sources. The
images undergo preprocessing techniques such as resizing, normalization, and
augmentation to improve model accuracy. A Convolutional Neural Network (CNN) is
designed with multiple layers for feature extraction and classification. The model is
trained using labeled data, with optimization techniques like backpropagation and
stochastic gradient descent to enhance learning. Finally, the trained model is tested on
unseen data to evaluate its accuracy and generalization capability.

4.2 MODULES

The system consists of multiple modules that collectively contribute to accurate plant
disease detection:

1. Data Collection and Preprocessing Module: Collects plant images, annotates


them with labels, and preprocesses them through resizing, normalization, and
augmentation.
2. CNN Model Development and Training Module: Designs a CNN model with
convolutional, pooling, and fully connected layers to extract features and classify
plant diseases.
3. Model Evaluation and Validation Module: Assesses model performance using
validation and testing datasets, focusing on accuracy, precision, and recall.
4. Disease Prediction and Classification Module: Uses the trained CNN model to
classify new images into healthy or diseased categories, providing accurate
predictions.

4.3 UNIFIED MODELING LANGUAGE (UML)

UML is a modelling language which is used to visualize a way the software has been
developed. It is a visual language which consists of serious of steps in which
the application works. The UML diagrams depict the structure and behavior of
the software application.
Visualizing a project before developing an application makes the job easier. It
can be used to make a list of requirements for software development. Also, a lot

30
of time is saved where there is a definite model to look up to while developing a
software.
UML Diagrams can be broadly classified into:

⚫ Behavior diagrams: They capture or visualize the behavior of the


diagram. They depict how the behavior changes w.r.t each task or
function. These diagrams include Interaction diagrams, Use-case
diagrams, State diagrams, Activity Diagrams etc.

⚫ Structural diagrams: They concentrate on the structure of the


application rather than the functionalities. These diagrams include Class
Diagrams, Deployment diagrams, Component diagrams etc.

4.1.1 USE CASE DIAGRAM

They are generally used to visualize the various tasks that are performed in the
application. They also depict the different users who have access to perform these
tasks. Use-case diagrams come under behavior diagrams because of its emphasis
on the tasks performed and the users(actors) who perform these tasks. The various
tasks that are performed in the application is

1. Image Acquisition
2. Pre-processing
3. Feature Extraction
4. Training with Database Images
5. Neural Network (NN) Classification
6. Disease Identification
7. Result Display

31
Fig 4.3.1 Use Case Diagram for The Model

4.3.2 ACTIVITY DIAGRAM

Activity diagram depicts the flow or the sequence of control in an application. We can
actually use the activity diagram to verify every task that is performed in the use-case
diagram. It also depicts the steps of execution. They basically depict the workflows in the
software application. It also emphasizes on the sequence of tasks and the conditions that
are to be met in order for a particular task to perform. This way, it gives us information
about what causes a particular task to happen. So, this gives us a high-level visualization
of the application.

The main objectives are

• User Uploads Image – The user provides an image of a plant leaf.


• Preprocessing – The image undergoes resizing, normalization, and enhancement.

32
• Feature Selection – The system extracts relevant features from the image.
• Convolutional Neural Network (CNN) Processing – The CNN model processes
the image for classification.
• Testing and Training Images – The model uses both training and testing datasets.
• Leaf Disease Detection – The system classifies the plant disease based on CNN
predictions.
• Result Display – The detected disease and recommendations are shown to the
user.

Fig 4.3.2 Activity Diagram of The Disease Detection Process

33
4.3.3 SEQUENCE DIAGRAM

It is used to depict the interaction among the objects in an application. They also describe
the changes in the behaviour of these objects after they interact with each other. They also
describe the order in which these interactions take place. Also, developers use these
diagrams to make note of all the requirements that are to be needed in order to develop
the application.

Fig 4.3.3 Sequence Diagram for The Plant Disease Detection

34
4.3.4 CLASS DIAGRAM

A Class Diagram is a type of structural diagram in UML that represents the static
structure of a system by defining its classes, attributes, methods, and relationships among
objects. As the name suggests, a Class Diagram focuses on the blueprint of the system,
showing how different classes interact with each other. It helps in understanding the data
flow, relationships, and dependencies between objects in a software application.

Fig 4.3.4 Class Diagrams for Plant Disease Detection Using ML

35
CHAPTER 5

IMPLEMENTATION

36
CHAPTER 5
IMPLEMENTATION

This section describes the implementation of the Convolutional Neural Network (CNN)
model for Plant Disease Detection and its integration with Streamlit for a user-friendly
interface. It includes dataset details, preprocessing techniques, segmentation, feature
extraction, classification, and deployment of the model in a web application.

5.1 CNN MODEL FOR PLANT DISEASE DETECTION

5.1.1 DATASETS USED

The model is trained on a dataset containing images of healthy and diseased plant leaves.
The dataset includes three classes: Healthy, Powdery, and Rust. The

• Total images: [1532 images]


• Classes: Healthy, Powdery, Rust
• Preprocessing applied: Data augmentation, normalization, resizing

5.1.2 IMAGE PREPROCESSING

Before feeding the images into the CNN model, they undergo several preprocessing steps
to improve learning efficiency and classification accuracy:

1. Resizing: Converts images to a uniform size (e.g., 128x128 or 256x256 pixels).


2. Grayscale Conversion: Reduces computational complexity by simplifying color
information.
3. Noise Reduction: Removes unnecessary visual elements using Gaussian blur and
median filtering.
4. Normalization: Scales pixel values between 0 and 1 for better CNN performance.
5. Data Augmentation: Enhances model generalization by generating variations of
training images.

37
5.1.3 SEGMENTATION METHODS

Segmentation techniques are used to isolate diseased areas from the image background,
making classification more accurate. Methods used include:

1. Thresholding (Otsu’s method): Separates foreground (leaf) from background


based on pixel intensity.

2. Canny Edge Detection: Identifies leaf edges and disease-affected regions.

3. K-Means Clustering: Groups similar pixel intensities to highlight diseased areas.

4. Watershed Algorithm: Segments the leaf by detecting infected zones.

5.1.4 FEATURE EXTRACTION

CNN models automatically extract deep-level features from input images. The key
extracted features for disease detection include:

1. Texture Patterns: Powdery Mildew often appears as a white powdery substance,


while Rust Disease forms orange-brown pustules on leaves.

2. Color Variations: CNN learns to distinguish color differences between healthy


and diseased regions.

3. Leaf Shape and Structure: Identifies deformities like irregular edges, curling, or
lesions caused by infections.

4. Vein Analysis: Some diseases disrupt vein structure, which can be an important
distinguishing factor.

5.1.5 PLANT DISEASE CLASSIFICATION

The CNN model follows a structured approach to classify plant leaves based on extracted
features.

Model Architecture:

38
1. Input Layer: Receives the processed leaf image.

2. Convolutional Layers: Detects patterns such as edges, textures, and colors.

3. Pooling Layers: Reduces feature dimensions to enhance computational


efficiency.

4. Fully Connected Layers: Converts feature maps into a classification-ready


format.

5. Output Layer: Produces class probabilities (Healthy, Powdery Mildew, or Rust).

Evaluation Metrics:

The classification model is evaluated using:

• Accuracy: Measures overall prediction correctness.

• Precision & Recall: Helps assess the correctness of positive classifications.

• F1-Score: Provides a balance between precision and recall.

The trained model is tested on unseen data to verify its reliability before deployment.

5.2 INTEGRATING CNN MODEL WITH


STREAMLIT

5.2.1 DEPLOYMENT OF CNN MODEL IN STREAMLIT

The trained CNN model is integrated into a web-based user interface (UI) using
Streamlit, allowing users to upload images and receive classification results in real-time.

Deployment Steps:

1. Load the trained model using TensorFlow/Keras.


2. Develop an interactive UI using Streamlit components.
3. Enable users to upload plant leaf images for analysis.
4. Process images in real-time using the same preprocessing techniques used during
training.
5. Display results showing the predicted disease and confidence score.

39
Deployment Platforms:

The Streamlit application can be deployed on:

• Streamlit Cloud
• Heroku
• AWS or Google Cloud

These platforms ensure accessibility to farmers, researchers, and agronomists.

5.2.2 STREAMLIT APPLICATION FEATURES

The Streamlit-based web application provides an intuitive and easy-to-use interface


with the following features:

• Image Upload Functionality: Users can select or drag-and-drop an image for


classification.
• Real-Time Disease Detection: The app instantly processes and predicts the
disease.
• Confidence Score Display: Provides probability scores to indicate prediction
certainty.
• Disease Information and Remedies: Displays relevant information about the
detected disease, along with possible treatment suggestions.
• Visual Representation: Heatmaps and bounding boxes may be used to highlight
affected areas.

5.2.3 BACKEND AND FRONTEND IMPLEMENTATION


Backend (Model Processing & API Integration):

• Model Inference: Loads and executes the trained CNN model.


• Image Processing Pipeline: Ensures uploaded images match the model’s input
format.
• Data Handling: Manages file uploads, stores results, and retrieves relevant
disease information.

Frontend (User Interface with Streamlit):

• Streamlit UI Components: Includes buttons, file uploaders, and result display


sections.
• User-Friendly Interface: Designed to be simple and interactive for non-technical
users.
• Result Interpretation: Uses text descriptions, visuals, and confidence scores to
enhance usability.

40
CHAPTER 6

SOFTWARE TESTING

41
CHAPTER 6
SOFTWARE TESTING

6 TESTING

Testing is a critical phase in the development of the Plant Disease Detection system to
ensure its accuracy, reliability, and usability. Various testing methodologies are applied to
evaluate individual components, integrated modules, and the complete system.

6.1 UNIT TESTING

Unit Testing focuses on verifying the functionality of individual components of the CNN
model and the Streamlit application. It ensures that each module performs as expected.

Key Areas Tested:

• Image Preprocessing Functions:


• Check if input images are correctly resized, normalized, and enhanced.
• Validate grayscale conversion and noise reduction.
• CNN Model Components:
• Ensure convolution, pooling, and fully connected layers operate correctly.
• Test feature extraction accuracy.
• Prediction Function:
• Validate that the model correctly classifies images into Healthy, Powdery
Mildew, or Rust.
• Streamlit Interface Components:
• Ensure file upload, result display, and disease information retrieval work
as expected.
• Tools Used:
• PyTest, Unittest for Python-based unit testing.
• TensorFlow/Keras Test Utilities for CNN model validation.

42
6.2 INTEGRATION TESTING

Integration Testing verifies that different components of the system work together without
issues. It ensures smooth interaction between:

1. Image preprocessing pipeline and CNN model


2. CNN model predictions and Streamlit frontend
3. User input handling and result display
Scenarios Tested:

• A correctly preprocessed image should yield a valid classification.


• The model’s output should be correctly formatted and displayed in Streamlit.
• A corrupted or unsupported image should be handled gracefully without crashing.
Tools Used:

• Postman for API interaction testing.


• TensorFlow Model Tester for integration validation.

6.3 SYSTEM TESTING

System Testing evaluates the complete Plant Disease Detection system to ensure that all
components function together as intended.

Tests Conducted:

1. Functional Testing:
• The app should accurately classify leaf diseases.
• User interactions (image uploads, predictions) should work
seamlessly.
2. Performance Testing:
• Measure response time for predictions.
• Test multiple concurrent users to check system stability.
3. Compatibility Testing:
• Verify application behavior across different browsers and devices.

43
Tools Used:

• JMeter for load testing.


• Selenium for UI and functionality validation.

6.4 REGRESSION TESTING

Regression Testing ensures that modifications or updates do not introduce new errors into
the system. It is performed whenever:

• The CNN model is retrained with new data.


• The Streamlit application receives code updates.
• Performance enhancements are implemented.
Steps Taken:

1. Retest existing functionalities after updates.


2. Compare old and new model predictions on a validation dataset.
3. Verify UI stability after changes to the Streamlit frontend.
Outcome: If existing features remain stable and functional, the update is approved.

Tools Used:

• Automated test scripts using PyTest.


• TensorFlow model comparison utilities.

6.5 SMOKE TESTING

Smoke Testing is conducted to verify that the core functionalities of the system work
correctly before detailed testing begins.

Key Features Tested:

• Can the system load and process an image successfully?


• Does the CNN model predict an output without errors?

44
• Is the Streamlit interface accessible and responsive?
If any critical failures occur, testing is halted until the issues are fixed.

Tools Used:

• Manual testing using sample images.


• Basic Python test scripts for quick validation.

6.6 ACCEPTANCE TESTING

Acceptance Testing ensures that the final system meets user requirements and is ready for
deployment.

Validation Criteria:

• The application must accurately classify leaf diseases.


• The interface must be user-friendly for farmers and researchers.
• The system must provide reliable predictions with a confidence score.
• It should handle invalid inputs without crashing.
User Feedback & Testing:

• The system is tested by agricultural experts and plant pathologists.


• Feedback is collected to refine the model and interface.

Final Decision: If the system meets all acceptance criteria, it is approved for deployment

45
CHAPTER 7

RESULTS

46
CHAPTER 7
RESULTS

7.1 OBTAINED RESULTS

After the image classification, we could successfully and accurately identify the health
status of the plant. The different classifications are Healthy, Powdery Mildew, and Rust
diseases.

OUTPUT

47
48
Fig 7.1 Output Interface and Results

7.2 NORMALIZED CONFUSION MATRIX

A confusion matrix is an essential tool used to evaluate the performance of a classification


model. It provides a detailed breakdown of correct and incorrect predictions, helping us
analyze how well the model distinguishes between different classes.

49
For our Plant Disease Detection using CNN, the confusion matrix represents the
classification results for three categories: Healthy, Powdery Mildew, and Rust. It helps in
understanding:

• True Positives (TP): Instances where the model correctly identifies the actual
class.
• False Positives (FP): Cases where the model incorrectly classifies an image into a
different category.
• False Negatives (FN): Instances where the model fails to detect the correct class.

The normalized confusion matrix expresses these values as percentages rather than raw
counts, allowing for better visualization of misclassifications. This aids in identifying
weaknesses in the model, which can be improved by fine-tuning hyperparameters,
increasing dataset diversity, or enhancing image preprocessing techniques. By analyzing
the confusion matrix, we can refine our CNN-based classification model to improve its
accuracy in detecting plant diseases effectively. Below is the normalized confusion matrix
for our classifier, summarizing its performance across different disease categories.

Fig 7.2 Model Training and Validation Accuracy

50
Conclusion:

The "Plant Disease Detection and Classification Using CNN" project represents a
significant step forward in the application of artificial intelligence and deep learning in
agriculture. By leveraging the power of Convolutional Neural Networks (CNNs), this
system offers an efficient and accurate approach to detecting plant diseases at an early
stage. Traditional disease diagnosis methods often require expert knowledge and manual
inspection, which can be time-consuming and prone to human error. In contrast, this
automated approach enhances accuracy, consistency, and scalability, making it a valuable
tool for modern farming.

The ability to analyze plant images and classify them into different disease categories, such
as Healthy, Powdery Mildew, and Rust, allows for timely intervention, reducing the spread
of infections and minimizing crop damage. The model's integration with user-friendly web
applications using Streamlit ensures that farmers, researchers, and agricultural
professionals can easily access the system without requiring advanced technical expertise.
By providing instant disease detection results, the project helps in precision farming, where
targeted treatments can be applied, reducing unnecessary pesticide use and promoting
sustainable agricultural practices.

Furthermore, integrating this AI-driven model with cloud-based services and mobile
applications enhances accessibility, ensuring that farmers in remote locations can also
benefit from this technology. The scalability of the system means that it can be expanded
to support multiple plant species and a broader range of diseases in the future. Continuous
improvements, such as dataset expansion, model optimization, and real-time field testing,
will further enhance its accuracy and reliability.

In conclusion, this project bridges the gap between technology and agriculture,
empowering farmers with advanced tools to improve crop health, increase yield, and
strengthen global food security. By embracing such innovations, we move towards a future
where AI-driven solutions play a crucial role in addressing agricultural challenges, ensuring
a more sustainable and resilient food production system.

51
FUTURE SCOPE

The plant disease analysis system is crucial for addressing modern agricultural challenges
and exhibits significant potential for enhancement. Future advancements will expand
disease detection to include a variety of plant diseases, benefiting small crops too. As
models are updated with collected data, they can identify new threats and incorporate pest
and weed control within crop health solutions. The integration of advanced IoT sensors will
monitor environmental variables like soil pH and nutrients, helping to predict disease
outbreaks. Drones and satellite imagery will facilitate real-time monitoring, enabling early
detection of diseases and precise treatment applications that reduce chemical usage.
Furthermore, advanced artificial intelligence and machine learning will empower robots
with self-learning capabilities, boosting system accuracy. Establishing an international
data-sharing platform will enhance data collection and regional specificity, while tailored
treatment strategies will support farmers based on their unique conditions. This system will
also aid sustainable practices, compliance with regulations, and educational initiatives,
promoting best practices in disease management and technology use.

52
REFERENCES
1. "PlantVillage”,Plantvillage.psu.edu,2020.[Online].
Available:https://plantvillage.psu.edu/.
2. J. Boulent, S. Foucher, J. Théau and P. St-Charles, "Convolutional Neural
Networks for the Automatic Identification of Plant Diseases", Frontiers in Plant
Science, vol. 10, 2019. Available: 10.3389/fpls.2019.00941.

3. Redmon, J., & Farhadi, A. (2018). YOLOv3: An Incremental Improvement. arXiv

a. preprint arXiv:1804.02767.
4. Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., & Anguelov, D. et al. (2015).
Going deeper with convolutions. In Proceedings of the IEEE conference on computer
vision and pattern recognition (pp. 1-9).
5. Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for
6. large-scale image recognition. arXiv preprint arXiv:1409.1556.
7. Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., & Ma, S. et al. (2015).
ImageNet Large Scale Visual Recognition Challenge. International Journal of
Computer Vision, 115(3), 211-252.

8. LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436-
444.
9. Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., & Fu, C. Y. et al. (2016).
SSD: Single shot multibox detector. In European conference on computer vision (pp.
21-37).
10. Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y. (2016). Deep learning (Vol.
1). MIT press Cambridge.
11. He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image
recognition. In Proceedings of the IEEE conference on computer vision and pattern
recognition (pp. 770-778).
12. Chollet, F. (2017). Xception: Deep learning with depthwise separable convolutions. In
Proceedings of the IEEE conference on computer vision and pattern recognition (pp.
1251-1258).

53
13. Miotto, R., Wang, F., Wang, S., Jiang, X., & Dudley, J. T. (2017). Deep learning for
healthcare: review, opportunities and challenges. Briefings in bioinformatics, 19(6),
1236-1246.
14. Rajpurkar, P., Irvin, J., Zhu, K., Yang, B., Mehta, H., & Duan, T. et al. (2017).
CheXNet: Radiologist-Level Pneumonia Detection on Chest X-Rays with Deep
Learning. arXiv preprint arXiv:1711.05225.
15. Esteva, A., Kuprel, B., Novoa, R. A., Ko, J., Swetter, S. M., & Blau, H. M. et al. (2017).
Dermatologist-level classification of skin cancer with deep neural networks. Nature,
542(7639), 115-118.
16. Ma, J., & Perkins, S. (2003). Internet-based remote collaboration in plant disease
detection and classification. Computers and Electronics in Agriculture, 41(1-3), 81-93.
17. Hughes, D. P., Salathe, M., & Bonhoeffer, S. (2012). The effect of multiple infection
on the evolution of virulence in a facultatively sexual parasitic fungus.
a. Journal of Evolutionary Biology, 25(8), 1681-1690.
18. Ramesh, K., Chaudhary, M., & Jangra, S. (2017). Plant leaf disease detection and
classification using deep learning. In 2017 International Conference on Computing
Methodologies and Communication (ICCMC) (pp. 751-755). IEEE.

54
APPENDIX

# This Python 3 environment comes with many helpful analytics libraries installed

# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-


python

# For example, here's several helpful packages to load

import numpy as np # linear algebra

import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)

# Input data files are available in the read-only "../input/" directory

# For example, running this (by clicking run or pressing Shift+Enter) will list all files
under the input directory
import os

for dirname, _, filenames in os.walk('/kaggle/input'):


for filename in filenames:
#print(os.path.join(dirname, filename))
break
# You can write up to 20GB to the current directory (/kaggle/working/) that gets
preserved as output when you create a version using "Save & Run All"

# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of
the current session

import pandas as pd
import numpy as np
55
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split

from sklearn.metrics import confusion_matrix , classification_report , auc ,


accuracy_score
import tensorflow as tf
from tensorflow import keras
from PIL import Image
import cv2
import matplotlib.image as mpimg
import tensorflow as tf
from tensorflow import keras
from keras.layers import Dense,Dropout,Conv2D, Flatten,MaxPooling2D
from keras.models import Sequential
from tensorflow.keras.preprocessing import image_dataset_from_directory
import warnings
warnings.filterwarnings('ignore')
path = "Test/"
test = image_dataset_from_directory(path, batch_size=32,
image_size=(256,256),shuffle=True)
path = "Validation/"
valid = image_dataset_from_directory(path, batch_size=32,
image_size=(256,256),shuffle=True)
class_labels = train.class_names
class_labels
print(len(train))
print(len(test))
print(len(valid))
for image_batch,image_label in train.take(1):
print(image_batch[0])
print(class_labels[image_label[0].numpy()])
56
plt.figure(figsize=(20,20))
for image_batch , image_label in train.take(1):
for i in range(20):
plt.subplot(5,4,i+1)
plt.imshow(image_batch[i].numpy().astype("uint8"))
plt.title(class_labels[image_label[i].numpy()])
plt.axis("off")
import tensorflow as tf
# Define constants
IMAGE_SIZE = 256
CHANNELS = 3
# Define the input shape
input_shape = (IMAGE_SIZE, IMAGE_SIZE, CHANNELS)
# Create the rescaling layer
resizing_and_rescaling = tf.keras.Sequential([
tf.keras.layers.Resizing(IMAGE_SIZE, IMAGE_SIZE),
tf.keras.layers.Rescaling(1.0 / 255.0) # Rescale pixel values to [0, 1]
])
# Define data augmentation (optional, add as needed)
data_augmentation = tf.keras.Sequential([
tf.keras.layers.RandomFlip("horizontal"),
tf.keras.layers.RandomRotation(0.2)
])
# Build the model
model = tf.keras.models.Sequential([
resizing_and_rescaling,
data_augmentation,
# Convolution layer 1

.keras.layers.Conv2D(filters=64, kernel_size=(3,3), strides=(1,1), padding='valid', activation='relu',


input_shape=input_shape),
tf.keras.layers.MaxPool2D(pool_size=(2,2)),
# Convolution layer 2
57
tf.keras.layers.Conv2D(filters=128, kernel_size=(3,3), strides=(1,1), padding='valid',
activation='relu'),
tf.keras.layers.MaxPool2D(pool_size=(2,2)),
# Convolution layer 3
tf.keras.layers.Conv2D(filters=256, kernel_size=(3,3), strides=(1,1), padding='valid',
activation='relu'),
tf.keras.layers.MaxPool2D(pool_size=(2,2)),
# Convolution layer 4
tf.keras.layers.Conv2D(filters=512, kernel_size=(3,3), strides=(1,1), padding='valid',
activation='relu'),

tf.keras.layers.MaxPool2D(pool_size=(2,2)),
# Flatten Layerstf.keras.layers.Flatten(),
# Dense layers
tf.keras.layers.Dense(units=500, activation='relu'),
tf.keras.layers.Dropout(0.4),
tf.keras.layers.Dense(units=500, activation='relu'),
tf.keras.layers.Dropout(0.3),
tf.keras.layers.Dense(units=100, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(units=3, activation='softmax')
])
# Compile the model
model.compile(
optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy']
)
data_augmentation = tf.keras.Sequential([
tf.keras.layers.RandomContrast(0.3),
tf.keras.layers.RandomFlip('horizontal_and_vertical'),
tf.keras.layers.RandomZoom(0.3),

58
tf.keras.layers.RandomRotation(0.2)
])
IMAGE_SIZE=256
CHANNELS=3
BATCH_SIZE=32
EPOCHS=10
input_shape=(BATCH_SIZE , IMAGE_SIZE, IMAGE_SIZE, CHANNELS)
model= tf.keras.models.Sequential([
resizing_and_rescaling,
data_augmentation,
# Convolution layer 1tf.keras.layers.Conv2D(filters=64, kernel_size=(3,3),
strides=(1,1),padding='valid',activation='relu',input_shape=input_shape),
tf.keras.layers.MaxPool2D(pool_size=(2,2)),
# Convolution layer 2
tf.keras.layers.Conv2D(filters=64,
kernel_size=(3,3),strides=(1,1),padding='valid',activation='relu'),
tf.keras.layers.MaxPool2D(pool_size=(2,2)),
# Convolution layer 3
tf.keras.layers.Conv2D(filters=64,
kernel_size=(3,3),strides=(1,1),padding='valid',activation='relu'),
tf.keras.layers.MaxPool2D(pool_size=(2,2)),
# Convolution layer 4
tf.keras.layers.Conv2D(filters=64,
kernel_size=(3,3),strides=(1,1),padding='valid',activation='relu'),

tf.keras.layers.MaxPool2D(pool_size=(2,2)),
# Flatten Layerstf.keras.layers.Flatten(),
# Dense layers
tf.keras.layers.Dense(units=500,activation='relu'),
tf.keras.layers.Dropout(0.4),
tf.keras.layers.Dense(units=500,activation='relu'),
tf.keras.layers.Dropout(0.3),

59
tf.keras.layers.Dense(units=100,activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(units=3,activation='softmax')
])
model.build(input_shape=input_shape)
model.summary()
model.compile(optimizer="adam",
loss="sparse_categorical_crossentropy",
metrics=["accuracy"])
history = model.fit(train , batch_size=32 ,epochs=10,
verbose=1,
validation_data=valid) # epochs=10
loss,acc = model.evaluate(train)
print("Loss on Train data:",loss)
print("Accuracy on Train data:",acc)
loss1,acc1 = model.evaluate(test)
print("Loss on Test data:",loss1)
print("Accuracy on Test data:",acc1)
acc = history.history["accuracy"]
val_acc = history.history["val_accuracy"]
loss = history.history["loss"]
val_loss = history.history["val_loss"]
EPOCHS=10plt.figure(figsize=(12,6)
) plt.subplot(1,2,1)
plt.plot(range(EPOCHS),acc, label="Training Accuracy")
plt.plot(range(EPOCHS),val_acc, label="Validation Accuracy")
plt.legend(loc="lower right")
plt.title("Training and Validation Accuracy")
#plt.figure(figsize=(6,6))
plt.subplot(1,2,2)
plt.plot(range(EPOCHS),loss, label="Training Loss")
plt.plot(range(EPOCHS),val_loss, label="Validation Loss")
60
plt.legend(loc="lower right")
plt.title("Training and Validation Loss")
plt.show()
def Prediction(model,img):
img_array = tf.keras.preprocessing.image.img_to_array((images[i].numpy()))
img_array = tf.expand_dims(img_array,0) # create a batch
predictions = model.predict(img_array)
predicted_class = class_labels[np.argmax(predictions[0])]
confidence = round(100*(np.max(predictions[0])),2)
return predicted_class , confidence
plt.figure(figsize=(20,25))
for images , labels in test.take(1):
for i in range(20):
ax = plt.subplot(5,4,i+1)
plt.imshow(images[i].numpy().astype("uint8"))
#plt.title(class_labels[labels[i]])
predicted_class , confidence = Prediction(model,images[i].numpy())
actual_class = class_labels[labels[i]]
plt.title(f"Actual:{actual_class}\n Predicted:{predicted_class}\n
Confidence:{confidence}%")
plt.axis("off")
import
pickleprint("saving
model..")
# Assuming `model` is your trained model and you want to save it
with open('cnn_model.keras', 'wb') as file:
pickle.dump(model, file)

61
PLANT DISEASE DETECTION USING MACHINE LEARNING
Mrs. S. Venkata Lakshmi
1. D. Bhaskar 2. A. Tarun 3. P. Hemakash 4. R. Ganesh
DADI INSTITUTE OF ENGINEERING AND TECHNOLOGY, VISHAKAPATNAM.

Abstract

A good diagnosis of plant diseases is necessary to increase agricultural productivity and ensure
sustainable food production. The recent revolution in smart access models and computer vision
has created an opportunity for image classification in agriculture. Current methods often struggle
with limited accuracy, scalability and adaptability to plant species and environmental conditions.
This project proposes a new plant disease detection system that addresses these issues using a
combination of plant image sets and advanced machine learning techniques. Our system uses
convolutional neural networks (CNN) to achieve high accuracy in disease classification and
provides real-time processing and image recognition. This methodology includes the use of
Python for interpretation, model architecture for synthesis, and advanced algorithms for better
search. Future development will focus on expanding the data set and refining the algorithms to
cover a variety of plants and conditions. The proposed system is designed to provide insights to
farmers, to improve disease management and crop health. By overcoming the limitations of
today's systems.

Keywords: Plant Disease, TensorFlow, CNN (Convolutional Neural Network), Machine


Learning

Introduction

Plant disease diagnosis is an important area of study in agriculture because it affects yields, food
security and agricultural economics. Plants, like all living organisms, are susceptible to many
diseases caused by pathogens, including fungi, bacteria, viruses and pests. Accurate and precise
diagnosis of these diseases is essential for effective management and treatment, which helps to
reduce morbidity and ensure good productivity. Traditional methods of diagnosing plant diseases
involve manual inspection by experts, which is time-consuming, labor-intensive, and multi-
purpose. These methods are also limited in their ability to scale, especially in large-scale
agriculture. By using the latest technology. Recent developments in machine learning and
artificial intelligence have brought creative answers to these problems. Convolutional Neural
Networks (CNNs) are one of them that has shown to be an effective tool for identifying plant
diseases. CNNs are a family of deep learning models that are particularly good at image
identification tasks because of their automated feature extraction and learning from unprocessed
picture data. CNNs identify and discover patterns in pictures by utilizing many layers of
convolutions, pooling, and fully linked layers. This talent is especially helpful in the diagnosis of
plant diseases, as it can be difficult to distinguish minor visual signs and differences in plant
appearance using conventional approaches. Large datasets of tagged plant photos are used to
train CNNs so they can identify intricate traits linked to a range of illnesses. There are several
important advantages of using CNNs for plant disease detection. First, disease detection is fast
and accurate - even in large agricultural fields. Second, farmers and other agricultural workers
can access CNN in the field by sending CNN through mobile devices and remote sensing. The
ability of CNNs to continuously learn from new data ensures that surveillance systems continue
to work even when new
62
plant diseases appear. The transformative potential of CNN to transform plant disease needs is
demonstrated in this introduction. Researchers and practitioners can improve the effectiveness of
disease control methods and ultimately contribute to more robust and productive agricultural
systems through deep learning.

Existing System

Traditional methods: These methods involve expert farmers or farmers inspecting crops for
signs of disease, such as decay, dryness, spotting, or deterioration. Although this method is cost-
effective and very low-tech, it is highly subjective, labor-intensive and prone to human error,
especially in large- scale agricultural operations.
Limitations: High reliance on expert knowledge, time consuming and limited scale.
Visible spectrum imaging: Systems that take pictures of plants under bright conditions and use
image processing techniques to identify disease symptoms. These systems are simple and can be
used using standard cameras.
Limitations: Very effective in symptomatic diseases. It is less effective for early disease.
Infrared and thermal imaging: Systems that detect temperature changes in plant tissue that
may indicate water stress, pests, or disease. Thermal cameras are often mounted on drones or
ground vehicles for mass surveillance.
Limitations: Sensitive to environmental conditions and may need to be adjusted for different
products and weather.

Proposed System
The proposed plant disease detection system utilizes advanced deep learning, image processing,
and edge computing technologies to create a highly accurate, efficient, and scalable solution. It
seeks to overcome the limitations of existing methods by providing a user-friendly platform for
farmers and agricultural experts.

Key components include a High-Resolution Imaging Module that employs both RGB and
multispectral cameras for detailed plant imaging. RGB captures color data, while multispectral
imaging detects diseases invisible to the naked eye. The system enhances image quality through
preprocessing techniques like noise reduction and contrast enhancement.

Central to the detection process is a Convolutional Neural Network (CNN), trained on extensive
plant image datasets, capable of learning and identifying disease features autonomously. To
optimize performance without requiring large datasets, the system will implement transfer
learning using pre- trained models like ResNet or VGG. An ensemble approach combines
multiple CNN predictions to enhance detection accuracy and robustness.

Moreover, the system will integrate IoT devices for environmental monitoring, including soil
moisture and temperature sensors, enabling predictive analytics that correlate environmental
conditions with

63
disease outbreaks. This holistic approach equips users with crucial insights and alerts,
ultimately improving plant health management and disease prevention.

Methodology:
The Data Collection and Preprocessing:
Module aims to assemble a diverse dataset of healthy and diseased plant images. It involves
collecting images from multiple sources, annotating them with disease labels, and preprocessing
through resizing, cropping, and normalization. Data augmentation techniques enhance diversity
and improve CNN model generalization.
The CNN Model Development and Training Module aims to create an optimized architecture for
plant disease detection. It includes designing a CNN with convolutional, pooling, and fully
connected layers, experimenting with various architectures, initializing model parameters, and
training using labeled data. Techniques like SGD and backpropagation optimize performance
while monitoring progress to prevent overfitting.

CNN Model Development and Training Module:


This section focuses on the development of a CNN architecture for plant disease detection and
classification. This includes designing a model with convergence, aggregation and all connected
layers, testing with different architectures such as ResNet and DenseNet. The training uses
labeled data sets and techniques such as stochastic gradient descent, progress monitoring to tune
meta- parameters and improve model performance.
Model Evaluation and Validation Module:
The objective is to evaluate a trained CNN model's performance using distinct validation and
testing datasets, focusing on metrics like accuracy, sensitivity, and specificity. The methodology
involves splitting the dataset, assessing validation performance, fine-tuning the model, and
finally comparing results on the testing set for generalization capabilities.

64
Fig. Flow chart

Datasets:

Healthy

65
Powdery

Rust

Algorithms:
Image processing algorithm:
The proposed plant disease detection system utilizes advanced algorithms for accurate disease
identification and classification, encompassing image processing, machine learning, and deep
learning techniques. In the image processing category, several methods are implemented. Image
preprocessing techniques like Gaussian Blur reduce noise and enhance feature extraction by
smoothing images, while Histogram Equalization improves contrast, making subtle disease
symptoms more visible. Canny Edge Detection is employed to identify disease spots by detecting
strong gradients. For segmentation, Thresholding segments images into foreground (disease
spots) and background, potentially employing adaptive methods for varied lighting. Additionally,
K-means Clustering, an unsupervised algorithm, groups pixels based on color intensity, aiding in
distinguishing healthy plant areas from those affected by disease. This multifaceted approach
enhances the system's efficiency.
Support Vector Machines (SVM):
SVM is a supervised learning algorithm for classification tasks. In plant disease analysis, SVMs
can be trained on features extracted from images (such as color, texture, or shape) to classify
whether a plant is healthy, or have a disease, and if so, identify the specific disease.Decision
Tree:Decision Tree is another supervised learning algorithm used for classification. A tree is built
based on attribute values, each node representing a decision point. Decision Trees are easy to
implement and can handle both discrete and continuous data. K-Nearest Neighbors (KNN):KNN
is a semi-parametric algorithm used for classification and regression. It classifies the new model
based on the most classes among its nearest neighbors in the category space. It can be used as a
basic method of disease classification.
66
Convolutional Neural Networks (CNN):
CNNs are the backbone of the proposed system for image classification. They automatically
learn to extract hierarchical features from raw images and are very useful for plant disease
diagnosis and classification. The main components of CNN are: Convolutional layers: perform
convolutional operations to extract features such as edges, textures and patterns. Fusion layer:
reduce the spatial dimension of feature maps, improve computation and help extensibility. All
concatenated layers: Combine the features extracted from the convolutional layers to make the
final classification decision.Transfer learning models: Pre-trained models such as ResNet, VGG
or Inception can be calibrated on plant disease datasets. Transfer learning allows the system to
use the knowledge of large datasets (such as ImageNet) to improve accuracy with less data and
training time.

Result Analysis:

The results section evaluates the performance results of the system based on various benchmarks
and tests. It demonstrates the effectiveness of the proposed system in identifying and classifying
plant diseases using the described algorithms and methods.1. Disease detection accuracy Overall
accuracy: The system achieved the highest accuracy rate in plant disease detection and
classification, measured on the test data set. Accuracy was calculated as the percentage of
correctly classified images from the total number of test images. Classification accuracy: The
system showed correct levels between different plant diseases. Common diseases such as mildew
and rust were detected with great accuracy, but diseases that looked similar were rarely seen. The
confusion matrix was used to visualize and analyze misclassifications and help identify areas in
the system where the most problems occur.

Fig. Accuracy and Loss

67
Fig. Test Cases

In terms of testing for plant diseases, the results fall into three groups: powdery mildew, heat h
and rust. Powdery mildew is a fungal disease characterized by white or grayish powdery
spots on the leaves, stems, and sometimes fruits of plants. It often leads to reduced
photosynthesis, stunted growth, and diminished crop yield. Rust is a group of fungal diseases
that present as reddish, orange, or brown pustules on the leaves, stems, and sometimes fruits of
the plant. It can weaken the plant by disrupting normal nutrient flow, leading to reduced vigor
and potential crop losses. A healthy plant exhibits no visible signs of disease, with vibrant,
uniformly green foliage, robust growth, and optimal physiological functions. The plant is free
from pathogenic infections and is thriving under current environmental conditions.

68
Fig. Actual Output

Conclusion:
The "Plant Disease Detection and Classification Using CNN" project is a major advancement in
agricultural technology, utilizing deep learning to tackle plant health challenges. This robust
system aims to transform disease diagnosis, providing farmers with timely and accurate plant
health insights. By employing convolutional neural networks and computer vision, it effectively
detects and classifies plant diseases from images, enabling early intervention. Additionally, its
integration with web interfaces, cloud computing, and mobile apps enhances accessibility for
diverse users, empowering farmers to adopt sustainable practices, improve crop yields, and
strengthen food security.

Literature Review:

PlantVillage, managed by Penn State University, provides a comprehensive online platform


offering diagnostic tools, educational resources, and community support for plant health and pest
management. Its innovative features, such as AI-driven diagnostics, have significantly enhanced
agricultural practices by improving disease identification and knowledge dissemination.
However, challenges related to technology access and data accuracy remain, necessitating
ongoing updates and improvements.
69
Boulent et al. (2019) explore the use of Convolutional Neural Networks (CNNs) for the
automatic identification of plant diseases, demonstrating their effectiveness in improving diagnostic
accuracy. Their study highlights how CNNs can enhance early disease detection and management
by analyzing plant images. The research underscores the potential of AI-driven approaches in
advancing plant pathology and precision agriculture. Certainly! Here’s a concise literature
review synthesizing the provided references related to plant disease detection and deep learning:

The integration of deep learning techniques into plant disease detection has seen significant
advancements, notably through Convolutional Neural Networks (CNNs) and related
architectures. Boulent et al. (2019) highlight the effectiveness of CNNs in automatically identifying
plant diseases with high accuracy, leveraging their capability to learn complex features from plant
images. This approach aligns with the broader trends in image recognition and object detection as
evidenced by Redmon and Farhadi’s (2018) YOLOv3, which emphasizes real-time object
detection improvements, and Liu et al. (2016) with their Single Shot MultiBox Detector (SSD),
known for its speed and accuracy in detecting objects in images.

Further foundational work by Szegedy et al. (2015) and Simonyan and Zisserman (2014)
introduced deeper convolutional networks, like the Inception and VGG architectures, which have
become instrumental in improving the granularity of image features and recognition capabilities. He
et al. (2016) contributed to this field with Deep Residual Learning, which alleviates training
difficulties associated with very deep networks and enhances performance in image classification
tasks. Chollet’s (2017) Xception further refined these techniques by incorporating depthwise
separable convolutions, optimizing the computational efficiency and accuracy of deep learning
models.

The efficacy of these models in broader applications, including healthcare as reviewed by Miotto
et al. (2017) and Rajpurkar et al. (2017) with CheXNet for pneumonia detection, underscores their
versatility and potential for adaptation to plant disease diagnostics. Moreover, LeCun, Bengio, and
Hinton’s (2015) overview of deep learning principles and Goodfellow et al. (2016) on
fundamental deep learning concepts provide the theoretical foundation that supports these
advancements. Finally, Russakovsky et al. (2015) detailed the ImageNet Challenge, which has
been pivotal in benchmarking and advancing image recognition technologies, including those
applied to plant health management.

Together, these studies reflect a robust evolution of deep learning techniques, enhancing plant
disease detection through improved accuracy, efficiency, and applicability across diverse domains.

Future Scope
The plant disease analysis system is crucial for addressing modern agricultural challenges and
exhibits significant potential for enhancement. Future advancements will expand disease
detection to include a variety of plant diseases, benefiting small crops too. As models are updated
with collected data, they can identify new threats and incorporate pest and weed control within
crop health solutions. The integration of advanced IoT sensors will monitor environmental
variables like soil pH and nutrients, helping to predict disease outbreaks. Drones and satellite
imagery will facilitate real-time monitoring,
70
enabling early detection of diseases and precise treatment applications that reduce chemical
usage. Furthermore, advanced artificial intelligence and machine learning will empower robots
with self- learning capabilities, boosting system accuracy. Establishing an international data-
sharing platform will enhance data collection and regional specificity, while tailored treatment
strategies will support farmers based on their unique conditions. This system will also aid
sustainable practices, compliance with regulations, and educational initiatives, promoting best
practices in disease management and technology use.

6. References:
• "PlantVillage”,Plantvillage.psu.edu,2020.[Online]. Available:https://plantvillage.psu.edu/.
• J. Boulent, S. Foucher, J. Théau and P. St-Charles, "Convolutional Neural Networks for the
Automatic Identification of Plant Diseases", Frontiers in Plant Science, vol. 10, 2019.
Available: 10.3389/fpls.2019.00941.
• Redmon, J., & Farhadi, A. (2018). YOLOv3: An Incremental Improvement. arXiv preprint
arXiv:1804.02767.
• Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., & Anguelov, D. et al. (2015). Going deeper
with convolutions. In Proceedings of the IEEE conference on computer vision and pattern
recognition (pp. 1-9).
• Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for
• large-scale image recognition. arXiv preprint arXiv:1409.1556.
• Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., & Ma, S. et al. (2015). ImageNet Large
Scale Visual Recognition Challenge. International Journal of Computer Vision, 115(3), 211-252.
• LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436-444.
• Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., & Fu, C. Y. et al. (2016). SSD: Single
shot multibox detector. In European conference on computer vision (pp. 21-37).
• Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y. (2016). Deep learning (Vol. 1). MIT
press Cambridge.
• He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In
Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).

71
• Chollet, F. (2017). Xception: Deep learning with depthwise separable convolutions. In
Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1251-1258).
• Miotto, R., Wang, F., Wang, S., Jiang, X., & Dudley, J. T. (2017). Deep learning for healthcare:
review, opportunities and challenges. Briefings in bioinformatics, 19(6), 1236-1246.
• Rajpurkar, P., Irvin, J., Zhu, K., Yang, B., Mehta, H., & Duan, T. et al. (2017). CheXNet:
Radiologist-Level Pneumonia Detection on Chest X-Rays with Deep Learning. arXiv preprint
arXiv:1711.05225.
• Esteva, A., Kuprel, B., Novoa, R. A., Ko, J., Swetter, S. M., & Blau, H. M. et al. (2017).
Dermatologist-level classification of skin cancer with deep neural networks. Nature, 542(7639),
115-118.
• Ma, J., & Perkins, S. (2003). Internet-based remote collaboration in plant disease detection and
classification. Computers and Electronics in Agriculture, 41(1-3), 81-93.
• Hughes, D. P., Salathe, M., & Bonhoeffer, S. (2012). The effect of multiple infection on the
evolution of virulence in a facultatively sexual parasitic fungus. Journal of
Evolutionary Biology, 25(8), 1681-1690.
• Ramesh, K., Chaudhary, M., & Jangra, S. (2017). Plant leaf disease detection and classification
using deep learning. In 2017 International Conference on Computing Methodologies and
Communication (ICCMC) (pp. 751-755). IEEE.

72

You might also like