|
--- |
|
license: gpl-3.0 |
|
--- |
|
|
|
# Potato & Tomato Disease Classification Web Application |
|
|
|
This project is a web application developed using Flask that allows users to upload images of potato or tomato leaves and receive predictions regarding potential diseases. The application utilizes two deep learning models: one trained to classify potato leaf diseases and another for tomato leaf diseases. Both models were trained using convolutional neural networks (CNNs) and implemented using PyTorch. |
|
|
|
## Features |
|
|
|
- Image Upload: Users can upload images of potato or tomato leaves. |
|
- Disease Prediction: The application predicts whether the leaf is healthy or affected by specific diseases. |
|
- Dynamic Background: The background image of the web page dynamically changes based on whether the user selects potato or tomato. |
|
- Probability Display: The probability of the predicted class is displayed as a percentage. |
|
|
|
|
|
## Technologies |
|
|
|
- **Python:** Core programming language used for model development and Flask backend. |
|
- **Flask:** Web framework for developing the web application. |
|
- **PyTorch:** Deep learning framework used to develop and train the models. |
|
- **HTML/CSS:** For creating the frontend of the web application. |
|
- **PIL (Pillow):** For image processing. |
|
- **OpenCV:** For image display and preprocessing. |
|
- **Torchvision:** For image transformation utilities. |
|
## Models |
|
|
|
- **Potato Disease Classification Model** |
|
|
|
- **Classes:** Potato Early Blight, Potato Late Blight, Potato Healthy |
|
- **Techniques Used:** |
|
- Convolutional layers for feature extraction. |
|
- Batch normalization and max pooling for enhanced training stability and performance. |
|
- Dropout layers to prevent overfitting. |
|
|
|
- **Tomato Disease Classification Model** |
|
|
|
- **Classes:** Tomato Early Blight, Tomato Late Blight, Tomato Healthy |
|
- **Techniques Used:** |
|
- Similar architecture to the potato model with appropriate adjustments for tomato disease classification. |
|
- Batch normalization, max pooling, and dropout layers are also used here. |
|
## Usage |
|
|
|
- Install the required dependencies using `pip install -r requirements.txt`. |
|
- Download the pre-trained model weights and place them in the `models/` directory. |
|
- Run the Flask web application using `python app.py`. |
|
- Access the application in your web browser at `http://localhost:5000`. |
|
|
|
|
|
## Outcome |
|
|
|
- **Performance** |
|
- **Potato Model:** Achieved an accuracy of 98% on the validation set, with strong performance in classifying Early Blight, Late Blight, and Healthy leaves. |
|
- **Tomato Model:** Achieved an accuracy of 97% on the validation set, effectively distinguishing between Early Blight, Late Blight, and Healthy leaves. |
|
- **Benefits** |
|
- **Disease Detection:** Helps farmers and agriculturists detect diseases in potato and tomato plants early, potentially preventing crop losses. |
|
- **User-Friendly Interface:** The web application provides a simple interface for non-technical users to diagnose plant diseases. |
|
|
|
## App |
|
![App Screenshot](https://huggingface.co/datasets/hassaanik/Plant_Disease_App_Images/resolve/main/Potato.png) |
|
|
|
|
|
![App Screenshot](https://huggingface.co/datasets/hassaanik/Plant_Disease_App_Images/resolve/main/Tomato.png) |
|
|