---
tags:
- coffee
- cherry count
- yield estimate
- ultralyticsplus
- yolov8
- ultralytics
- yolo
- vision
- object-detection
- pytorch
library_name: ultralytics
library_version: 8.0.75
inference: false
datasets:
- rgautron/croppie_coffee
model-index:
- name: rgautron/croppie_coffee
results:
- task:
type: object-detection
dataset:
type: rgautron/croppie_coffee
name: croppie_coffee
split: val
metrics:
- type: precision
value: 0.691
name: mAP@0.5(box)
license: gpl-3.0
license_link: https://www.gnu.org/licenses/quick-guide-gplv3.html
base_model: Ultralytics/YOLOv8
---
[Croppie](https://croppie.org/) cherry detection model © 2024 by [Alliance Bioversity & CIAT](https://alliancebioversityciat.org/), [Producers Direct](https://producersdirect.org/) and [M-Omulimisa](https://m-omulimisa.com/) is licensed under [GNU-GPLv3](https://www.gnu.org/licenses/quick-guide-gplv3.html)
**Funded by**: Deutsche Gesellschaft für Internationale Zusammenarbeit (GIZ) [Fair Forward Initiative - AI for All](https://huggingface.co/fair-forward)
## General description
Ultralytics' Yolo V8 medium [model fined tuned](https://yolov8.org/how-to-use-fine-tune-yolov8/) for coffee cherry detection using the [Croppie coffee dataset](https://huggingface.co/datasets/rgautroncgiar/croppie_coffee_ug).
This algorithm provides automated cherry count from RGB pictures. Takes as input a picture and returns the cherry count by class.
The predicted numerical classes correspond to the following cherry types:
```
{0: "dark_brown_cherry", 1: "green_cherry", 2: "red_cherry", 3: "yellow_cherry"}
```
**Examples of use**:
* yield estimates
* ripeness detection
**Limitations:** This algorithm does not include correction of cherry occlusion.
![](images/annotated_1688033955437_.jpg)
**Note: the low visibility/unsure class was not used for model fine tuning**
## Repository structure
```
.
├── images
│ ├── foo.bar # images for the documentation
├── model_v3_202402021.pt # fine tuning of Yolo v8
├── README.md
├── LICENSE.txt # detailed term of the software license
└── scripts
├── custom_YOLO.py # script which overwrites the default YOLO class
├── render_results.py # helper function to annotate predictions
├── requirements.txt # pip requirements
└── test_script.py # test script
```
## Demonstration
Assuming you are in the ```scripts``` folder, you can run ```python3 test_script.py```. This script saves the annotated image in ```../images/annotated_1688033955437.jpg```.
Make sure that the Python packages found in ```requirements.txt``` are installed. In case they are not, simply run ```pip3 install -r requirements.txt```.
A live demonstration is freely accesible [here](https://croppie.org/).
## Training metrics
![](images/training_results.png)
The model has been trained using the custom YOLO class found in ```./scripts/custom_YOLO.py```. The custom YOLO class can be exactly used as the original [YOLO class](https://docs.ultralytics.com/reference/models/yolo/model/). The hyperparameters used during the training can be found in ```./scripts/args.yaml```.
The training maximize the mAP@0.5, which is the mean Average Precision calculated at a 0.5 Intersection over Union (IoU) threshold, measuring how well the model detects objects with at least 50% overlap between predicted and ground truth bounding boxes.
## Test metrics
## License
[Croppie](https://croppie.org/) cherry detection model © 2024 by [Alliance Bioversity & CIAT](https://alliancebioversityciat.org/), [Producers Direct](https://producersdirect.org/) and [M-Omulimisa](https://m-omulimisa.com/) is licensed under [GNU-GPLv3](https://www.gnu.org/licenses/quick-guide-gplv3.html)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see .
The detailed terms of the license are available in the ```LICENSE``` file in the repository.
## Funding
**Funded by**: Deutsche Gesellschaft für Internationale Zusammenarbeit (GIZ) [Fair Forward Initiative - AI for All](https://huggingface.co/fair-forward)