YOLOv8 / README.md
Muhammad-Shahin-CS
Add README.md with usage instructions and model details
c3c7963
# YOLOv8
This repository contains the YOLOv8 model weights (`yolov8n.pt`) for object detection. YOLOv8 is an advanced version of the YOLO (You Only Look Once) series of real-time object detection models.
## Documentation
See below for a quickstart installation and usage example, and see the YOLOv8 Docs for full documentation on training, validation, prediction and deployment.
## CLI
YOLOv8 may be used directly in the Command Line Interface (CLI) with a yolo command:
```bash
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
```
## Python
To use this model for object detection, follow these steps:
```bash
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.yaml") # build a new model from scratch
model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training)
# Use the model
model.train(data="coco128.yaml", epochs=3) # train the model
metrics = model.val() # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
path = model.export(format="onnx") # export the model to ONNX format
```
For more examples and detailed usage instructions, visit the [YOLOv8 Python Docs](https://docs.ultralytics.com/models/yolov8/#usage-examples).
## Example usage
code for performing object detection
```bash
# Install the import necessary dependencies:
pip install ultralytics
pip install opencv-python
import cv2
from ultralytics import YOLO
def detect_objects(model_path, image_path1, image_path2):
# Read images
input_image1 = cv2.imread(image_path1)
input_image2 = cv2.imread(image_path2)
# Load a model
model = YOLO(model_path)
# Run batched inference on a list of images
results = model([input_image1, input_image2]) # return a list of Results objects
# Process results list
for result in results:
boxes = result.boxes # Boxes object for bounding box outputs
labels = result.cls # labels object for detceted classes outputs
probs = result.probs # Probs object for classification outputs
result.show() # display to screen
result.save(filename="result.jpg") # save to disk
# Example usage
model_path = 'YOLOv8\yolov8n.pt'
image_path1 = "path_to_your_image.jpg"
image_path2 = "path_to_your_image.jpg"
detect_objects(model_path, image_path1, image_path2)
```
```bash
@article{YOLOv8,
title={YOLOv8: Improved Object Detection with Enhanced Performance},
author={Muhammad Shahin},
journal={Hugging Face Models},
year={2024},
url={link_to_your_huggingface_model}
}
```