File size: 7,348 Bytes
7ce9ece ba87708 7ce9ece fe7b672 7ce9ece 609e531 7ce9ece |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 |
---
tags:
- ultralyticsplus
- yolov8
- ultralytics
- yolo
- vision
- object-detection
- pytorch
- awesome-yolov8-models
- plant classification
- plant detection
- leaf classification
- leaf detection
- crop detection
- disease detection
library_name: ultralytics
library_version: 8.0.43
inference: False
model-index:
- name: foduucom/plant-leaf-detection-and-classification
results:
- task:
type: object-detection
metrics:
- type: precision
value: 0.946
name: [email protected](box)
language:
- en
metrics:
- accuracy
---
Below is the Model Card for the YOLOv8s Leaf Detection and Classification model:
---
<p align="center">
<!-- Smaller size image -->
<img src="https://huggingface.co/foduucom/plant-leaf-detection-and-classification/resolve/main/thumbnail.jpg" alt="Image" style="width:500px; height:300px;">
</p>
# Model Card for YOLOv8s Leaf Detection and Classification
## Model Summary
The YOLOv8s Leaf Detection and Classification model is an object detection model based on the YOLO (You Only Look Once) framework. It is designed to detect and classify various types of leaves in images. The model has achieved a precision ([email protected]) of 0.946 on the object detection task.
## Model Details
### Model Description
The YOLOv8s Leaf Detection and Classification model is built on the YOLOv8 architecture, which is known for its real-time object detection capabilities. This specific model has been trained to recognize and classify different types of leaves from various plant species. It can detect multiple leaf instances in an image and assign them to their respective classes.
```
['ginger', 'banana', 'tobacco', 'ornamaental', 'rose', 'soyabean', 'papaya', 'garlic', 'raspberry', 'mango', 'cotton', 'corn', 'pomgernate', 'strawberry', 'Blueberry', 'brinjal', 'potato', 'wheat', 'olive', 'rice', 'lemon', 'cabbage', 'gauava', 'chilli', 'capcicum', 'sunflower', 'cherry', 'cassava', 'apple', 'tea', 'sugarcane', 'groundnut', 'weed', 'peach', 'coffee', 'cauliflower', 'tomato', 'onion', 'gram', 'chiku', 'jamun', 'castor', 'pea', 'cucumber', 'grape', 'cardamom']
```
- **Developed by:** FODUU AI
- **Model type:** Object Detection
- **Language(s) (NLP):** English
Furthermore, the YOLOv8s Leaf Detection and Classification model encourages user collaboration by allowing them to contribute their own plant leaf data. Users can submit images of new plant species, and suggest plant names for classification. Our team will diligently work to incorporate these new plant classes into the model, enhancing its ability to identify and classify an even wider variety of plant leaves.
Users are invited to actively participate in expanding the YOLOv8s Leaf Detection and Classification model's capabilities by sharing their plant names and corresponding dataset links through our community platform or by emailing the information to [email protected]. Your contributions will play a crucial role in enriching the model's knowledge and recognition of diverse plant species.
## Uses
### Direct Use
The YOLOv8s Leaf Detection and Classification model can be used directly for object detection tasks related to leaf detection and classification. It does not require fine-tuning or integration into a larger ecosystem or application.
### Downstream Use
The model can also be fine-tuned for specific leaf detection and classification tasks or integrated into a larger application for plant-related research, agriculture, or environmental monitoring.
### Out-of-Scope Use
The model is not designed for unrelated tasks or object detection scenarios outside the scope of leaf detection and classification.
## Bias, Risks, and Limitations
The YOLOv8s Leaf Detection and Classification model may have some limitations and biases:
- The model's performance may vary depending on the quality and diversity of the training data.
- It may struggle with detecting leaves that are heavily occluded or overlapping with other objects.
- The model's accuracy may be affected by variations in lighting conditions, image quality, and resolution.
- It may not accurately detect very small or distant leaves in images.
- The model's classification accuracy may be lower for leaf species that resemble each other closely.
- The model's biases may stem from the biases present in the training data.
### Recommendations
Users (both direct and downstream) should be made aware of the risks, biases, and limitations of the model. Further research and experimentation are recommended to assess its performance in specific use cases and domains.
## How to Get Started with the Model
To get started with the YOLOv8s Leaf Detection and Classification model, follow these steps:
1. Install [ultralyticsplus](https://github.com/fcakyon/ultralyticsplus) and [ultralytics](https://github.com/ultralytics/ultralytics) libraries using pip:
```bash
pip install ultralyticsplus==0.0.28 ultralytics==8.0.43
```
2. Load the model and perform prediction using the provided code snippet.
```python
from ultralyticsplus import YOLO, render_result
# load model
model = YOLO('foduucom/plant-leaf-detection-and-classification')
# set model parameters
model.overrides['conf'] = 0.25 # NMS confidence threshold
model.overrides['iou'] = 0.45 # NMS IoU threshold
model.overrides['agnostic_nms'] = False # NMS class-agnostic
model.overrides['max_det'] = 1000 # maximum number of detections per image
# set image
image = 'path/to/your/image'
# perform inference
results = model.predict(image)
# observe results
print(results[0].boxes)
render = render_result(model=model, image=image, result=results[0])
render.show()
```
## Training Details
### Training Data
The model is trained on hundreds of images of 46 different plants, including both disease-infected and healthy leaves.
### Training Procedure
The training process involves using high GPU capacity and is run for up to 50 epochs, where each epoch represents a complete pass through the entire training dataset, adjusting model weights to minimize the classification loss and optimize the performance.
#### Metrics
- [email protected] (box):
0.946
#### Summary
YOLOv8s is a powerful convolutional neural network tailored for leaf detection and classification of over 46 plant species. It leverages a modified CSPDarknet53 backbone, self-attention mechanism, and a feature pyramid network for accurate multi-scaled object detection, providing precise identification and classification of plant leaves.
### Model Architecture and Objective
YOLOv8 architecture utilizes a modified CSPDarknet53 as its backbone with 53 convolutional layers and cross-stage partial connections for improved information flow. The head consists of convolutional and fully connected layers for predicting bounding boxes, objectness scores, and class probabilities. It incorporates a self-attention mechanism and a feature pyramid network for multi-scaled object detection, enabling focus on relevant image features and detecting objects of different sizes.
### Compute Infrastructure
#### Hardware
NVIDIA A100 40GB GPU card
#### Software
Jupyter Notebook environment for model training.
## Model Card Contact
[email protected]
```bibtex
@ModelCard{
author = {Nehul Agrawal and
Pranjal singh Thakur},
title = { YOLOv8s Leaf Detection and Classification},
year = {2023}
}
```
--- |