Project information

  • Category: Python Skillset
  • Description: Bachelor Thesis
  • Project date: January-Juny, 2023
  • Project URL: Github

You Only Look Once (YOLO) Performance Analysis for Object Detection in Potato Plant Disease.

Potato is one of the tuber crops that has the potential to become a staple food and has high benefits for the body. The many roles of potato leads an increase in demand and economic value of potato. However, productivity of potato in Indonesia still very low at 19,2 ton/ha in 2022. In addition, Indonesia’s import of potato is very high in January 2023 that is 7160 tonnes. Based on low productivity and high import of potato in Indonesia, it can be seen that potato production has not fulfilled the demand. The main factor that inhibit potato production is plant disease. Disease that commonly attack and have a big impact on potato plant is early blight and late blight. The diseases characterized by pattern on potato leaves which can be classified by machine learning and deep learning models. However in several previous researchs, the models have not been able to detect the location of infected potato leaves. In this research, the deep learning models applied to detect the class and the location of potato diseases on leaves. The deep learning models used are Convolutional Neural Network (CNN) models from the You Only Look Once (YOLO) family, especially YOLOv5m, YOLOv6m, YOLOv7, and YOLOv8m. The models were trained with 2100 images and validated with 600 images, then tested with 300 images. Testing was conducted to find out model performance based on detection accuracy, model complexity, and computation time. The test results are evaluated to find the model with the best performance.

Python Skillset:
  1. Data acquisition and pre-processing.
  2. Perform Deep Learning.
  3. Data story-telling.
Step:
  1. Data acquisition & pre-processing

  2. Tools: Python & Google Colaboratory
    Data from site Kaggle. Pick and anotate 3000 images of three classes (early blight, healthy, late blight) from PlantVillage Dataset, Potato Leaf Dataset, and Potato Disease Leaf Dataset. Convert annotation to YOLO format.

  3. Perform Deep Learning

  4. Tools: Python & Google Colaboratory
    Train and validate 4 YOLO deep learning models with train and validate dataset using GPU T4 runtime in Google Colaboratory.


    Training use detailed hyperparameters as below:

  5. Data story-telling

  6. Tools: Python, Google Colaboratory, Microsoft Excel
    Present and Visualize result of experiment.

    The best performance model to detect potato diseases is YOLOv6m with mAP@0.5 is 0,995, mAP@0.5:0.95 is 0,979, there are 34,8 million parameters, the training time is 1,55 hours, and the detection time is 22,38 ms. YOLOv6m was chosen as the best model because YOLOv6m produces detection accuracy that is comparable with model complexity and computation time. YOLOv6m detection achieves high accuracy results, both on structured image and unstructured image.



NB: The images above are just a few sample images.