Giter VIP home page Giter VIP logo

plant-disease-experiments's Introduction

Plant Disease Detection using Deep Learning

A Project to Train and Evaluate different DNN Models for plant disease detection problem, tackle the problem of scarce real-life representative data, experiment with different generative networks and generate more plant leaf image data and Implement segmentation pipeline to avoid misclassification due to unwanted input

Using Deep Learning for Image-Based Plant Disease Detection

Resources:

Objective

  • Train and Evaluate different DNN Models for plant disease detection problem

  • To tackle the problem of scarce real-life representative data, experiment with different generative networks and generate more plant leaf image data

  • Implement segmentation pipeline to avoid misclassification due to unwanted input

Approches for Solving the papers realtime Detection Problem

phase 1 : implement the paper

phase 2 : do analysis on the paper and identify the type of data problem

phase 3 : experiment and if possible generate appropriate data using the data to train the model again

Project Structure

Plant_Disease_Detection_Benchmark_models

  • Train and test different prediction models to get a baseline accuracy to compare to and see progress

Plant_Disease_Detection_gan_experiments

  • experiment with different generative networks to see their generative capability and if the output can be used to train more robust models

leaf-image-segmentation-segnet

  • segmentation pipeline using VGGSegNet Architecture

leaf-image-segmentation

  • histogram based segmentation Pipline

Usage

python main.py IMAGE_FILE [--segment] [--species SPECIES_TYPE] [--model PREDICTION_MODEL]

Arguments:
	IMAGE_FILE    Path of the image file
	--segment     If specified perform segmentation on the image before prediction
	--species     If the plant species on the image is priorly known. One of the following species:  Apple, Cherry, Corn, Grape, Peach, Pepper, Potato, Strawberry, Sugercane, Tomato
	--model       What models do you want to use, vgg or inceptionv3

Examples

# you can remove a part of arguments except image path

>>  python main.py 'test/a.jpg' --segment --species 'apple' --model 'inceptionv3'
  • Before using that make sure you download the weights from here for Inception_V3 and here for VGG Models and extract all and put it in Plant_Disease_Detection_Benchmark_models/Models/ folder.

  • This will segment the image and predict the output class based on that. Segmented image will be saved as the file name with "_marked" suffix before the file extension.

  • The images are trained with segmented network and lower performance on unsegmented dataset is expected.

  • You can check the segmentation accuracy from saved image.

  • Fill this form for bulk model access grants and future update notification.

plant-disease-experiments's People

Contributors

israelabebe avatar yaredtaddese avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

plant-disease-experiments's Issues

file download

how can i download the file that name is “VGG_all_100p_94.h5”。

Find or Build manually annotating framework to segment images.

One of the problems we face when experimenting with the different architectures is generalizing well to new image or dataset. This is primarily due to the network learning not specially important features that we would probably would have considered. That is specially pertinent for datasets of small size that we are primarily focused on.

And specially for GAN variant architectures, the problem is exacerbated by the fact they may not even allow the network to converge.

To resolve this issue, whatever approach we take here, we need to include segmentation pipeline before our different training sessions or in our different network architectures.

For the before training sessions, we need to segment the images manually for those that aren't. i.e

  • Explore different segmentation libraries and approaches to automate the process.
  • Build or Build on top available frameworks to segment our training images

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.