About the Project

Inspiration

Food insecurity is a pressing global issue, with over 690 million people affected worldwide. A significant factor contributing to this problem is crop loss due to plant diseases. For instance, corn husk blight can reduce corn yield by up to 40%, while tomato leaf mosaic virus can decrease tomato crop yields by up to 25%. These diseases not only lead to substantial economic losses for farmers but also exacerbate food shortages in vulnerable regions.

Our project was inspired by the United Nations' Sustainable Development Goal 2 (Zero Hunger), which aims to end hunger, achieve food security, and promote sustainable agriculture. According to the Food and Agriculture Organization (FAO), plant diseases account for approximately 20% to 40% of global crop losses annually. Early detection and management of these diseases are crucial to ensure food security for the growing global population.

By leveraging advanced machine learning techniques and computer vision, we aim to provide farmers with a powerful tool to detect and classify plant diseases early, thereby reducing crop losses and improving food security. This project is a step towards realizing the UN's vision of a world free from hunger and malnutrition.

What We Learned

Throughout this project, we delved into the intricacies of machine learning, computer vision, and cloud computing. Specifically, we learned:

  1. Model Training and Optimization: We encountered significant issues with model loss during training, which required extensive hyperparameter tuning to resolve. This process involved adjusting learning rates, batch sizes, and architecture modifications to achieve optimal performance.
  2. Data Preprocessing and Augmentation: Proper preprocessing and augmentation of our image dataset were crucial to improve model generalization and performance.
  3. Integrating Multiple Technologies: We gained valuable experience in integrating diverse technologies such as YOLOv8 for object detection, TensorFlow for disease classification, and Flask for web application development.

How We Built the Project

We started by collecting a diverse dataset of plant leaf images, including healthy and diseased samples.

  1. Object Detection with YOLOv8: YOLOv8 was utilized for its real-time object detection capabilities. We trained YOLOv8 to detect and localize leaves in the images. This involved preparing the dataset, annotating the images, and fine-tuning the model to improve accuracy.
  2. Disease Classification with CNN: For disease classification, we trained a Keras-based Convolutional Neural Network (CNN) on labeled leaf images. The CNN was designed to classify different types of plant diseases from the detected leaf images.
  3. Web Application Development: We integrated these models into a Flask web application, allowing users to upload images and receive instant disease diagnoses. The web application was developed with a user-friendly interface to facilitate easy image uploads and display results.
  4. Chatbot Integration: Additionally, we used OpenAI's GPT-3.5 for an interactive chatbot to provide users with detailed information and advice on managing plant diseases.

Challenges We Faced

  1. Computational Power: One of the main challenges was the lack of computational power, especially for training the YOLOv8 model. We overcame this by leveraging Google Colab, which provided the necessary GPU resources for model training.
  2. Model Loss Optimization: We faced significant challenges with high model loss during the training phase. Through extensive hyperparameter tuning, including adjustments to learning rates, batch sizes, and model architecture, we managed to optimize the model performance and reduce loss.

Built With

Share this project:

Updates