• Stars
    star
    128
  • Rank 281,044 (Top 6 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Performing Leaf Image classification for Recognition of Plant Diseases using various types of CNN Architecture, For detection of Diseased Leaf and thus helping the increase in crop yield.

PLANT-AI [Recognition of Plant Diseases by Leaf Image Classification]

demo

Description

Food security for billions of people on earth requires minimizing crop damage by timely detection of diseases.Developing methods for detection of plant diseases serves the dual purpose of increasing crop yield and reducing pesticide use without knowing about the proper disease. Along with development of better crop varieties, disease detection is thus paramount goal for achieving food security. The traditional method of disease detection has been to use manual examination by either farmers or experts, which can be time consuming and costly, proving infeasible for millions of small and medium sized farms around the world.

This project is an approach to the development of plant disease recognition model, based on leaf image classification, by the use of deep convolutional networks. The developed model is able to recognize 38 different types of plant diseases out of of 14 different plants with the ability to distinguish plant leaves from their surroundings.

Leaf Image Classification

batch of image

This process for building a model which can detect the disease assocaited with the leaf image. The key points to be followed are:

  1. Data gathering

    The dataset taken was "New Plant Diseases Dataset". It can be downloaded through the link "https://www.kaggle.com/vipoooool/new-plant-diseases-dataset". It is an Image dataset containing images of different healthy and unhealthy crop leaves.

  2. Model building

    • I have used pytorch for building the model.
    • I used three models:-
      1. The CNN model architecture consists of CNN Layer, Max Pooling, Flatten a Linear Layers.
      2. Using Transfer learning VGG16 Architecture.
      3. Using Transfer learning resnet34 Architecture.
  3. Training

    The model was trained by using variants of above layers mentioned in model building and by varying hyperparameters. The best model was able to achieve 98.42% of test accuracy.

  4. Testing

    The model was tested on total 17572 images of 38 classes.
    The model used for prediction on sample images. It can be seen below:

    index2 index3
  5. Various Model Architecture tried along with Learning Rate and Optimizer and various accuracy obtained with different models.

models

All the version with code can be seen in jovian.ml (https://jovian.ml/soumyajit4419/course-project-plant-disease-classification)

Details about the model

The model will be able to detect 38 types of diseases of 14 Unique plants

  • The detail list of plants and diseases can be seen in List

Further Work:

  • Implementing Image Localisation to find the excat position of the leaf affected .
  • Building Recommender system for recommendation of proper presticides and control method for the disease.
  • Implementing the appropriate management strategies like fungicide applications and pesticide applications could lead to early information on crop health and disease detection.This could facilitate the control of diseases and improve productivity.

Usage:

  • Flask : Code for Flask Server and deployment
  • TestImages : Sample image for model testing
  • Src : All The source code for building models
  • Models : All the Pretrained Models of Pytorch

License

This project is Licensed under MIT

Explanation

To understand the code : You can find the complete explanation to the code in Article

Show your support

Give a ⭐ if you like this website!

Buy Me A Coffee

More Repositories

1

Portfolio

My self coded personal website build with React.js
JavaScript
4,410
star
2

Bits-0f-C0de

Personal Blog site build with Next.js and Tailwind CSS.
JavaScript
105
star
3

Editor.io

An online code editor which supports HTML, CSS, and Javascript Development. A Markdown editor for generating readme.
JavaScript
84
star
4

Chatify

Personal Chat Room or Workspace to share resources and hangout with friends build with React.js, Material-UI, and Firebase.
JavaScript
69
star
5

Face_And_Emotion_Detection

Performing image classification for detection of various human emotions using CNN Architecture.
Jupyter Notebook
38
star
6

AI_For_Social_Good

Using natural language processing to analyze the sentiments of people and detect suicidal ideation on online social content.
Jupyter Notebook
35
star
7

Emotion-Recognition-from-Psychological-Signals

Detection of human emotions from eeg signals using the amigos dataset
Jupyter Notebook
19
star
8

MedHub_360

Advanced Medical-Healthcare Application
JavaScript
11
star
9

soumyajit4419

10
star
10

Heart_Disease_Prediction

Data Analyisis of heart disease.
Jupyter Notebook
8
star
11

Github_application

Github application
JavaScript
6
star
12

Movie_Recommender_System

Recommending movies to user using various Colaborative Filtering and Content Based Filtering.
Jupyter Notebook
6
star
13

WhatsApp_Automation

Automate Whatsapp
Python
6
star
14

6Companies30days

C++
6
star
15

Machine_Learning_Projects

Various projects implementing different type of Machine Learning Algorithms and Various use cases of Machine Learning.
Jupyter Notebook
5
star
16

Writing_Like_Shakespeare

Automated Text Generation uisng LSTM.
Jupyter Notebook
5
star
17

mercor-assignment

Build a GPT Voice chatbot using Node.js
JavaScript
5
star
18

Twitter_Sentimental_Analysis

Analysis of sentiments of twitter dataset using NLP and ML
Jupyter Notebook
4
star
19

Instagram_Bot

To check which users are not following you back.
Python
4
star
20

NFT-Based-E-Commerce-Website

JavaScript
4
star
21

Tic-Tac-Toe

Building Tic tac toe with react js
JavaScript
4
star
22

Spam_Email_Classifier

To check if the send email was a spam or not. A Flask API to detect spam or ham using Python and Sklearn .
Jupyter Notebook
4
star
23

Advance-NLP-Text_Mining

Natural Launguage Processing ,Text-Mining ,Natural Launguage Understanding
Jupyter Notebook
3
star
24

Deep_Learning_Projects

Collection of deep learning projects.
Jupyter Notebook
3
star
25

Blogging_website

Website in which user can read and post blogs.
CSS
2
star
26

Emojify--V1.0

Generate Emoji from text messages.
Jupyter Notebook
2
star
27

Cyberoam_automation

To make user automaticially login in cyberoam using script
JavaScript
1
star
28

FD_Assignment

Implementation of a frontend design.
JavaScript
1
star
29

Neural_Style_Transfer

Implementation of Image Style Transfer using PyTorch
Jupyter Notebook
1
star
30

IET_Website

Official Website of IET Bit Mesra.
CSS
1
star
31

YouthIcon

Let's put India on NLP map.
Jupyter Notebook
1
star
32

weather_apk

Weather Application
JavaScript
1
star
33

Domain_to_ip

Takes the domain name and gives the ip address
HTML
1
star
34

Information_Security

Cryptography Algorithms
Jupyter Notebook
1
star