Project Dataset link :- https://www.kaggle.com/datasets/vipoooool/new-plant-diseases-dataset Classes and models link :- https://drive.google.com/drive/folders/1Cy7sGp29612xIcxxAuV8cvToIvpkUpeO?usp=sharing
The Crop Disease Diagnosis API is a tool that allows users to determine whether a leaf from a given crop is suffering from a disease and identify the specific disease if present. The API is built using a deep learning model based on convolutional neural networks (CNNs) implemented with TensorFlow. The backend is developed using Django, providing a user-friendly interface for making requests and receiving diagnoses.
- Diagnose crop diseases by uploading a leaf image and providing the crop name.
- Utilizes a CNN-based deep learning model trained on diverse datasets of healthy and diseased leaves.
- Supports authentication and user access control with two roles:
dev
andfarmer
. - Provides a secure and scalable solution for crop disease diagnosis.
- Users make a POST request to the API, providing the crop name and an image of a leaf.
- The Django backend preprocesses the image and passes it to the deep learning model.
- The model predicts whether the leaf is healthy or diseased and identifies the disease if applicable.
- The API generates a response with the diagnosis result and returns it to the user.
The API supports user authentication and access control. There are two roles:
dev
: Developers or administrators who have access to API development and configuration.farmer
: End-users (farmers) who can use the API for crop disease diagnosis.
- Clone this repository to your local machine.
- Set up your development environment, ensuring you have the required dependencies.
- Configure the Django settings, including authentication settings and database configuration.
- Train and load the deep learning model using TensorFlow.
- Run the Django development server to host the API locally.
To use the Crop Disease Diagnosis API:
- Obtain an API token by registering as a user and specifying your access level (
dev
orfarmer
). - Make a POST request to the API endpoint with the crop name and leaf image.
- Receive a response indicating whether the leaf is healthy or diseased, along with disease details if applicable.