# 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} } ```