• Stars
    star
    440
  • Rank 99,050 (Top 2 %)
  • Language
    Jupyter Notebook
  • License
    GNU General Publi...
  • Created about 4 years ago
  • Updated 7 months ago

Reviews

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

Repository Details

A machine learning based website that recommends the best crop to grow, fertilizers to use, and the diseases caught by your crops.

HARVESTIFY ๐ŸŒฟ

A simple ML and DL based website which recommends the best crop to grow, fertilizers to use and the diseases caught by your crops.

This project is featured on Krish Naik's YouTube Channel => Check it out here

DISCLAIMER โš ๏ธ

This is a POC(Proof of concept) kind-of project. The data used here comes up with no guarantee from the creator. So, don't use it for making farming decisions. If you do so, the creator is not responsible for anything. However, this project presents the idea that how we can use ML/DL into precision farming if developed at large scale and with authentic and verified data.

MOTIVATION ๐Ÿ’ช

  • Farming is one of the major sectors that influences a countryโ€™s economic growth.

  • In country like India, majority of the population is dependent on agriculture for their livelihood. Many new technologies, such as Machine Learning and Deep Learning, are being implemented into agriculture so that it is easier for farmers to grow and maximize their yield.

  • In this project, I present a website in which the following applications are implemented; Crop recommendation, Fertilizer recommendation and Plant disease prediction, respectively.

    • In the crop recommendation application, the user can provide the soil data from their side and the application will predict which crop should the user grow.

    • For the fertilizer recommendation application, the user can input the soil data and the type of crop they are growing, and the application will predict what the soil lacks or has excess of and will recommend improvements.

    • For the last application, that is the plant disease prediction application, the user can input an image of a diseased plant leaf, and the application will predict what disease it is and will also give a little background about the disease and suggestions to cure it.

DATA SOURCE ๐Ÿ“Š

Notebooks ๐Ÿ““

I have also published the corresponding code on Kaggle Notebooks.

Built with ๐Ÿ› ๏ธ

DEPLOYMENT ๐Ÿš€

Deployment is done using deploy branch

This website is deployed at Heroku

You can access it here

Note: The website may take a minute to load sometimes, as the server may be in hibernate state

How to use ๐Ÿ’ป

  • Crop Recommendation system ==> enter the corresponding nutrient values of your soil, state and city. Note that, the N-P-K (Nitrogen-Phosphorous-Pottasium) values to be entered should be the ratio between them. Refer this website for more information. Note: When you enter the city name, make sure to enter mostly common city names. Remote cities/towns may not be available in the Weather API from where humidity, temperature data is fetched.

  • Fertilizer suggestion system ==> Enter the nutrient contents of your soil and the crop you want to grow. The algorithm will tell which nutrient the soil has excess of or lacks. Accordingly, it will give suggestions for buying fertilizers.

  • Disease Detection System ==> Upload an image of leaf of your plant. The algorithm will tell the crop type and whether it is diseased or healthy. If it is diseased, it will tell you the cause of the disease and suggest you how to prevent/cure the disease accordingly. Note that, for now it only supports following crops

Supported crops
  • Apple
  • Blueberry
  • Cherry
  • Corn
  • Grape
  • Pepper
  • Orange
  • Peach
  • Potato
  • Soybean
  • Strawberry
  • Tomato
  • Squash
  • Raspberry

How to run locally ๐Ÿ› ๏ธ

  • Before the following steps make sure you have git, Anaconda or miniconda installed on your system
  • Clone the complete project with git clone https://github.com/Gladiator07/Harvestify.git or you can just download the code and unzip it
  • Note: The master branch doesn't have the updated code used for deployment, to download the updated code used for deployment you can use the following command
    โฏ git clone -b deploy https://github.com/Gladiator07/Harvestify.git 
    
  • deploy branch has only the code required for deploying the app (rest of the code that was used for training the models, data preparation can be accessed on master branch)
  • It is highly recommended to clone the deploy branch for running the project locally (the further steps apply only if you have the deploy branch cloned)
  • Once the project is cloned, open anaconda prompt in the directory where the project was cloned and paste the following block
    conda create -n harvestify python=3.6.12
    conda activate harvestify
    pip install -r requirements.txt
    
  • And finally run the project with
    python app.py
    
  • Open the localhost url provided after running app.py and now you can use the project locally in your web browser.

DEMO

  • Crop recommendation system

demo

  • Fertilizer suggestion system

demo

  • Disease Detection system

demo

Contribute ๐Ÿ‘จโ€๐Ÿ’ป

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Usage โš™๏ธ

You can use this project for further developing it and adding your work in it. If you use this project, kindly mention the original source of the project and mention the link of this repo in your report.

Further Improvements ๐Ÿ“ˆ

This was my first big project so there are lot of things to improve upon

  • CSS code is totally messed up ๐Ÿ˜” (some code in file and some inline)
  • Frontend can be made more nicer (PS: I suck at frontend development) ๐Ÿ˜ข
  • More data can be collected manually via web scrapping to make the system more accurate ๐Ÿง
  • Additional plant images can be collected to make the disease detection part more robust and generalized ๐Ÿค•
  • Modularized code can be written instead of writing in Jupyter Notebooks (will follow this in upcoming projects)

Credits ๐Ÿ’ณ

This project is heavily inspired from this GitHub repository (especially the crop recommendation and fertilizer recommendation part). This project is an extended version of the above mentioned project. Please star the mentioned repo.

License ๐Ÿ“

This project is licensed under GNU (GENERAL PUBLIC LICENSE).

Contact ๐Ÿ“ž

If you have any doubt or want to contribute feel free to email me or hit me up on LinkedIn

More Repositories

1

JARVIS

Personal Voice Assistant made with Python and has a cool looking GUI
Python
329
star
2

Text-to-image-synthesis-with-AttnGAN

Text to Image Generation using Attentional Generative Adversarial Networks
Python
31
star
3

Natural-Language-Processing

Documenting all the concepts and codes learned in NLP
Jupyter Notebook
27
star
4

U.S.-Patent-Phrase-to-Phrase-Matching-Kaggle

31st place silver medal solution to USPPPM Kaggle competition
Python
20
star
5

AI-Agriculture-deployment

This is machine learning and deep learning based website which recommends the best crop to grow, fertilizers to use and the diseases caught by your crops.
Python
16
star
6

wandb-gradient-dissent-bot

Python
14
star
7

AMLP

Approaching (Almost) Any Machine Learning Problem
Jupyter Notebook
10
star
8

Gladiator07

6
star
9

Machine-Learning

Curated resources (blogs +docs + websites) for Machine Learning
Jupyter Notebook
6
star
10

Text-Summarizer

A transformer based extractive and abstractive text summariser
Python
5
star
11

Diabetes-Prediction-WebApp

HTML
4
star
12

Kaggle-Template

General code template for Kaggle competitions
Python
4
star
13

cricket-webapp

A machine learning based webapp which predicts the first innings score of an ongoing IPL match. Additionally, it can also predict the winning probability of a team in an ODI match
Jupyter Notebook
3
star
14

Deep-Learning-NYU

Deep Learning Course by New York University (Yann LeCun and Alfredo Canziani)
Jupyter Notebook
2
star
15

Sartorius-Neuronal-Cell-Segmentation-Kaggle

A bronze medal solution to the Kaggle Challenge -> Sartorius - Cell Instance Segmentation
Python
2
star
16

AQI-Prediction

Jupyter Notebook
1
star
17

Object-Detection

Implementations of object detection architectures
Python
1
star
18

Custom-PyTorch-Trainer-examples

My own custom PyTorch Trainer applied to several examples
Python
1
star
19

Transformers-from-scratch-in-PyTorch

Implementation of the paper (Attention is all you need)
Python
1
star
20

AQI-FastAPI

Jupyter Notebook
1
star
21

Deep-Learning

Jupyter Notebook
1
star
22

Computer-Vision

Implementations of major architectures and ideas in Computer Vision (with PyTorch)
Python
1
star
23

Bristol-Myers-Squibb-Translation-Kaggle

50th place solution of a Kaggle competition where we were given the task to translate old chemical images to its Inchi
Python
1
star
24

Bengali-AI-Handwritten-Grapheme-Classification

A kaggle competition solution in which we were given the image of a handwritten Bengali grapheme and were challenged to separately classify three constituent elements in the image: grapheme root, vowel diacritics, and consonant diacritics.
Jupyter Notebook
1
star
25

BLIP2-Report

Jupyter Notebook
1
star
26

Kaggle-Utils

Some utility functions/classes for Kaggle competitions
Python
1
star
27

Pneumonia-Detection

Pneumonia Detection with Computer Vision (in dev)
Jupyter Notebook
1
star
28

loan-approval-prediction

This is a webapp which will predict if a person will get a loan or not based on his credentials
Jupyter Notebook
1
star