https://github.com/denghv/Vegetables_Fruit_Detection
Using YOLOv10 to detect vegetables & fruit
https://github.com/denghv/Vegetables_Fruit_Detection
Last synced: 4 days ago
JSON representation
Using YOLOv10 to detect vegetables & fruit
- Host: GitHub
- URL: https://github.com/denghv/Vegetables_Fruit_Detection
- Owner: denghv
- Created: 2024-06-07T03:23:08.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-06-07T04:43:12.000Z (11 months ago)
- Last Synced: 2024-11-09T17:42:47.187Z (6 months ago)
- Language: Jupyter Notebook
- Homepage:
- Size: 5.47 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-yolo-object-detection - denghv/Vegetables_Fruit_Detection
- awesome-yolo-object-detection - denghv/Vegetables_Fruit_Detection
README
# Introduction to YOLOv10: Real-time Object Detection
## Abstract
Over the past years, YOLOs have emerged as the predominant paradigm in the field of real-time object detection owing to their effective balance between computational cost and detection performance. Researchers have explored the architectural designs, optimization objectives, data augmentation strategies, and others for YOLOs, achieving notable progress. However, the reliance on the non-maximum suppression (NMS) for post-processing hampers the end-to-end deployment of YOLOs and adversely impacts the inference latency. Besides, the design of various components in YOLOs lacks the comprehensive and thorough inspection, resulting in noticeable computational redundancy and limiting the model's capability. It renders the suboptimal efficiency, along with considerable potential for performance improvements. In this work, we aim to further advance the performance-efficiency boundary of YOLOs from both the post-processing and the model architecture. To this end, we first present the consistent dual assignments for NMS-free training of YOLOs, which brings the competitive performance and low inference latency simultaneously. Moreover, we introduce the holistic efficiency-accuracy driven model design strategy for YOLOs. We comprehensively optimize various components of YOLOs from both the efficiency and accuracy perspectives, which greatly reduces the computational overhead and enhances the capability. The outcome of our effort is a new generation of YOLO series for real-time end-to-end object detection, dubbed YOLOv10. Extensive experiments show that YOLOv10 achieves the state-of-the-art performance and efficiency across various model scales. For example, our YOLOv10-S is 1.8$\times$ faster than RT-DETR-R18 under the similar AP on COCO, meanwhile enjoying 2.8$\times$ smaller number of parameters and FLOPs. Compared with YOLOv9-C, YOLOv10-B has 46\% less latency and 25\% fewer parameters for the same performance.
##
## Citation
```python
@article{wang2024yolov10,
title={YOLOv10: Real-Time End-to-End Object Detection},
author={Wang, Ao and Chen, Hui and Liu, Lihao and Chen, Kai and Lin, Zijia and Han, Jungong and Ding, Guiguang},
journal={arXiv preprint arXiv:2405.14458},
year={2024}
}
```
# Using YOLOv10 for Real-time Vegetables & Fruit Detection
## Introduction
This is our Machine Learning's project. At the beginning, we used YOLOv8 with fine-tuning technologies to build our model but the output we gained is not highly accurate. So we decided to use YOLOv10 instead and its performance was much better than we expected.
## About datasetWe built our own dataset by manual-annotation and data-argumention with Roboflow. You are welcomed to use our dataset by following this link: https://universe.roboflow.com/ai-projects-rulo4/vegetables-fruit-detection/dataset/2
Our dataset has more than 700 images including five classes of vegetables and fruit: banana, apple, watermelon, chili, carrot.
## Installation
Clone project
```
git clone https://github.com/denghv/Vegetables_Fruit_Detection.git
``````conda``` virtual environment is recommended.
```python
conda create -n yolov10 python=3.9
conda activate yolov10
pip install -r requirements.txt
pip install -e .
```
## Demo
```
--webcam_inference.py
```
Thanks for great implementations!