Extracting outputs from Ultralytics YOLOv8
Discover how to optimize your computer vision projects with Ultralytics YOLOv8. This guide aims to cover all things YOLOv8 from setup to result extraction and practical implementation.

In the ever-changing field of computer vision, Ultralytics YOLOv8 stands out as a top-tier model for tasks like object detection, segmentation, and tracking. Whether you're a seasoned developer or a beginner in artificial intelligence (AI), understanding how to effectively extract outputs from YOLOv8 can significantly enhance your projects. This blog post delves into the practical steps to extract and use results from the YOLOv8 model.
Link to this sectionSetting up YOLOv8#
Before diving into the results extraction, it's crucial to have your YOLOv8 model up and running. If you're new you can watch our previous videos where we cover the basics of setting up and using YOLO models for various computer vision tasks. To start with results extraction, ensure your model is configured correctly:
- Model Initialization: Initialize the YOLOv8 model appropriately, making sure you choose the right model configuration that suits your specific needs, be it object detection or more complex tasks like pose estimation.
- Running Inference: Input your data through the model to perform inference. This process will generate a results object, which is your key to accessing all detection data.
Link to this sectionUnderstanding the results object#
The results object in YOLOv8 is a goldmine of information. It contains all the detection data that you need to proceed with your project, including:
- Bounding Boxes: Use
results.boxesto access coordinates of detected objects. - Masks and Keypoints: Access segmentation masks and keypoints for pose estimation using
results.masksandresults.keypointsrespectively. - Class Probabilities:
results.probsprovides the likelihood of each detected class, useful for filtering detections based on confidence scores.
Link to this sectionExtracting data for custom use#
To use these outputs in your applications, follow these steps:
- Convert Data for Processing: If you’re running your model on a GPU, convert the outputs to CPU format using .cpu() for further manipulation.
- Accessing Bounding Box Coordinates: Retrieve and manipulate bounding box coordinates directly from the results object. This includes accessing normalized coordinates or specific attributes like width and height.
- Handling Classifications: Extract top classifications to utilize class IDs and confidence scores effectively.
Link to this sectionPractical application in code#
Transitioning from theory to practice, Nicolai Nielsen demonstrates how to implement these concepts within a custom Python script using Visual Studio Code. The script involves:
- Setting up a Detection Class: Initialize and configure your YOLOv8 model within a class structure, preparing it for live data input.
- Extracting Results: Run the detection and extract bounding boxes, masks, and classifications directly from the results object.
- Utilizing Outputs: Convert results into usable formats like JSON or CSV, or use them directly to draw bounding boxes on images or video streams.
Link to this sectionVisualization and beyond#
While extracting raw data is crucial, visualizing these detections can provide immediate insights into the model's performance:
- Drawing Rectangles: Use bounding box data to draw rectangles around detected objects in image or video outputs.
- Direct Plotting: Utilize YOLOv8’s built-in plotting functions to directly visualize detections without additional coding.
Link to this sectionExpanding your AI toolkit with YOLOv8#
Mastering YOLOv8 output extraction not only boosts your project’s capabilities but also deepens your understanding of object detection systems.
By following the steps you can harness the full power of YOLOv8 to tailor detections to your specific needs, whether in developing advanced AI-driven applications or conducting robust data analysis.
Stay tuned for more tutorials that will help you leverage YOLOv8 and other AI technologies to their fullest potential. Transform your theoretical knowledge into practical skills, and bring your computer vision projects to life with precision and efficiency. Join our community to stay up to date with all the latest developments as well as check out our docs to learn more!
Watch the full video Watch the full video!






