Giter VIP home page Giter VIP logo

pitmonticone / plantdiseaseclassification Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 4.0 22.8 MB

Dataset Analysis & CNN Models Optimization for Plant Disease Classification.

Home Page: https://pitmonticone.github.io/PlantDiseaseClassification/

License: MIT License

Jupyter Notebook 35.15% TeX 0.44% HTML 64.41%
neural-network neural-networks convolutional-neural-networks deep-learning deep-neural-networks plant-disease-classification plant-disease-detection classification-algorithims plant-pathology-fgvc7 data-science

plantdiseaseclassification's Introduction

Size Forks Stars Languages Contributors Licence Twitter

Plant Disease Classification

Dataset Analysis and CNN Models Optimization

Kaggle nbviewer Colab

How to Explore this Work

Extended Abstract

Problem

Misdiagnosis of the many diseases impacting agricultural crops can lead to misuse of chemicals leading to the emergence of resistant pathogen strains, increased input costs, and more outbreaks with significant economic loss and environmental impacts. Current disease diagnosis based on human scouting is time-consuming and expensive, and although computer-vision based models have the promise to increase efficiency, the great variance in symptoms due to age of infected tissues, genetic variations, and light conditions within trees decreases the accuracy of detection.

Objectives

The Plant Pathology Challenge we have attended consists in training a model using images of the training dataset to

  • accurately classify a given image from testing dataset into different diseased category or a healthy leaf;
  • accurately distinguish between many diseases, sometimes more than one on a single leaf;
  • deal with rare classes and novel symptoms;
  • address depth perception—angle, light, shade, physiological age of the leaf;
  • Incorporate expert knowledge in identification, annotation, quantification, and guiding computer vision to search for relevant features during learning.

Submissions are evaluated on mean column-wise ROC AUC.

Data

Both the training and the testing datasets are composed of 1821 high-quality, real-life symptom images of multiple apple foliar diseases to be classified into four categories: healthy, multiple_diseases, rust, scab.

Methods

  1. Class balancing with SMOTE
  2. Data augmentation with Keras ImageDataGenerator
  3. Learning rate schedule
  4. Optimal dropout
  5. Epoch grid search
  6. Visualization of convolutional filters and activation maps of the layers.

Results

  • ROC = 0.972 applying the pre-trained Keras model DenseNet121.
  • ROC = 0.937 applying a CNN which has been defined and trained from scratch.

References

  1. Plant Pathology 2020 - FGVC7: Identify the category of foliar diseases in apple trees, Kaggle (2020).
  2. Ranjita Thapa et al. The Plant Pathology 2020 challenge dataset to classify foliar disease of apples, arXiv pre-print (2020).

plantdiseaseclassification's People

Contributors

claudmor avatar daorse avatar interdisciplinaryphysicsteam avatar pitmonticone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.